```\\nfunction _validateAccountAndPaymasterValidationData(uint256 opIndex, uint256 validationData, uint256 paymasterValidationData, address expectedAggregator) internal view {\\n    (address aggregator, bool outOfTimeRange) = _getValidationData(validationData);\\n    if (expectedAggregator != aggregator) {\\n        revert FailedOp(opIndex, "AA24 signature error");\\n    }\\n    if (outOfTimeRange) {\\n        revert FailedOp(opIndex, "AA22 expired or not due");\\n    }\\n    //pmAggregator is not a real signature aggregator: we don't have logic to handle it as address.\\n    // non-zero address means that the paymaster fails due to some signature check (which is ok only during estimation)\\n    address pmAggregator;\\n    (pmAggregator, outOfTimeRange) = _getValidationData(paymasterValidationData);\\n    if (pmAggregator != address(0)) {\\n        revert FailedOp(opIndex, "AA34 signature error");\\n    }\\n    if (outOfTimeRange) {\\n        revert FailedOp(opIndex, "AA32 paymaster expired or not due");\\n    }\\n}\\n```\\n