fixed name clash in constraint checking code; also changed braces to double quote in #includes


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@759 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/ChangeLog b/ChangeLog
index a19179f..8548cd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,10 @@
 
+0.9.12:	2005-Mar-05
+
+	* Fixed a name clash in produced constraint checking code.
+	* #includes are now in single quotes (to solve a specific problem
+	  on certain case-insensitive file systems (Win32).
+
 0.9.11:	2005-Mar-04
 
 	* Released -fcompound-names to fix the name clashes in the code
diff --git a/libasn1compiler/asn1c_save.c b/libasn1compiler/asn1c_save.c
index 444d2c7..8fc0fcf 100644
--- a/libasn1compiler/asn1c_save.c
+++ b/libasn1compiler/asn1c_save.c
@@ -253,7 +253,7 @@
 		header_id);
 
 	fprintf(fp_c, "#include <asn_internal.h>\n\n");
-	fprintf(fp_c, "#include <%s.h>\n\n", expr->Identifier);	/* Myself */
+	fprintf(fp_c, "#include \"%s.h\"\n\n", expr->Identifier);
 	if(arg->flags & A1C_NO_INCLUDE_DEPS)
 		SAVE_STREAM(fp_c, OT_POST_INCLUDE, "", 1);
 	TQ_FOR(ot, &(cs->destination[OT_CTABLES].chunks), next)
diff --git a/libasn1fix/asn1fix.c b/libasn1fix/asn1fix.c
index cce1b7e..cb7128c 100644
--- a/libasn1fix/asn1fix.c
+++ b/libasn1fix/asn1fix.c
@@ -442,15 +442,6 @@
 	static int unique_index;
 	if(!arg) { unique_index = 0; return 0; }
 
-	switch(arg->expr->expr_type) {
-	case ASN_BASIC_ENUMERATED:
-		break;
-	default:
-		if(arg->expr->expr_type & ASN_CONSTR_MASK)
-			break;
-		return 0;
-	}
-
 	arg->expr->_type_unique_index = ++unique_index;
 
 	return 0;
diff --git a/tests/19-param-OK.asn1.-P b/tests/19-param-OK.asn1.-P
index dab887e..82ace9c 100644
--- a/tests/19-param-OK.asn1.-P
+++ b/tests/19-param-OK.asn1.-P
@@ -278,7 +278,7 @@
 
 /*** <<< CTABLES [RelativeDistinguishedName] >>> ***/
 
-static int permitted_alphabet_table_0[256] = {
+static int permitted_alphabet_table_2[256] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,	/*             ,-.  */
@@ -289,8 +289,8 @@
 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,	/* pqrstuvwxyz      */
 };
 
-static int check_permitted_alphabet_0(const void *sptr) {
-	int *table = permitted_alphabet_table_0;
+static int check_permitted_alphabet_2(const void *sptr) {
+	int *table = permitted_alphabet_table_2;
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -319,7 +319,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_2(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
diff --git a/tests/31-set-of-OK.asn1.-P b/tests/31-set-of-OK.asn1.-P
index 70af42b..c7d8f0b 100644
--- a/tests/31-set-of-OK.asn1.-P
+++ b/tests/31-set-of-OK.asn1.-P
@@ -271,7 +271,7 @@
 	&asn_SPC_trees_2_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_Member_4[] = {
+static asn_TYPE_member_t asn_MBR_Member_5[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
 		.tag_mode = 0,
@@ -280,22 +280,22 @@
 		.name = "cup-of-coffee"
 		},
 };
-static ber_tlv_tag_t asn_DEF_Member_4_tags[] = {
+static ber_tlv_tag_t asn_DEF_Member_5_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_Member_4_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_Member_5_tag2el[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee at 32 */
 };
-static asn_SEQUENCE_specifics_t asn_SPC_Member_4_specs = {
+static asn_SEQUENCE_specifics_t asn_SPC_Member_5_specs = {
 	sizeof(struct Member),
 	offsetof(struct Member, _asn_ctx),
-	asn_MAP_Member_4_tag2el,
+	asn_MAP_Member_5_tag2el,
 	1,	/* Count of tags in the map */
 	0,	/* Start extensions */
 	2	/* Stop extensions */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_Member_4 = {
+asn_TYPE_descriptor_t asn_DEF_Member_5 = {
 	"",
 	"",
 	SEQUENCE_free,
@@ -306,37 +306,37 @@
 	SEQUENCE_decode_xer,
 	SEQUENCE_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Member_4_tags,
-	sizeof(asn_DEF_Member_4_tags)
-		/sizeof(asn_DEF_Member_4_tags[0]), /* 1 */
-	asn_DEF_Member_4_tags,	/* Same as above */
-	sizeof(asn_DEF_Member_4_tags)
-		/sizeof(asn_DEF_Member_4_tags[0]), /* 1 */
-	asn_MBR_Member_4,
+	asn_DEF_Member_5_tags,
+	sizeof(asn_DEF_Member_5_tags)
+		/sizeof(asn_DEF_Member_5_tags[0]), /* 1 */
+	asn_DEF_Member_5_tags,	/* Same as above */
+	sizeof(asn_DEF_Member_5_tags)
+		/sizeof(asn_DEF_Member_5_tags[0]), /* 1 */
+	asn_MBR_Member_5,
 	1,	/* Elements count */
-	&asn_SPC_Member_4_specs	/* Additional specs */
+	&asn_SPC_Member_5_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_anything_3[] = {
+static asn_TYPE_member_t asn_MBR_anything_4[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_Member_4,
+		.type = (void *)&asn_DEF_Member_5,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_anything_3_tags[] = {
+static ber_tlv_tag_t asn_DEF_anything_4_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_anything_3_specs = {
+static asn_SET_OF_specifics_t asn_SPC_anything_4_specs = {
 	sizeof(struct anything),
 	offsetof(struct anything, _asn_ctx),
 	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_anything_3 = {
+asn_TYPE_descriptor_t asn_DEF_anything_4 = {
 	"anything",
 	"anything",
 	SET_OF_free,
@@ -347,18 +347,18 @@
 	SET_OF_decode_xer,
 	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_anything_3_tags,
-	sizeof(asn_DEF_anything_3_tags)
-		/sizeof(asn_DEF_anything_3_tags[0]) - 1, /* 1 */
-	asn_DEF_anything_3_tags,	/* Same as above */
-	sizeof(asn_DEF_anything_3_tags)
-		/sizeof(asn_DEF_anything_3_tags[0]), /* 2 */
-	asn_MBR_anything_3,
+	asn_DEF_anything_4_tags,
+	sizeof(asn_DEF_anything_4_tags)
+		/sizeof(asn_DEF_anything_4_tags[0]) - 1, /* 1 */
+	asn_DEF_anything_4_tags,	/* Same as above */
+	sizeof(asn_DEF_anything_4_tags)
+		/sizeof(asn_DEF_anything_4_tags[0]), /* 2 */
+	asn_MBR_anything_4,
 	1,	/* Single element */
-	&asn_SPC_anything_3_specs	/* Additional specs */
+	&asn_SPC_anything_4_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_other_5[] = {
+static asn_TYPE_member_t asn_MBR_other_9[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct other, choice.a),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
 		.tag_mode = -1,	/* IMPLICIT tag at current level */
@@ -374,21 +374,21 @@
 		.name = "b"
 		},
 };
-static asn_TYPE_tag2member_t asn_MAP_other_5_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_other_9_tag2el[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a at 26 */
     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b at 28 */
 };
-static asn_CHOICE_specifics_t asn_SPC_other_5_specs = {
+static asn_CHOICE_specifics_t asn_SPC_other_9_specs = {
 	sizeof(struct other),
 	offsetof(struct other, _asn_ctx),
 	offsetof(struct other, present),
 	sizeof(((struct other *)0)->present),
-	asn_MAP_other_5_tag2el,
+	asn_MAP_other_9_tag2el,
 	2,	/* Count of tags in the map */
 	0	/* Whether extensible */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_other_5 = {
+asn_TYPE_descriptor_t asn_DEF_other_9 = {
 	"other",
 	"other",
 	CHOICE_free,
@@ -403,9 +403,9 @@
 	0,	/* No effective tags (count) */
 	0,	/* No tags (pointer) */
 	0,	/* No tags (count) */
-	asn_MBR_other_5,
+	asn_MBR_other_9,
 	2,	/* Elements count */
-	&asn_SPC_other_5_specs	/* Additional specs */
+	&asn_SPC_other_9_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_Stuff_1[] = {
@@ -419,14 +419,14 @@
 	{ ATF_POINTER, 2, offsetof(struct Stuff, anything),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 		.tag_mode = -1,	/* IMPLICIT tag at current level */
-		.type = (void *)&asn_DEF_anything_3,
+		.type = (void *)&asn_DEF_anything_4,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "anything"
 		},
 	{ ATF_POINTER, 0, offsetof(struct Stuff, other),
 		.tag = -1 /* Ambiguous tag (CHOICE?) */,
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_other_5,
+		.type = (void *)&asn_DEF_other_9,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "other"
 		},
diff --git a/tests/39-sequence-of-OK.asn1.-P b/tests/39-sequence-of-OK.asn1.-P
index 7f5fe9e..d4348fa 100644
--- a/tests/39-sequence-of-OK.asn1.-P
+++ b/tests/39-sequence-of-OK.asn1.-P
@@ -35,7 +35,7 @@
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static asn_TYPE_member_t asn_MBR_collection_2[] = {
+static asn_TYPE_member_t asn_MBR_collection_3[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
@@ -44,16 +44,16 @@
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_collection_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_collection_3_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_collection_2_specs = {
+static asn_SET_OF_specifics_t asn_SPC_collection_3_specs = {
 	sizeof(struct collection),
 	offsetof(struct collection, _asn_ctx),
 	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_collection_2 = {
+asn_TYPE_descriptor_t asn_DEF_collection_3 = {
 	"collection",
 	"collection",
 	SEQUENCE_OF_free,
@@ -64,15 +64,15 @@
 	SEQUENCE_OF_decode_xer,
 	SEQUENCE_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_collection_2_tags,
-	sizeof(asn_DEF_collection_2_tags)
-		/sizeof(asn_DEF_collection_2_tags[0]), /* 1 */
-	asn_DEF_collection_2_tags,	/* Same as above */
-	sizeof(asn_DEF_collection_2_tags)
-		/sizeof(asn_DEF_collection_2_tags[0]), /* 1 */
-	asn_MBR_collection_2,
+	asn_DEF_collection_3_tags,
+	sizeof(asn_DEF_collection_3_tags)
+		/sizeof(asn_DEF_collection_3_tags[0]), /* 1 */
+	asn_DEF_collection_3_tags,	/* Same as above */
+	sizeof(asn_DEF_collection_3_tags)
+		/sizeof(asn_DEF_collection_3_tags[0]), /* 1 */
+	asn_MBR_collection_3,
 	1,	/* Single element */
-	&asn_SPC_collection_2_specs	/* Additional specs */
+	&asn_SPC_collection_3_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_T_1[] = {
@@ -86,7 +86,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct T, collection),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_collection_2,
+		.type = (void *)&asn_DEF_collection_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "collection"
 		},
diff --git a/tests/42-real-life-OK.asn1.-PR b/tests/42-real-life-OK.asn1.-PR
index e6e5dc3..8f64c4a 100644
--- a/tests/42-real-life-OK.asn1.-PR
+++ b/tests/42-real-life-OK.asn1.-PR
@@ -71,7 +71,7 @@
 
 /*** <<< STAT-DEFS [LogLine] >>> ***/
 
-static asn_TYPE_member_t asn_MBR_varsets_2[] = {
+static asn_TYPE_member_t asn_MBR_varsets_3[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
@@ -80,16 +80,16 @@
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_varsets_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_varsets_3_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_varsets_2_specs = {
+static asn_SET_OF_specifics_t asn_SPC_varsets_3_specs = {
 	sizeof(struct varsets),
 	offsetof(struct varsets, _asn_ctx),
 	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_varsets_2 = {
+asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
 	"varsets",
 	"varsets",
 	SEQUENCE_OF_free,
@@ -100,15 +100,15 @@
 	SEQUENCE_OF_decode_xer,
 	SEQUENCE_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_varsets_2_tags,
-	sizeof(asn_DEF_varsets_2_tags)
-		/sizeof(asn_DEF_varsets_2_tags[0]), /* 1 */
-	asn_DEF_varsets_2_tags,	/* Same as above */
-	sizeof(asn_DEF_varsets_2_tags)
-		/sizeof(asn_DEF_varsets_2_tags[0]), /* 1 */
-	asn_MBR_varsets_2,
+	asn_DEF_varsets_3_tags,
+	sizeof(asn_DEF_varsets_3_tags)
+		/sizeof(asn_DEF_varsets_3_tags[0]), /* 1 */
+	asn_DEF_varsets_3_tags,	/* Same as above */
+	sizeof(asn_DEF_varsets_3_tags)
+		/sizeof(asn_DEF_varsets_3_tags[0]), /* 1 */
+	asn_MBR_varsets_3,
 	1,	/* Single element */
-	&asn_SPC_varsets_2_specs	/* Additional specs */
+	&asn_SPC_varsets_3_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
@@ -122,7 +122,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_varsets_2,
+		.type = (void *)&asn_DEF_varsets_3,
 		.memb_constraints = memb_varsets_1_constraint,
 		.name = "varsets"
 		},
@@ -448,7 +448,7 @@
 	&asn_SPC_vset_2_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_vrange_3[] = {
+static asn_TYPE_member_t asn_MBR_vrange_4[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct vrange, from),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
 		.tag_mode = 0,
@@ -464,23 +464,23 @@
 		.name = "to"
 		},
 };
-static ber_tlv_tag_t asn_DEF_vrange_3_tags[] = {
+static ber_tlv_tag_t asn_DEF_vrange_4_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_vrange_3_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_vrange_4_tag2el[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
     { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to at 46 */
 };
-static asn_SEQUENCE_specifics_t asn_SPC_vrange_3_specs = {
+static asn_SEQUENCE_specifics_t asn_SPC_vrange_4_specs = {
 	sizeof(struct vrange),
 	offsetof(struct vrange, _asn_ctx),
-	asn_MAP_vrange_3_tag2el,
+	asn_MAP_vrange_4_tag2el,
 	2,	/* Count of tags in the map */
 	1,	/* Start extensions */
 	3	/* Stop extensions */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_vrange_3 = {
+asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
 	"vrange",
 	"vrange",
 	SEQUENCE_free,
@@ -491,15 +491,15 @@
 	SEQUENCE_decode_xer,
 	SEQUENCE_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_vrange_3_tags,
-	sizeof(asn_DEF_vrange_3_tags)
-		/sizeof(asn_DEF_vrange_3_tags[0]), /* 1 */
-	asn_DEF_vrange_3_tags,	/* Same as above */
-	sizeof(asn_DEF_vrange_3_tags)
-		/sizeof(asn_DEF_vrange_3_tags[0]), /* 1 */
-	asn_MBR_vrange_3,
+	asn_DEF_vrange_4_tags,
+	sizeof(asn_DEF_vrange_4_tags)
+		/sizeof(asn_DEF_vrange_4_tags[0]), /* 1 */
+	asn_DEF_vrange_4_tags,	/* Same as above */
+	sizeof(asn_DEF_vrange_4_tags)
+		/sizeof(asn_DEF_vrange_4_tags[0]), /* 1 */
+	asn_MBR_vrange_4,
 	2,	/* Elements count */
-	&asn_SPC_vrange_3_specs	/* Additional specs */
+	&asn_SPC_vrange_4_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
@@ -513,7 +513,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_vrange_3,
+		.type = (void *)&asn_DEF_vrange_4,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "vrange"
 		},
@@ -724,7 +724,7 @@
 	&asn_SPC_accept_as_2_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_email_4[] = {
+static asn_TYPE_member_t asn_MBR_email_9[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
 		.tag_mode = 0,
@@ -733,16 +733,16 @@
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_email_4_tags[] = {
+static ber_tlv_tag_t asn_DEF_email_9_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_email_4_specs = {
+static asn_SET_OF_specifics_t asn_SPC_email_9_specs = {
 	sizeof(struct email),
 	offsetof(struct email, _asn_ctx),
 	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_email_4 = {
+asn_TYPE_descriptor_t asn_DEF_email_9 = {
 	"email",
 	"email",
 	SET_OF_free,
@@ -753,18 +753,18 @@
 	SET_OF_decode_xer,
 	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_email_4_tags,
-	sizeof(asn_DEF_email_4_tags)
-		/sizeof(asn_DEF_email_4_tags[0]), /* 1 */
-	asn_DEF_email_4_tags,	/* Same as above */
-	sizeof(asn_DEF_email_4_tags)
-		/sizeof(asn_DEF_email_4_tags[0]), /* 1 */
-	asn_MBR_email_4,
+	asn_DEF_email_9_tags,
+	sizeof(asn_DEF_email_9_tags)
+		/sizeof(asn_DEF_email_9_tags[0]), /* 1 */
+	asn_DEF_email_9_tags,	/* Same as above */
+	sizeof(asn_DEF_email_9_tags)
+		/sizeof(asn_DEF_email_9_tags[0]), /* 1 */
+	asn_MBR_email_9,
 	1,	/* Single element */
-	&asn_SPC_email_4_specs	/* Additional specs */
+	&asn_SPC_email_9_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_notify_3[] = {
+static asn_TYPE_member_t asn_MBR_notify_7[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct notify, critical),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
 		.tag_mode = 0,
@@ -775,28 +775,28 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct notify, email),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_email_4,
+		.type = (void *)&asn_DEF_email_9,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "email"
 		},
 };
-static ber_tlv_tag_t asn_DEF_notify_3_tags[] = {
+static ber_tlv_tag_t asn_DEF_notify_7_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_notify_3_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_notify_7_tag2el[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
     { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email at 62 */
 };
-static asn_SEQUENCE_specifics_t asn_SPC_notify_3_specs = {
+static asn_SEQUENCE_specifics_t asn_SPC_notify_7_specs = {
 	sizeof(struct notify),
 	offsetof(struct notify, _asn_ctx),
-	asn_MAP_notify_3_tag2el,
+	asn_MAP_notify_7_tag2el,
 	2,	/* Count of tags in the map */
 	1,	/* Start extensions */
 	3	/* Stop extensions */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notify_3 = {
+asn_TYPE_descriptor_t asn_DEF_notify_7 = {
 	"notify",
 	"notify",
 	SEQUENCE_free,
@@ -807,15 +807,15 @@
 	SEQUENCE_decode_xer,
 	SEQUENCE_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_notify_3_tags,
-	sizeof(asn_DEF_notify_3_tags)
-		/sizeof(asn_DEF_notify_3_tags[0]), /* 1 */
-	asn_DEF_notify_3_tags,	/* Same as above */
-	sizeof(asn_DEF_notify_3_tags)
-		/sizeof(asn_DEF_notify_3_tags[0]), /* 1 */
-	asn_MBR_notify_3,
+	asn_DEF_notify_7_tags,
+	sizeof(asn_DEF_notify_7_tags)
+		/sizeof(asn_DEF_notify_7_tags[0]), /* 1 */
+	asn_DEF_notify_7_tags,	/* Same as above */
+	sizeof(asn_DEF_notify_7_tags)
+		/sizeof(asn_DEF_notify_7_tags[0]), /* 1 */
+	asn_MBR_notify_7,
 	2,	/* Elements count */
-	&asn_SPC_notify_3_specs	/* Additional specs */
+	&asn_SPC_notify_7_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
@@ -829,7 +829,7 @@
 	{ ATF_POINTER, 1, offsetof(struct ActionItem, notify),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_notify_3,
+		.type = (void *)&asn_DEF_notify_7,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "notify"
 		},
diff --git a/tests/43-recursion-OK.asn1.-P b/tests/43-recursion-OK.asn1.-P
index 0c56aa8..8eb67a7 100644
--- a/tests/43-recursion-OK.asn1.-P
+++ b/tests/43-recursion-OK.asn1.-P
@@ -84,7 +84,7 @@
 	&asn_SPC_t_member1_2_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_t_member2_3[] = {
+static asn_TYPE_member_t asn_MBR_t_member2_4[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
@@ -93,16 +93,16 @@
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_t_member2_3_tags[] = {
+static ber_tlv_tag_t asn_DEF_t_member2_4_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_t_member2_3_specs = {
+static asn_SET_OF_specifics_t asn_SPC_t_member2_4_specs = {
 	sizeof(struct t_member2),
 	offsetof(struct t_member2, _asn_ctx),
 	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_t_member2_3 = {
+asn_TYPE_descriptor_t asn_DEF_t_member2_4 = {
 	"t-member2",
 	"t-member2",
 	SEQUENCE_OF_free,
@@ -113,15 +113,15 @@
 	SEQUENCE_OF_decode_xer,
 	SEQUENCE_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_t_member2_3_tags,
-	sizeof(asn_DEF_t_member2_3_tags)
-		/sizeof(asn_DEF_t_member2_3_tags[0]), /* 1 */
-	asn_DEF_t_member2_3_tags,	/* Same as above */
-	sizeof(asn_DEF_t_member2_3_tags)
-		/sizeof(asn_DEF_t_member2_3_tags[0]), /* 1 */
-	asn_MBR_t_member2_3,
+	asn_DEF_t_member2_4_tags,
+	sizeof(asn_DEF_t_member2_4_tags)
+		/sizeof(asn_DEF_t_member2_4_tags[0]), /* 1 */
+	asn_DEF_t_member2_4_tags,	/* Same as above */
+	sizeof(asn_DEF_t_member2_4_tags)
+		/sizeof(asn_DEF_t_member2_4_tags[0]), /* 1 */
+	asn_MBR_t_member2_4,
 	1,	/* Single element */
-	&asn_SPC_t_member2_3_specs	/* Additional specs */
+	&asn_SPC_t_member2_4_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = {
@@ -135,7 +135,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_t_member2_3,
+		.type = (void *)&asn_DEF_t_member2_4,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "t-member2"
 		},
@@ -246,7 +246,7 @@
 
 /*** <<< STAT-DEFS [Choice-1] >>> ***/
 
-static asn_TYPE_member_t asn_MBR_or_2[] = {
+static asn_TYPE_member_t asn_MBR_or_3[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = -1 /* Ambiguous tag (CHOICE?) */,
 		.tag_mode = 0,
@@ -255,17 +255,17 @@
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_or_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_or_3_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_or_2_specs = {
+static asn_SET_OF_specifics_t asn_SPC_or_3_specs = {
 	sizeof(struct or),
 	offsetof(struct or, _asn_ctx),
 	1,	/* XER encoding is XMLValueList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_or_2 = {
+asn_TYPE_descriptor_t asn_DEF_or_3 = {
 	"or",
 	"or",
 	SET_OF_free,
@@ -276,15 +276,15 @@
 	SET_OF_decode_xer,
 	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_or_2_tags,
-	sizeof(asn_DEF_or_2_tags)
-		/sizeof(asn_DEF_or_2_tags[0]) - 1, /* 1 */
-	asn_DEF_or_2_tags,	/* Same as above */
-	sizeof(asn_DEF_or_2_tags)
-		/sizeof(asn_DEF_or_2_tags[0]), /* 2 */
-	asn_MBR_or_2,
+	asn_DEF_or_3_tags,
+	sizeof(asn_DEF_or_3_tags)
+		/sizeof(asn_DEF_or_3_tags[0]) - 1, /* 1 */
+	asn_DEF_or_3_tags,	/* Same as above */
+	sizeof(asn_DEF_or_3_tags)
+		/sizeof(asn_DEF_or_3_tags[0]), /* 2 */
+	asn_MBR_or_3,
 	1,	/* Single element */
-	&asn_SPC_or_2_specs	/* Additional specs */
+	&asn_SPC_or_3_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_Choice_1_1[] = {
@@ -298,7 +298,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.or),
 		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 		.tag_mode = -1,	/* IMPLICIT tag at current level */
-		.type = (void *)&asn_DEF_or_2,
+		.type = (void *)&asn_DEF_or_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "or"
 		},
diff --git a/tests/44-choice-in-sequence-OK.asn1.-P b/tests/44-choice-in-sequence-OK.asn1.-P
index e8559c8..936fbe8 100644
--- a/tests/44-choice-in-sequence-OK.asn1.-P
+++ b/tests/44-choice-in-sequence-OK.asn1.-P
@@ -70,7 +70,7 @@
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static asn_TYPE_member_t asn_MBR_e_3[] = {
+static asn_TYPE_member_t asn_MBR_e_6[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct e, choice.f),
 		.tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)),
 		.tag_mode = -1,	/* IMPLICIT tag at current level */
@@ -86,21 +86,21 @@
 		.name = "g"
 		},
 };
-static asn_TYPE_tag2member_t asn_MAP_e_3_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_e_6_tag2el[] = {
     { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f at 20 */
     { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 } /* g at 21 */
 };
-static asn_CHOICE_specifics_t asn_SPC_e_3_specs = {
+static asn_CHOICE_specifics_t asn_SPC_e_6_specs = {
 	sizeof(struct e),
 	offsetof(struct e, _asn_ctx),
 	offsetof(struct e, present),
 	sizeof(((struct e *)0)->present),
-	asn_MAP_e_3_tag2el,
+	asn_MAP_e_6_tag2el,
 	2,	/* Count of tags in the map */
 	0	/* Whether extensible */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_e_3 = {
+asn_TYPE_descriptor_t asn_DEF_e_6 = {
 	"e",
 	"e",
 	CHOICE_free,
@@ -115,12 +115,12 @@
 	0,	/* No effective tags (count) */
 	0,	/* No tags (pointer) */
 	0,	/* No tags (count) */
-	asn_MBR_e_3,
+	asn_MBR_e_6,
 	2,	/* Elements count */
-	&asn_SPC_e_3_specs	/* Additional specs */
+	&asn_SPC_e_6_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_h_4[] = {
+static asn_TYPE_member_t asn_MBR_h_9[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct h, choice.i),
 		.tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
 		.tag_mode = -1,	/* IMPLICIT tag at current level */
@@ -136,21 +136,21 @@
 		.name = "j"
 		},
 };
-static asn_TYPE_tag2member_t asn_MAP_h_4_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_h_9_tag2el[] = {
     { (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i at 24 */
     { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 } /* j at 25 */
 };
-static asn_CHOICE_specifics_t asn_SPC_h_4_specs = {
+static asn_CHOICE_specifics_t asn_SPC_h_9_specs = {
 	sizeof(struct h),
 	offsetof(struct h, _asn_ctx),
 	offsetof(struct h, present),
 	sizeof(((struct h *)0)->present),
-	asn_MAP_h_4_tag2el,
+	asn_MAP_h_9_tag2el,
 	2,	/* Count of tags in the map */
 	0	/* Whether extensible */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_h_4 = {
+asn_TYPE_descriptor_t asn_DEF_h_9 = {
 	"h",
 	"h",
 	CHOICE_free,
@@ -165,12 +165,12 @@
 	0,	/* No effective tags (count) */
 	0,	/* No tags (pointer) */
 	0,	/* No tags (count) */
-	asn_MBR_h_4,
+	asn_MBR_h_9,
 	2,	/* Elements count */
-	&asn_SPC_h_4_specs	/* Additional specs */
+	&asn_SPC_h_9_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_b_2[] = {
+static asn_TYPE_member_t asn_MBR_b_3[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.c),
 		.tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),
 		.tag_mode = -1,	/* IMPLICIT tag at current level */
@@ -188,36 +188,36 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.e),
 		.tag = -1 /* Ambiguous tag (CHOICE?) */,
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_e_3,
+		.type = (void *)&asn_DEF_e_6,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "e"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.h),
 		.tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),
 		.tag_mode = +1,	/* EXPLICIT tag at current level */
-		.type = (void *)&asn_DEF_h_4,
+		.type = (void *)&asn_DEF_h_9,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "h"
 		},
 };
-static asn_TYPE_tag2member_t asn_MAP_b_2_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_b_3_tag2el[] = {
     { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c at 17 */
     { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
     { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f at 20 */
     { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g at 21 */
     { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 } /* h at 24 */
 };
-static asn_CHOICE_specifics_t asn_SPC_b_2_specs = {
+static asn_CHOICE_specifics_t asn_SPC_b_3_specs = {
 	sizeof(struct b),
 	offsetof(struct b, _asn_ctx),
 	offsetof(struct b, present),
 	sizeof(((struct b *)0)->present),
-	asn_MAP_b_2_tag2el,
+	asn_MAP_b_3_tag2el,
 	5,	/* Count of tags in the map */
 	0	/* Whether extensible */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_b_2 = {
+asn_TYPE_descriptor_t asn_DEF_b_3 = {
 	"b",
 	"b",
 	CHOICE_free,
@@ -232,9 +232,9 @@
 	0,	/* No effective tags (count) */
 	0,	/* No tags (pointer) */
 	0,	/* No tags (count) */
-	asn_MBR_b_2,
+	asn_MBR_b_3,
 	4,	/* Elements count */
-	&asn_SPC_b_2_specs	/* Additional specs */
+	&asn_SPC_b_3_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_T_1[] = {
@@ -248,7 +248,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct T, b),
 		.tag = -1 /* Ambiguous tag (CHOICE?) */,
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_b_2,
+		.type = (void *)&asn_DEF_b_3,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "b"
 		},
diff --git a/tests/46-redefine-OK.asn1.-PR b/tests/46-redefine-OK.asn1.-PR
index e23cab9..9f70125 100644
--- a/tests/46-redefine-OK.asn1.-PR
+++ b/tests/46-redefine-OK.asn1.-PR
@@ -33,7 +33,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-PrimitiveType_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+PrimitiveType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_OCTET_STRING.free_struct;
 	td->print_struct   = asn_DEF_OCTET_STRING.print_struct;
 	td->ber_decoder    = asn_DEF_OCTET_STRING.ber_decoder;
@@ -48,21 +48,21 @@
 void
 PrimitiveType_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	PrimitiveType_0_inherit_TYPE_descriptor(td);
+	PrimitiveType_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 PrimitiveType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	PrimitiveType_0_inherit_TYPE_descriptor(td);
+	PrimitiveType_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 PrimitiveType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	PrimitiveType_0_inherit_TYPE_descriptor(td);
+	PrimitiveType_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -70,14 +70,14 @@
 PrimitiveType_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) {
-	PrimitiveType_0_inherit_TYPE_descriptor(td);
+	PrimitiveType_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 PrimitiveType_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) {
-	PrimitiveType_0_inherit_TYPE_descriptor(td);
+	PrimitiveType_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -85,14 +85,14 @@
 PrimitiveType_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) {
-	PrimitiveType_0_inherit_TYPE_descriptor(td);
+	PrimitiveType_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [PrimitiveType] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_PrimitiveType_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_PrimitiveType_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_PrimitiveType = {
@@ -106,12 +106,12 @@
 	PrimitiveType_decode_xer,
 	PrimitiveType_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_PrimitiveType_0_tags,
-	sizeof(asn_DEF_PrimitiveType_0_tags)
-		/sizeof(asn_DEF_PrimitiveType_0_tags[0]), /* 1 */
-	asn_DEF_PrimitiveType_0_tags,	/* Same as above */
-	sizeof(asn_DEF_PrimitiveType_0_tags)
-		/sizeof(asn_DEF_PrimitiveType_0_tags[0]), /* 1 */
+	asn_DEF_PrimitiveType_1_tags,
+	sizeof(asn_DEF_PrimitiveType_1_tags)
+		/sizeof(asn_DEF_PrimitiveType_1_tags[0]), /* 1 */
+	asn_DEF_PrimitiveType_1_tags,	/* Same as above */
+	sizeof(asn_DEF_PrimitiveType_1_tags)
+		/sizeof(asn_DEF_PrimitiveType_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -217,7 +217,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_ConstructedType.free_struct;
 	td->print_struct   = asn_DEF_ConstructedType.print_struct;
 	td->ber_decoder    = asn_DEF_ConstructedType.ber_decoder;
@@ -232,21 +232,21 @@
 void
 T_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -254,14 +254,14 @@
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -269,14 +269,14 @@
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
@@ -291,12 +291,12 @@
 	T_decode_xer,
 	T_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T_0_tags,
-	sizeof(asn_DEF_T_0_tags)
-		/sizeof(asn_DEF_T_0_tags[0]) - 1, /* 1 */
-	asn_DEF_T_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T_0_tags)
-		/sizeof(asn_DEF_T_0_tags[0]), /* 2 */
+	asn_DEF_T_1_tags,
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]) - 1, /* 1 */
+	asn_DEF_T_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]), /* 2 */
 	0, 0,	/* Defined elsewhere */
 	0	/* No specifics */
 };
diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P
index 56acdb9..d258297 100644
--- a/tests/50-constraint-OK.asn1.-P
+++ b/tests/50-constraint-OK.asn1.-P
@@ -33,7 +33,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int1_1_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;
@@ -48,21 +48,21 @@
 void
 Int1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int1_0_inherit_TYPE_descriptor(td);
+	Int1_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Int1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Int1_0_inherit_TYPE_descriptor(td);
+	Int1_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Int1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Int1_0_inherit_TYPE_descriptor(td);
+	Int1_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -70,14 +70,14 @@
 Int1_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) {
-	Int1_0_inherit_TYPE_descriptor(td);
+	Int1_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Int1_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) {
-	Int1_0_inherit_TYPE_descriptor(td);
+	Int1_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -85,14 +85,14 @@
 Int1_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) {
-	Int1_0_inherit_TYPE_descriptor(td);
+	Int1_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Int1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Int1_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int1_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int1 = {
@@ -106,12 +106,12 @@
 	Int1_decode_xer,
 	Int1_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Int1_0_tags,
-	sizeof(asn_DEF_Int1_0_tags)
-		/sizeof(asn_DEF_Int1_0_tags[0]), /* 1 */
-	asn_DEF_Int1_0_tags,	/* Same as above */
-	sizeof(asn_DEF_Int1_0_tags)
-		/sizeof(asn_DEF_Int1_0_tags[0]), /* 1 */
+	asn_DEF_Int1_1_tags,
+	sizeof(asn_DEF_Int1_1_tags)
+		/sizeof(asn_DEF_Int1_1_tags[0]), /* 1 */
+	asn_DEF_Int1_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Int1_1_tags)
+		/sizeof(asn_DEF_Int1_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -170,7 +170,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int2_1_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;
@@ -185,21 +185,21 @@
 void
 Int2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int2_0_inherit_TYPE_descriptor(td);
+	Int2_1_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_0_inherit_TYPE_descriptor(td);
+	Int2_1_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_0_inherit_TYPE_descriptor(td);
+	Int2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -207,14 +207,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_0_inherit_TYPE_descriptor(td);
+	Int2_1_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_0_inherit_TYPE_descriptor(td);
+	Int2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -222,14 +222,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_0_inherit_TYPE_descriptor(td);
+	Int2_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int2_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int2 = {
@@ -243,12 +243,12 @@
 	Int2_decode_xer,
 	Int2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Int2_1_tags,
+	sizeof(asn_DEF_Int2_1_tags)
+		/sizeof(asn_DEF_Int2_1_tags[0]), /* 1 */
+	asn_DEF_Int2_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Int2_1_tags)
+		/sizeof(asn_DEF_Int2_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -311,7 +311,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int3_1_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;
@@ -326,21 +326,21 @@
 void
 Int3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int3_0_inherit_TYPE_descriptor(td);
+	Int3_1_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_0_inherit_TYPE_descriptor(td);
+	Int3_1_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_0_inherit_TYPE_descriptor(td);
+	Int3_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -348,14 +348,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_0_inherit_TYPE_descriptor(td);
+	Int3_1_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_0_inherit_TYPE_descriptor(td);
+	Int3_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -363,14 +363,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_0_inherit_TYPE_descriptor(td);
+	Int3_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int3_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int3 = {
@@ -384,12 +384,12 @@
 	Int3_decode_xer,
 	Int3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Int3_1_tags,
+	sizeof(asn_DEF_Int3_1_tags)
+		/sizeof(asn_DEF_Int3_1_tags[0]), /* 1 */
+	asn_DEF_Int3_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Int3_1_tags)
+		/sizeof(asn_DEF_Int3_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -452,7 +452,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int4_1_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;
@@ -467,21 +467,21 @@
 void
 Int4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int4_0_inherit_TYPE_descriptor(td);
+	Int4_1_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_0_inherit_TYPE_descriptor(td);
+	Int4_1_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_0_inherit_TYPE_descriptor(td);
+	Int4_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -489,14 +489,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_0_inherit_TYPE_descriptor(td);
+	Int4_1_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_0_inherit_TYPE_descriptor(td);
+	Int4_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -504,14 +504,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_0_inherit_TYPE_descriptor(td);
+	Int4_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int4_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int4 = {
@@ -525,12 +525,12 @@
 	Int4_decode_xer,
 	Int4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Int4_1_tags,
+	sizeof(asn_DEF_Int4_1_tags)
+		/sizeof(asn_DEF_Int4_1_tags[0]), /* 1 */
+	asn_DEF_Int4_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Int4_1_tags)
+		/sizeof(asn_DEF_Int4_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -593,7 +593,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Int5_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Int5_1_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;
@@ -608,21 +608,21 @@
 void
 Int5_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Int5_0_inherit_TYPE_descriptor(td);
+	Int5_1_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_0_inherit_TYPE_descriptor(td);
+	Int5_1_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_0_inherit_TYPE_descriptor(td);
+	Int5_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -630,14 +630,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_0_inherit_TYPE_descriptor(td);
+	Int5_1_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_0_inherit_TYPE_descriptor(td);
+	Int5_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -645,14 +645,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_0_inherit_TYPE_descriptor(td);
+	Int5_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Int5_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Int5 = {
@@ -666,12 +666,12 @@
 	Int5_decode_xer,
 	Int5_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Int5_1_tags,
+	sizeof(asn_DEF_Int5_1_tags)
+		/sizeof(asn_DEF_Int5_1_tags[0]), /* 1 */
+	asn_DEF_Int5_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Int5_1_tags)
+		/sizeof(asn_DEF_Int5_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -734,7 +734,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-ExtensibleExtensions_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ExtensibleExtensions_1_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;
@@ -749,21 +749,21 @@
 void
 ExtensibleExtensions_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	ExtensibleExtensions_0_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_1_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_0_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_1_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_0_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -771,14 +771,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_0_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_1_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_0_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -786,14 +786,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_0_inherit_TYPE_descriptor(td);
+	ExtensibleExtensions_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_ExtensibleExtensions_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = {
@@ -807,12 +807,12 @@
 	ExtensibleExtensions_decode_xer,
 	ExtensibleExtensions_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_ExtensibleExtensions_1_tags,
+	sizeof(asn_DEF_ExtensibleExtensions_1_tags)
+		/sizeof(asn_DEF_ExtensibleExtensions_1_tags[0]), /* 1 */
+	asn_DEF_ExtensibleExtensions_1_tags,	/* Same as above */
+	sizeof(asn_DEF_ExtensibleExtensions_1_tags)
+		/sizeof(asn_DEF_ExtensibleExtensions_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -852,7 +852,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str1_1_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;
@@ -867,21 +867,21 @@
 void
 Str1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str1_0_inherit_TYPE_descriptor(td);
+	Str1_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Str1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Str1_0_inherit_TYPE_descriptor(td);
+	Str1_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Str1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	Str1_0_inherit_TYPE_descriptor(td);
+	Str1_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -889,14 +889,14 @@
 Str1_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) {
-	Str1_0_inherit_TYPE_descriptor(td);
+	Str1_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Str1_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) {
-	Str1_0_inherit_TYPE_descriptor(td);
+	Str1_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -904,14 +904,14 @@
 Str1_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) {
-	Str1_0_inherit_TYPE_descriptor(td);
+	Str1_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Str1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Str1_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str1_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str1 = {
@@ -925,12 +925,12 @@
 	Str1_decode_xer,
 	Str1_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Str1_0_tags,
-	sizeof(asn_DEF_Str1_0_tags)
-		/sizeof(asn_DEF_Str1_0_tags[0]), /* 1 */
-	asn_DEF_Str1_0_tags,	/* Same as above */
-	sizeof(asn_DEF_Str1_0_tags)
-		/sizeof(asn_DEF_Str1_0_tags[0]), /* 1 */
+	asn_DEF_Str1_1_tags,
+	sizeof(asn_DEF_Str1_1_tags)
+		/sizeof(asn_DEF_Str1_1_tags[0]), /* 1 */
+	asn_DEF_Str1_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Str1_1_tags)
+		/sizeof(asn_DEF_Str1_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -957,7 +957,7 @@
 
 /*** <<< CTABLES [Str2] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -989,7 +989,7 @@
 	size = st->size;
 	
 	if(((size <= 20) || (size >= 25 && size <= 30))
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1005,7 +1005,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str2_1_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;
@@ -1020,21 +1020,21 @@
 void
 Str2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str2_0_inherit_TYPE_descriptor(td);
+	Str2_1_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_0_inherit_TYPE_descriptor(td);
+	Str2_1_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_0_inherit_TYPE_descriptor(td);
+	Str2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1042,14 +1042,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_0_inherit_TYPE_descriptor(td);
+	Str2_1_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_0_inherit_TYPE_descriptor(td);
+	Str2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1057,14 +1057,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_0_inherit_TYPE_descriptor(td);
+	Str2_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str2_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str2 = {
@@ -1078,12 +1078,12 @@
 	Str2_decode_xer,
 	Str2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Str2_1_tags,
+	sizeof(asn_DEF_Str2_1_tags)
+		/sizeof(asn_DEF_Str2_1_tags[0]), /* 1 */
+	asn_DEF_Str2_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Str2_1_tags)
+		/sizeof(asn_DEF_Str2_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1110,7 +1110,7 @@
 
 /*** <<< CTABLES [Str3] >>> ***/
 
-static int permitted_alphabet_table_0[256] = {
+static int permitted_alphabet_table_1[256] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
@@ -1120,8 +1120,8 @@
 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,	/*     def          */
 };
 
-static int check_permitted_alphabet_0(const void *sptr) {
-	int *table = permitted_alphabet_table_0;
+static int check_permitted_alphabet_1(const void *sptr) {
+	int *table = permitted_alphabet_table_1;
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -1153,7 +1153,7 @@
 	size = st->size;
 	
 	if(((size >= 10 && size <= 20) || (size >= 25 && size <= 27))
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1169,7 +1169,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str3_1_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;
@@ -1184,21 +1184,21 @@
 void
 Str3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str3_0_inherit_TYPE_descriptor(td);
+	Str3_1_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_0_inherit_TYPE_descriptor(td);
+	Str3_1_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_0_inherit_TYPE_descriptor(td);
+	Str3_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1206,14 +1206,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_0_inherit_TYPE_descriptor(td);
+	Str3_1_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_0_inherit_TYPE_descriptor(td);
+	Str3_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1221,14 +1221,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_0_inherit_TYPE_descriptor(td);
+	Str3_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str3_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str3 = {
@@ -1242,12 +1242,12 @@
 	Str3_decode_xer,
 	Str3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Str3_1_tags,
+	sizeof(asn_DEF_Str3_1_tags)
+		/sizeof(asn_DEF_Str3_1_tags[0]), /* 1 */
+	asn_DEF_Str3_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Str3_1_tags)
+		/sizeof(asn_DEF_Str3_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1274,7 +1274,7 @@
 
 /*** <<< CTABLES [Str4] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -1303,7 +1303,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1319,7 +1319,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Str4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Str4_1_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;
@@ -1334,21 +1334,21 @@
 void
 Str4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Str4_0_inherit_TYPE_descriptor(td);
+	Str4_1_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_0_inherit_TYPE_descriptor(td);
+	Str4_1_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_0_inherit_TYPE_descriptor(td);
+	Str4_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1356,14 +1356,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_0_inherit_TYPE_descriptor(td);
+	Str4_1_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_0_inherit_TYPE_descriptor(td);
+	Str4_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1371,14 +1371,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_0_inherit_TYPE_descriptor(td);
+	Str4_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Str4_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Str4 = {
@@ -1392,12 +1392,12 @@
 	Str4_decode_xer,
 	Str4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Str4_1_tags,
+	sizeof(asn_DEF_Str4_1_tags)
+		/sizeof(asn_DEF_Str4_1_tags[0]), /* 1 */
+	asn_DEF_Str4_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Str4_1_tags)
+		/sizeof(asn_DEF_Str4_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1424,7 +1424,7 @@
 
 /*** <<< CTABLES [PER-Visible] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -1453,7 +1453,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1469,7 +1469,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-PER_Visible_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+PER_Visible_1_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;
@@ -1484,21 +1484,21 @@
 void
 PER_Visible_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	PER_Visible_0_inherit_TYPE_descriptor(td);
+	PER_Visible_1_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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_1_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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1506,14 +1506,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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_1_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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1521,14 +1521,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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_PER_Visible_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_PER_Visible = {
@@ -1542,12 +1542,12 @@
 	PER_Visible_decode_xer,
 	PER_Visible_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_PER_Visible_1_tags,
+	sizeof(asn_DEF_PER_Visible_1_tags)
+		/sizeof(asn_DEF_PER_Visible_1_tags[0]), /* 1 */
+	asn_DEF_PER_Visible_1_tags,	/* Same as above */
+	sizeof(asn_DEF_PER_Visible_1_tags)
+		/sizeof(asn_DEF_PER_Visible_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1574,7 +1574,7 @@
 
 /*** <<< CTABLES [PER-Visible-2] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -1603,7 +1603,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1619,7 +1619,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-PER_Visible_2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+PER_Visible_2_1_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;
@@ -1634,21 +1634,21 @@
 void
 PER_Visible_2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	PER_Visible_2_0_inherit_TYPE_descriptor(td);
+	PER_Visible_2_1_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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_2_1_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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1656,14 +1656,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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_2_1_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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1671,14 +1671,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_0_inherit_TYPE_descriptor(td);
+	PER_Visible_2_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_PER_Visible_2_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = {
@@ -1692,12 +1692,12 @@
 	PER_Visible_2_decode_xer,
 	PER_Visible_2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_PER_Visible_2_1_tags,
+	sizeof(asn_DEF_PER_Visible_2_1_tags)
+		/sizeof(asn_DEF_PER_Visible_2_1_tags[0]), /* 1 */
+	asn_DEF_PER_Visible_2_1_tags,	/* Same as above */
+	sizeof(asn_DEF_PER_Visible_2_1_tags)
+		/sizeof(asn_DEF_PER_Visible_2_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1724,7 +1724,7 @@
 
 /*** <<< CTABLES [Not-PER-Visible-1] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -1753,7 +1753,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1769,7 +1769,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Not_PER_Visible_1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Not_PER_Visible_1_1_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;
@@ -1784,21 +1784,21 @@
 void
 Not_PER_Visible_1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Not_PER_Visible_1_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1806,14 +1806,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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1821,14 +1821,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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_1_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = {
@@ -1842,12 +1842,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_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 */
+	asn_DEF_Not_PER_Visible_1_1_tags,
+	sizeof(asn_DEF_Not_PER_Visible_1_1_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_1_1_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_1_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Not_PER_Visible_1_1_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_1_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1874,7 +1874,7 @@
 
 /*** <<< CTABLES [Not-PER-Visible-2] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -1903,7 +1903,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1919,7 +1919,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Not_PER_Visible_2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Not_PER_Visible_2_1_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;
@@ -1934,21 +1934,21 @@
 void
 Not_PER_Visible_2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Not_PER_Visible_2_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -1956,14 +1956,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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -1971,14 +1971,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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_2_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = {
@@ -1992,12 +1992,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_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 */
+	asn_DEF_Not_PER_Visible_2_1_tags,
+	sizeof(asn_DEF_Not_PER_Visible_2_1_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_2_1_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_2_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Not_PER_Visible_2_1_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_2_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2024,7 +2024,7 @@
 
 /*** <<< CTABLES [Not-PER-Visible-3] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -2053,7 +2053,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2069,7 +2069,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Not_PER_Visible_3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Not_PER_Visible_3_1_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;
@@ -2084,21 +2084,21 @@
 void
 Not_PER_Visible_3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Not_PER_Visible_3_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2106,14 +2106,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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_1_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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2121,14 +2121,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_0_inherit_TYPE_descriptor(td);
+	Not_PER_Visible_3_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = {
@@ -2142,12 +2142,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_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 */
+	asn_DEF_Not_PER_Visible_3_1_tags,
+	sizeof(asn_DEF_Not_PER_Visible_3_1_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_3_1_tags[0]), /* 1 */
+	asn_DEF_Not_PER_Visible_3_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Not_PER_Visible_3_1_tags)
+		/sizeof(asn_DEF_Not_PER_Visible_3_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2174,7 +2174,7 @@
 
 /*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -2206,7 +2206,7 @@
 	size = st->size;
 	
 	if((size >= 1 && size <= 4)
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2222,7 +2222,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-SIZE_but_not_FROM_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+SIZE_but_not_FROM_1_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;
@@ -2237,21 +2237,21 @@
 void
 SIZE_but_not_FROM_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	SIZE_but_not_FROM_0_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2259,14 +2259,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_0_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2274,14 +2274,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_0_inherit_TYPE_descriptor(td);
+	SIZE_but_not_FROM_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = {
@@ -2295,12 +2295,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_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 */
+	asn_DEF_SIZE_but_not_FROM_1_tags,
+	sizeof(asn_DEF_SIZE_but_not_FROM_1_tags)
+		/sizeof(asn_DEF_SIZE_but_not_FROM_1_tags[0]), /* 1 */
+	asn_DEF_SIZE_but_not_FROM_1_tags,	/* Same as above */
+	sizeof(asn_DEF_SIZE_but_not_FROM_1_tags)
+		/sizeof(asn_DEF_SIZE_but_not_FROM_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2327,7 +2327,7 @@
 
 /*** <<< CTABLES [SIZE-and-FROM] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -2359,7 +2359,7 @@
 	size = st->size;
 	
 	if((size >= 1 && size <= 4)
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2375,7 +2375,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-SIZE_and_FROM_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+SIZE_and_FROM_1_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;
@@ -2390,21 +2390,21 @@
 void
 SIZE_and_FROM_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	SIZE_and_FROM_0_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2412,14 +2412,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_0_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2427,14 +2427,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_0_inherit_TYPE_descriptor(td);
+	SIZE_and_FROM_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_SIZE_and_FROM_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = {
@@ -2448,12 +2448,12 @@
 	SIZE_and_FROM_decode_xer,
 	SIZE_and_FROM_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_SIZE_and_FROM_1_tags,
+	sizeof(asn_DEF_SIZE_and_FROM_1_tags)
+		/sizeof(asn_DEF_SIZE_and_FROM_1_tags[0]), /* 1 */
+	asn_DEF_SIZE_and_FROM_1_tags,	/* Same as above */
+	sizeof(asn_DEF_SIZE_and_FROM_1_tags)
+		/sizeof(asn_DEF_SIZE_and_FROM_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2480,7 +2480,7 @@
 
 /*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	/* The underlying type is IA5String */
 	const IA5String_t *st = (const IA5String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -2509,7 +2509,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2525,7 +2525,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Neither_SIZE_nor_FROM_1_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;
@@ -2540,21 +2540,21 @@
 void
 Neither_SIZE_nor_FROM_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Neither_SIZE_nor_FROM_0_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2562,14 +2562,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_0_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_1_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_0_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2577,14 +2577,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_0_inherit_TYPE_descriptor(td);
+	Neither_SIZE_nor_FROM_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = {
@@ -2598,12 +2598,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_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 */
+	asn_DEF_Neither_SIZE_nor_FROM_1_tags,
+	sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags)
+		/sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags[0]), /* 1 */
+	asn_DEF_Neither_SIZE_nor_FROM_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags)
+		/sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2630,7 +2630,7 @@
 
 /*** <<< CTABLES [Utf8-4] >>> ***/
 
-static int check_permitted_alphabet_0(const void *sptr) {
+static int check_permitted_alphabet_1(const void *sptr) {
 	if(UTF8String_length((const UTF8String_t *)sptr) < 0)
 		return -1; /* Alphabet (sic!) test failed. */
 	
@@ -2653,7 +2653,7 @@
 	}
 	
 	
-	if(!check_permitted_alphabet_0(st)) {
+	if(!check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2669,7 +2669,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_4_1_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;
@@ -2684,21 +2684,21 @@
 void
 Utf8_4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_4_0_inherit_TYPE_descriptor(td);
+	Utf8_4_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_4_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_4_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2706,14 +2706,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_0_inherit_TYPE_descriptor(td);
+	Utf8_4_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_4_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2721,14 +2721,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_0_inherit_TYPE_descriptor(td);
+	Utf8_4_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_4_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_4 = {
@@ -2742,12 +2742,12 @@
 	Utf8_4_decode_xer,
 	Utf8_4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Utf8_4_1_tags,
+	sizeof(asn_DEF_Utf8_4_1_tags)
+		/sizeof(asn_DEF_Utf8_4_1_tags[0]), /* 1 */
+	asn_DEF_Utf8_4_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_4_1_tags)
+		/sizeof(asn_DEF_Utf8_4_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2774,7 +2774,7 @@
 
 /*** <<< CTABLES [Utf8-3] >>> ***/
 
-static int permitted_alphabet_table_0[128] = {
+static int permitted_alphabet_table_1[128] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
@@ -2785,8 +2785,8 @@
 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,	/* pqrstuvwxyz      */
 };
 
-static int check_permitted_alphabet_0(const void *sptr) {
-	int *table = permitted_alphabet_table_0;
+static int check_permitted_alphabet_1(const void *sptr) {
+	int *table = permitted_alphabet_table_1;
 	/* The underlying type is UTF8String */
 	const UTF8String_t *st = (const UTF8String_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -2825,7 +2825,7 @@
 	}
 	
 	if((size >= 1 && size <= 2)
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2841,7 +2841,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_3_1_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;
@@ -2856,21 +2856,21 @@
 void
 Utf8_3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_3_0_inherit_TYPE_descriptor(td);
+	Utf8_3_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_3_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_3_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -2878,14 +2878,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_0_inherit_TYPE_descriptor(td);
+	Utf8_3_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_3_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -2893,14 +2893,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_0_inherit_TYPE_descriptor(td);
+	Utf8_3_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_3_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_3 = {
@@ -2914,12 +2914,12 @@
 	Utf8_3_decode_xer,
 	Utf8_3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Utf8_3_1_tags,
+	sizeof(asn_DEF_Utf8_3_1_tags)
+		/sizeof(asn_DEF_Utf8_3_1_tags[0]), /* 1 */
+	asn_DEF_Utf8_3_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_3_1_tags)
+		/sizeof(asn_DEF_Utf8_3_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2983,7 +2983,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_2_1_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;
@@ -2998,21 +2998,21 @@
 void
 Utf8_2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_2_0_inherit_TYPE_descriptor(td);
+	Utf8_2_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_2_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -3020,14 +3020,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_0_inherit_TYPE_descriptor(td);
+	Utf8_2_1_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_0_inherit_TYPE_descriptor(td);
+	Utf8_2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -3035,14 +3035,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_0_inherit_TYPE_descriptor(td);
+	Utf8_2_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_2_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_2 = {
@@ -3056,12 +3056,12 @@
 	Utf8_2_decode_xer,
 	Utf8_2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Utf8_2_1_tags,
+	sizeof(asn_DEF_Utf8_2_1_tags)
+		/sizeof(asn_DEF_Utf8_2_1_tags[0]), /* 1 */
+	asn_DEF_Utf8_2_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_2_1_tags)
+		/sizeof(asn_DEF_Utf8_2_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -3101,7 +3101,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Utf8_1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Utf8_1_1_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;
@@ -3116,21 +3116,21 @@
 void
 Utf8_1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Utf8_1_0_inherit_TYPE_descriptor(td);
+	Utf8_1_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 Utf8_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	Utf8_1_0_inherit_TYPE_descriptor(td);
+	Utf8_1_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_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) {
-	Utf8_1_0_inherit_TYPE_descriptor(td);
+	Utf8_1_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -3138,14 +3138,14 @@
 Utf8_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) {
-	Utf8_1_0_inherit_TYPE_descriptor(td);
+	Utf8_1_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 Utf8_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) {
-	Utf8_1_0_inherit_TYPE_descriptor(td);
+	Utf8_1_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -3153,14 +3153,14 @@
 Utf8_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) {
-	Utf8_1_0_inherit_TYPE_descriptor(td);
+	Utf8_1_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [Utf8-1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_Utf8_1_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Utf8_1_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Utf8_1 = {
@@ -3174,12 +3174,12 @@
 	Utf8_1_decode_xer,
 	Utf8_1_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_Utf8_1_0_tags,
-	sizeof(asn_DEF_Utf8_1_0_tags)
-		/sizeof(asn_DEF_Utf8_1_0_tags[0]), /* 1 */
-	asn_DEF_Utf8_1_0_tags,	/* Same as above */
-	sizeof(asn_DEF_Utf8_1_0_tags)
-		/sizeof(asn_DEF_Utf8_1_0_tags[0]), /* 1 */
+	asn_DEF_Utf8_1_1_tags,
+	sizeof(asn_DEF_Utf8_1_1_tags)
+		/sizeof(asn_DEF_Utf8_1_1_tags[0]), /* 1 */
+	asn_DEF_Utf8_1_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Utf8_1_1_tags)
+		/sizeof(asn_DEF_Utf8_1_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -3206,7 +3206,7 @@
 
 /*** <<< CTABLES [VisibleIdentifier] >>> ***/
 
-static int permitted_alphabet_table_0[256] = {
+static int permitted_alphabet_table_1[256] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,	/*     $            */
@@ -3217,8 +3217,8 @@
 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,	/* pqrstuvwxyz      */
 };
 
-static int check_permitted_alphabet_0(const void *sptr) {
-	int *table = permitted_alphabet_table_0;
+static int check_permitted_alphabet_1(const void *sptr) {
+	int *table = permitted_alphabet_table_1;
 	/* The underlying type is VisibleString */
 	const VisibleString_t *st = (const VisibleString_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -3250,7 +3250,7 @@
 	size = st->size;
 	
 	if((size >= 1 && size <= 32)
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -3266,7 +3266,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-VisibleIdentifier_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Identifier.free_struct;
 	td->print_struct   = asn_DEF_Identifier.print_struct;
 	td->ber_decoder    = asn_DEF_Identifier.ber_decoder;
@@ -3281,21 +3281,21 @@
 void
 VisibleIdentifier_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	VisibleIdentifier_0_inherit_TYPE_descriptor(td);
+	VisibleIdentifier_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 VisibleIdentifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	VisibleIdentifier_0_inherit_TYPE_descriptor(td);
+	VisibleIdentifier_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 VisibleIdentifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	VisibleIdentifier_0_inherit_TYPE_descriptor(td);
+	VisibleIdentifier_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -3303,14 +3303,14 @@
 VisibleIdentifier_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) {
-	VisibleIdentifier_0_inherit_TYPE_descriptor(td);
+	VisibleIdentifier_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 VisibleIdentifier_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) {
-	VisibleIdentifier_0_inherit_TYPE_descriptor(td);
+	VisibleIdentifier_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -3318,14 +3318,14 @@
 VisibleIdentifier_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) {
-	VisibleIdentifier_0_inherit_TYPE_descriptor(td);
+	VisibleIdentifier_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_VisibleIdentifier_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_VisibleIdentifier_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = {
@@ -3339,12 +3339,12 @@
 	VisibleIdentifier_decode_xer,
 	VisibleIdentifier_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_VisibleIdentifier_0_tags,
-	sizeof(asn_DEF_VisibleIdentifier_0_tags)
-		/sizeof(asn_DEF_VisibleIdentifier_0_tags[0]), /* 1 */
-	asn_DEF_VisibleIdentifier_0_tags,	/* Same as above */
-	sizeof(asn_DEF_VisibleIdentifier_0_tags)
-		/sizeof(asn_DEF_VisibleIdentifier_0_tags[0]), /* 1 */
+	asn_DEF_VisibleIdentifier_1_tags,
+	sizeof(asn_DEF_VisibleIdentifier_1_tags)
+		/sizeof(asn_DEF_VisibleIdentifier_1_tags[0]), /* 1 */
+	asn_DEF_VisibleIdentifier_1_tags,	/* Same as above */
+	sizeof(asn_DEF_VisibleIdentifier_1_tags)
+		/sizeof(asn_DEF_VisibleIdentifier_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -3371,7 +3371,7 @@
 
 /*** <<< CTABLES [Identifier] >>> ***/
 
-static int permitted_alphabet_table_0[256] = {
+static int permitted_alphabet_table_1[256] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,	/*                  */
 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,	/*     $            */
@@ -3382,8 +3382,8 @@
 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,	/* pqrstuvwxyz      */
 };
 
-static int check_permitted_alphabet_0(const void *sptr) {
-	int *table = permitted_alphabet_table_0;
+static int check_permitted_alphabet_1(const void *sptr) {
+	int *table = permitted_alphabet_table_1;
 	/* The underlying type is VisibleString */
 	const VisibleString_t *st = (const VisibleString_t *)sptr;
 	const uint8_t *ch = st->buf;
@@ -3415,7 +3415,7 @@
 	size = st->size;
 	
 	if((size >= 1 && size <= 32)
-		 && !check_permitted_alphabet_0(st)) {
+		 && !check_permitted_alphabet_1(st)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -3431,7 +3431,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-Identifier_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+Identifier_1_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;
@@ -3446,21 +3446,21 @@
 void
 Identifier_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	Identifier_0_inherit_TYPE_descriptor(td);
+	Identifier_1_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_0_inherit_TYPE_descriptor(td);
+	Identifier_1_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_0_inherit_TYPE_descriptor(td);
+	Identifier_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -3468,14 +3468,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_0_inherit_TYPE_descriptor(td);
+	Identifier_1_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_0_inherit_TYPE_descriptor(td);
+	Identifier_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -3483,14 +3483,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_0_inherit_TYPE_descriptor(td);
+	Identifier_1_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_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_Identifier_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Identifier = {
@@ -3504,12 +3504,12 @@
 	Identifier_decode_xer,
 	Identifier_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	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 */
+	asn_DEF_Identifier_1_tags,
+	sizeof(asn_DEF_Identifier_1_tags)
+		/sizeof(asn_DEF_Identifier_1_tags[0]), /* 1 */
+	asn_DEF_Identifier_1_tags,	/* Same as above */
+	sizeof(asn_DEF_Identifier_1_tags)
+		/sizeof(asn_DEF_Identifier_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
diff --git a/tests/65-multi-tag-OK.asn1.-P b/tests/65-multi-tag-OK.asn1.-P
index 44d700e..1433844 100644
--- a/tests/65-multi-tag-OK.asn1.-P
+++ b/tests/65-multi-tag-OK.asn1.-P
@@ -33,7 +33,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T2.free_struct;
 	td->print_struct   = asn_DEF_T2.print_struct;
 	td->ber_decoder    = asn_DEF_T2.ber_decoder;
@@ -48,21 +48,21 @@
 void
 T1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -70,14 +70,14 @@
 T1_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) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T1_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) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -85,20 +85,20 @@
 T1_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) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T1_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T1_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2))
 };
-static ber_tlv_tag_t asn_DEF_T1_0_all_tags[] = {
+static ber_tlv_tag_t asn_DEF_T1_1_all_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
@@ -117,12 +117,12 @@
 	T1_decode_xer,
 	T1_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T1_0_tags,
-	sizeof(asn_DEF_T1_0_tags)
-		/sizeof(asn_DEF_T1_0_tags[0]), /* 4 */
-	asn_DEF_T1_0_all_tags,
-	sizeof(asn_DEF_T1_0_all_tags)
-		/sizeof(asn_DEF_T1_0_all_tags[0]), /* 6 */
+	asn_DEF_T1_1_tags,
+	sizeof(asn_DEF_T1_1_tags)
+		/sizeof(asn_DEF_T1_1_tags[0]), /* 4 */
+	asn_DEF_T1_1_all_tags,
+	sizeof(asn_DEF_T1_1_all_tags)
+		/sizeof(asn_DEF_T1_1_all_tags[0]), /* 6 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -162,7 +162,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T3.free_struct;
 	td->print_struct   = asn_DEF_T3.print_struct;
 	td->ber_decoder    = asn_DEF_T3.ber_decoder;
@@ -177,21 +177,21 @@
 void
 T2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -199,14 +199,14 @@
 T2_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) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T2_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) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -214,19 +214,19 @@
 T2_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) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T2_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T2_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2))
 };
-static ber_tlv_tag_t asn_DEF_T2_0_all_tags[] = {
+static ber_tlv_tag_t asn_DEF_T2_1_all_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
@@ -244,12 +244,12 @@
 	T2_decode_xer,
 	T2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T2_0_tags,
-	sizeof(asn_DEF_T2_0_tags)
-		/sizeof(asn_DEF_T2_0_tags[0]), /* 3 */
-	asn_DEF_T2_0_all_tags,
-	sizeof(asn_DEF_T2_0_all_tags)
-		/sizeof(asn_DEF_T2_0_all_tags[0]), /* 5 */
+	asn_DEF_T2_1_tags,
+	sizeof(asn_DEF_T2_1_tags)
+		/sizeof(asn_DEF_T2_1_tags[0]), /* 3 */
+	asn_DEF_T2_1_all_tags,
+	sizeof(asn_DEF_T2_1_all_tags)
+		/sizeof(asn_DEF_T2_1_all_tags[0]), /* 5 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -289,7 +289,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T4.free_struct;
 	td->print_struct   = asn_DEF_T4.print_struct;
 	td->ber_decoder    = asn_DEF_T4.ber_decoder;
@@ -304,21 +304,21 @@
 void
 T3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -326,14 +326,14 @@
 T3_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) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T3_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) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -341,18 +341,18 @@
 T3_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) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T3_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T3_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2))
 };
-static ber_tlv_tag_t asn_DEF_T3_0_all_tags[] = {
+static ber_tlv_tag_t asn_DEF_T3_1_all_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
@@ -369,12 +369,12 @@
 	T3_decode_xer,
 	T3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T3_0_tags,
-	sizeof(asn_DEF_T3_0_tags)
-		/sizeof(asn_DEF_T3_0_tags[0]), /* 2 */
-	asn_DEF_T3_0_all_tags,
-	sizeof(asn_DEF_T3_0_all_tags)
-		/sizeof(asn_DEF_T3_0_all_tags[0]), /* 4 */
+	asn_DEF_T3_1_tags,
+	sizeof(asn_DEF_T3_1_tags)
+		/sizeof(asn_DEF_T3_1_tags[0]), /* 2 */
+	asn_DEF_T3_1_all_tags,
+	sizeof(asn_DEF_T3_1_all_tags)
+		/sizeof(asn_DEF_T3_1_all_tags[0]), /* 4 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -414,7 +414,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T5.free_struct;
 	td->print_struct   = asn_DEF_T5.print_struct;
 	td->ber_decoder    = asn_DEF_T5.ber_decoder;
@@ -429,21 +429,21 @@
 void
 T4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -451,14 +451,14 @@
 T4_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) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T4_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) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -466,14 +466,14 @@
 T4_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) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T4] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T4_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T4_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
@@ -489,12 +489,12 @@
 	T4_decode_xer,
 	T4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T4_0_tags,
-	sizeof(asn_DEF_T4_0_tags)
-		/sizeof(asn_DEF_T4_0_tags[0]) - 1, /* 2 */
-	asn_DEF_T4_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T4_0_tags)
-		/sizeof(asn_DEF_T4_0_tags[0]), /* 3 */
+	asn_DEF_T4_1_tags,
+	sizeof(asn_DEF_T4_1_tags)
+		/sizeof(asn_DEF_T4_1_tags[0]) - 1, /* 2 */
+	asn_DEF_T4_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T4_1_tags)
+		/sizeof(asn_DEF_T4_1_tags[0]), /* 3 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -534,7 +534,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T5_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T6.free_struct;
 	td->print_struct   = asn_DEF_T6.print_struct;
 	td->ber_decoder    = asn_DEF_T6.ber_decoder;
@@ -549,21 +549,21 @@
 void
 T5_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -571,14 +571,14 @@
 T5_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) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T5_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) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -586,14 +586,14 @@
 T5_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) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T5] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T5_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T5_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
 };
@@ -608,12 +608,12 @@
 	T5_decode_xer,
 	T5_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T5_0_tags,
-	sizeof(asn_DEF_T5_0_tags)
-		/sizeof(asn_DEF_T5_0_tags[0]) - 1, /* 1 */
-	asn_DEF_T5_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T5_0_tags)
-		/sizeof(asn_DEF_T5_0_tags[0]), /* 2 */
+	asn_DEF_T5_1_tags,
+	sizeof(asn_DEF_T5_1_tags)
+		/sizeof(asn_DEF_T5_1_tags[0]) - 1, /* 1 */
+	asn_DEF_T5_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T5_1_tags)
+		/sizeof(asn_DEF_T5_1_tags[0]), /* 2 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -653,7 +653,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T6_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_REAL.free_struct;
 	td->print_struct   = asn_DEF_REAL.print_struct;
 	td->ber_decoder    = asn_DEF_REAL.ber_decoder;
@@ -668,21 +668,21 @@
 void
 T6_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -690,14 +690,14 @@
 T6_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) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T6_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) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -705,14 +705,14 @@
 T6_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) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T6] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T6_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T6_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_T6 = {
@@ -726,12 +726,12 @@
 	T6_decode_xer,
 	T6_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T6_0_tags,
-	sizeof(asn_DEF_T6_0_tags)
-		/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
-	asn_DEF_T6_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T6_0_tags)
-		/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
+	asn_DEF_T6_1_tags,
+	sizeof(asn_DEF_T6_1_tags)
+		/sizeof(asn_DEF_T6_1_tags[0]), /* 1 */
+	asn_DEF_T6_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T6_1_tags)
+		/sizeof(asn_DEF_T6_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -771,7 +771,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Ts.free_struct;
 	td->print_struct   = asn_DEF_Ts.print_struct;
 	td->ber_decoder    = asn_DEF_Ts.ber_decoder;
@@ -786,21 +786,21 @@
 void
 T_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -808,14 +808,14 @@
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -823,14 +823,14 @@
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
@@ -846,12 +846,12 @@
 	T_decode_xer,
 	T_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T_0_tags,
-	sizeof(asn_DEF_T_0_tags)
-		/sizeof(asn_DEF_T_0_tags[0]) - 2, /* 1 */
-	asn_DEF_T_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T_0_tags)
-		/sizeof(asn_DEF_T_0_tags[0]), /* 3 */
+	asn_DEF_T_1_tags,
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]) - 2, /* 1 */
+	asn_DEF_T_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]), /* 3 */
 	0, 0,	/* Defined elsewhere */
 	0	/* No specifics */
 };
diff --git a/tests/65-multi-tag-OK.asn1.-Pfnative-types b/tests/65-multi-tag-OK.asn1.-Pfnative-types
index c82a75b..64c95f3 100644
--- a/tests/65-multi-tag-OK.asn1.-Pfnative-types
+++ b/tests/65-multi-tag-OK.asn1.-Pfnative-types
@@ -33,7 +33,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T1_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T2.free_struct;
 	td->print_struct   = asn_DEF_T2.print_struct;
 	td->ber_decoder    = asn_DEF_T2.ber_decoder;
@@ -48,21 +48,21 @@
 void
 T1_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -70,14 +70,14 @@
 T1_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) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T1_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) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -85,20 +85,20 @@
 T1_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) {
-	T1_0_inherit_TYPE_descriptor(td);
+	T1_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T1_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T1_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2))
 };
-static ber_tlv_tag_t asn_DEF_T1_0_all_tags[] = {
+static ber_tlv_tag_t asn_DEF_T1_1_all_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
@@ -117,12 +117,12 @@
 	T1_decode_xer,
 	T1_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T1_0_tags,
-	sizeof(asn_DEF_T1_0_tags)
-		/sizeof(asn_DEF_T1_0_tags[0]), /* 4 */
-	asn_DEF_T1_0_all_tags,
-	sizeof(asn_DEF_T1_0_all_tags)
-		/sizeof(asn_DEF_T1_0_all_tags[0]), /* 6 */
+	asn_DEF_T1_1_tags,
+	sizeof(asn_DEF_T1_1_tags)
+		/sizeof(asn_DEF_T1_1_tags[0]), /* 4 */
+	asn_DEF_T1_1_all_tags,
+	sizeof(asn_DEF_T1_1_all_tags)
+		/sizeof(asn_DEF_T1_1_all_tags[0]), /* 6 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -162,7 +162,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T2_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T3.free_struct;
 	td->print_struct   = asn_DEF_T3.print_struct;
 	td->ber_decoder    = asn_DEF_T3.ber_decoder;
@@ -177,21 +177,21 @@
 void
 T2_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -199,14 +199,14 @@
 T2_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) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T2_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) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -214,19 +214,19 @@
 T2_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) {
-	T2_0_inherit_TYPE_descriptor(td);
+	T2_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T2_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T2_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2))
 };
-static ber_tlv_tag_t asn_DEF_T2_0_all_tags[] = {
+static ber_tlv_tag_t asn_DEF_T2_1_all_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
@@ -244,12 +244,12 @@
 	T2_decode_xer,
 	T2_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T2_0_tags,
-	sizeof(asn_DEF_T2_0_tags)
-		/sizeof(asn_DEF_T2_0_tags[0]), /* 3 */
-	asn_DEF_T2_0_all_tags,
-	sizeof(asn_DEF_T2_0_all_tags)
-		/sizeof(asn_DEF_T2_0_all_tags[0]), /* 5 */
+	asn_DEF_T2_1_tags,
+	sizeof(asn_DEF_T2_1_tags)
+		/sizeof(asn_DEF_T2_1_tags[0]), /* 3 */
+	asn_DEF_T2_1_all_tags,
+	sizeof(asn_DEF_T2_1_all_tags)
+		/sizeof(asn_DEF_T2_1_all_tags[0]), /* 5 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -289,7 +289,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T3_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T4.free_struct;
 	td->print_struct   = asn_DEF_T4.print_struct;
 	td->ber_decoder    = asn_DEF_T4.ber_decoder;
@@ -304,21 +304,21 @@
 void
 T3_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -326,14 +326,14 @@
 T3_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) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T3_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) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -341,18 +341,18 @@
 T3_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) {
-	T3_0_inherit_TYPE_descriptor(td);
+	T3_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T3_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T3_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2))
 };
-static ber_tlv_tag_t asn_DEF_T3_0_all_tags[] = {
+static ber_tlv_tag_t asn_DEF_T3_1_all_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
@@ -369,12 +369,12 @@
 	T3_decode_xer,
 	T3_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T3_0_tags,
-	sizeof(asn_DEF_T3_0_tags)
-		/sizeof(asn_DEF_T3_0_tags[0]), /* 2 */
-	asn_DEF_T3_0_all_tags,
-	sizeof(asn_DEF_T3_0_all_tags)
-		/sizeof(asn_DEF_T3_0_all_tags[0]), /* 4 */
+	asn_DEF_T3_1_tags,
+	sizeof(asn_DEF_T3_1_tags)
+		/sizeof(asn_DEF_T3_1_tags[0]), /* 2 */
+	asn_DEF_T3_1_all_tags,
+	sizeof(asn_DEF_T3_1_all_tags)
+		/sizeof(asn_DEF_T3_1_all_tags[0]), /* 4 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -414,7 +414,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T4_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T5.free_struct;
 	td->print_struct   = asn_DEF_T5.print_struct;
 	td->ber_decoder    = asn_DEF_T5.ber_decoder;
@@ -429,21 +429,21 @@
 void
 T4_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -451,14 +451,14 @@
 T4_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) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T4_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) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -466,14 +466,14 @@
 T4_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) {
-	T4_0_inherit_TYPE_descriptor(td);
+	T4_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T4] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T4_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T4_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
@@ -489,12 +489,12 @@
 	T4_decode_xer,
 	T4_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T4_0_tags,
-	sizeof(asn_DEF_T4_0_tags)
-		/sizeof(asn_DEF_T4_0_tags[0]) - 1, /* 2 */
-	asn_DEF_T4_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T4_0_tags)
-		/sizeof(asn_DEF_T4_0_tags[0]), /* 3 */
+	asn_DEF_T4_1_tags,
+	sizeof(asn_DEF_T4_1_tags)
+		/sizeof(asn_DEF_T4_1_tags[0]) - 1, /* 2 */
+	asn_DEF_T4_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T4_1_tags)
+		/sizeof(asn_DEF_T4_1_tags[0]), /* 3 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -534,7 +534,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T5_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_T6.free_struct;
 	td->print_struct   = asn_DEF_T6.print_struct;
 	td->ber_decoder    = asn_DEF_T6.ber_decoder;
@@ -549,21 +549,21 @@
 void
 T5_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -571,14 +571,14 @@
 T5_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) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T5_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) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -586,14 +586,14 @@
 T5_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) {
-	T5_0_inherit_TYPE_descriptor(td);
+	T5_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T5] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T5_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T5_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
 };
@@ -608,12 +608,12 @@
 	T5_decode_xer,
 	T5_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T5_0_tags,
-	sizeof(asn_DEF_T5_0_tags)
-		/sizeof(asn_DEF_T5_0_tags[0]) - 1, /* 1 */
-	asn_DEF_T5_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T5_0_tags)
-		/sizeof(asn_DEF_T5_0_tags[0]), /* 2 */
+	asn_DEF_T5_1_tags,
+	sizeof(asn_DEF_T5_1_tags)
+		/sizeof(asn_DEF_T5_1_tags[0]) - 1, /* 1 */
+	asn_DEF_T5_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T5_1_tags)
+		/sizeof(asn_DEF_T5_1_tags[0]), /* 2 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -653,7 +653,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T6_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T6_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_NativeReal.free_struct;
 	td->print_struct   = asn_DEF_NativeReal.print_struct;
 	td->ber_decoder    = asn_DEF_NativeReal.ber_decoder;
@@ -668,21 +668,21 @@
 void
 T6_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -690,14 +690,14 @@
 T6_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) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T6_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) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -705,14 +705,14 @@
 T6_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) {
-	T6_0_inherit_TYPE_descriptor(td);
+	T6_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T6] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T6_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T6_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_T6 = {
@@ -726,12 +726,12 @@
 	T6_decode_xer,
 	T6_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T6_0_tags,
-	sizeof(asn_DEF_T6_0_tags)
-		/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
-	asn_DEF_T6_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T6_0_tags)
-		/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
+	asn_DEF_T6_1_tags,
+	sizeof(asn_DEF_T6_1_tags)
+		/sizeof(asn_DEF_T6_1_tags[0]), /* 1 */
+	asn_DEF_T6_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T6_1_tags)
+		/sizeof(asn_DEF_T6_1_tags[0]), /* 1 */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -771,7 +771,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-T_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+T_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Ts.free_struct;
 	td->print_struct   = asn_DEF_Ts.print_struct;
 	td->ber_decoder    = asn_DEF_Ts.ber_decoder;
@@ -786,21 +786,21 @@
 void
 T_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 T_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -808,14 +808,14 @@
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -823,14 +823,14 @@
 T_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) {
-	T_0_inherit_TYPE_descriptor(td);
+	T_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_T_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_T_1_tags[] = {
 	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
 	(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
@@ -846,12 +846,12 @@
 	T_decode_xer,
 	T_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T_0_tags,
-	sizeof(asn_DEF_T_0_tags)
-		/sizeof(asn_DEF_T_0_tags[0]) - 2, /* 1 */
-	asn_DEF_T_0_tags,	/* Same as above */
-	sizeof(asn_DEF_T_0_tags)
-		/sizeof(asn_DEF_T_0_tags[0]), /* 3 */
+	asn_DEF_T_1_tags,
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]) - 2, /* 1 */
+	asn_DEF_T_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]), /* 3 */
 	0, 0,	/* Defined elsewhere */
 	0	/* No specifics */
 };
diff --git a/tests/69-reserved-words-OK.asn1.-P b/tests/69-reserved-words-OK.asn1.-P
index 9f222eb..96bf951 100644
--- a/tests/69-reserved-words-OK.asn1.-P
+++ b/tests/69-reserved-words-OK.asn1.-P
@@ -75,27 +75,27 @@
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_class_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_class_4_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_class_2_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_class_4_tag2el[] = {
 };
-static uint8_t asn_MAP_class_2_mmap[(0 + (8 * sizeof(unsigned int)) - 1) / 8] = {
+static uint8_t asn_MAP_class_4_mmap[(0 + (8 * sizeof(unsigned int)) - 1) / 8] = {
 	0
 };
-static asn_SET_specifics_t asn_SPC_class_2_specs = {
+static asn_SET_specifics_t asn_SPC_class_4_specs = {
 	sizeof(struct Class),
 	offsetof(struct Class, _asn_ctx),
 	offsetof(struct Class, _presence_map),
-	asn_MAP_class_2_tag2el,
+	asn_MAP_class_4_tag2el,
 	0,	/* Count of tags in the map */
-	asn_MAP_class_2_tag2el,	/* Same as above */
+	asn_MAP_class_4_tag2el,	/* Same as above */
 	0,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_class_2_mmap	/* Mandatory elements map */
+	(unsigned int *)asn_MAP_class_4_mmap	/* Mandatory elements map */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_class_2 = {
+asn_TYPE_descriptor_t asn_DEF_class_4 = {
 	"class",
 	"class",
 	SET_free,
@@ -106,14 +106,14 @@
 	SET_decode_xer,
 	SET_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_class_2_tags,
-	sizeof(asn_DEF_class_2_tags)
-		/sizeof(asn_DEF_class_2_tags[0]), /* 1 */
-	asn_DEF_class_2_tags,	/* Same as above */
-	sizeof(asn_DEF_class_2_tags)
-		/sizeof(asn_DEF_class_2_tags[0]), /* 1 */
+	asn_DEF_class_4_tags,
+	sizeof(asn_DEF_class_4_tags)
+		/sizeof(asn_DEF_class_4_tags[0]), /* 1 */
+	asn_DEF_class_4_tags,	/* Same as above */
+	sizeof(asn_DEF_class_4_tags)
+		/sizeof(asn_DEF_class_4_tags[0]), /* 1 */
 	0, 0,	/* No members */
-	&asn_SPC_class_2_specs	/* Additional specs */
+	&asn_SPC_class_4_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_T_1[] = {
@@ -134,7 +134,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct T, Class),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_class_2,
+		.type = (void *)&asn_DEF_class_4,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "class"
 		},
diff --git a/tests/72-same-names-OK.asn1.-P b/tests/72-same-names-OK.asn1.-P
index a359a74..0014fe1 100644
--- a/tests/72-same-names-OK.asn1.-P
+++ b/tests/72-same-names-OK.asn1.-P
@@ -407,7 +407,7 @@
 }
 
 static int
-memb_a_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_a_8_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_consume_bytes_f *app_errlog, void *app_key) {
 	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
 	size_t size;
@@ -540,12 +540,12 @@
 	&asn_SPC_one_name_2_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_another_name_5[] = {
+static asn_TYPE_member_t asn_MBR_another_name_8[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct another_name, a),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
 		.tag_mode = 0,
 		.type = (void *)&asn_DEF_BIT_STRING,
-		.memb_constraints = memb_a_5_constraint,
+		.memb_constraints = memb_a_8_constraint,
 		.name = "a"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct another_name, b),
@@ -556,23 +556,23 @@
 		.name = "b"
 		},
 };
-static ber_tlv_tag_t asn_DEF_another_name_5_tags[] = {
+static ber_tlv_tag_t asn_DEF_another_name_8_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_another_name_5_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_another_name_8_tag2el[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b at 42 */
     { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a at 40 */
 };
-static asn_SEQUENCE_specifics_t asn_SPC_another_name_5_specs = {
+static asn_SEQUENCE_specifics_t asn_SPC_another_name_8_specs = {
 	sizeof(struct another_name),
 	offsetof(struct another_name, _asn_ctx),
-	asn_MAP_another_name_5_tag2el,
+	asn_MAP_another_name_8_tag2el,
 	2,	/* Count of tags in the map */
 	-1,	/* Start extensions */
 	-1	/* Stop extensions */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_another_name_5 = {
+asn_TYPE_descriptor_t asn_DEF_another_name_8 = {
 	"another-name",
 	"another-name",
 	SEQUENCE_free,
@@ -583,48 +583,48 @@
 	SEQUENCE_decode_xer,
 	SEQUENCE_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_another_name_5_tags,
-	sizeof(asn_DEF_another_name_5_tags)
-		/sizeof(asn_DEF_another_name_5_tags[0]), /* 1 */
-	asn_DEF_another_name_5_tags,	/* Same as above */
-	sizeof(asn_DEF_another_name_5_tags)
-		/sizeof(asn_DEF_another_name_5_tags[0]), /* 1 */
-	asn_MBR_another_name_5,
+	asn_DEF_another_name_8_tags,
+	sizeof(asn_DEF_another_name_8_tags)
+		/sizeof(asn_DEF_another_name_8_tags[0]), /* 1 */
+	asn_DEF_another_name_8_tags,	/* Same as above */
+	sizeof(asn_DEF_another_name_8_tags)
+		/sizeof(asn_DEF_another_name_8_tags[0]), /* 1 */
+	asn_MBR_another_name_8,
 	2,	/* Elements count */
-	&asn_SPC_another_name_5_specs	/* Additional specs */
+	&asn_SPC_another_name_8_specs	/* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_two_name_4[] = {
+static asn_TYPE_member_t asn_MBR_two_name_7[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct two_name, another_name),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_another_name_5,
+		.type = (void *)&asn_DEF_another_name_8,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "another-name"
 		},
 };
-static ber_tlv_tag_t asn_DEF_two_name_4_tags[] = {
+static ber_tlv_tag_t asn_DEF_two_name_7_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_TYPE_tag2member_t asn_MAP_two_name_4_tag2el[] = {
+static asn_TYPE_tag2member_t asn_MAP_two_name_7_tag2el[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name at 40 */
 };
-static uint8_t asn_MAP_two_name_4_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
+static uint8_t asn_MAP_two_name_7_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
 	(1 << 7)
 };
-static asn_SET_specifics_t asn_SPC_two_name_4_specs = {
+static asn_SET_specifics_t asn_SPC_two_name_7_specs = {
 	sizeof(struct two_name),
 	offsetof(struct two_name, _asn_ctx),
 	offsetof(struct two_name, _presence_map),
-	asn_MAP_two_name_4_tag2el,
+	asn_MAP_two_name_7_tag2el,
 	1,	/* Count of tags in the map */
-	asn_MAP_two_name_4_tag2el,	/* Same as above */
+	asn_MAP_two_name_7_tag2el,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_two_name_4_mmap	/* Mandatory elements map */
+	(unsigned int *)asn_MAP_two_name_7_mmap	/* Mandatory elements map */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_two_name_4 = {
+asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
 	"two-name",
 	"two-name",
 	SET_free,
@@ -635,15 +635,15 @@
 	SET_decode_xer,
 	SET_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_two_name_4_tags,
-	sizeof(asn_DEF_two_name_4_tags)
-		/sizeof(asn_DEF_two_name_4_tags[0]), /* 1 */
-	asn_DEF_two_name_4_tags,	/* Same as above */
-	sizeof(asn_DEF_two_name_4_tags)
-		/sizeof(asn_DEF_two_name_4_tags[0]), /* 1 */
-	asn_MBR_two_name_4,
+	asn_DEF_two_name_7_tags,
+	sizeof(asn_DEF_two_name_7_tags)
+		/sizeof(asn_DEF_two_name_7_tags[0]), /* 1 */
+	asn_DEF_two_name_7_tags,	/* Same as above */
+	sizeof(asn_DEF_two_name_7_tags)
+		/sizeof(asn_DEF_two_name_7_tags[0]), /* 1 */
+	asn_MBR_two_name_7,
 	1,	/* Elements count */
-	&asn_SPC_two_name_4_specs	/* Additional specs */
+	&asn_SPC_two_name_7_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_Type2_1[] = {
@@ -657,7 +657,7 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_two_name_4,
+		.type = (void *)&asn_DEF_two_name_7,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "two-name"
 		},
diff --git a/tests/73-circular-OK.asn1 b/tests/73-circular-OK.asn1
index f2620d7..c4d1ea5 100644
--- a/tests/73-circular-OK.asn1
+++ b/tests/73-circular-OK.asn1
@@ -26,7 +26,9 @@
 	Ypet ::= SET {
 		epyt	Epyt,
 		plain	INTEGER DEFAULT 7,
-		senums	SET OF EnumType
+		senums	SET OF EnumType,
+		patest1	[1] IA5String (FROM("A".."Z")),
+		patest2	[2] IA5String (FROM("a".."z"))
 	}
 
 	EnumType ::= ENUMERATED { one, two }
diff --git a/tests/73-circular-OK.asn1.-P b/tests/73-circular-OK.asn1.-P
index d851ff0..a7d7667 100644
--- a/tests/73-circular-OK.asn1.-P
+++ b/tests/73-circular-OK.asn1.-P
@@ -153,7 +153,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-EpytRef_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+EpytRef_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Epyt.free_struct;
 	td->print_struct   = asn_DEF_Epyt.print_struct;
 	td->ber_decoder    = asn_DEF_Epyt.ber_decoder;
@@ -168,21 +168,21 @@
 void
 EpytRef_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	EpytRef_0_inherit_TYPE_descriptor(td);
+	EpytRef_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 EpytRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	EpytRef_0_inherit_TYPE_descriptor(td);
+	EpytRef_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 EpytRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	EpytRef_0_inherit_TYPE_descriptor(td);
+	EpytRef_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -190,14 +190,14 @@
 EpytRef_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) {
-	EpytRef_0_inherit_TYPE_descriptor(td);
+	EpytRef_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 EpytRef_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) {
-	EpytRef_0_inherit_TYPE_descriptor(td);
+	EpytRef_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -205,14 +205,14 @@
 EpytRef_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) {
-	EpytRef_0_inherit_TYPE_descriptor(td);
+	EpytRef_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [EpytRef] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_EpytRef_0_tags[] = {
+static ber_tlv_tag_t asn_DEF_EpytRef_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_EpytRef = {
@@ -226,12 +226,12 @@
 	EpytRef_decode_xer,
 	EpytRef_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_EpytRef_0_tags,
-	sizeof(asn_DEF_EpytRef_0_tags)
-		/sizeof(asn_DEF_EpytRef_0_tags[0]), /* 1 */
-	asn_DEF_EpytRef_0_tags,	/* Same as above */
-	sizeof(asn_DEF_EpytRef_0_tags)
-		/sizeof(asn_DEF_EpytRef_0_tags[0]), /* 1 */
+	asn_DEF_EpytRef_1_tags,
+	sizeof(asn_DEF_EpytRef_1_tags)
+		/sizeof(asn_DEF_EpytRef_1_tags[0]), /* 1 */
+	asn_DEF_EpytRef_1_tags,	/* Same as above */
+	sizeof(asn_DEF_EpytRef_1_tags)
+		/sizeof(asn_DEF_EpytRef_1_tags[0]), /* 1 */
 	0, 0,	/* Defined elsewhere */
 	0	/* No specifics */
 };
@@ -381,6 +381,7 @@
 
 #include <Epyt.h>
 #include <INTEGER.h>
+#include <IA5String.h>
 #include <EnumType.h>
 #include <asn_SET_OF.h>
 #include <constr_SET_OF.h>
@@ -396,6 +397,8 @@
 	Ypet_PR_epyt,	/* Member epyt is present */
 	Ypet_PR_plain,	/* Member plain is present */
 	Ypet_PR_senums,	/* Member senums is present */
+	Ypet_PR_patest1,	/* Member patest1 is present */
+	Ypet_PR_patest2,	/* Member patest2 is present */
 } Ypet_PR;
 
 /*** <<< TYPE-DECLS [Ypet] >>> ***/
@@ -409,10 +412,12 @@
 		/* Context for parsing across buffer boundaries */
 		asn_struct_ctx_t _asn_ctx;
 	} senums;
+	IA5String_t	 patest1;
+	IA5String_t	 patest2;
 	
 	/* Presence bitmask: ASN_SET_ISPRESENT(pYpet, Ypet_PR_x) */
 	unsigned int _presence_map
-		[((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
+		[((5+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
 	
 	/* Context for parsing across buffer boundaries */
 	asn_struct_ctx_t _asn_ctx;
@@ -422,9 +427,89 @@
 
 extern asn_TYPE_descriptor_t asn_DEF_Ypet;
 
+/*** <<< CTABLES [Ypet] >>> ***/
+
+static int check_permitted_alphabet_6(const void *sptr) {
+	/* The underlying type is IA5String */
+	const IA5String_t *st = (const IA5String_t *)sptr;
+	const uint8_t *ch = st->buf;
+	const uint8_t *end = ch + st->size;
+	
+	for(; ch < end; ch++) {
+		uint8_t cv = *ch;
+		if(!(cv >= 65 && cv <= 90)) return -1;
+	}
+	return 0;
+}
+
+static int check_permitted_alphabet_7(const void *sptr) {
+	/* The underlying type is IA5String */
+	const IA5String_t *st = (const IA5String_t *)sptr;
+	const uint8_t *ch = st->buf;
+	const uint8_t *end = ch + st->size;
+	
+	for(; ch < end; ch++) {
+		uint8_t cv = *ch;
+		if(!(cv >= 97 && cv <= 122)) return -1;
+	}
+	return 0;
+}
+
+
+/*** <<< CODE [Ypet] >>> ***/
+
+static int
+memb_patest1_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+			asn_app_consume_bytes_f *app_errlog, void *app_key) {
+	const IA5String_t *st = (const IA5String_t *)sptr;
+	
+	if(!sptr) {
+		_ASN_ERRLOG(app_errlog, app_key,
+			"%s: value not given (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+	
+	
+	if(!check_permitted_alphabet_6(st)) {
+		/* Constraint check succeeded */
+		return 0;
+	} else {
+		_ASN_ERRLOG(app_errlog, app_key,
+			"%s: constraint failed (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+}
+
+static int
+memb_patest2_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+			asn_app_consume_bytes_f *app_errlog, void *app_key) {
+	const IA5String_t *st = (const IA5String_t *)sptr;
+	
+	if(!sptr) {
+		_ASN_ERRLOG(app_errlog, app_key,
+			"%s: value not given (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+	
+	
+	if(!check_permitted_alphabet_7(st)) {
+		/* Constraint check succeeded */
+		return 0;
+	} else {
+		_ASN_ERRLOG(app_errlog, app_key,
+			"%s: constraint failed (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+}
+
+
 /*** <<< STAT-DEFS [Ypet] >>> ***/
 
-static asn_TYPE_member_t asn_MBR_senums_2[] = {
+static asn_TYPE_member_t asn_MBR_senums_4[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
 		.tag_mode = 0,
@@ -433,16 +518,16 @@
 		.name = ""
 		},
 };
-static ber_tlv_tag_t asn_DEF_senums_2_tags[] = {
+static ber_tlv_tag_t asn_DEF_senums_4_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_senums_2_specs = {
+static asn_SET_OF_specifics_t asn_SPC_senums_4_specs = {
 	sizeof(struct senums),
 	offsetof(struct senums, _asn_ctx),
 	1,	/* XER encoding is XMLValueList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_senums_2 = {
+asn_TYPE_descriptor_t asn_DEF_senums_4 = {
 	"senums",
 	"senums",
 	SET_OF_free,
@@ -453,15 +538,15 @@
 	SET_OF_decode_xer,
 	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_senums_2_tags,
-	sizeof(asn_DEF_senums_2_tags)
-		/sizeof(asn_DEF_senums_2_tags[0]), /* 1 */
-	asn_DEF_senums_2_tags,	/* Same as above */
-	sizeof(asn_DEF_senums_2_tags)
-		/sizeof(asn_DEF_senums_2_tags[0]), /* 1 */
-	asn_MBR_senums_2,
+	asn_DEF_senums_4_tags,
+	sizeof(asn_DEF_senums_4_tags)
+		/sizeof(asn_DEF_senums_4_tags[0]), /* 1 */
+	asn_DEF_senums_4_tags,	/* Same as above */
+	sizeof(asn_DEF_senums_4_tags)
+		/sizeof(asn_DEF_senums_4_tags[0]), /* 1 */
+	asn_MBR_senums_4,
 	1,	/* Single element */
-	&asn_SPC_senums_2_specs	/* Additional specs */
+	&asn_SPC_senums_4_specs	/* Additional specs */
 };
 
 static asn_TYPE_member_t asn_MBR_Ypet_1[] = {
@@ -482,10 +567,24 @@
 	{ ATF_NOFLAGS, 0, offsetof(struct Ypet, senums),
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
 		.tag_mode = 0,
-		.type = (void *)&asn_DEF_senums_2,
+		.type = (void *)&asn_DEF_senums_4,
 		.memb_constraints = 0,	/* Defer constraints checking to the member type */
 		.name = "senums"
 		},
+	{ ATF_NOFLAGS, 0, offsetof(struct Ypet, patest1),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		.tag_mode = +1,	/* EXPLICIT tag at current level */
+		.type = (void *)&asn_DEF_IA5String,
+		.memb_constraints = memb_patest1_1_constraint,
+		.name = "patest1"
+		},
+	{ ATF_NOFLAGS, 0, offsetof(struct Ypet, patest2),
+		.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+		.tag_mode = +1,	/* EXPLICIT tag at current level */
+		.type = (void *)&asn_DEF_IA5String,
+		.memb_constraints = memb_patest2_1_constraint,
+		.name = "patest2"
+		},
 };
 static ber_tlv_tag_t asn_DEF_Ypet_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
@@ -493,19 +592,21 @@
 static asn_TYPE_tag2member_t asn_MAP_Ypet_1_tag2el[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* plain at 28 */
     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* epyt at 27 */
-    { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, 0, 0 } /* senums at 30 */
+    { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, 0, 0 }, /* senums at 29 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* patest1 at 30 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 4, 0, 0 } /* patest2 at 31 */
 };
-static uint8_t asn_MAP_Ypet_1_mmap[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = {
-	(1 << 7) | (0 << 6) | (1 << 5)
+static uint8_t asn_MAP_Ypet_1_mmap[(5 + (8 * sizeof(unsigned int)) - 1) / 8] = {
+	(1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (1 << 3)
 };
 static asn_SET_specifics_t asn_SPC_Ypet_1_specs = {
 	sizeof(struct Ypet),
 	offsetof(struct Ypet, _asn_ctx),
 	offsetof(struct Ypet, _presence_map),
 	asn_MAP_Ypet_1_tag2el,
-	3,	/* Count of tags in the map */
+	5,	/* Count of tags in the map */
 	asn_MAP_Ypet_1_tag2el,	/* Same as above */
-	3,	/* Count of tags in the CXER map */
+	5,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
 	(unsigned int *)asn_MAP_Ypet_1_mmap	/* Mandatory elements map */
 };
@@ -527,7 +628,7 @@
 	sizeof(asn_DEF_Ypet_1_tags)
 		/sizeof(asn_DEF_Ypet_1_tags[0]), /* 1 */
 	asn_MBR_Ypet_1,
-	3,	/* Elements count */
+	5,	/* Elements count */
 	&asn_SPC_Ypet_1_specs	/* Additional specs */
 };