(cherry picked from commit 0b31dc52) (cherry picked from commit 52c7a87c) (cherry picked from commit 845cb7af)