```\nfunction handleOps(UserOperation[] calldata ops, address payable beneficiary) public nonReentrant {\n\n    uint256 opslen = ops.length;\n    UserOpInfo[] memory opInfos = new UserOpInfo[](opslen);\n\nunchecked {\n    for (uint256 i = 0; i < opslen; i++) {\n        UserOpInfo memory opInfo = opInfos[i];\n        (uint256 validationData, uint256 pmValidationData) = _validatePrepayment(i, ops[i], opInfo);\n        _validateAccountAndPaymasterValidationData(i, validationData, pmValidationData, address(0));\n    }\n\n    uint256 collected = 0;\n    emit BeforeExecution();\n\n    for (uint256 i = 0; i < opslen; i++) {\n        collected += _executeUserOp(i, ops[i], opInfos[i]);\n    }\n\n    _compensate(beneficiary, collected);\n} //unchecked\n}\n```\n