upgrade: PER related changes

diff --git a/tests/90-cond-int-type-OK.asn1.-Pfnative-types b/tests/90-cond-int-type-OK.asn1.-Pfnative-types
index eaf0f53..240c70b 100644
--- a/tests/90-cond-int-type-OK.asn1.-Pfnative-types
+++ b/tests/90-cond-int-type-OK.asn1.-Pfnative-types
@@ -40,6 +40,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -92,7 +95,7 @@
 
 /*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_CN_IntegerUnlimited_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_CN_IntegerUnlimited_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = {
@@ -105,13 +108,15 @@
 	CN_IntegerUnlimited_encode_der,
 	CN_IntegerUnlimited_decode_xer,
 	CN_IntegerUnlimited_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_CN_IntegerUnlimited_1_tags,
-	sizeof(asn_DEF_CN_IntegerUnlimited_1_tags)
-		/sizeof(asn_DEF_CN_IntegerUnlimited_1_tags[0]), /* 1 */
-	asn_DEF_CN_IntegerUnlimited_1_tags,	/* Same as above */
-	sizeof(asn_DEF_CN_IntegerUnlimited_1_tags)
-		/sizeof(asn_DEF_CN_IntegerUnlimited_1_tags[0]), /* 1 */
+	asn_DEF_CN_IntegerUnlimited_tags_1,
+	sizeof(asn_DEF_CN_IntegerUnlimited_tags_1)
+		/sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */
+	asn_DEF_CN_IntegerUnlimited_tags_1,	/* Same as above */
+	sizeof(asn_DEF_CN_IntegerUnlimited_tags_1)
+		/sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -171,6 +176,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -223,7 +231,7 @@
 
 /*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_CN_IntegerMinMax_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_CN_IntegerMinMax_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = {
@@ -236,13 +244,15 @@
 	CN_IntegerMinMax_encode_der,
 	CN_IntegerMinMax_decode_xer,
 	CN_IntegerMinMax_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_CN_IntegerMinMax_1_tags,
-	sizeof(asn_DEF_CN_IntegerMinMax_1_tags)
-		/sizeof(asn_DEF_CN_IntegerMinMax_1_tags[0]), /* 1 */
-	asn_DEF_CN_IntegerMinMax_1_tags,	/* Same as above */
-	sizeof(asn_DEF_CN_IntegerMinMax_1_tags)
-		/sizeof(asn_DEF_CN_IntegerMinMax_1_tags[0]), /* 1 */
+	asn_DEF_CN_IntegerMinMax_tags_1,
+	sizeof(asn_DEF_CN_IntegerMinMax_tags_1)
+		/sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */
+	asn_DEF_CN_IntegerMinMax_tags_1,	/* Same as above */
+	sizeof(asn_DEF_CN_IntegerMinMax_tags_1)
+		/sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -306,6 +316,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -358,7 +371,7 @@
 
 /*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_CN_IntegerMinLow_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_CN_IntegerMinLow_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = {
@@ -371,13 +384,15 @@
 	CN_IntegerMinLow_encode_der,
 	CN_IntegerMinLow_decode_xer,
 	CN_IntegerMinLow_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_CN_IntegerMinLow_1_tags,
-	sizeof(asn_DEF_CN_IntegerMinLow_1_tags)
-		/sizeof(asn_DEF_CN_IntegerMinLow_1_tags[0]), /* 1 */
-	asn_DEF_CN_IntegerMinLow_1_tags,	/* Same as above */
-	sizeof(asn_DEF_CN_IntegerMinLow_1_tags)
-		/sizeof(asn_DEF_CN_IntegerMinLow_1_tags[0]), /* 1 */
+	asn_DEF_CN_IntegerMinLow_tags_1,
+	sizeof(asn_DEF_CN_IntegerMinLow_tags_1)
+		/sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */
+	asn_DEF_CN_IntegerMinLow_tags_1,	/* Same as above */
+	sizeof(asn_DEF_CN_IntegerMinLow_tags_1)
+		/sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -447,6 +462,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -499,7 +517,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerMinHigh_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerMinHigh_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = {
@@ -512,13 +530,15 @@
 	NO_IntegerMinHigh_encode_der,
 	NO_IntegerMinHigh_decode_xer,
 	NO_IntegerMinHigh_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerMinHigh_1_tags,
-	sizeof(asn_DEF_NO_IntegerMinHigh_1_tags)
-		/sizeof(asn_DEF_NO_IntegerMinHigh_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerMinHigh_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerMinHigh_1_tags)
-		/sizeof(asn_DEF_NO_IntegerMinHigh_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerMinHigh_tags_1,
+	sizeof(asn_DEF_NO_IntegerMinHigh_tags_1)
+		/sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerMinHigh_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerMinHigh_tags_1)
+		/sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -588,6 +608,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -640,7 +663,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerLowHigh_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerLowHigh_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = {
@@ -653,13 +676,15 @@
 	NO_IntegerLowHigh_encode_der,
 	NO_IntegerLowHigh_decode_xer,
 	NO_IntegerLowHigh_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerLowHigh_1_tags,
-	sizeof(asn_DEF_NO_IntegerLowHigh_1_tags)
-		/sizeof(asn_DEF_NO_IntegerLowHigh_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerLowHigh_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerLowHigh_1_tags)
-		/sizeof(asn_DEF_NO_IntegerLowHigh_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerLowHigh_tags_1,
+	sizeof(asn_DEF_NO_IntegerLowHigh_tags_1)
+		/sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerLowHigh_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerLowHigh_tags_1)
+		/sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -723,6 +748,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -775,7 +803,7 @@
 
 /*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_CN_IntegerLowMax_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_CN_IntegerLowMax_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = {
@@ -788,13 +816,15 @@
 	CN_IntegerLowMax_encode_der,
 	CN_IntegerLowMax_decode_xer,
 	CN_IntegerLowMax_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_CN_IntegerLowMax_1_tags,
-	sizeof(asn_DEF_CN_IntegerLowMax_1_tags)
-		/sizeof(asn_DEF_CN_IntegerLowMax_1_tags[0]), /* 1 */
-	asn_DEF_CN_IntegerLowMax_1_tags,	/* Same as above */
-	sizeof(asn_DEF_CN_IntegerLowMax_1_tags)
-		/sizeof(asn_DEF_CN_IntegerLowMax_1_tags[0]), /* 1 */
+	asn_DEF_CN_IntegerLowMax_tags_1,
+	sizeof(asn_DEF_CN_IntegerLowMax_tags_1)
+		/sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */
+	asn_DEF_CN_IntegerLowMax_tags_1,	/* Same as above */
+	sizeof(asn_DEF_CN_IntegerLowMax_tags_1)
+		/sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -864,6 +894,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -916,7 +949,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerHighMax_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerHighMax_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = {
@@ -929,13 +962,15 @@
 	NO_IntegerHighMax_encode_der,
 	NO_IntegerHighMax_decode_xer,
 	NO_IntegerHighMax_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerHighMax_1_tags,
-	sizeof(asn_DEF_NO_IntegerHighMax_1_tags)
-		/sizeof(asn_DEF_NO_IntegerHighMax_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerHighMax_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerHighMax_1_tags)
-		/sizeof(asn_DEF_NO_IntegerHighMax_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerHighMax_tags_1,
+	sizeof(asn_DEF_NO_IntegerHighMax_tags_1)
+		/sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerHighMax_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerHighMax_tags_1)
+		/sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1005,6 +1040,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -1057,7 +1095,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerLowestMax_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerLowestMax_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = {
@@ -1070,13 +1108,15 @@
 	NO_IntegerLowestMax_encode_der,
 	NO_IntegerLowestMax_decode_xer,
 	NO_IntegerLowestMax_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerLowestMax_1_tags,
-	sizeof(asn_DEF_NO_IntegerLowestMax_1_tags)
-		/sizeof(asn_DEF_NO_IntegerLowestMax_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerLowestMax_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerLowestMax_1_tags)
-		/sizeof(asn_DEF_NO_IntegerLowestMax_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerLowestMax_tags_1,
+	sizeof(asn_DEF_NO_IntegerLowestMax_tags_1)
+		/sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerLowestMax_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerLowestMax_tags_1)
+		/sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1146,6 +1186,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -1198,7 +1241,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerOutRange_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerOutRange_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = {
@@ -1211,13 +1254,15 @@
 	NO_IntegerOutRange_encode_der,
 	NO_IntegerOutRange_decode_xer,
 	NO_IntegerOutRange_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerOutRange_1_tags,
-	sizeof(asn_DEF_NO_IntegerOutRange_1_tags)
-		/sizeof(asn_DEF_NO_IntegerOutRange_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerOutRange_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerOutRange_1_tags)
-		/sizeof(asn_DEF_NO_IntegerOutRange_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerOutRange_tags_1,
+	sizeof(asn_DEF_NO_IntegerOutRange_tags_1)
+		/sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerOutRange_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerOutRange_tags_1)
+		/sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1287,6 +1332,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -1339,7 +1387,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerOutValue_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerOutValue_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = {
@@ -1352,13 +1400,15 @@
 	NO_IntegerOutValue_encode_der,
 	NO_IntegerOutValue_decode_xer,
 	NO_IntegerOutValue_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerOutValue_1_tags,
-	sizeof(asn_DEF_NO_IntegerOutValue_1_tags)
-		/sizeof(asn_DEF_NO_IntegerOutValue_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerOutValue_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerOutValue_1_tags)
-		/sizeof(asn_DEF_NO_IntegerOutValue_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerOutValue_tags_1,
+	sizeof(asn_DEF_NO_IntegerOutValue_tags_1)
+		/sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerOutValue_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerOutValue_tags_1)
+		/sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1422,6 +1472,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -1474,7 +1527,7 @@
 
 /*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_OK_IntegerInRange1_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_OK_IntegerInRange1_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = {
@@ -1487,13 +1540,15 @@
 	OK_IntegerInRange1_encode_der,
 	OK_IntegerInRange1_decode_xer,
 	OK_IntegerInRange1_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_OK_IntegerInRange1_1_tags,
-	sizeof(asn_DEF_OK_IntegerInRange1_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange1_1_tags[0]), /* 1 */
-	asn_DEF_OK_IntegerInRange1_1_tags,	/* Same as above */
-	sizeof(asn_DEF_OK_IntegerInRange1_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange1_1_tags[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange1_tags_1,
+	sizeof(asn_DEF_OK_IntegerInRange1_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange1_tags_1,	/* Same as above */
+	sizeof(asn_DEF_OK_IntegerInRange1_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1557,6 +1612,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -1609,7 +1667,7 @@
 
 /*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_OK_IntegerInRange2_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_OK_IntegerInRange2_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = {
@@ -1622,13 +1680,15 @@
 	OK_IntegerInRange2_encode_der,
 	OK_IntegerInRange2_decode_xer,
 	OK_IntegerInRange2_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_OK_IntegerInRange2_1_tags,
-	sizeof(asn_DEF_OK_IntegerInRange2_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange2_1_tags[0]), /* 1 */
-	asn_DEF_OK_IntegerInRange2_1_tags,	/* Same as above */
-	sizeof(asn_DEF_OK_IntegerInRange2_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange2_1_tags[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange2_tags_1,
+	sizeof(asn_DEF_OK_IntegerInRange2_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange2_tags_1,	/* Same as above */
+	sizeof(asn_DEF_OK_IntegerInRange2_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1692,6 +1752,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -1744,7 +1807,7 @@
 
 /*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_OK_IntegerInRange3_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_OK_IntegerInRange3_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = {
@@ -1757,13 +1820,15 @@
 	OK_IntegerInRange3_encode_der,
 	OK_IntegerInRange3_decode_xer,
 	OK_IntegerInRange3_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_OK_IntegerInRange3_1_tags,
-	sizeof(asn_DEF_OK_IntegerInRange3_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange3_1_tags[0]), /* 1 */
-	asn_DEF_OK_IntegerInRange3_1_tags,	/* Same as above */
-	sizeof(asn_DEF_OK_IntegerInRange3_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange3_1_tags[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange3_tags_1,
+	sizeof(asn_DEF_OK_IntegerInRange3_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange3_tags_1,	/* Same as above */
+	sizeof(asn_DEF_OK_IntegerInRange3_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1827,6 +1892,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -1879,7 +1947,7 @@
 
 /*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_OK_IntegerInRange4_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_OK_IntegerInRange4_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = {
@@ -1892,13 +1960,15 @@
 	OK_IntegerInRange4_encode_der,
 	OK_IntegerInRange4_decode_xer,
 	OK_IntegerInRange4_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_OK_IntegerInRange4_1_tags,
-	sizeof(asn_DEF_OK_IntegerInRange4_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange4_1_tags[0]), /* 1 */
-	asn_DEF_OK_IntegerInRange4_1_tags,	/* Same as above */
-	sizeof(asn_DEF_OK_IntegerInRange4_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange4_1_tags[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange4_tags_1,
+	sizeof(asn_DEF_OK_IntegerInRange4_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange4_tags_1,	/* Same as above */
+	sizeof(asn_DEF_OK_IntegerInRange4_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -1962,6 +2032,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -2014,7 +2087,7 @@
 
 /*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_OK_IntegerInRange5_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_OK_IntegerInRange5_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = {
@@ -2027,13 +2100,15 @@
 	OK_IntegerInRange5_encode_der,
 	OK_IntegerInRange5_decode_xer,
 	OK_IntegerInRange5_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_OK_IntegerInRange5_1_tags,
-	sizeof(asn_DEF_OK_IntegerInRange5_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange5_1_tags[0]), /* 1 */
-	asn_DEF_OK_IntegerInRange5_1_tags,	/* Same as above */
-	sizeof(asn_DEF_OK_IntegerInRange5_1_tags)
-		/sizeof(asn_DEF_OK_IntegerInRange5_1_tags[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange5_tags_1,
+	sizeof(asn_DEF_OK_IntegerInRange5_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */
+	asn_DEF_OK_IntegerInRange5_tags_1,	/* Same as above */
+	sizeof(asn_DEF_OK_IntegerInRange5_tags_1)
+		/sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2103,6 +2178,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -2155,7 +2233,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerInRange6_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerInRange6_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
@@ -2168,13 +2246,15 @@
 	NO_IntegerInRange6_encode_der,
 	NO_IntegerInRange6_decode_xer,
 	NO_IntegerInRange6_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerInRange6_1_tags,
-	sizeof(asn_DEF_NO_IntegerInRange6_1_tags)
-		/sizeof(asn_DEF_NO_IntegerInRange6_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerInRange6_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerInRange6_1_tags)
-		/sizeof(asn_DEF_NO_IntegerInRange6_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerInRange6_tags_1,
+	sizeof(asn_DEF_NO_IntegerInRange6_tags_1)
+		/sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerInRange6_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerInRange6_tags_1)
+		/sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
@@ -2228,6 +2308,9 @@
 	td->der_encoder    = asn_DEF_NativeInteger.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeInteger.xer_decoder;
 	td->xer_encoder    = asn_DEF_NativeInteger.xer_encoder;
+	td->uper_decoder   = asn_DEF_NativeInteger.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_NativeInteger.per_constraints;
 	td->elements       = asn_DEF_NativeInteger.elements;
 	td->elements_count = asn_DEF_NativeInteger.elements_count;
 	td->specifics      = asn_DEF_NativeInteger.specifics;
@@ -2280,7 +2363,7 @@
 
 /*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_CN_IntegerEnumerated1_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_CN_IntegerEnumerated1_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
@@ -2293,13 +2376,15 @@
 	CN_IntegerEnumerated1_encode_der,
 	CN_IntegerEnumerated1_decode_xer,
 	CN_IntegerEnumerated1_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_CN_IntegerEnumerated1_1_tags,
-	sizeof(asn_DEF_CN_IntegerEnumerated1_1_tags)
-		/sizeof(asn_DEF_CN_IntegerEnumerated1_1_tags[0]), /* 1 */
-	asn_DEF_CN_IntegerEnumerated1_1_tags,	/* Same as above */
-	sizeof(asn_DEF_CN_IntegerEnumerated1_1_tags)
-		/sizeof(asn_DEF_CN_IntegerEnumerated1_1_tags[0]), /* 1 */
+	asn_DEF_CN_IntegerEnumerated1_tags_1,
+	sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1)
+		/sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */
+	asn_DEF_CN_IntegerEnumerated1_tags_1,	/* Same as above */
+	sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1)
+		/sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* Defined elsewhere */
 	0	/* No specifics */
 };
@@ -2353,6 +2438,9 @@
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
 	td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
+	td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
+	if(!td->per_constraints)
+		td->per_constraints = asn_DEF_INTEGER.per_constraints;
 	td->elements       = asn_DEF_INTEGER.elements;
 	td->elements_count = asn_DEF_INTEGER.elements_count;
 	td->specifics      = asn_DEF_INTEGER.specifics;
@@ -2405,7 +2493,7 @@
 
 /*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/
 
-static ber_tlv_tag_t asn_DEF_NO_IntegerEnumerated2_1_tags[] = {
+static ber_tlv_tag_t asn_DEF_NO_IntegerEnumerated2_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = {
@@ -2418,13 +2506,15 @@
 	NO_IntegerEnumerated2_encode_der,
 	NO_IntegerEnumerated2_decode_xer,
 	NO_IntegerEnumerated2_encode_xer,
+	0,	/* No PER decoder, -gen-PER to enable */
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_NO_IntegerEnumerated2_1_tags,
-	sizeof(asn_DEF_NO_IntegerEnumerated2_1_tags)
-		/sizeof(asn_DEF_NO_IntegerEnumerated2_1_tags[0]), /* 1 */
-	asn_DEF_NO_IntegerEnumerated2_1_tags,	/* Same as above */
-	sizeof(asn_DEF_NO_IntegerEnumerated2_1_tags)
-		/sizeof(asn_DEF_NO_IntegerEnumerated2_1_tags[0]), /* 1 */
+	asn_DEF_NO_IntegerEnumerated2_tags_1,
+	sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1)
+		/sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */
+	asn_DEF_NO_IntegerEnumerated2_tags_1,	/* Same as above */
+	sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1)
+		/sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
 	0, 0,	/* Defined elsewhere */
 	0	/* No specifics */
 };