```\nfunction deliver(uint256 tAmount) public {\n    address sender = _msgSender();\n    require(\n        !_isExcluded[sender],\n        "Excluded addresses cannot call this function"\n    );\n\n    (\n        ,\n        uint256 tFee,\n        uint256 tLiquidity,\n        uint256 tWallet,\n        uint256 tDonation\n    ) = _getTValues(tAmount);\n    (uint256 rAmount, , ) = _getRValues(\n        tAmount,\n        tFee,\n        tLiquidity,\n        tWallet,\n        tDonation,\n        _getRate()\n    );\n\n    _rOwned[sender] = _rOwned[sender].sub(rAmount);\n    _rTotal = _rTotal.sub(rAmount);\n    _tFeeTotal = _tFeeTotal.add(tAmount);\n}\n```\n