(cherry picked from commit 365eb0b1969d296e7e6894af9f913b3e24f81c21)
(cherry picked from commit 3cc77fa02d5a0efb77b71d4f506b44f209329b1d)