(cherry picked from commit 401cdcaa39c8a6d560db96453c49e926c6bc8179)
(cherry picked from commit 9b872d091231f6b50f67a87e6fe20252589b7dce)