(cherry picked from commit 3307564a5f8c8abc5fe84efcd05ee0f7dfdd921c) (cherry picked from commit bdfad4523f1a5a776e20773c371ce99d0c538ac1)