(cherry picked from commit a226bd2f717b9bb7ea1b048e0d2afc9d8459880e) (cherry picked from commit 70159f419b11b10dd3690a816430156e24d7a2a7)