/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "NR-RRC-Definitions"
 * 	found in "asn/nr-rrc-15.6.0.asn1"
 * 	`asn1c -fcompound-names -pdu=all -findirect-choice -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D rrc`
 */

#include "ASN_RRC_BandNR.h"

#include "ASN_RRC_MIMO-ParametersPerBand.h"
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
static int
memb_ASN_RRC_scs_15kHz_constraint_30(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 10)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_30kHz_constraint_30(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 10)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_60kHz_constraint_30(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 10)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_60kHz_constraint_34(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 3)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_120kHz_constraint_34(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 3)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_15kHz_constraint_38(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 10)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_30kHz_constraint_38(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 10)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_60kHz_constraint_38(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 10)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_60kHz_constraint_42(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 3)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_scs_120kHz_constraint_42(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 3)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
static int
memb_ASN_RRC_modifiedMPR_Behaviour_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	if(st->size > 0) {
		/* Size in bits */
		size = 8 * st->size - (st->bits_unused & 0x07);
	} else {
		size = 0;
	}
	
	if((size == 8)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static asn_per_constraints_t asn_PER_type_ASN_RRC_extendedCP_constr_5 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_multipleTCI_constr_7 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_bwp_WithoutRestriction_constr_9 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_bwp_SameNumerology_constr_11 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_bwp_DiffNumerology_constr_14 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_crossCarrierScheduling_SameSCS_constr_16 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_pdsch_256QAM_FR2_constr_18 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_pusch_256QAM_constr_20 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_ue_PowerClass_constr_22 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  3 }	/* (0..3) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_rateMatchingLTE_CRS_constr_27 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_15kHz_constr_31 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  10,  10 }	/* (SIZE(10..10)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_30kHz_constr_32 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  10,  10 }	/* (SIZE(10..10)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_60kHz_constr_33 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  10,  10 }	/* (SIZE(10..10)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_60kHz_constr_35 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  3,  3 }	/* (SIZE(3..3)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_120kHz_constr_36 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  3,  3 }	/* (SIZE(3..3)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_channelBWs_DL_v1530_constr_29 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_15kHz_constr_39 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  10,  10 }	/* (SIZE(10..10)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_30kHz_constr_40 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  10,  10 }	/* (SIZE(10..10)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_60kHz_constr_41 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  10,  10 }	/* (SIZE(10..10)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_60kHz_constr_43 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  3,  3 }	/* (SIZE(3..3)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_scs_120kHz_constr_44 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  3,  3 }	/* (SIZE(3..3)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_channelBWs_UL_v1530_constr_37 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_constr_47 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  0,  4 }	/* (0..4) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_pucch_SpatialRelInfoMAC_CE_constr_54 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_powerBoosting_pi2BPSK_constr_56 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_maxUplinkDutyCycle_FR2_constr_59 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 4,  4,  0,  10 }	/* (0..10) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_modifiedMPR_Behaviour_constr_3 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 0,  0,  8,  8 }	/* (SIZE(8..8)) */,
	0, 0	/* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_extendedCP_value2enum_5[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_extendedCP_enum2value_5[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_extendedCP_specs_5 = {
	asn_MAP_ASN_RRC_extendedCP_value2enum_5,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_extendedCP_enum2value_5,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_extendedCP_tags_5[] = {
	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_extendedCP_5 = {
	"extendedCP",
	"extendedCP",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_extendedCP_tags_5,
	sizeof(asn_DEF_ASN_RRC_extendedCP_tags_5)
		/sizeof(asn_DEF_ASN_RRC_extendedCP_tags_5[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_extendedCP_tags_5,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_extendedCP_tags_5)
		/sizeof(asn_DEF_ASN_RRC_extendedCP_tags_5[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_extendedCP_constr_5, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_extendedCP_specs_5	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_multipleTCI_value2enum_7[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_multipleTCI_enum2value_7[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_multipleTCI_specs_7 = {
	asn_MAP_ASN_RRC_multipleTCI_value2enum_7,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_multipleTCI_enum2value_7,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_multipleTCI_tags_7[] = {
	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_multipleTCI_7 = {
	"multipleTCI",
	"multipleTCI",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_multipleTCI_tags_7,
	sizeof(asn_DEF_ASN_RRC_multipleTCI_tags_7)
		/sizeof(asn_DEF_ASN_RRC_multipleTCI_tags_7[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_multipleTCI_tags_7,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_multipleTCI_tags_7)
		/sizeof(asn_DEF_ASN_RRC_multipleTCI_tags_7[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_multipleTCI_constr_7, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_multipleTCI_specs_7	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_bwp_WithoutRestriction_value2enum_9[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_bwp_WithoutRestriction_enum2value_9[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_bwp_WithoutRestriction_specs_9 = {
	asn_MAP_ASN_RRC_bwp_WithoutRestriction_value2enum_9,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_bwp_WithoutRestriction_enum2value_9,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9[] = {
	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_bwp_WithoutRestriction_9 = {
	"bwp-WithoutRestriction",
	"bwp-WithoutRestriction",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9,
	sizeof(asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9)
		/sizeof(asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9)
		/sizeof(asn_DEF_ASN_RRC_bwp_WithoutRestriction_tags_9[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_bwp_WithoutRestriction_constr_9, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_bwp_WithoutRestriction_specs_9	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_bwp_SameNumerology_value2enum_11[] = {
	{ 0,	5,	"upto2" },
	{ 1,	5,	"upto4" }
};
static const unsigned int asn_MAP_ASN_RRC_bwp_SameNumerology_enum2value_11[] = {
	0,	/* upto2(0) */
	1	/* upto4(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_bwp_SameNumerology_specs_11 = {
	asn_MAP_ASN_RRC_bwp_SameNumerology_value2enum_11,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_bwp_SameNumerology_enum2value_11,	/* N => "tag"; sorted by N */
	2,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11[] = {
	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_bwp_SameNumerology_11 = {
	"bwp-SameNumerology",
	"bwp-SameNumerology",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11,
	sizeof(asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11)
		/sizeof(asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11)
		/sizeof(asn_DEF_ASN_RRC_bwp_SameNumerology_tags_11[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_bwp_SameNumerology_constr_11, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_bwp_SameNumerology_specs_11	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_bwp_DiffNumerology_value2enum_14[] = {
	{ 0,	5,	"upto4" }
};
static const unsigned int asn_MAP_ASN_RRC_bwp_DiffNumerology_enum2value_14[] = {
	0	/* upto4(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_bwp_DiffNumerology_specs_14 = {
	asn_MAP_ASN_RRC_bwp_DiffNumerology_value2enum_14,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_bwp_DiffNumerology_enum2value_14,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14[] = {
	(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_bwp_DiffNumerology_14 = {
	"bwp-DiffNumerology",
	"bwp-DiffNumerology",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14,
	sizeof(asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14)
		/sizeof(asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14)
		/sizeof(asn_DEF_ASN_RRC_bwp_DiffNumerology_tags_14[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_bwp_DiffNumerology_constr_14, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_bwp_DiffNumerology_specs_14	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_crossCarrierScheduling_SameSCS_value2enum_16[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_crossCarrierScheduling_SameSCS_enum2value_16[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_crossCarrierScheduling_SameSCS_specs_16 = {
	asn_MAP_ASN_RRC_crossCarrierScheduling_SameSCS_value2enum_16,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_crossCarrierScheduling_SameSCS_enum2value_16,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16[] = {
	(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_16 = {
	"crossCarrierScheduling-SameSCS",
	"crossCarrierScheduling-SameSCS",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16,
	sizeof(asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16)
		/sizeof(asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16)
		/sizeof(asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_tags_16[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_crossCarrierScheduling_SameSCS_constr_16, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_crossCarrierScheduling_SameSCS_specs_16	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_pdsch_256QAM_FR2_value2enum_18[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_pdsch_256QAM_FR2_enum2value_18[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_pdsch_256QAM_FR2_specs_18 = {
	asn_MAP_ASN_RRC_pdsch_256QAM_FR2_value2enum_18,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_pdsch_256QAM_FR2_enum2value_18,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18[] = {
	(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_pdsch_256QAM_FR2_18 = {
	"pdsch-256QAM-FR2",
	"pdsch-256QAM-FR2",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18,
	sizeof(asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18)
		/sizeof(asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18)
		/sizeof(asn_DEF_ASN_RRC_pdsch_256QAM_FR2_tags_18[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_pdsch_256QAM_FR2_constr_18, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_pdsch_256QAM_FR2_specs_18	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_pusch_256QAM_value2enum_20[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_pusch_256QAM_enum2value_20[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_pusch_256QAM_specs_20 = {
	asn_MAP_ASN_RRC_pusch_256QAM_value2enum_20,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_pusch_256QAM_enum2value_20,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_pusch_256QAM_tags_20[] = {
	(ASN_TAG_CLASS_CONTEXT | (10 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_pusch_256QAM_20 = {
	"pusch-256QAM",
	"pusch-256QAM",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_pusch_256QAM_tags_20,
	sizeof(asn_DEF_ASN_RRC_pusch_256QAM_tags_20)
		/sizeof(asn_DEF_ASN_RRC_pusch_256QAM_tags_20[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_pusch_256QAM_tags_20,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_pusch_256QAM_tags_20)
		/sizeof(asn_DEF_ASN_RRC_pusch_256QAM_tags_20[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_pusch_256QAM_constr_20, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_pusch_256QAM_specs_20	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_ue_PowerClass_value2enum_22[] = {
	{ 0,	3,	"pc1" },
	{ 1,	3,	"pc2" },
	{ 2,	3,	"pc3" },
	{ 3,	3,	"pc4" }
};
static const unsigned int asn_MAP_ASN_RRC_ue_PowerClass_enum2value_22[] = {
	0,	/* pc1(0) */
	1,	/* pc2(1) */
	2,	/* pc3(2) */
	3	/* pc4(3) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_ue_PowerClass_specs_22 = {
	asn_MAP_ASN_RRC_ue_PowerClass_value2enum_22,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_ue_PowerClass_enum2value_22,	/* N => "tag"; sorted by N */
	4,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ue_PowerClass_tags_22[] = {
	(ASN_TAG_CLASS_CONTEXT | (11 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ue_PowerClass_22 = {
	"ue-PowerClass",
	"ue-PowerClass",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_ue_PowerClass_tags_22,
	sizeof(asn_DEF_ASN_RRC_ue_PowerClass_tags_22)
		/sizeof(asn_DEF_ASN_RRC_ue_PowerClass_tags_22[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ue_PowerClass_tags_22,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ue_PowerClass_tags_22)
		/sizeof(asn_DEF_ASN_RRC_ue_PowerClass_tags_22[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_ue_PowerClass_constr_22, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_ue_PowerClass_specs_22	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_rateMatchingLTE_CRS_value2enum_27[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_rateMatchingLTE_CRS_enum2value_27[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_rateMatchingLTE_CRS_specs_27 = {
	asn_MAP_ASN_RRC_rateMatchingLTE_CRS_value2enum_27,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_rateMatchingLTE_CRS_enum2value_27,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27[] = {
	(ASN_TAG_CLASS_CONTEXT | (12 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_rateMatchingLTE_CRS_27 = {
	"rateMatchingLTE-CRS",
	"rateMatchingLTE-CRS",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27,
	sizeof(asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27)
		/sizeof(asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27)
		/sizeof(asn_DEF_ASN_RRC_rateMatchingLTE_CRS_tags_27[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_rateMatchingLTE_CRS_constr_27, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_rateMatchingLTE_CRS_specs_27	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_fr1_30[] = {
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr1, scs_15kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_15kHz_constr_31,  memb_ASN_RRC_scs_15kHz_constraint_30 },
		0, 0, /* No default value */
		"scs-15kHz"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr1, scs_30kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_30kHz_constr_32,  memb_ASN_RRC_scs_30kHz_constraint_30 },
		0, 0, /* No default value */
		"scs-30kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr1, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_60kHz_constr_33,  memb_ASN_RRC_scs_60kHz_constraint_30 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
};
static const int asn_MAP_ASN_RRC_fr1_oms_30[] = { 0, 1, 2 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_fr1_tags_30[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_fr1_tag2el_30[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* scs-60kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_fr1_specs_30 = {
	sizeof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr1),
	offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr1, _asn_ctx),
	asn_MAP_ASN_RRC_fr1_tag2el_30,
	3,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_fr1_oms_30,	/* Optional members */
	3, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_fr1_30 = {
	"fr1",
	"fr1",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_fr1_tags_30,
	sizeof(asn_DEF_ASN_RRC_fr1_tags_30)
		/sizeof(asn_DEF_ASN_RRC_fr1_tags_30[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_fr1_tags_30,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_fr1_tags_30)
		/sizeof(asn_DEF_ASN_RRC_fr1_tags_30[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_fr1_30,
	3,	/* Elements count */
	&asn_SPC_ASN_RRC_fr1_specs_30	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_fr2_34[] = {
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr2, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_60kHz_constr_35,  memb_ASN_RRC_scs_60kHz_constraint_34 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr2, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_120kHz_constr_36,  memb_ASN_RRC_scs_120kHz_constraint_34 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
};
static const int asn_MAP_ASN_RRC_fr2_oms_34[] = { 0, 1 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_fr2_tags_34[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_fr2_tag2el_34[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* scs-120kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_fr2_specs_34 = {
	sizeof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr2),
	offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530__fr2, _asn_ctx),
	asn_MAP_ASN_RRC_fr2_tag2el_34,
	2,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_fr2_oms_34,	/* Optional members */
	2, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_fr2_34 = {
	"fr2",
	"fr2",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_fr2_tags_34,
	sizeof(asn_DEF_ASN_RRC_fr2_tags_34)
		/sizeof(asn_DEF_ASN_RRC_fr2_tags_34[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_fr2_tags_34,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_fr2_tags_34)
		/sizeof(asn_DEF_ASN_RRC_fr2_tags_34[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_fr2_34,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_fr2_specs_34	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_channelBWs_DL_v1530_29[] = {
	{ ATF_POINTER, 0, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530, choice.fr1),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		0,
		&asn_DEF_ASN_RRC_fr1_30,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"fr1"
		},
	{ ATF_POINTER, 0, offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530, choice.fr2),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		0,
		&asn_DEF_ASN_RRC_fr2_34,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"fr2"
		},
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_channelBWs_DL_v1530_tag2el_29[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fr1 */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fr2 */
};
static asn_CHOICE_specifics_t asn_SPC_ASN_RRC_channelBWs_DL_v1530_specs_29 = {
	sizeof(struct ASN_RRC_BandNR__channelBWs_DL_v1530),
	offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530, _asn_ctx),
	offsetof(struct ASN_RRC_BandNR__channelBWs_DL_v1530, present),
	sizeof(((struct ASN_RRC_BandNR__channelBWs_DL_v1530 *)0)->present),
	asn_MAP_ASN_RRC_channelBWs_DL_v1530_tag2el_29,
	2,	/* Count of tags in the map */
	0, 0,
	-1	/* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_channelBWs_DL_v1530_29 = {
	"channelBWs-DL-v1530",
	"channelBWs-DL-v1530",
	&asn_OP_CHOICE,
	0,	/* No effective tags (pointer) */
	0,	/* No effective tags (count) */
	0,	/* No tags (pointer) */
	0,	/* No tags (count) */
	{ 0, &asn_PER_type_ASN_RRC_channelBWs_DL_v1530_constr_29, CHOICE_constraint },
	asn_MBR_ASN_RRC_channelBWs_DL_v1530_29,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_channelBWs_DL_v1530_specs_29	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_fr1_38[] = {
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr1, scs_15kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_15kHz_constr_39,  memb_ASN_RRC_scs_15kHz_constraint_38 },
		0, 0, /* No default value */
		"scs-15kHz"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr1, scs_30kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_30kHz_constr_40,  memb_ASN_RRC_scs_30kHz_constraint_38 },
		0, 0, /* No default value */
		"scs-30kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr1, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_60kHz_constr_41,  memb_ASN_RRC_scs_60kHz_constraint_38 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
};
static const int asn_MAP_ASN_RRC_fr1_oms_38[] = { 0, 1, 2 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_fr1_tags_38[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_fr1_tag2el_38[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* scs-60kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_fr1_specs_38 = {
	sizeof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr1),
	offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr1, _asn_ctx),
	asn_MAP_ASN_RRC_fr1_tag2el_38,
	3,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_fr1_oms_38,	/* Optional members */
	3, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_fr1_38 = {
	"fr1",
	"fr1",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_fr1_tags_38,
	sizeof(asn_DEF_ASN_RRC_fr1_tags_38)
		/sizeof(asn_DEF_ASN_RRC_fr1_tags_38[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_fr1_tags_38,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_fr1_tags_38)
		/sizeof(asn_DEF_ASN_RRC_fr1_tags_38[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_fr1_38,
	3,	/* Elements count */
	&asn_SPC_ASN_RRC_fr1_specs_38	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_fr2_42[] = {
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr2, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_60kHz_constr_43,  memb_ASN_RRC_scs_60kHz_constraint_42 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr2, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_scs_120kHz_constr_44,  memb_ASN_RRC_scs_120kHz_constraint_42 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
};
static const int asn_MAP_ASN_RRC_fr2_oms_42[] = { 0, 1 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_fr2_tags_42[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_fr2_tag2el_42[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* scs-120kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_fr2_specs_42 = {
	sizeof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr2),
	offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530__fr2, _asn_ctx),
	asn_MAP_ASN_RRC_fr2_tag2el_42,
	2,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_fr2_oms_42,	/* Optional members */
	2, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_fr2_42 = {
	"fr2",
	"fr2",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_fr2_tags_42,
	sizeof(asn_DEF_ASN_RRC_fr2_tags_42)
		/sizeof(asn_DEF_ASN_RRC_fr2_tags_42[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_fr2_tags_42,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_fr2_tags_42)
		/sizeof(asn_DEF_ASN_RRC_fr2_tags_42[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_fr2_42,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_fr2_specs_42	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_channelBWs_UL_v1530_37[] = {
	{ ATF_POINTER, 0, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530, choice.fr1),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		0,
		&asn_DEF_ASN_RRC_fr1_38,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"fr1"
		},
	{ ATF_POINTER, 0, offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530, choice.fr2),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		0,
		&asn_DEF_ASN_RRC_fr2_42,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"fr2"
		},
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_channelBWs_UL_v1530_tag2el_37[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fr1 */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fr2 */
};
static asn_CHOICE_specifics_t asn_SPC_ASN_RRC_channelBWs_UL_v1530_specs_37 = {
	sizeof(struct ASN_RRC_BandNR__channelBWs_UL_v1530),
	offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530, _asn_ctx),
	offsetof(struct ASN_RRC_BandNR__channelBWs_UL_v1530, present),
	sizeof(((struct ASN_RRC_BandNR__channelBWs_UL_v1530 *)0)->present),
	asn_MAP_ASN_RRC_channelBWs_UL_v1530_tag2el_37,
	2,	/* Count of tags in the map */
	0, 0,
	-1	/* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_channelBWs_UL_v1530_37 = {
	"channelBWs-UL-v1530",
	"channelBWs-UL-v1530",
	&asn_OP_CHOICE,
	0,	/* No effective tags (pointer) */
	0,	/* No effective tags (count) */
	0,	/* No tags (pointer) */
	0,	/* No tags (count) */
	{ 0, &asn_PER_type_ASN_RRC_channelBWs_UL_v1530_constr_37, CHOICE_constraint },
	asn_MBR_ASN_RRC_channelBWs_UL_v1530_37,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_channelBWs_UL_v1530_specs_37	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_value2enum_47[] = {
	{ 0,	3,	"n60" },
	{ 1,	3,	"n70" },
	{ 2,	3,	"n80" },
	{ 3,	3,	"n90" },
	{ 4,	4,	"n100" }
};
static const unsigned int asn_MAP_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_enum2value_47[] = {
	4,	/* n100(4) */
	0,	/* n60(0) */
	1,	/* n70(1) */
	2,	/* n80(2) */
	3	/* n90(3) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_specs_47 = {
	asn_MAP_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_value2enum_47,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_enum2value_47,	/* N => "tag"; sorted by N */
	5,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_47 = {
	"maxUplinkDutyCycle-PC2-FR1",
	"maxUplinkDutyCycle-PC2-FR1",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47,
	sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47)
		/sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47)
		/sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_tags_47[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_constr_47, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_specs_47	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_ext1_46[] = {
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__ext1, maxUplinkDutyCycle_PC2_FR1),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_maxUplinkDutyCycle_PC2_FR1_47,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxUplinkDutyCycle-PC2-FR1"
		},
};
static const int asn_MAP_ASN_RRC_ext1_oms_46[] = { 0 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ext1_tags_46[] = {
	(ASN_TAG_CLASS_CONTEXT | (15 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_ext1_tag2el_46[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* maxUplinkDutyCycle-PC2-FR1 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_ext1_specs_46 = {
	sizeof(struct ASN_RRC_BandNR__ext1),
	offsetof(struct ASN_RRC_BandNR__ext1, _asn_ctx),
	asn_MAP_ASN_RRC_ext1_tag2el_46,
	1,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_ext1_oms_46,	/* Optional members */
	1, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ext1_46 = {
	"ext1",
	"ext1",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_ext1_tags_46,
	sizeof(asn_DEF_ASN_RRC_ext1_tags_46)
		/sizeof(asn_DEF_ASN_RRC_ext1_tags_46[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ext1_tags_46,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ext1_tags_46)
		/sizeof(asn_DEF_ASN_RRC_ext1_tags_46[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_ext1_46,
	1,	/* Elements count */
	&asn_SPC_ASN_RRC_ext1_specs_46	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_pucch_SpatialRelInfoMAC_CE_value2enum_54[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_pucch_SpatialRelInfoMAC_CE_enum2value_54[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_pucch_SpatialRelInfoMAC_CE_specs_54 = {
	asn_MAP_ASN_RRC_pucch_SpatialRelInfoMAC_CE_value2enum_54,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_pucch_SpatialRelInfoMAC_CE_enum2value_54,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_54 = {
	"pucch-SpatialRelInfoMAC-CE",
	"pucch-SpatialRelInfoMAC-CE",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54,
	sizeof(asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54)
		/sizeof(asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54)
		/sizeof(asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_tags_54[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_pucch_SpatialRelInfoMAC_CE_constr_54, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_pucch_SpatialRelInfoMAC_CE_specs_54	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_powerBoosting_pi2BPSK_value2enum_56[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_powerBoosting_pi2BPSK_enum2value_56[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_powerBoosting_pi2BPSK_specs_56 = {
	asn_MAP_ASN_RRC_powerBoosting_pi2BPSK_value2enum_56,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_powerBoosting_pi2BPSK_enum2value_56,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_56 = {
	"powerBoosting-pi2BPSK",
	"powerBoosting-pi2BPSK",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56,
	sizeof(asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56)
		/sizeof(asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56)
		/sizeof(asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_tags_56[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_powerBoosting_pi2BPSK_constr_56, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_powerBoosting_pi2BPSK_specs_56	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_ext2_53[] = {
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_BandNR__ext2, pucch_SpatialRelInfoMAC_CE),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_pucch_SpatialRelInfoMAC_CE_54,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"pucch-SpatialRelInfoMAC-CE"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__ext2, powerBoosting_pi2BPSK),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_powerBoosting_pi2BPSK_56,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"powerBoosting-pi2BPSK"
		},
};
static const int asn_MAP_ASN_RRC_ext2_oms_53[] = { 0, 1 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ext2_tags_53[] = {
	(ASN_TAG_CLASS_CONTEXT | (16 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_ext2_tag2el_53[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pucch-SpatialRelInfoMAC-CE */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* powerBoosting-pi2BPSK */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_ext2_specs_53 = {
	sizeof(struct ASN_RRC_BandNR__ext2),
	offsetof(struct ASN_RRC_BandNR__ext2, _asn_ctx),
	asn_MAP_ASN_RRC_ext2_tag2el_53,
	2,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_ext2_oms_53,	/* Optional members */
	2, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ext2_53 = {
	"ext2",
	"ext2",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_ext2_tags_53,
	sizeof(asn_DEF_ASN_RRC_ext2_tags_53)
		/sizeof(asn_DEF_ASN_RRC_ext2_tags_53[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ext2_tags_53,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ext2_tags_53)
		/sizeof(asn_DEF_ASN_RRC_ext2_tags_53[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_ext2_53,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_ext2_specs_53	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_maxUplinkDutyCycle_FR2_value2enum_59[] = {
	{ 0,	3,	"n15" },
	{ 1,	3,	"n20" },
	{ 2,	3,	"n25" },
	{ 3,	3,	"n30" },
	{ 4,	3,	"n40" },
	{ 5,	3,	"n50" },
	{ 6,	3,	"n60" },
	{ 7,	3,	"n70" },
	{ 8,	3,	"n80" },
	{ 9,	3,	"n90" },
	{ 10,	4,	"n100" }
};
static const unsigned int asn_MAP_ASN_RRC_maxUplinkDutyCycle_FR2_enum2value_59[] = {
	10,	/* n100(10) */
	0,	/* n15(0) */
	1,	/* n20(1) */
	2,	/* n25(2) */
	3,	/* n30(3) */
	4,	/* n40(4) */
	5,	/* n50(5) */
	6,	/* n60(6) */
	7,	/* n70(7) */
	8,	/* n80(8) */
	9	/* n90(9) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_maxUplinkDutyCycle_FR2_specs_59 = {
	asn_MAP_ASN_RRC_maxUplinkDutyCycle_FR2_value2enum_59,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_maxUplinkDutyCycle_FR2_enum2value_59,	/* N => "tag"; sorted by N */
	11,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_59 = {
	"maxUplinkDutyCycle-FR2",
	"maxUplinkDutyCycle-FR2",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59,
	sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59)
		/sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59)
		/sizeof(asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_tags_59[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_maxUplinkDutyCycle_FR2_constr_59, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_maxUplinkDutyCycle_FR2_specs_59	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_ext3_58[] = {
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR__ext3, maxUplinkDutyCycle_FR2),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_maxUplinkDutyCycle_FR2_59,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxUplinkDutyCycle-FR2"
		},
};
static const int asn_MAP_ASN_RRC_ext3_oms_58[] = { 0 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ext3_tags_58[] = {
	(ASN_TAG_CLASS_CONTEXT | (17 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_ext3_tag2el_58[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* maxUplinkDutyCycle-FR2 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_ext3_specs_58 = {
	sizeof(struct ASN_RRC_BandNR__ext3),
	offsetof(struct ASN_RRC_BandNR__ext3, _asn_ctx),
	asn_MAP_ASN_RRC_ext3_tag2el_58,
	1,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_ext3_oms_58,	/* Optional members */
	1, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ext3_58 = {
	"ext3",
	"ext3",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_ext3_tags_58,
	sizeof(asn_DEF_ASN_RRC_ext3_tags_58)
		/sizeof(asn_DEF_ASN_RRC_ext3_tags_58[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ext3_tags_58,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ext3_tags_58)
		/sizeof(asn_DEF_ASN_RRC_ext3_tags_58[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_ext3_58,
	1,	/* Elements count */
	&asn_SPC_ASN_RRC_ext3_specs_58	/* Additional specs */
};

asn_TYPE_member_t asn_MBR_ASN_RRC_BandNR_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct ASN_RRC_BandNR, bandNR),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_FreqBandIndicatorNR,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"bandNR"
		},
	{ ATF_POINTER, 17, offsetof(struct ASN_RRC_BandNR, modifiedMPR_Behaviour),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BIT_STRING,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_modifiedMPR_Behaviour_constr_3,  memb_ASN_RRC_modifiedMPR_Behaviour_constraint_1 },
		0, 0, /* No default value */
		"modifiedMPR-Behaviour"
		},
	{ ATF_POINTER, 16, offsetof(struct ASN_RRC_BandNR, mimo_ParametersPerBand),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_MIMO_ParametersPerBand,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"mimo-ParametersPerBand"
		},
	{ ATF_POINTER, 15, offsetof(struct ASN_RRC_BandNR, extendedCP),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_extendedCP_5,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"extendedCP"
		},
	{ ATF_POINTER, 14, offsetof(struct ASN_RRC_BandNR, multipleTCI),
		(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_multipleTCI_7,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"multipleTCI"
		},
	{ ATF_POINTER, 13, offsetof(struct ASN_RRC_BandNR, bwp_WithoutRestriction),
		(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_bwp_WithoutRestriction_9,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"bwp-WithoutRestriction"
		},
	{ ATF_POINTER, 12, offsetof(struct ASN_RRC_BandNR, bwp_SameNumerology),
		(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_bwp_SameNumerology_11,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"bwp-SameNumerology"
		},
	{ ATF_POINTER, 11, offsetof(struct ASN_RRC_BandNR, bwp_DiffNumerology),
		(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_bwp_DiffNumerology_14,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"bwp-DiffNumerology"
		},
	{ ATF_POINTER, 10, offsetof(struct ASN_RRC_BandNR, crossCarrierScheduling_SameSCS),
		(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_crossCarrierScheduling_SameSCS_16,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"crossCarrierScheduling-SameSCS"
		},
	{ ATF_POINTER, 9, offsetof(struct ASN_RRC_BandNR, pdsch_256QAM_FR2),
		(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_pdsch_256QAM_FR2_18,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"pdsch-256QAM-FR2"
		},
	{ ATF_POINTER, 8, offsetof(struct ASN_RRC_BandNR, pusch_256QAM),
		(ASN_TAG_CLASS_CONTEXT | (10 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_pusch_256QAM_20,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"pusch-256QAM"
		},
	{ ATF_POINTER, 7, offsetof(struct ASN_RRC_BandNR, ue_PowerClass),
		(ASN_TAG_CLASS_CONTEXT | (11 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_ue_PowerClass_22,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ue-PowerClass"
		},
	{ ATF_POINTER, 6, offsetof(struct ASN_RRC_BandNR, rateMatchingLTE_CRS),
		(ASN_TAG_CLASS_CONTEXT | (12 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_rateMatchingLTE_CRS_27,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"rateMatchingLTE-CRS"
		},
	{ ATF_POINTER, 5, offsetof(struct ASN_RRC_BandNR, channelBWs_DL_v1530),
		(ASN_TAG_CLASS_CONTEXT | (13 << 2)),
		+1,	/* EXPLICIT tag at current level */
		&asn_DEF_ASN_RRC_channelBWs_DL_v1530_29,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"channelBWs-DL-v1530"
		},
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_BandNR, channelBWs_UL_v1530),
		(ASN_TAG_CLASS_CONTEXT | (14 << 2)),
		+1,	/* EXPLICIT tag at current level */
		&asn_DEF_ASN_RRC_channelBWs_UL_v1530_37,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"channelBWs-UL-v1530"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_BandNR, ext1),
		(ASN_TAG_CLASS_CONTEXT | (15 << 2)),
		0,
		&asn_DEF_ASN_RRC_ext1_46,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ext1"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_BandNR, ext2),
		(ASN_TAG_CLASS_CONTEXT | (16 << 2)),
		0,
		&asn_DEF_ASN_RRC_ext2_53,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ext2"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_BandNR, ext3),
		(ASN_TAG_CLASS_CONTEXT | (17 << 2)),
		0,
		&asn_DEF_ASN_RRC_ext3_58,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ext3"
		},
};
static const int asn_MAP_ASN_RRC_BandNR_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_BandNR_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_BandNR_tag2el_1[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bandNR */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* modifiedMPR-Behaviour */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mimo-ParametersPerBand */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* extendedCP */
    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* multipleTCI */
    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* bwp-WithoutRestriction */
    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* bwp-SameNumerology */
    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* bwp-DiffNumerology */
    { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* crossCarrierScheduling-SameSCS */
    { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pdsch-256QAM-FR2 */
    { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* pusch-256QAM */
    { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* ue-PowerClass */
    { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* rateMatchingLTE-CRS */
    { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* channelBWs-DL-v1530 */
    { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* channelBWs-UL-v1530 */
    { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* ext1 */
    { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* ext2 */
    { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 } /* ext3 */
};
asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_BandNR_specs_1 = {
	sizeof(struct ASN_RRC_BandNR),
	offsetof(struct ASN_RRC_BandNR, _asn_ctx),
	asn_MAP_ASN_RRC_BandNR_tag2el_1,
	18,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_BandNR_oms_1,	/* Optional members */
	14, 3,	/* Root/Additions */
	15,	/* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_BandNR = {
	"BandNR",
	"BandNR",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_BandNR_tags_1,
	sizeof(asn_DEF_ASN_RRC_BandNR_tags_1)
		/sizeof(asn_DEF_ASN_RRC_BandNR_tags_1[0]), /* 1 */
	asn_DEF_ASN_RRC_BandNR_tags_1,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_BandNR_tags_1)
		/sizeof(asn_DEF_ASN_RRC_BandNR_tags_1[0]), /* 1 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_BandNR_1,
	18,	/* Elements count */
	&asn_SPC_ASN_RRC_BandNR_specs_1	/* Additional specs */
};

