new internal layout

diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P
index 07c95cc..01131bf 100644
--- a/tests/50-constraint-OK.asn1.-P
+++ b/tests/50-constraint-OK.asn1.-P
@@ -72,7 +72,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int1.free_struct;
 	td->print_struct   = asn_DEF_Int1.print_struct;
 	td->ber_decoder    = asn_DEF_Int1.ber_decoder;
@@ -87,21 +87,21 @@
 void
 Int2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int2_inherit_TYPE_descriptor(td);
+	Int2_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Int2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Int2_inherit_TYPE_descriptor(td);
+	Int2_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Int2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Int2_inherit_TYPE_descriptor(td);
+	Int2_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -109,14 +109,14 @@
 Int2_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int2_inherit_TYPE_descriptor(td);
+	Int2_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Int2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Int2_inherit_TYPE_descriptor(td);
+	Int2_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -124,14 +124,14 @@
 Int2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int2_inherit_TYPE_descriptor(td);
+	Int2_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Int2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Int2_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int2_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int2 = {
@@ -145,12 +145,12 @@
 	Int2_decode_xer,
 	Int2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Int2_tags,
-	sizeof(asn_DEF_Int2_tags)
-		/sizeof(asn_DEF_Int2_tags[0]), /* 1 */
-	asn_DEF_Int2_tags,	/* Same as above */
-	sizeof(asn_DEF_Int2_tags)
-		/sizeof(asn_DEF_Int2_tags[0]), /* 1 */
+	asn_DEF_Int2_0_tags,
+	sizeof(asn_DEF_Int2_0_tags)
+		/sizeof(asn_DEF_Int2_0_tags[0]), /* 1 */
+	asn_DEF_Int2_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Int2_0_tags)
+		/sizeof(asn_DEF_Int2_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -214,7 +214,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int2.free_struct;
 	td->print_struct   = asn_DEF_Int2.print_struct;
 	td->ber_decoder    = asn_DEF_Int2.ber_decoder;
@@ -229,21 +229,21 @@
 void
 Int3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int3_inherit_TYPE_descriptor(td);
+	Int3_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Int3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Int3_inherit_TYPE_descriptor(td);
+	Int3_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Int3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Int3_inherit_TYPE_descriptor(td);
+	Int3_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -251,14 +251,14 @@
 Int3_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int3_inherit_TYPE_descriptor(td);
+	Int3_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Int3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Int3_inherit_TYPE_descriptor(td);
+	Int3_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -266,14 +266,14 @@
 Int3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int3_inherit_TYPE_descriptor(td);
+	Int3_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Int3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Int3_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int3_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int3 = {
@@ -287,12 +287,12 @@
 	Int3_decode_xer,
 	Int3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Int3_tags,
-	sizeof(asn_DEF_Int3_tags)
-		/sizeof(asn_DEF_Int3_tags[0]), /* 1 */
-	asn_DEF_Int3_tags,	/* Same as above */
-	sizeof(asn_DEF_Int3_tags)
-		/sizeof(asn_DEF_Int3_tags[0]), /* 1 */
+	asn_DEF_Int3_0_tags,
+	sizeof(asn_DEF_Int3_0_tags)
+		/sizeof(asn_DEF_Int3_0_tags[0]), /* 1 */
+	asn_DEF_Int3_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Int3_0_tags)
+		/sizeof(asn_DEF_Int3_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -356,7 +356,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int3.free_struct;
 	td->print_struct   = asn_DEF_Int3.print_struct;
 	td->ber_decoder    = asn_DEF_Int3.ber_decoder;
@@ -371,21 +371,21 @@
 void
 Int4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int4_inherit_TYPE_descriptor(td);
+	Int4_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Int4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Int4_inherit_TYPE_descriptor(td);
+	Int4_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Int4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Int4_inherit_TYPE_descriptor(td);
+	Int4_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -393,14 +393,14 @@
 Int4_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int4_inherit_TYPE_descriptor(td);
+	Int4_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Int4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Int4_inherit_TYPE_descriptor(td);
+	Int4_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -408,14 +408,14 @@
 Int4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int4_inherit_TYPE_descriptor(td);
+	Int4_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Int4] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Int4_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int4_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int4 = {
@@ -429,12 +429,12 @@
 	Int4_decode_xer,
 	Int4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Int4_tags,
-	sizeof(asn_DEF_Int4_tags)
-		/sizeof(asn_DEF_Int4_tags[0]), /* 1 */
-	asn_DEF_Int4_tags,	/* Same as above */
-	sizeof(asn_DEF_Int4_tags)
-		/sizeof(asn_DEF_Int4_tags[0]), /* 1 */
+	asn_DEF_Int4_0_tags,
+	sizeof(asn_DEF_Int4_0_tags)
+		/sizeof(asn_DEF_Int4_0_tags[0]), /* 1 */
+	asn_DEF_Int4_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Int4_0_tags)
+		/sizeof(asn_DEF_Int4_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -498,7 +498,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int5_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int5_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int4.free_struct;
 	td->print_struct   = asn_DEF_Int4.print_struct;
 	td->ber_decoder    = asn_DEF_Int4.ber_decoder;
@@ -513,21 +513,21 @@
 void
 Int5_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int5_inherit_TYPE_descriptor(td);
+	Int5_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Int5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Int5_inherit_TYPE_descriptor(td);
+	Int5_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Int5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Int5_inherit_TYPE_descriptor(td);
+	Int5_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -535,14 +535,14 @@
 Int5_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int5_inherit_TYPE_descriptor(td);
+	Int5_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Int5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Int5_inherit_TYPE_descriptor(td);
+	Int5_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -550,14 +550,14 @@
 Int5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Int5_inherit_TYPE_descriptor(td);
+	Int5_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Int5] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Int5_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int5_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int5 = {
@@ -571,12 +571,12 @@
 	Int5_decode_xer,
 	Int5_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Int5_tags,
-	sizeof(asn_DEF_Int5_tags)
-		/sizeof(asn_DEF_Int5_tags[0]), /* 1 */
-	asn_DEF_Int5_tags,	/* Same as above */
-	sizeof(asn_DEF_Int5_tags)
-		/sizeof(asn_DEF_Int5_tags[0]), /* 1 */
+	asn_DEF_Int5_0_tags,
+	sizeof(asn_DEF_Int5_0_tags)
+		/sizeof(asn_DEF_Int5_0_tags[0]), /* 1 */
+	asn_DEF_Int5_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Int5_0_tags)
+		/sizeof(asn_DEF_Int5_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -640,7 +640,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-ExtensibleExtensions_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ExtensibleExtensions_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_INTEGER.free_struct;
 	td->print_struct   = asn_DEF_INTEGER.print_struct;
 	td->ber_decoder    = asn_DEF_INTEGER.ber_decoder;
@@ -655,21 +655,21 @@
 void
 ExtensibleExtensions_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	ExtensibleExtensions_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 ExtensibleExtensions_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	ExtensibleExtensions_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 ExtensibleExtensions_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	ExtensibleExtensions_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -677,14 +677,14 @@
 ExtensibleExtensions_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	ExtensibleExtensions_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 ExtensibleExtensions_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	ExtensibleExtensions_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -692,14 +692,14 @@
 ExtensibleExtensions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	ExtensibleExtensions_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_ExtensibleExtensions_tags[] = {
+static ber_tlv_tag_t asn_DEF_ExtensibleExtensions_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = {
@@ -713,12 +713,12 @@
 	ExtensibleExtensions_decode_xer,
 	ExtensibleExtensions_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_ExtensibleExtensions_tags,
-	sizeof(asn_DEF_ExtensibleExtensions_tags)
-		/sizeof(asn_DEF_ExtensibleExtensions_tags[0]), /* 1 */
-	asn_DEF_ExtensibleExtensions_tags,	/* Same as above */
-	sizeof(asn_DEF_ExtensibleExtensions_tags)
-		/sizeof(asn_DEF_ExtensibleExtensions_tags[0]), /* 1 */
+	asn_DEF_ExtensibleExtensions_0_tags,
+	sizeof(asn_DEF_ExtensibleExtensions_0_tags)
+		/sizeof(asn_DEF_ExtensibleExtensions_0_tags[0]), /* 1 */
+	asn_DEF_ExtensibleExtensions_0_tags,	/* Same as above */
+	sizeof(asn_DEF_ExtensibleExtensions_0_tags)
+		/sizeof(asn_DEF_ExtensibleExtensions_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -813,7 +813,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Str1.free_struct;
 	td->print_struct   = asn_DEF_Str1.print_struct;
 	td->ber_decoder    = asn_DEF_Str1.ber_decoder;
@@ -828,21 +828,21 @@
 void
 Str2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str2_inherit_TYPE_descriptor(td);
+	Str2_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Str2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Str2_inherit_TYPE_descriptor(td);
+	Str2_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Str2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Str2_inherit_TYPE_descriptor(td);
+	Str2_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -850,14 +850,14 @@
 Str2_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Str2_inherit_TYPE_descriptor(td);
+	Str2_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Str2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Str2_inherit_TYPE_descriptor(td);
+	Str2_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -865,14 +865,14 @@
 Str2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Str2_inherit_TYPE_descriptor(td);
+	Str2_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Str2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Str2_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str2_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str2 = {
@@ -886,12 +886,12 @@
 	Str2_decode_xer,
 	Str2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Str2_tags,
-	sizeof(asn_DEF_Str2_tags)
-		/sizeof(asn_DEF_Str2_tags[0]), /* 1 */
-	asn_DEF_Str2_tags,	/* Same as above */
-	sizeof(asn_DEF_Str2_tags)
-		/sizeof(asn_DEF_Str2_tags[0]), /* 1 */
+	asn_DEF_Str2_0_tags,
+	sizeof(asn_DEF_Str2_0_tags)
+		/sizeof(asn_DEF_Str2_0_tags[0]), /* 1 */
+	asn_DEF_Str2_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Str2_0_tags)
+		/sizeof(asn_DEF_Str2_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -978,7 +978,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Str2.free_struct;
 	td->print_struct   = asn_DEF_Str2.print_struct;
 	td->ber_decoder    = asn_DEF_Str2.ber_decoder;
@@ -993,21 +993,21 @@
 void
 Str3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str3_inherit_TYPE_descriptor(td);
+	Str3_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Str3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Str3_inherit_TYPE_descriptor(td);
+	Str3_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Str3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Str3_inherit_TYPE_descriptor(td);
+	Str3_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1015,14 +1015,14 @@
 Str3_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Str3_inherit_TYPE_descriptor(td);
+	Str3_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Str3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Str3_inherit_TYPE_descriptor(td);
+	Str3_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1030,14 +1030,14 @@
 Str3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Str3_inherit_TYPE_descriptor(td);
+	Str3_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Str3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Str3_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str3_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str3 = {
@@ -1051,12 +1051,12 @@
 	Str3_decode_xer,
 	Str3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Str3_tags,
-	sizeof(asn_DEF_Str3_tags)
-		/sizeof(asn_DEF_Str3_tags[0]), /* 1 */
-	asn_DEF_Str3_tags,	/* Same as above */
-	sizeof(asn_DEF_Str3_tags)
-		/sizeof(asn_DEF_Str3_tags[0]), /* 1 */
+	asn_DEF_Str3_0_tags,
+	sizeof(asn_DEF_Str3_0_tags)
+		/sizeof(asn_DEF_Str3_0_tags[0]), /* 1 */
+	asn_DEF_Str3_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Str3_0_tags)
+		/sizeof(asn_DEF_Str3_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1129,7 +1129,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_IA5String.free_struct;
 	td->print_struct   = asn_DEF_IA5String.print_struct;
 	td->ber_decoder    = asn_DEF_IA5String.ber_decoder;
@@ -1144,21 +1144,21 @@
 void
 Str4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str4_inherit_TYPE_descriptor(td);
+	Str4_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Str4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Str4_inherit_TYPE_descriptor(td);
+	Str4_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Str4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Str4_inherit_TYPE_descriptor(td);
+	Str4_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1166,14 +1166,14 @@
 Str4_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Str4_inherit_TYPE_descriptor(td);
+	Str4_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Str4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Str4_inherit_TYPE_descriptor(td);
+	Str4_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1181,14 +1181,14 @@
 Str4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Str4_inherit_TYPE_descriptor(td);
+	Str4_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Str4] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Str4_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str4_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str4 = {
@@ -1202,12 +1202,12 @@
 	Str4_decode_xer,
 	Str4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Str4_tags,
-	sizeof(asn_DEF_Str4_tags)
-		/sizeof(asn_DEF_Str4_tags[0]), /* 1 */
-	asn_DEF_Str4_tags,	/* Same as above */
-	sizeof(asn_DEF_Str4_tags)
-		/sizeof(asn_DEF_Str4_tags[0]), /* 1 */
+	asn_DEF_Str4_0_tags,
+	sizeof(asn_DEF_Str4_0_tags)
+		/sizeof(asn_DEF_Str4_0_tags[0]), /* 1 */
+	asn_DEF_Str4_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Str4_0_tags)
+		/sizeof(asn_DEF_Str4_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1280,7 +1280,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-PER_Visible_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+PER_Visible_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_IA5String.free_struct;
 	td->print_struct   = asn_DEF_IA5String.print_struct;
 	td->ber_decoder    = asn_DEF_IA5String.ber_decoder;
@@ -1295,21 +1295,21 @@
 void
 PER_Visible_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	PER_Visible_inherit_TYPE_descriptor(td);
+	PER_Visible_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 PER_Visible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	PER_Visible_inherit_TYPE_descriptor(td);
+	PER_Visible_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 PER_Visible_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	PER_Visible_inherit_TYPE_descriptor(td);
+	PER_Visible_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1317,14 +1317,14 @@
 PER_Visible_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	PER_Visible_inherit_TYPE_descriptor(td);
+	PER_Visible_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 PER_Visible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	PER_Visible_inherit_TYPE_descriptor(td);
+	PER_Visible_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1332,14 +1332,14 @@
 PER_Visible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	PER_Visible_inherit_TYPE_descriptor(td);
+	PER_Visible_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [PER-Visible] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_PER_Visible_tags[] = {
+static ber_tlv_tag_t asn_DEF_PER_Visible_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_PER_Visible = {
@@ -1353,12 +1353,12 @@
 	PER_Visible_decode_xer,
 	PER_Visible_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_PER_Visible_tags,
-	sizeof(asn_DEF_PER_Visible_tags)
-		/sizeof(asn_DEF_PER_Visible_tags[0]), /* 1 */
-	asn_DEF_PER_Visible_tags,	/* Same as above */
-	sizeof(asn_DEF_PER_Visible_tags)
-		/sizeof(asn_DEF_PER_Visible_tags[0]), /* 1 */
+	asn_DEF_PER_Visible_0_tags,
+	sizeof(asn_DEF_PER_Visible_0_tags)
+		/sizeof(asn_DEF_PER_Visible_0_tags[0]), /* 1 */
+	asn_DEF_PER_Visible_0_tags,	/* Same as above */
+	sizeof(asn_DEF_PER_Visible_0_tags)
+		/sizeof(asn_DEF_PER_Visible_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1431,7 +1431,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-PER_Visible_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+PER_Visible_2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -1446,21 +1446,21 @@
 void
 PER_Visible_2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	PER_Visible_2_inherit_TYPE_descriptor(td);
+	PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	PER_Visible_2_inherit_TYPE_descriptor(td);
+	PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	PER_Visible_2_inherit_TYPE_descriptor(td);
+	PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1468,14 +1468,14 @@
 PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	PER_Visible_2_inherit_TYPE_descriptor(td);
+	PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	PER_Visible_2_inherit_TYPE_descriptor(td);
+	PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1483,14 +1483,14 @@
 PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	PER_Visible_2_inherit_TYPE_descriptor(td);
+	PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [PER-Visible-2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_PER_Visible_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_PER_Visible_2_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = {
@@ -1504,12 +1504,12 @@
 	PER_Visible_2_decode_xer,
 	PER_Visible_2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_PER_Visible_2_tags,
-	sizeof(asn_DEF_PER_Visible_2_tags)
-		/sizeof(asn_DEF_PER_Visible_2_tags[0]), /* 1 */
-	asn_DEF_PER_Visible_2_tags,	/* Same as above */
-	sizeof(asn_DEF_PER_Visible_2_tags)
-		/sizeof(asn_DEF_PER_Visible_2_tags[0]), /* 1 */
+	asn_DEF_PER_Visible_2_0_tags,
+	sizeof(asn_DEF_PER_Visible_2_0_tags)
+		/sizeof(asn_DEF_PER_Visible_2_0_tags[0]), /* 1 */
+	asn_DEF_PER_Visible_2_0_tags,	/* Same as above */
+	sizeof(asn_DEF_PER_Visible_2_0_tags)
+		/sizeof(asn_DEF_PER_Visible_2_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1582,7 +1582,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Not_PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Not_PER_Visible_1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -1597,21 +1597,21 @@
 void
 Not_PER_Visible_1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Not_PER_Visible_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Not_PER_Visible_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1619,14 +1619,14 @@
 Not_PER_Visible_1_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Not_PER_Visible_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1634,14 +1634,14 @@
 Not_PER_Visible_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_1_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = {
@@ -1655,12 +1655,12 @@
 	Not_PER_Visible_1_decode_xer,
 	Not_PER_Visible_1_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Not_PER_Visible_1_tags,
-	sizeof(asn_DEF_Not_PER_Visible_1_tags)
-		/sizeof(asn_DEF_Not_PER_Visible_1_tags[0]), /* 1 */
-	asn_DEF_Not_PER_Visible_1_tags,	/* Same as above */
-	sizeof(asn_DEF_Not_PER_Visible_1_tags)
-		/sizeof(asn_DEF_Not_PER_Visible_1_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_1_0_tags,
+	sizeof(asn_DEF_Not_PER_Visible_1_0_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_1_0_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_1_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Not_PER_Visible_1_0_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_1_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1733,7 +1733,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Not_PER_Visible_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Not_PER_Visible_2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -1748,21 +1748,21 @@
 void
 Not_PER_Visible_2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Not_PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Not_PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1770,14 +1770,14 @@
 Not_PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Not_PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1785,14 +1785,14 @@
 Not_PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_2_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = {
@@ -1806,12 +1806,12 @@
 	Not_PER_Visible_2_decode_xer,
 	Not_PER_Visible_2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Not_PER_Visible_2_tags,
-	sizeof(asn_DEF_Not_PER_Visible_2_tags)
-		/sizeof(asn_DEF_Not_PER_Visible_2_tags[0]), /* 1 */
-	asn_DEF_Not_PER_Visible_2_tags,	/* Same as above */
-	sizeof(asn_DEF_Not_PER_Visible_2_tags)
-		/sizeof(asn_DEF_Not_PER_Visible_2_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_2_0_tags,
+	sizeof(asn_DEF_Not_PER_Visible_2_0_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_2_0_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_2_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Not_PER_Visible_2_0_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_2_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1884,7 +1884,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Not_PER_Visible_3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Not_PER_Visible_3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -1899,21 +1899,21 @@
 void
 Not_PER_Visible_3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Not_PER_Visible_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Not_PER_Visible_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1921,14 +1921,14 @@
 Not_PER_Visible_3_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Not_PER_Visible_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1936,14 +1936,14 @@
 Not_PER_Visible_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Not_PER_Visible_3_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_tags[] = {
+static ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = {
@@ -1957,12 +1957,12 @@
 	Not_PER_Visible_3_decode_xer,
 	Not_PER_Visible_3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Not_PER_Visible_3_tags,
-	sizeof(asn_DEF_Not_PER_Visible_3_tags)
-		/sizeof(asn_DEF_Not_PER_Visible_3_tags[0]), /* 1 */
-	asn_DEF_Not_PER_Visible_3_tags,	/* Same as above */
-	sizeof(asn_DEF_Not_PER_Visible_3_tags)
-		/sizeof(asn_DEF_Not_PER_Visible_3_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_3_0_tags,
+	sizeof(asn_DEF_Not_PER_Visible_3_0_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_3_0_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_3_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Not_PER_Visible_3_0_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_3_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2038,7 +2038,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-SIZE_but_not_FROM_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+SIZE_but_not_FROM_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -2053,21 +2053,21 @@
 void
 SIZE_but_not_FROM_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 SIZE_but_not_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 SIZE_but_not_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2075,14 +2075,14 @@
 SIZE_but_not_FROM_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 SIZE_but_not_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2090,14 +2090,14 @@
 SIZE_but_not_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_tags[] = {
+static ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = {
@@ -2111,12 +2111,12 @@
 	SIZE_but_not_FROM_decode_xer,
 	SIZE_but_not_FROM_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_SIZE_but_not_FROM_tags,
-	sizeof(asn_DEF_SIZE_but_not_FROM_tags)
-		/sizeof(asn_DEF_SIZE_but_not_FROM_tags[0]), /* 1 */
-	asn_DEF_SIZE_but_not_FROM_tags,	/* Same as above */
-	sizeof(asn_DEF_SIZE_but_not_FROM_tags)
-		/sizeof(asn_DEF_SIZE_but_not_FROM_tags[0]), /* 1 */
+	asn_DEF_SIZE_but_not_FROM_0_tags,
+	sizeof(asn_DEF_SIZE_but_not_FROM_0_tags)
+		/sizeof(asn_DEF_SIZE_but_not_FROM_0_tags[0]), /* 1 */
+	asn_DEF_SIZE_but_not_FROM_0_tags,	/* Same as above */
+	sizeof(asn_DEF_SIZE_but_not_FROM_0_tags)
+		/sizeof(asn_DEF_SIZE_but_not_FROM_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2192,7 +2192,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-SIZE_and_FROM_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+SIZE_and_FROM_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -2207,21 +2207,21 @@
 void
 SIZE_and_FROM_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	SIZE_and_FROM_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 SIZE_and_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	SIZE_and_FROM_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 SIZE_and_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	SIZE_and_FROM_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2229,14 +2229,14 @@
 SIZE_and_FROM_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	SIZE_and_FROM_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 SIZE_and_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	SIZE_and_FROM_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2244,14 +2244,14 @@
 SIZE_and_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	SIZE_and_FROM_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_SIZE_and_FROM_tags[] = {
+static ber_tlv_tag_t asn_DEF_SIZE_and_FROM_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = {
@@ -2265,12 +2265,12 @@
 	SIZE_and_FROM_decode_xer,
 	SIZE_and_FROM_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_SIZE_and_FROM_tags,
-	sizeof(asn_DEF_SIZE_and_FROM_tags)
-		/sizeof(asn_DEF_SIZE_and_FROM_tags[0]), /* 1 */
-	asn_DEF_SIZE_and_FROM_tags,	/* Same as above */
-	sizeof(asn_DEF_SIZE_and_FROM_tags)
-		/sizeof(asn_DEF_SIZE_and_FROM_tags[0]), /* 1 */
+	asn_DEF_SIZE_and_FROM_0_tags,
+	sizeof(asn_DEF_SIZE_and_FROM_0_tags)
+		/sizeof(asn_DEF_SIZE_and_FROM_0_tags[0]), /* 1 */
+	asn_DEF_SIZE_and_FROM_0_tags,	/* Same as above */
+	sizeof(asn_DEF_SIZE_and_FROM_0_tags)
+		/sizeof(asn_DEF_SIZE_and_FROM_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2343,7 +2343,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
@@ -2358,21 +2358,21 @@
 void
 Neither_SIZE_nor_FROM_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Neither_SIZE_nor_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Neither_SIZE_nor_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2380,14 +2380,14 @@
 Neither_SIZE_nor_FROM_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Neither_SIZE_nor_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2395,14 +2395,14 @@
 Neither_SIZE_nor_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_tags[] = {
+static ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = {
@@ -2416,12 +2416,12 @@
 	Neither_SIZE_nor_FROM_decode_xer,
 	Neither_SIZE_nor_FROM_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Neither_SIZE_nor_FROM_tags,
-	sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags)
-		/sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags[0]), /* 1 */
-	asn_DEF_Neither_SIZE_nor_FROM_tags,	/* Same as above */
-	sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags)
-		/sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags[0]), /* 1 */
+	asn_DEF_Neither_SIZE_nor_FROM_0_tags,
+	sizeof(asn_DEF_Neither_SIZE_nor_FROM_0_tags)
+		/sizeof(asn_DEF_Neither_SIZE_nor_FROM_0_tags[0]), /* 1 */
+	asn_DEF_Neither_SIZE_nor_FROM_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Neither_SIZE_nor_FROM_0_tags)
+		/sizeof(asn_DEF_Neither_SIZE_nor_FROM_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2488,7 +2488,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_UTF8String.free_struct;
 	td->print_struct   = asn_DEF_UTF8String.print_struct;
 	td->ber_decoder    = asn_DEF_UTF8String.ber_decoder;
@@ -2503,21 +2503,21 @@
 void
 Utf8_4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_4_inherit_TYPE_descriptor(td);
+	Utf8_4_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Utf8_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_4_inherit_TYPE_descriptor(td);
+	Utf8_4_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Utf8_4_inherit_TYPE_descriptor(td);
+	Utf8_4_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2525,14 +2525,14 @@
 Utf8_4_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_4_inherit_TYPE_descriptor(td);
+	Utf8_4_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Utf8_4_inherit_TYPE_descriptor(td);
+	Utf8_4_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2540,14 +2540,14 @@
 Utf8_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_4_inherit_TYPE_descriptor(td);
+	Utf8_4_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Utf8-4] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Utf8_4_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_4_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_4 = {
@@ -2561,12 +2561,12 @@
 	Utf8_4_decode_xer,
 	Utf8_4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Utf8_4_tags,
-	sizeof(asn_DEF_Utf8_4_tags)
-		/sizeof(asn_DEF_Utf8_4_tags[0]), /* 1 */
-	asn_DEF_Utf8_4_tags,	/* Same as above */
-	sizeof(asn_DEF_Utf8_4_tags)
-		/sizeof(asn_DEF_Utf8_4_tags[0]), /* 1 */
+	asn_DEF_Utf8_4_0_tags,
+	sizeof(asn_DEF_Utf8_4_0_tags)
+		/sizeof(asn_DEF_Utf8_4_0_tags[0]), /* 1 */
+	asn_DEF_Utf8_4_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_4_0_tags)
+		/sizeof(asn_DEF_Utf8_4_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2661,7 +2661,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Utf8_2.free_struct;
 	td->print_struct   = asn_DEF_Utf8_2.print_struct;
 	td->ber_decoder    = asn_DEF_Utf8_2.ber_decoder;
@@ -2676,21 +2676,21 @@
 void
 Utf8_3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_3_inherit_TYPE_descriptor(td);
+	Utf8_3_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Utf8_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_3_inherit_TYPE_descriptor(td);
+	Utf8_3_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Utf8_3_inherit_TYPE_descriptor(td);
+	Utf8_3_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2698,14 +2698,14 @@
 Utf8_3_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_3_inherit_TYPE_descriptor(td);
+	Utf8_3_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Utf8_3_inherit_TYPE_descriptor(td);
+	Utf8_3_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2713,14 +2713,14 @@
 Utf8_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_3_inherit_TYPE_descriptor(td);
+	Utf8_3_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Utf8-3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Utf8_3_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_3_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_3 = {
@@ -2734,12 +2734,12 @@
 	Utf8_3_decode_xer,
 	Utf8_3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Utf8_3_tags,
-	sizeof(asn_DEF_Utf8_3_tags)
-		/sizeof(asn_DEF_Utf8_3_tags[0]), /* 1 */
-	asn_DEF_Utf8_3_tags,	/* Same as above */
-	sizeof(asn_DEF_Utf8_3_tags)
-		/sizeof(asn_DEF_Utf8_3_tags[0]), /* 1 */
+	asn_DEF_Utf8_3_0_tags,
+	sizeof(asn_DEF_Utf8_3_0_tags)
+		/sizeof(asn_DEF_Utf8_3_0_tags[0]), /* 1 */
+	asn_DEF_Utf8_3_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_3_0_tags)
+		/sizeof(asn_DEF_Utf8_3_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2804,7 +2804,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Utf8_1.free_struct;
 	td->print_struct   = asn_DEF_Utf8_1.print_struct;
 	td->ber_decoder    = asn_DEF_Utf8_1.ber_decoder;
@@ -2819,21 +2819,21 @@
 void
 Utf8_2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_2_inherit_TYPE_descriptor(td);
+	Utf8_2_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Utf8_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_2_inherit_TYPE_descriptor(td);
+	Utf8_2_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Utf8_2_inherit_TYPE_descriptor(td);
+	Utf8_2_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2841,14 +2841,14 @@
 Utf8_2_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_2_inherit_TYPE_descriptor(td);
+	Utf8_2_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Utf8_2_inherit_TYPE_descriptor(td);
+	Utf8_2_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2856,14 +2856,14 @@
 Utf8_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_2_inherit_TYPE_descriptor(td);
+	Utf8_2_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Utf8-2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Utf8_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_2_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_2 = {
@@ -2877,12 +2877,12 @@
 	Utf8_2_decode_xer,
 	Utf8_2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Utf8_2_tags,
-	sizeof(asn_DEF_Utf8_2_tags)
-		/sizeof(asn_DEF_Utf8_2_tags[0]), /* 1 */
-	asn_DEF_Utf8_2_tags,	/* Same as above */
-	sizeof(asn_DEF_Utf8_2_tags)
-		/sizeof(asn_DEF_Utf8_2_tags[0]), /* 1 */
+	asn_DEF_Utf8_2_0_tags,
+	sizeof(asn_DEF_Utf8_2_0_tags)
+		/sizeof(asn_DEF_Utf8_2_0_tags[0]), /* 1 */
+	asn_DEF_Utf8_2_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_2_0_tags)
+		/sizeof(asn_DEF_Utf8_2_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -3008,7 +3008,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Identifier_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Identifier_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_VisibleString.free_struct;
 	td->print_struct   = asn_DEF_VisibleString.print_struct;
 	td->ber_decoder    = asn_DEF_VisibleString.ber_decoder;
@@ -3023,21 +3023,21 @@
 void
 Identifier_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Identifier_inherit_TYPE_descriptor(td);
+	Identifier_0_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Identifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Identifier_inherit_TYPE_descriptor(td);
+	Identifier_0_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Identifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Identifier_inherit_TYPE_descriptor(td);
+	Identifier_0_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -3045,14 +3045,14 @@
 Identifier_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Identifier_inherit_TYPE_descriptor(td);
+	Identifier_0_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Identifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	Identifier_inherit_TYPE_descriptor(td);
+	Identifier_0_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -3060,14 +3060,14 @@
 Identifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	Identifier_inherit_TYPE_descriptor(td);
+	Identifier_0_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Identifier] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Identifier_tags[] = {
+static ber_tlv_tag_t asn_DEF_Identifier_0_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Identifier = {
@@ -3081,12 +3081,12 @@
 	Identifier_decode_xer,
 	Identifier_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Identifier_tags,
-	sizeof(asn_DEF_Identifier_tags)
-		/sizeof(asn_DEF_Identifier_tags[0]), /* 1 */
-	asn_DEF_Identifier_tags,	/* Same as above */
-	sizeof(asn_DEF_Identifier_tags)
-		/sizeof(asn_DEF_Identifier_tags[0]), /* 1 */
+	asn_DEF_Identifier_0_tags,
+	sizeof(asn_DEF_Identifier_0_tags)
+		/sizeof(asn_DEF_Identifier_0_tags[0]), /* 1 */
+	asn_DEF_Identifier_0_tags,	/* Same as above */
+	sizeof(asn_DEF_Identifier_0_tags)
+		/sizeof(asn_DEF_Identifier_0_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };