Down-integrate from internal branch
244 files changed