(cherry picked from commit c9b4007120a4a7399c7b0377c762cb69e79d5d6c)
(cherry picked from commit 92f6796f2801c3c3b827bbfd29c058d3ea98d88f)