(cherry picked from commit 89b6c482c1720a7f7ac86ce022c403825a086fa0) (cherry picked from commit 108f8b8fa1dd556eb27f3fd9c2a700947cfe4aa0)