So I deployed a contract importing @openzeppelin. hard time verifying it

So I deployed a token using Remix, this is the contract address(0x86e8e87764668a5ee16f8507158240f77dae9d21) and figured maybe i'll verify it at a later date. And when I tried to do so, i got this message ( Error! Unable to generate Contract ByteCode and ABI (General Exception, unable to get compiled [bytecode])

I have some basic programming experience so I tried to use truffle but still wouldnt work. I also tried flattening using Remix, tried Sourcify. I really cant get it to be verified. So, I'm here now asking for help, anyone?

This is the code:

pragma solidity ^0.8.0;

import "@openzeppelin/contracts@4.1.0/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts@4.1.0/security/Pausable.sol";
import "@openzeppelin/contracts@4.1.0/access/Ownable.sol";

contract HopeCoin is ERC20, Pausable, Ownable {
    constructor() ERC20("HopeCoin", "HC") {
        _mint(msg.sender, 522199100 * 10 ** decimals());
    }

    function pause() public onlyOwner {
        _pause();
    }

    function unpause() public onlyOwner {
        _unpause();
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount)
        internal
        whenNotPaused
        override
    {
        super._beforeTokenTransfer(from, to, amount);
    }
}