(cherry picked from commit 474b4000a286f4bbb1aa54bc727085cf438e44a0)
(cherry picked from commit 96183020293adf11bac08c4014edcf9ce64c26f7)