(cherry picked from commit 00ed21a6fedb45a7c8992b8d45adaa83f14af34c) (cherry picked from commit d5e2bd4096bf2b4d8a5a22042145a08905f93cd4)
(cherry picked from commit 00ed21a6fedb45a7c8992b8d45adaa83f14af34c) (cherry picked from commit d5e2bd4096bf2b4d8a5a22042145a08905f93cd4)