
**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.
container1 = &typeid_cast<const ColumnUInt32*>(typeid_cast<const ColumnConst*>(column_ptrs[1])->getDataColumnPtr().get())->getData();
        else
            container1 = &typeid_cast<const ColumnUInt32*>(column_ptrs[1])->getData();
        if (is_column_const[2])
            container2 = &typeid_cast<const ColumnUInt32*>(typeid_cast<const ColumnConst*>(column_ptrs[2])->getDataColumnPtr().get())->getData();
        else
            container2 = &typeid_cast<const ColumnUInt32*>(column_ptrs[2])->getData();
        auto col_to = ColumnAggregateFunction::create(col_agg_func->getAggregateFunction());
        col_to->reserve(input_rows_count);
        for (size_t i = 0; i < input_rows_count; ++i)
        {
            const AggregateDataPtr data_ptr_0 = is_column_const[0] ? (*container0)[0] : (*container0)[i];
            const AggregateFunctionGroupBitmapData<T> & bitmap_data_0
                = *reinterpret_cast<const AggregateFunctionGroupBitmapData<T>*>(data_ptr_0);
            const UInt32 range_start = is_column_const[1] ? (*container1)[0] : (*container1)[i];
            const UInt32 range_end = is_column_const[2] ? (*container2)[0] : (*container2)[i];
            col_to->insertDefault();
            AggregateFunctionGroupBitmapData<T> & bitmap_data_2
                = *reinterpret_cast<AggregateFunctionGroupBitmapData<T> *>(col_to->getData()[i]);
            Impl::apply(bitmap_data_0, range_start, range_end, bitmap_data_2);
        }
        return col_to;
    }
};
struct BitmapSubsetInRangeImpl
{
public:
    static constexpr auto name = "bitmapSubsetInRange";
    template <typename T>
    static void apply(const AggregateFunctionGroupBitmapData<T> & bitmap_data_0, UInt32 range_start, UInt32 range_end, AggregateFunctionGroupBitmapData<T> & bitmap_data_2)