apply_unspecified_desync_modes()
{
	NFQWS_OPT_DESYNC_HTTP="${NFQWS_OPT_DESYNC_HTTP:-$NFQWS_OPT_DESYNC}"
	NFQWS_OPT_DESYNC_HTTP_SUFFIX="${NFQWS_OPT_DESYNC_HTTP_SUFFIX:-$NFQWS_OPT_DESYNC_SUFFIX}"
	NFQWS_OPT_DESYNC_HTTPS="${NFQWS_OPT_DESYNC_HTTPS:-$NFQWS_OPT_DESYNC}"
	NFQWS_OPT_DESYNC_HTTPS_SUFFIX="${NFQWS_OPT_DESYNC_HTTPS_SUFFIX:-$NFQWS_OPT_DESYNC_SUFFIX}"
	NFQWS_OPT_DESYNC_HTTP6="${NFQWS_OPT_DESYNC_HTTP6:-$NFQWS_OPT_DESYNC_HTTP}"
	NFQWS_OPT_DESYNC_HTTP6_SUFFIX="${NFQWS_OPT_DESYNC_HTTP6_SUFFIX:-$NFQWS_OPT_DESYNC_HTTP_SUFFIX}"
	NFQWS_OPT_DESYNC_HTTPS6="${NFQWS_OPT_DESYNC_HTTPS6:-$NFQWS_OPT_DESYNC_HTTPS}"
	NFQWS_OPT_DESYNC_HTTPS6_SUFFIX="${NFQWS_OPT_DESYNC_HTTPS6_SUFFIX:-$NFQWS_OPT_DESYNC_HTTPS_SUFFIX}"
	NFQWS_OPT_DESYNC_QUIC6="${NFQWS_OPT_DESYNC_QUIC6:-$NFQWS_OPT_DESYNC_QUIC}"
	NFQWS_OPT_DESYNC_QUIC6_SUFFIX="${NFQWS_OPT_DESYNC_QUIC6_SUFFIX:-$NFQWS_OPT_DESYNC_QUIC_SUFFIX}"
}

get_nfqws_qnums()
{
	# $1 - var name for ipv4 http
	# $2 - var name for ipv4 https
	# $3 - var name for ipv6 http
	# $4 - var name for ipv6 https
	local _qn _qns _qn6 _qns6

	[ "$DISABLE_IPV4" = "1" ] || {
		_qn=$QNUM
		_qns=$_qn
		[ "$NFQWS_OPT_DESYNC_HTTP $NFQWS_OPT_DESYNC_HTTP_SUFFIX" = "$NFQWS_OPT_DESYNC_HTTPS $NFQWS_OPT_DESYNC_HTTPS_SUFFIX" ] || _qns=$(($QNUM+1))
	}
	[ "$DISABLE_IPV6" = "1" ] || {
		_qn6=$(($QNUM+2))
		_qns6=$(($QNUM+3))
		[ "$DISABLE_IPV4" = "1" ] || {
			if [ "$NFQWS_OPT_DESYNC_HTTP6 $NFQWS_OPT_DESYNC_HTTP6_SUFFIX" = "$NFQWS_OPT_DESYNC_HTTP $NFQWS_OPT_DESYNC_HTTP_SUFFIX" ]; then
				_qn6=$_qn;
			elif [ "$NFQWS_OPT_DESYNC_HTTP6 $NFQWS_OPT_DESYNC_HTTP6_SUFFIX" = "$NFQWS_OPT_DESYNC_HTTPS $NFQWS_OPT_DESYNC_HTTPS_SUFFIX" ]; then
				_qn6=$_qns;
			fi
			if [ "$NFQWS_OPT_DESYNC_HTTPS6 $NFQWS_OPT_DESYNC_HTTPS6_SUFFIX" = "$NFQWS_OPT_DESYNC_HTTP $NFQWS_OPT_DESYNC_HTTP_SUFFIX" ]; then
				_qns6=$_qn;
			elif [ "$NFQWS_OPT_DESYNC_HTTPS6 $NFQWS_OPT_DESYNC_HTTPS6_SUFFIX" = "$NFQWS_OPT_DESYNC_HTTPS $NFQWS_OPT_DESYNC_HTTPS_SUFFIX" ]; then
				_qns6=$_qns;
			fi
		}
		[ "$NFQWS_OPT_DESYNC_HTTPS6 $NFQWS_OPT_DESYNC_HTTPS6_SUFFIX" = "$NFQWS_OPT_DESYNC_HTTP6 $NFQWS_OPT_DESYNC_HTTP6_SUFFIX" ] && _qns6=$_qn6;
	}
	if [ "$MODE_HTTP" = 1 ]; then
		eval $1=$_qn
		eval $3=$_qn6
	else
		eval $1=
		eval $3=
	fi
	if [ "$MODE_HTTPS" = 1 ]; then
		eval $2=$_qns
		eval $4=$_qns6
	else
		eval $2=
		eval $4=
	fi
}

get_nfqws_qnums_quic()
{
	# $1 - var name for ipv4 quic
	# $2 - var name for ipv6 quic
	local _qn _qn6

	[ "$DISABLE_IPV4" = "1" ] || {
		_qn=$(($QNUM+10))
	}
	[ "$DISABLE_IPV6" = "1" ] || {
		_qn6=$(($QNUM+11))
		[ "$DISABLE_IPV4" = "1" ] || {
			if [ "$NFQWS_OPT_DESYNC_QUIC $NFQWS_OPT_DESYNC_QUIC_SUFFIX" = "$NFQWS_OPT_DESYNC_QUIC6 $NFQWS_OPT_DESYNC_QUIC6_SUFFIX" ]; then
				_qn6=$_qn;
			fi
		}
	}
	if [ "$MODE_QUIC" = 1 ]; then
		eval $1=$_qn
		eval $2=$_qn6
	else
		eval $1=
		eval $2=
	fi
}