(cherry picked from commit a23a6e85d8dcd5733a343754f434201f3c9aa6f0)
(cherry picked from commit 07255f0a76d9d349d915e14f969b9ff2ee0d1953)