(cherry picked from commit 784623724d7f37260440fea2c566d603f74f3577)
(cherry picked from commit 1744c6ec6fea5897ee202d42c5e6198285ba09e4)