| # Note: The buildbots evaluate this file with CWD set to the parent | 
 | # directory and assume that the root of the checkout is in ./v8/, so | 
 | # all paths in here must match this assumption. | 
 |  | 
 | use_relative_paths = True | 
 |  | 
 | gclient_gn_args_file = 'build/config/gclient_args.gni' | 
 | gclient_gn_args = [ | 
 | ] | 
 |  | 
 | vars = { | 
 |   # Fetches only the SDK boot images which match at least one of the whitelist | 
 |   # entries in a comma-separated list. | 
 |   # | 
 |   # Available images: | 
 |   #   Emulation: | 
 |   #   - terminal.qemu-x64 | 
 |   #   - terminal.qemu-arm64 | 
 |   #   - workstation.qemu-x64-release | 
 |   #   Hardware: | 
 |   #   - minimal.x64 | 
 |   #   - core.x64-dfv2 | 
 |   # | 
 |   # Since the images are hundreds of MB, default to only downloading the image | 
 |   # most commonly useful for developers. Bots and developers that need to use | 
 |   # other images (e.g., qemu.arm64) can override this with additional images. | 
 |   'checkout_fuchsia_boot_images': "terminal.x64", | 
 |   'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""', | 
 |  | 
 |   'checkout_centipede_deps': False, | 
 |   'checkout_instrumented_libraries': False, | 
 |   'checkout_ittapi': False, | 
 |  | 
 |   # Fetch the prebuilt binaries for llvm-cov and llvm-profdata. Needed to | 
 |   # process the raw profiles produced by instrumented targets (built with | 
 |   # the gn arg 'use_clang_coverage'). | 
 |   'checkout_clang_coverage_tools': False, | 
 |  | 
 |   # Fetch clang-tidy into the same bin/ directory as our clang binary. | 
 |   'checkout_clang_tidy': False, | 
 |  | 
 |   # Fetch clangd into the same bin/ directory as our clang binary. | 
 |   'checkout_clangd': False, | 
 |  | 
 |   # Fetch and build V8 builtins with PGO profiles | 
 |   'checkout_v8_builtins_pgo_profiles': False, | 
 |  | 
 |   'android_url': 'https://android.googlesource.com', | 
 |   'boringssl_url': 'https://boringssl.googlesource.com', | 
 |   'chromium_url': 'https://chromium.googlesource.com', | 
 |   'download_gcmole': False, | 
 |   'download_jsfunfuzz': False, | 
 |   'download_prebuilt_bazel': False, | 
 |   'check_v8_header_includes': False, | 
 |  | 
 |   # By default, download the fuchsia sdk from the public sdk directory. | 
 |   'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/', | 
 |  | 
 |   # Used for downloading the Fuchsia SDK without running hooks. | 
 |   'checkout_fuchsia_no_hooks': False, | 
 |  | 
 |   # reclient CIPD package version | 
 |   'reclient_version': 're_client_version:0.171.0.1869ad5c-gomaip', | 
 |  | 
 |   # Fetch configuration files required for the 'use_remoteexec' gn arg | 
 |   'download_remoteexec_cfg': False, | 
 |  | 
 |   # RBE instance to use for running remote builds | 
 |   'rbe_instance': Str('projects/rbe-chrome-untrusted/instances/default_instance'), | 
 |  | 
 |   # RBE project to download rewrapper config files for. Only needed if | 
 |   # different from the project used in 'rbe_instance' | 
 |   'rewrapper_cfg_project': Str(''), | 
 |  | 
 |   # This variable is overrided in Chromium's DEPS file. | 
 |   'build_with_chromium': False, | 
 |  | 
 |   # GN CIPD package version. | 
 |   'gn_version': 'git_revision:feafd1012a32c05ec6095f69ddc3850afb621f3a', | 
 |  | 
 |   # ninja CIPD package version | 
 |   # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja | 
 |   'ninja_version': 'version:3@1.12.1.chromium.4', | 
 |  | 
 |   # siso CIPD package version | 
 |   'siso_version': 'git_revision:aa31236f9e208039b6196cbae4318d56d4c30e3d', | 
 |  | 
 |   # luci-go CIPD package version. | 
 |   'luci_go': 'git_revision:a52658ecc54d0fa4ad0065918588c890982634b2', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling Fuchsia sdk | 
 |   # and whatever else without interference from each other. | 
 |   'fuchsia_version': 'version:25.20241109.3.1', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_build-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_build-tools_version': 'DxwAZ3hD551Neu6ycuW5CPnXFrdleRBd93oX1eB_m9YC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_emulator_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_emulator_version': '9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_extras_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_extras_version': 'bY55nDqO6FAm6FkGIj09sh2KW9oqAkCGKjYok5nUvBMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_patcher_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_patcher_version': 'I6FNMhrXlpB-E1lOhMlvld7xt9lBVNOO83KIluXDyA0C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platform-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platform-tools_version': 'WihaseZR6cojZbkzIqwGhpTp92ztaGfqq8njBU8eTXYC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platforms_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platforms_version': 'kIXA-9XuCfOESodXEdOBkW5f1ytrGWdbp3HFp1I8A_0C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_sources_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_sources_version': 'qfTSF99e29-w3eIVPpfcif0Em5etyvxuicTDTntWHQMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_tools-lint_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_cmdline-tools_version': 'B4p95sDPpm34K8Cf4JcfTM-iYSglWko9qjWgbT9dxWQC', | 
 | } | 
 |  | 
 | deps = { | 
 |   'build': | 
 |     Var('chromium_url') + '/chromium/src/build.git' + '@' + 'b415ee83cdccbef6b1363062511f80fc01b5433d', | 
 |   'buildtools': | 
 |     Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + 'c61bf9c942c84d2c42d4ce4fd5cf751fa36c7fd7', | 
 |   'buildtools/linux64': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/linux-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "linux" and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"', | 
 |   }, | 
 |   'buildtools/mac': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/mac-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "mac"', | 
 |   }, | 
 |   'buildtools/win': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/windows-amd64', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "win"', | 
 |   }, | 
 |   'buildtools/reclient': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/rbe/client/${{platform}}', | 
 |         'version': Var('reclient_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc" and (host_cpu != "arm64" or host_os == "mac")', | 
 |   }, | 
 |   'test/benchmarks/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', | 
 |   'test/mozilla/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', | 
 |   'test/test262/data': | 
 |     Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '80c49657d30520313c83db6329d2ed3160bed62e', | 
 |   'third_party/android_platform': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + '6337c445f9963ec3914e7e0c5787941d07b46509', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/android_sdk/public': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/build-tools/35.0.0', | 
 |               'version': Var('android_sdk_build-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/emulator', | 
 |               'version': Var('android_sdk_emulator_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/extras', | 
 |               'version': Var('android_sdk_extras_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/patcher', | 
 |               'version': Var('android_sdk_patcher_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platform-tools', | 
 |               'version': Var('android_sdk_platform-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platforms/android-35', | 
 |               'version': Var('android_sdk_platforms_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/sources/android-30', | 
 |               'version': Var('android_sdk_sources_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/cmdline-tools', | 
 |               'version': Var('android_sdk_cmdline-tools_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_android', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/android_toolchain/ndk': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'chromium/third_party/android_toolchain/android_toolchain', | 
 |         'version': 'Idl-vYnWGnM8K3XJhM3h6zjYVDXlnljVz3FE00V9IM8C', | 
 |       }, | 
 |     ], | 
 |     'condition': 'checkout_android', | 
 |     'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/boringssl': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/boringssl.git' + '@' + 'c79987a83ceaf2cf911f7d21bec621ddc90c45cc', | 
 |     'condition': "checkout_centipede_deps", | 
 |   }, | 
 |   'third_party/boringssl/src': { | 
 |     'url': Var('boringssl_url') + '/boringssl.git' + '@' +  '4ad93a8c50451ee4c7cc31ecc49aeb19200a4e78', | 
 |     'condition': "checkout_centipede_deps", | 
 |   }, | 
 |   'third_party/catapult': { | 
 |     'url': Var('chromium_url') + '/catapult.git' + '@' + '1261fbb4d60541cde33d772eee8149c783639ca6', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/clang-format/script': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + '3c0acd2d4e73dd911309d9e970ba09d58bf23a62', | 
 |   'third_party/colorama/src': { | 
 |     'url': Var('chromium_url') + '/external/colorama.git' + '@' + '3de9f013df4b470069d03d250224062e8cf15c49', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/cpu_features/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/cpu_features.git' + '@' + '936b9ab5515dead115606559502e3864958f7f6e', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/depot_tools': | 
 |     Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + 'd688d75f4f656c35e64efa78644a74ebb50090ad', | 
 |   'third_party/fp16/src': | 
 |     Var('chromium_url') + '/external/github.com/Maratyszcza/FP16.git' + '@' + '0a92994d729ff76a58f692d3028ca1b64b145d91', | 
 |   'third_party/fast_float/src': | 
 |     Var('chromium_url') + '/external/github.com/fastfloat/fast_float.git' + '@' + '3e57d8dcfb0a04b5a8a26b486b54490a2e9b310f', | 
 |   'third_party/fuchsia-gn-sdk': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-gn-sdk.git' + '@' + '615c91e9e572143cbc4144ec3593ba1d50d1ff81', | 
 |     'condition': 'checkout_fuchsia', | 
 |   }, | 
 |   # Exists for rolling the Fuchsia SDK. Check out of the SDK should always | 
 |   # rely on the hook running |update_sdk.py| script below. | 
 |   'third_party/fuchsia-sdk/sdk': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': Var('fuchsia_sdk_cipd_prefix') + '${{platform}}', | 
 |               'version': Var('fuchsia_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_fuchsia_no_hooks', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/google_benchmark_chrome': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/google_benchmark.git' + '@' + '75f504f8c9501a07357e1033475629bb750a1d80', | 
 |   }, | 
 |   'third_party/google_benchmark_chrome/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + '761305ec3b33abf30e08d50eb829e19a802581cc', | 
 |   }, | 
 |   'third_party/fuzztest': | 
 |     Var('chromium_url') + '/chromium/src/third_party/fuzztest.git' + '@' + '45d19136c8e70611b8fd1ace447d968c31ffa5a3', | 
 |   'third_party/fuzztest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/fuzztest.git' + '@' + '0021f30508bc7f73fa5270962d022acb480d242f', | 
 |   'third_party/googletest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'd144031940543e15423a25ae5a8a74141044862f', | 
 |   'third_party/highway/src': | 
 |     Var('chromium_url') + '/external/github.com/google/highway.git' + '@' + '00fe003dac355b979f36157f9407c7c46448958e', | 
 |   'third_party/icu': | 
 |     Var('chromium_url') + '/chromium/deps/icu.git' + '@' + '4239b1559d11d4fa66c100543eda4161e060311e', | 
 |   'third_party/instrumented_libs': { | 
 |     'url': Var('chromium_url') + '/chromium/third_party/instrumented_libraries.git' + '@' + 'bb6dbcf2df7a9beb34c3773ef4df161800e3aed9', | 
 |     'condition': 'checkout_instrumented_libraries', | 
 |   }, | 
 |   'third_party/ittapi': { | 
 |     # Force checkout ittapi libraries to pass v8 header includes check on | 
 |     # bots that has check_v8_header_includes enabled. | 
 |     'url': Var('chromium_url') + '/external/github.com/intel/ittapi' + '@' + 'a3911fff01a775023a06af8754f9ec1e5977dd97', | 
 |     'condition': "checkout_ittapi or check_v8_header_includes", | 
 |   }, | 
 |   'third_party/jinja2': | 
 |     Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + '2f6f2ff5e4c1d727377f5e1b9e1903d871f41e74', | 
 |   'third_party/jsoncpp/source': | 
 |     Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '42e892d96e47b1f6e29844cc705e148ec4856448', | 
 |   'third_party/libc++/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + '8e31ad42561900383e10dbefc1d3e8f38cedfbe9', | 
 |   'third_party/libc++abi/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + 'cec7f478354a8c8599f264ed8bb6043b5468f72d', | 
 |   'third_party/libunwind/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '5b01ea4a6f3b666b7d190e7cb7c31db2ed4d94ce', | 
 |   'third_party/llvm-libc/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libc.git' + '@' + '0dad4c0315cf171daa2a8880839a3d1bab8811de', | 
 |   'third_party/llvm-build/Release+Asserts': { | 
 |     'dep_type': 'gcs', | 
 |     'bucket': 'chromium-browser-clang', | 
 |     'objects': [ | 
 |       { | 
 |         'object_name': 'Linux_x64/clang-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '10fbc53c0730a50e2117b3414a45784667d6cf7d91a3bcaab2b3a78ede08c5d2', | 
 |         'size_bytes': 54119960, | 
 |         'generation': 1730990401272305, | 
 |         'condition': 'host_os == "linux"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/clang-tidy-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'b53177355aae0a5f8bf0cf230d8d783d7eb1dc32fb525175aa64ebe93a697d59', | 
 |         'size_bytes': 13409228, | 
 |         'generation': 1730990401560844, | 
 |         'condition': 'host_os == "linux" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/clangd-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'ea60c8ed153b175d60973203d4efd8e03627d5eee3f567dd61dcc66cb76af152', | 
 |         'size_bytes': 27940520, | 
 |         'generation': 1730990401938247, | 
 |         'condition': 'host_os == "linux" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/llvm-code-coverage-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'aab41caead88fbbec57a352e5ad540ebdd54eda869ea632cadc01882454df23b', | 
 |         'size_bytes': 2385012, | 
 |         'generation': 1730990403020118, | 
 |         'condition': 'host_os == "linux" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/llvmobjdump-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '16d08de19205ebd84e8fe5850132e29eb89c25ccd6ecd6cdf18ff0d6d5756047', | 
 |         'size_bytes': 5471316, | 
 |         'generation': 1730990402077586, | 
 |         'condition': '(checkout_linux or checkout_mac or checkout_android and host_os != "mac")', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'cfc0c381a64b2770e1f3fe934dc08927b78cbe8204c4b145c175e1ac47a79b3f', | 
 |         'size_bytes': 48586148, | 
 |         'generation': 1730990404989096, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-mac-runtime-library-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '994d94a647c818d28f9551d46e39637b4a9f9e72ae0f3d98f75db949decfc811', | 
 |         'size_bytes': 973888, | 
 |         'generation': 1730990424944699, | 
 |         'condition': 'checkout_mac and not host_os == "mac"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-tidy-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'e3e779988cfbc9443fe050a31f92f0b2bfc8b855a8fa0d50b39bda520214323f', | 
 |         'size_bytes': 12989428, | 
 |         'generation': 1730990405580532, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clangd-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'fb3652a79650eb196f7229e8420d8482934db18ad899322a59d9532a967ba8f0', | 
 |         'size_bytes': 26917008, | 
 |         'generation': 1730990405502536, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/llvm-code-coverage-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '366c73a45297d36c015eb046232cecd6bbbb8fe8a460761ea4a488427c934846', | 
 |         'size_bytes': 2252492, | 
 |         'generation': 1730990406483704, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clang-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '07ea023580ba850f1cfde29018c6094f19fa2f876949afdd9b7ceacd02614315', | 
 |         'size_bytes': 42643072, | 
 |         'generation': 1730990426320272, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clang-tidy-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '2ba853495a456c137a03615bc90c1dc13378a083cd245c752e5cdb32cc5d710b', | 
 |         'size_bytes': 11551140, | 
 |         'generation': 1730990427298192, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clangd-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '8bd0290834025283494137c71f21cc53e5180a0fe5526ce5fc1def6b71adf56d', | 
 |         'size_bytes': 22996480, | 
 |         'generation': 1730990427104379, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/llvm-code-coverage-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '009bf6dca60483ceef0f5b267bab206e71f70150f595dee378704ac1bab15810', | 
 |         'size_bytes': 1978164, | 
 |         'generation': 1730990428146704, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '307a92baa82c49a97fa342e836c7d99c461757e3c4992e525ec11946e7e0c273', | 
 |         'size_bytes': 45504620, | 
 |         'generation': 1730990452347678, | 
 |         'condition': 'host_os == "win"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-tidy-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'e38e29eb61f0907e43dd9e4b13f7b624e88577deadbe783d0b6f5ba0fe73470f', | 
 |         'size_bytes': 13198876, | 
 |         'generation': 1730990452638793, | 
 |         'condition': 'host_os == "win" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-win-runtime-library-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '7dada03189cd68e993f32d2f44ba60308c21d5aaff841072fb023f569f62981e', | 
 |         'size_bytes': 2481484, | 
 |         'generation': 1730990473380663, | 
 |         'condition': 'checkout_win and not host_os == "win"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clangd-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': '35d002034b9758bb22a81d68b29ef1fc8584bb8c80d8f8161daf811dd88af8c0', | 
 |         'size_bytes': 25507672, | 
 |         'generation': 1730990452771999, | 
 |        'condition': 'host_os == "win" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/llvm-code-coverage-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'cec41d8e54630d4b4cc27c231af57f334c9149c0faeaf1f74bb4f258f47aee4d', | 
 |         'size_bytes': 2394780, | 
 |         'generation': 1730990453517854, | 
 |         'condition': 'host_os == "win" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/llvmobjdump-llvmorg-20-init-9764-gb81d8e90-6.tar.xz', | 
 |         'sha256sum': 'b53acffcb3bf0ef000b8af31ee622c34da647ecec28fbf9777db4d4c31057dfd', | 
 |         'size_bytes': 5495104, | 
 |         'generation': 1730990453035029, | 
 |         'condition': 'checkout_linux or checkout_mac or checkout_android and host_os == "win"', | 
 |       }, | 
 |     ], | 
 |   }, | 
 |   'third_party/logdog/logdog': | 
 |     Var('chromium_url') + '/infra/luci/luci-py/client/libs/logdog' + '@' + '0b2078a90f7a638d576b3a7c407d136f2fb62399', | 
 |   'third_party/markupsafe': | 
 |     Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '6638e9b0a79afc2ff7edd9e84b518fe7d5d5fea9', | 
 |   'third_party/ninja': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/3pp/tools/ninja/${{platform}}', | 
 |         'version': Var('ninja_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"' | 
 |   }, | 
 |   'third_party/perfetto': | 
 |     Var('android_url') + '/platform/external/perfetto.git' + '@' + '24764a1d9c2fce1e9816ffae691f00353ade330d', | 
 |   'third_party/protobuf': | 
 |     Var('chromium_url') + '/chromium/src/third_party/protobuf.git' + '@' + '0cbab48ca5b9c291a43782abede92830539e150a', | 
 |   'third_party/re2/src': | 
 |     Var('chromium_url') + '/external/github.com/google/re2.git' + '@' + '6dcd83d60f7944926bfd308cc13979fc53dd69ca', | 
 |   'third_party/requests': { | 
 |       'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'c7e0fc087ceeadb8b4c84a0953a422c474093d6d', | 
 |       'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/siso': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/build/siso/${{platform}}', | 
 |         'version': Var('siso_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'not build_with_chromium and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"', | 
 |   }, | 
 |   'third_party/zlib': | 
 |     Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + 'c7678ba8af4577e45023b35ae96b6b71efa0acf7', | 
 |   'tools/clang': | 
 |     Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + '4bd500b6f2e645f7ddff5d817e492a6eb9706e7a', | 
 |   'tools/luci-go': { | 
 |       'packages': [ | 
 |         { | 
 |           'package': 'infra/tools/luci/isolate/${{platform}}', | 
 |           'version': Var('luci_go'), | 
 |         }, | 
 |         { | 
 |           'package': 'infra/tools/luci/swarming/${{platform}}', | 
 |           'version': Var('luci_go'), | 
 |         }, | 
 |       ], | 
 |       'condition': 'host_cpu != "s390" and host_os != "zos" and host_os != "aix"', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'tools/protoc_wrapper': | 
 |     Var('chromium_url') + '/chromium/src/tools/protoc_wrapper.git' + '@' + 'dbcbea90c20ae1ece442d8ef64e61c7b10e2b013', | 
 |   'third_party/abseil-cpp': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/abseil-cpp.git' + '@' + '1ffd70268e0ecf41b5aa64e62e4ba10e28a589a5', | 
 |     'condition': 'not build_with_chromium', | 
 |   }, | 
 |   'third_party/zoslib': { | 
 |     'url': Var('chromium_url') + '/external/github.com/ibmruntimes/zoslib.git' + '@' + '1e68de6e37efced3738a88536fccb6bbfe2d70b2', | 
 |     'condition': 'host_os == "zos"', | 
 |   } | 
 | } | 
 |  | 
 | include_rules = [ | 
 |   # Everybody can use some things. | 
 |   '+include', | 
 |   '+unicode', | 
 |   '+third_party/fdlibm', | 
 |   '+third_party/ittapi/include', | 
 |   '+third_party/fast_float/src/include', | 
 |   '+third_party/fp16/src/include', | 
 |   '+third_party/v8/codegen', | 
 |   '+third_party/fuzztest', | 
 |   # Abseil features are allow-listed. Please use your best judgement when adding | 
 |   # to this set -- if in doubt, email v8-dev@. For general guidance, refer to | 
 |   # the Chromium guidelines (though note that some requirements in V8 may be | 
 |   # different to Chromium's): | 
 |   # https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md | 
 |   '+absl/container/flat_hash_map.h', | 
 |   '+absl/container/flat_hash_set.h', | 
 |   '+absl/container/btree_map.h', | 
 |   '+absl/types/optional.h', | 
 |   '+absl/types/variant.h', | 
 |   '+absl/status', | 
 |   # Some abseil features are explicitly banned. | 
 |   '-absl/types/any.h', # Requires RTTI. | 
 |   '-absl/types/flags', # Requires RTTI. | 
 | ] | 
 |  | 
 | # checkdeps.py shouldn't check for includes in these directories: | 
 | skip_child_includes = [ | 
 |   'build', | 
 |   'third_party', | 
 | ] | 
 |  | 
 | hooks = [ | 
 |   { | 
 |     # Ensure that the DEPS'd "depot_tools" has its self-update capability | 
 |     # disabled. | 
 |     'name': 'disable_depot_tools_selfupdate', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'third_party/depot_tools/update_depot_tools_toggle.py', | 
 |         '--disable', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # This clobbers when necessary (based on get_landmines.py). It must be the | 
 |     # first hook so that other things that get/generate into the output | 
 |     # directory will not subsequently be clobbered. | 
 |     'name': 'landmines', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'build/landmines.py', | 
 |         '--landmine-scripts', | 
 |         'tools/get_landmines.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'bazel', | 
 |     'pattern': '.', | 
 |     'condition': 'download_prebuilt_bazel', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chromium-v8-prebuilt-bazel/linux', | 
 |                 '--no_resume', | 
 |                 '-s', 'tools/bazel/bazel.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   # Pull dsymutil binaries using checked-in hashes. | 
 |   { | 
 |     'name': 'dsymutil_mac_arm64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'dsymutil_mac_x64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'gcmole', | 
 |     'pattern': '.', | 
 |     'condition': 'download_gcmole', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-gcmole', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/gcmole/gcmole-tools.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'jsfunfuzz', | 
 |     'pattern': '.', | 
 |     'condition': 'download_jsfunfuzz', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-jsfunfuzz', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_spec_tests', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-spec-tests/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_js', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-js/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Case-insensitivity for the Win SDK. Must run before win_toolchain below. | 
 |     'name': 'ciopfs_linux', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win and host_os == "linux"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang/ciopfs', | 
 |                 '-s', 'build/ciopfs.sha1', | 
 |     ] | 
 |   }, | 
 |   { | 
 |     # Update the Windows toolchain if necessary. | 
 |     'name': 'win_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win', | 
 |     'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'], | 
 |   }, | 
 |   { | 
 |     # Update the Mac toolchain if necessary. | 
 |     'name': 'mac_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_mac', | 
 |     'action': ['python3', 'build/mac_toolchain.py'], | 
 |   }, | 
 |   { | 
 |     # Update LASTCHANGE. | 
 |     'name': 'lastchange', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'build/util/lastchange.py', | 
 |                '-o', 'build/util/LASTCHANGE'], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia SDK from GCS', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_sdk.py', | 
 |       '--cipd-prefix={fuchsia_sdk_cipd_prefix}', | 
 |       '--version={fuchsia_version}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia system images', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia and checkout_fuchsia_product_bundles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_product_bundles.py', | 
 |       '{checkout_fuchsia_boot_images}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Mac does not have llvm-objdump, download it for cross builds in Fuchsia. | 
 |     'name': 'llvm-objdump', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and checkout_fuchsia', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py', | 
 |                '--package=objdump'], | 
 |   }, | 
 |   { | 
 |     'name': 'vpython3_common', | 
 |     'pattern': '.', | 
 |     'action': [ 'vpython3', | 
 |                 '-vpython-spec', '.vpython3', | 
 |                 '-vpython-tool', 'install', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'check_v8_header_includes', | 
 |     'pattern': '.', | 
 |     'condition': 'check_v8_header_includes', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/generate-header-include-checks.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'checkout_v8_builtins_pgo_profiles', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_v8_builtins_pgo_profiles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/builtins-pgo/download_profiles.py', | 
 |       'download', | 
 |       '--quiet', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Clean up build dirs for crbug.com/1337238. | 
 |     # After a libc++ roll and revert, .ninja_deps would get into a state | 
 |     # that breaks Ninja on Windows. | 
 |     # TODO(crbug.com/1337238): Remove in a month or so. | 
 |     'name': 'del_ninja_deps_cache', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "win"', | 
 |     'action': ['python3', 'build/del_ninja_deps_cache.py'], | 
 |   }, | 
 |   # Configure remote exec cfg files | 
 |   { | 
 |     'name': 'download_and_configure_reclient_cfgs', | 
 |     'pattern': '.', | 
 |     'condition': 'download_remoteexec_cfg and not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'buildtools/reclient_cfgs/configure_reclient_cfgs.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                '--reproxy_cfg_template', | 
 |                'reproxy.cfg.template', | 
 |                '--rewrapper_cfg_project', | 
 |                Var('rewrapper_cfg_project'), | 
 |                '--quiet', | 
 |                ], | 
 |   }, | 
 |   { | 
 |     'name': 'configure_reclient_cfgs', | 
 |     'pattern': '.', | 
 |     'condition': 'not download_remoteexec_cfg and not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'buildtools/reclient_cfgs/configure_reclient_cfgs.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                '--reproxy_cfg_template', | 
 |                'reproxy.cfg.template', | 
 |                '--rewrapper_cfg_project', | 
 |                Var('rewrapper_cfg_project'), | 
 |                '--skip_remoteexec_cfg_fetch', | 
 |                ], | 
 |   }, | 
 |   # Configure Siso for developer builds. | 
 |   { | 
 |     'name': 'configure_siso', | 
 |     'pattern': '.', | 
 |     'condition': 'not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'build/config/siso/configure_siso.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                ], | 
 |   }, | 
 | ] | 
 |  | 
 | recursedeps = [ | 
 |   'build', | 
 |   'buildtools', | 
 |   'third_party/instrumented_libs', | 
 | ] |