
**Describe the bug**
bitmapContains does not worked for UInt64 while the bitmap is of type AggregateFunction(groupBitmap, UInt64)


**How to reproduce**
SELECT 
    bitmapBuild([toUInt64(1), toUInt64(10000)]) AS res, 
    bitmapContains(res, toUInt64(200000000)) AS aa

Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Second argument for function bitmapContains must be UInt32 but it has type UInt64.. 

**Expected behavior**
for a 64-bit bitmap, bitmapContains should be able to take UInt64 for the parameter.
 
**Error message and/or stacktrace**
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Second argument for function bitmapContains must be UInt32 but it has type UInt64.. 

**Additional context**
Tried with many versions such as 19.13, 20.3 etc including the latest 20.12.3, still not working.
ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr &, size_t ) const override
    {
        const IDataType * from_type = arguments[0].type.get();
        const auto * array_type = typeid_cast<const DataTypeArray *>(from_type);
        const auto & nested_type = array_type->getNestedType();
        DataTypes argument_types = {nested_type};
        WhichDataType which(nested_type);
        if (which.isUInt8())
            return executeBitmapData<UInt8>(argument_types, arguments);
        else if (which.isUInt16())
            return executeBitmapData<UInt16>(argument_types, arguments);
        else if (which.isUInt32())
            return executeBitmapData<UInt32>(argument_types, arguments);
        else if (which.isUInt64())
            return executeBitmapData<UInt64>(argument_types, arguments);
        else
            throw Exception(
                "Unexpected type " + from_type->getName() + " of argument of function " + getName(), ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT);
    }
private:
    template <typename T>
    ColumnPtr executeBitmapData(DataTypes & argument_types, const ColumnsWithTypeAndName & arguments) const