(cherry picked from commit a2f3b0a6d343a4e879ed2dc918e9f55506b290e3)
(cherry picked from commit 57424f451a6979080eaf9a7835279a5a6bda872a)