```\n/// @notice Closes keep when owner decides that they no longer need it.\n/// Releases bonds to the keep members. Keep can be closed only when\n/// there is no signing in progress or requested signing process has timed out.\n/// @dev The function can be called by the owner of the keep and only is the\n/// keep has not been closed already.\nfunction closeKeep() external onlyOwner onlyWhenActive {\n    require(\n        !isSigningInProgress() || hasSigningTimedOut(),\n        "Requested signing has not timed out yet"\n    );\n\n    isActive = false;\n\n    freeMembersBonds();\n\n    emit KeepClosed();\n}\n\n/// @notice Returns bonds to the keep members.\nfunction freeMembersBonds() internal {\n    for (uint256 i = 0; i < members.length; i++) {\n        keepBonding.freeBond(members[i], uint256(address(this)));\n    }\n}\n```\n