(cherry picked from commit 288c2616) (cherry picked from commit 51f2176d) (cherry picked from commit 35573777)