Full Code of carbon-language/carbon-lang for AI

trunk 8e5b358ec27a cached
5011 files
29.3 MB
4.2M tokens
2623 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (16,647K chars total). Download the full file to get everything.
Repository: carbon-language/carbon-lang
Branch: trunk
Commit: 8e5b358ec27a
Files: 5011
Total size: 29.3 MB

Directory structure:
gitextract_q3vemk7y/

├── .agents/
│   └── skills/
│       ├── code_style/
│       │   └── SKILL.md
│       ├── summarize_testdata_changes/
│       │   ├── SKILL.md
│       │   └── scripts/
│       │       └── parse_diff.py
│       ├── tool_usage/
│       │   └── SKILL.md
│       └── toolchain_development/
│           └── SKILL.md
├── .bazelignore
├── .bazelrc
├── .bazelversion
├── .clang-format
├── .clang-tidy
├── .clangd
├── .codespell_ignore
├── .gdbinit
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── 01_toolchain_bug.yml
│   │   ├── 02_documentation_bug.yml
│   │   ├── 03_leads_question.yml
│   │   └── config.yml
│   ├── actions/
│   │   ├── build-setup-common/
│   │   │   └── action.yml
│   │   ├── build-setup-macos/
│   │   │   └── action.yml
│   │   ├── build-setup-ubuntu/
│   │   │   └── action.yml
│   │   └── test-setup/
│   │       └── action.yml
│   ├── pull_request_template.md
│   ├── release.yaml
│   └── workflows/
│       ├── README.md
│       ├── auto_label_prs.yaml
│       ├── clangd_tidy.yaml
│       ├── discord_wiki.yaml
│       ├── gh_pages_ci.yaml
│       ├── gh_pages_deploy.yaml
│       ├── nightly_release.yaml
│       ├── pre_commit.yaml
│       ├── pre_commit_suggestions.yaml
│       ├── proposal_labeled.yaml
│       ├── proposal_ready.yaml
│       ├── sync_repos.yaml
│       ├── tests.yaml
│       └── triage_inactive.yaml
├── .gitignore
├── .lldbinit
├── .pre-commit-config.yaml
├── .prettierrc.yaml
├── .python-version
├── .vscode/
│   ├── extensions.json
│   ├── gdb_launch.json
│   ├── lldb_launch.json
│   └── tasks.json
├── BUILD
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── GEMINI.md
├── LICENSE
├── MODULE.bazel
├── README.md
├── SECURITY.md
├── bazel/
│   ├── carbon_rules/
│   │   ├── BUILD
│   │   └── defs.bzl
│   ├── cc_rules/
│   │   ├── BUILD
│   │   └── defs.bzl
│   ├── cc_toolchains/
│   │   ├── BUILD
│   │   ├── cc_toolchain_actions.bzl
│   │   ├── cc_toolchain_base_features.bzl
│   │   ├── cc_toolchain_carbon_project_features.bzl
│   │   ├── cc_toolchain_config_features.bzl
│   │   ├── cc_toolchain_cpp_features.bzl
│   │   ├── cc_toolchain_debugging.bzl
│   │   ├── cc_toolchain_features.bzl
│   │   ├── cc_toolchain_linking.bzl
│   │   ├── cc_toolchain_modules.bzl
│   │   ├── cc_toolchain_optimization.bzl
│   │   ├── cc_toolchain_sanitizer_features.bzl
│   │   ├── cc_toolchain_tools.bzl
│   │   ├── clang_cc_toolchain_config.bzl
│   │   ├── clang_configuration.bzl
│   │   ├── clang_detected_variables.tpl.bzl
│   │   ├── clang_toolchain.BUILD
│   │   └── defs.bzl
│   ├── check_deps/
│   │   ├── BUILD
│   │   ├── check_non_test_cc_deps.py
│   │   └── update_roots.py
│   ├── llvm_project/
│   │   ├── 0001_Patch_for_mallinfo2_when_using_Bazel_build_system.patch
│   │   ├── 0002_Added_Bazel_build_for_compiler_rt_fuzzer.patch
│   │   ├── 0004_Introduce_basic_sources_exporting_for_libunwind.patch
│   │   ├── 0005_Introduce_basic_sources_exporting_for_libcxx_and_libcxxabi.patch
│   │   ├── 0009_Introduce_starlark_exporting_compiler-rt_build_information.patch
│   │   ├── BUILD
│   │   └── llvm_project.bzl
│   ├── malloc/
│   │   └── BUILD
│   ├── manifest/
│   │   ├── BUILD
│   │   └── defs.bzl
│   └── version/
│       ├── BUILD
│       ├── compute_version.bzl
│       ├── gen_tmpl.py
│       └── rules.bzl
├── common/
│   ├── BUILD
│   ├── all_llvm_targets.cpp
│   ├── array_stack.h
│   ├── array_stack_test.cpp
│   ├── bazel_working_dir.h
│   ├── build_data.cpp
│   ├── build_data.h
│   ├── build_data_linkstamp.cpp
│   ├── build_data_linkstamp.h
│   ├── build_data_test.cpp
│   ├── check.h
│   ├── check_internal.cpp
│   ├── check_internal.h
│   ├── check_test.cpp
│   ├── command_line.cpp
│   ├── command_line.h
│   ├── command_line_test.cpp
│   ├── concepts.h
│   ├── emplace_by_calling.h
│   ├── emplace_by_calling_test.cpp
│   ├── enum_base.h
│   ├── enum_base_test.cpp
│   ├── enum_base_test.def
│   ├── enum_mask_base.h
│   ├── enum_mask_base_test.cpp
│   ├── error.h
│   ├── error_test.cpp
│   ├── error_test_helpers.h
│   ├── exe_path.cpp
│   ├── exe_path.h
│   ├── exe_path_test.cpp
│   ├── filesystem.cpp
│   ├── filesystem.h
│   ├── filesystem_benchmark.cpp
│   ├── filesystem_test.cpp
│   ├── find.h
│   ├── find_test.cpp
│   ├── growing_range.h
│   ├── growing_range_test.cpp
│   ├── hashing.cpp
│   ├── hashing.h
│   ├── hashing_benchmark.cpp
│   ├── hashing_test.cpp
│   ├── hashtable_key_context.h
│   ├── hashtable_key_context_test.cpp
│   ├── init_llvm.cpp
│   ├── init_llvm.h
│   ├── latch.cpp
│   ├── latch.h
│   ├── latch_test.cpp
│   ├── map.h
│   ├── map_benchmark.cpp
│   ├── map_test.cpp
│   ├── move_only.h
│   ├── ostream.h
│   ├── pretty_stack_trace_function.h
│   ├── raw_hashtable.cpp
│   ├── raw_hashtable.h
│   ├── raw_hashtable_benchmark_helpers.cpp
│   ├── raw_hashtable_benchmark_helpers.h
│   ├── raw_hashtable_metadata_group.cpp
│   ├── raw_hashtable_metadata_group.h
│   ├── raw_hashtable_metadata_group_benchmark.cpp
│   ├── raw_hashtable_test_helpers.h
│   ├── raw_string_ostream.h
│   ├── raw_string_ostream_test.cpp
│   ├── set.h
│   ├── set_benchmark.cpp
│   ├── set_test.cpp
│   ├── string_helpers.cpp
│   ├── string_helpers.h
│   ├── string_helpers_test.cpp
│   ├── struct_reflection.h
│   ├── struct_reflection_test.cpp
│   ├── template_string.h
│   ├── template_string_test.cpp
│   ├── type_enum.h
│   ├── version.h
│   ├── version.tmpl.cpp
│   ├── version_stamp.tmpl.cpp
│   ├── vlog.h
│   └── vlog_test.cpp
├── core/
│   ├── BUILD
│   ├── io.carbon
│   ├── prelude/
│   │   ├── copy.carbon
│   │   ├── default.carbon
│   │   ├── destroy.carbon
│   │   ├── iterate.carbon
│   │   ├── operators/
│   │   │   ├── arithmetic.carbon
│   │   │   ├── as.carbon
│   │   │   ├── bitwise.carbon
│   │   │   ├── comparison.carbon
│   │   │   ├── deref.carbon
│   │   │   └── index.carbon
│   │   ├── operators.carbon
│   │   ├── types/
│   │   │   ├── bool.carbon
│   │   │   ├── char.carbon
│   │   │   ├── cpp/
│   │   │   │   ├── int.carbon
│   │   │   │   ├── nullptr.carbon
│   │   │   │   └── void.carbon
│   │   │   ├── float.carbon
│   │   │   ├── float_literal.carbon
│   │   │   ├── form.carbon
│   │   │   ├── int.carbon
│   │   │   ├── int_literal.carbon
│   │   │   ├── maybe_unformed.carbon
│   │   │   ├── optional.carbon
│   │   │   ├── string.carbon
│   │   │   └── uint.carbon
│   │   └── types.carbon
│   ├── prelude.carbon
│   └── range.carbon
├── docs/
│   ├── README.md
│   ├── design/
│   │   ├── README.md
│   │   ├── aliases.md
│   │   ├── assignment.md
│   │   ├── blocks_and_statements.md
│   │   ├── classes.md
│   │   ├── code_and_name_organization/
│   │   │   ├── README.md
│   │   │   └── source_files.md
│   │   ├── control_flow/
│   │   │   ├── README.md
│   │   │   ├── conditionals.md
│   │   │   ├── loops.md
│   │   │   └── return.md
│   │   ├── declaring_entities.md
│   │   ├── expressions/
│   │   │   ├── README.md
│   │   │   ├── arithmetic.md
│   │   │   ├── as_expressions.md
│   │   │   ├── bitwise.md
│   │   │   ├── comparison_operators.md
│   │   │   ├── if.md
│   │   │   ├── implicit_conversions.md
│   │   │   ├── indexing.md
│   │   │   ├── literals.md
│   │   │   ├── logical_operators.md
│   │   │   ├── member_access.md
│   │   │   ├── pointer_operators.md
│   │   │   └── type_operators.md
│   │   ├── functions.md
│   │   ├── generics/
│   │   │   ├── README.md
│   │   │   ├── appendix-coherence.md
│   │   │   ├── appendix-rewrite-constraints.md
│   │   │   ├── appendix-witness.md
│   │   │   ├── details.md
│   │   │   ├── goals.md
│   │   │   ├── overview.md
│   │   │   └── terminology.md
│   │   ├── interoperability/
│   │   │   ├── README.md
│   │   │   └── philosophy_and_goals.md
│   │   ├── lambdas.md
│   │   ├── lexical_conventions/
│   │   │   ├── README.md
│   │   │   ├── comments.md
│   │   │   ├── numeric_literals.md
│   │   │   ├── string_literals.md
│   │   │   ├── symbolic_tokens.md
│   │   │   ├── whitespace.md
│   │   │   └── words.md
│   │   ├── metaprogramming.md
│   │   ├── name_lookup.md
│   │   ├── naming_conventions.md
│   │   ├── pattern_matching.md
│   │   ├── safety/
│   │   │   ├── README.md
│   │   │   └── terminology.md
│   │   ├── sum_types.md
│   │   ├── templates.md
│   │   ├── tuples.md
│   │   ├── type_inference.md
│   │   ├── values.md
│   │   └── variadics.md
│   ├── guides/
│   │   ├── README.md
│   │   └── glossary.md
│   ├── images/
│   │   └── snippets.md
│   ├── project/
│   │   ├── README.md
│   │   ├── code_review.md
│   │   ├── commit_access.md
│   │   ├── contribution_tools.md
│   │   ├── cpp_style_guide.md
│   │   ├── design_style_guide.md
│   │   ├── difficulties_improving_cpp.md
│   │   ├── evolution.md
│   │   ├── faq.md
│   │   ├── goals.md
│   │   ├── groups.md
│   │   ├── milestones.md
│   │   ├── moderators.md
│   │   ├── principles/
│   │   │   ├── README.md
│   │   │   ├── error_handling.md
│   │   │   ├── information_accumulation.md
│   │   │   ├── library_apis_only.md
│   │   │   ├── low_context_sensitivity.md
│   │   │   ├── namespace_cleanliness.md
│   │   │   ├── one_way.md
│   │   │   ├── progressive_disclosure.md
│   │   │   ├── safety_strategy.md
│   │   │   ├── static_open_extension.md
│   │   │   └── success_criteria.md
│   │   ├── pull_request_workflow.md
│   │   ├── roadmap.md
│   │   ├── roadmap_process.md
│   │   ├── teams/
│   │   │   └── conduct_team.md
│   │   ├── transparency_reports.md
│   │   └── versioning.md
│   └── spec/
│       ├── README.md
│       ├── lang/
│       │   ├── README.md
│       │   ├── execution.md
│       │   ├── lex.md
│       │   ├── libs.md
│       │   ├── names.md
│       │   ├── parsing.md
│       │   └── semantics.md
│       └── lib/
│           └── README.md
├── examples/
│   ├── BUILD
│   ├── advent2024/
│   │   ├── BUILD
│   │   ├── README.md
│   │   ├── day10_common.carbon
│   │   ├── day10_part1.carbon
│   │   ├── day10_part2.carbon
│   │   ├── day11_common.carbon
│   │   ├── day11_part1.carbon
│   │   ├── day11_part2.carbon
│   │   ├── day12_common.carbon
│   │   ├── day12_part1.carbon
│   │   ├── day12_part2.carbon
│   │   ├── day13_common.carbon
│   │   ├── day13_part1.carbon
│   │   ├── day13_part2.carbon
│   │   ├── day14_common.carbon
│   │   ├── day14_part1.carbon
│   │   ├── day14_part2.carbon
│   │   ├── day15_common.carbon
│   │   ├── day15_part1.carbon
│   │   ├── day1_common.carbon
│   │   ├── day1_part1.carbon
│   │   ├── day1_part2.carbon
│   │   ├── day2_common.carbon
│   │   ├── day2_part1.carbon
│   │   ├── day2_part2.carbon
│   │   ├── day3_common.carbon
│   │   ├── day3_part1.carbon
│   │   ├── day3_part2.carbon
│   │   ├── day4_common.carbon
│   │   ├── day4_part1.carbon
│   │   ├── day4_part2.carbon
│   │   ├── day5_common.carbon
│   │   ├── day5_part1.carbon
│   │   ├── day5_part2.carbon
│   │   ├── day6_common.carbon
│   │   ├── day6_part1.carbon
│   │   ├── day6_part2.carbon
│   │   ├── day7_common.carbon
│   │   ├── day7_part1.carbon
│   │   ├── day7_part2.carbon
│   │   ├── day8_common.carbon
│   │   ├── day8_part1.carbon
│   │   ├── day8_part2.carbon
│   │   ├── day9_common.carbon
│   │   ├── day9_part1.carbon
│   │   ├── day9_part2.carbon
│   │   ├── io_utils.carbon
│   │   └── sort.carbon
│   ├── bazel/
│   │   ├── BUILD
│   │   ├── MODULE.bazel
│   │   ├── example.cpp
│   │   ├── example_lib.cpp
│   │   ├── example_lib.h
│   │   └── update_module_to_nightly.py
│   ├── bazel_test_runner.py
│   ├── hello_world.carbon
│   ├── interop/
│   │   └── cpp/
│   │       ├── BUILD
│   │       ├── hello_world.carbon
│   │       └── socket.carbon
│   ├── re2_playground/
│   │   ├── BUILD
│   │   └── re2_playground.carbon
│   └── sieve.carbon
├── github_tools/
│   ├── BUILD
│   ├── MODULE.bazel
│   ├── README.md
│   ├── WORKSPACE
│   ├── __init__.py
│   ├── github_helpers.py
│   ├── github_helpers_test.py
│   ├── pr_comments.py
│   ├── pr_comments_test.py
│   ├── requirements.in
│   └── requirements.txt
├── proposals/
│   ├── README.md
│   ├── __init__.py
│   ├── p0024.md
│   ├── p0029.md
│   ├── p0042.md
│   ├── p0044.md
│   ├── p0051.md
│   ├── p0063.md
│   ├── p0074.md
│   ├── p0083.md
│   ├── p0107.md
│   ├── p0113.md
│   ├── p0120.md
│   ├── p0140.md
│   ├── p0142.md
│   ├── p0143.md
│   ├── p0144.md
│   ├── p0149.md
│   ├── p0157.md
│   ├── p0162.md
│   ├── p0175.md
│   ├── p0179.md
│   ├── p0196.md
│   ├── p0198.md
│   ├── p0199.md
│   ├── p0253.md
│   ├── p0257.md
│   ├── p0285.md
│   ├── p0301.md
│   ├── p0339.md
│   ├── p0340.md
│   ├── p0353.md
│   ├── p0415.md
│   ├── p0426.md
│   ├── p0438.md
│   ├── p0444.md
│   ├── p0447.md
│   ├── p0524.md
│   ├── p0538.md
│   ├── p0540.md
│   ├── p0553.md
│   ├── p0555/
│   │   ├── figures.py
│   │   └── yacc-parser/
│   │       ├── Makefile
│   │       ├── example.l
│   │       └── example.y
│   ├── p0555.md
│   ├── p0561.md
│   ├── p0601.md
│   ├── p0618.md
│   ├── p0623.md
│   ├── p0646.md
│   ├── p0676.md
│   ├── p0680.md
│   ├── p0702.md
│   ├── p0720.md
│   ├── p0722.md
│   ├── p0731.md
│   ├── p0752.md
│   ├── p0777.md
│   ├── p0818/
│   │   └── regular_equivalence_classes.md
│   ├── p0818.md
│   ├── p0820.md
│   ├── p0826.md
│   ├── p0829.md
│   ├── p0845.md
│   ├── p0851.md
│   ├── p0861.md
│   ├── p0866.md
│   ├── p0875.md
│   ├── p0911.md
│   ├── p0920.md
│   ├── p0931.md
│   ├── p0950.md
│   ├── p0981.md
│   ├── p0983.md
│   ├── p0989.md
│   ├── p0990.md
│   ├── p0998.md
│   ├── p1013.md
│   ├── p1025.md
│   ├── p1083.md
│   ├── p1084.md
│   ├── p1088.md
│   ├── p1144.md
│   ├── p1146.md
│   ├── p1154.md
│   ├── p1178.md
│   ├── p1190.md
│   ├── p1191.md
│   ├── p1270.md
│   ├── p1280.md
│   ├── p1327.md
│   ├── p1344.md
│   ├── p1360.md
│   ├── p1363.md
│   ├── p1367.md
│   ├── p1382.md
│   ├── p1885.md
│   ├── p1891.md
│   ├── p1964.md
│   ├── p1983.md
│   ├── p2006.md
│   ├── p2015.md
│   ├── p2022.md
│   ├── p2040.md
│   ├── p2107.md
│   ├── p2138.md
│   ├── p2173.md
│   ├── p2187.md
│   ├── p2188.md
│   ├── p2200.md
│   ├── p2240.md
│   ├── p2274.md
│   ├── p2287.md
│   ├── p2295.md
│   ├── p2347.md
│   ├── p2360.md
│   ├── p2365.md
│   ├── p2376.md
│   ├── p2483.md
│   ├── p2511.md
│   ├── p2550.md
│   ├── p2551.md
│   ├── p2665.md
│   ├── p2687.md
│   ├── p2759.md
│   ├── p2760.md
│   ├── p2868.md
│   ├── p2875.md
│   ├── p2922.md
│   ├── p2964.md
│   ├── p3162.md
│   ├── p3403.md
│   ├── p3407.md
│   ├── p3532.md
│   ├── p3564.md
│   ├── p3646.md
│   ├── p3720.md
│   ├── p3762.md
│   ├── p3763.md
│   ├── p3797.md
│   ├── p3833.md
│   ├── p3848.md
│   ├── p3927.md
│   ├── p3938.md
│   ├── p3980.md
│   ├── p4075.md
│   ├── p4105.md
│   ├── p4246.md
│   ├── p4682.md
│   ├── p4864.md
│   ├── p4880.md
│   ├── p5017.md
│   ├── p5087.md
│   ├── p5164.md
│   ├── p5168.md
│   ├── p5233.md
│   ├── p5270.md
│   ├── p5337.md
│   ├── p5366.md
│   ├── p5434.md
│   ├── p5448.md
│   ├── p5545.md
│   ├── p5606.md
│   ├── p5661.md
│   ├── p5670.md
│   ├── p5689.md
│   ├── p5914.md
│   ├── p6008.md
│   ├── p6177.md
│   ├── p6231.md
│   ├── p6254.md
│   ├── p6333.md
│   ├── p6357.md
│   ├── p6358.md
│   ├── p6395.md
│   ├── p6641.md
│   ├── p6668.md
│   ├── p6676.md
│   ├── p6699.md
│   ├── p6710.md
│   ├── p6716.md
│   ├── p6910.md
│   └── scripts/
│       ├── BUILD
│       ├── README.md
│       ├── __init__.py
│       ├── new_proposal.py
│       ├── new_proposal_test.py
│       └── template.md
├── pyproject.toml
├── scripts/
│   ├── BUILD
│   ├── bazel_mod_deps.py
│   ├── bench_runner.py
│   ├── calculate_release_shas.py
│   ├── check_build_graph.py
│   ├── check_header_guards.py
│   ├── check_sha_filenames.py
│   ├── create_compdb.py
│   ├── deps_for_clangd_tidy.cpp
│   ├── fix_cc_deps.py
│   ├── forbid_llvm_googletest.py
│   ├── lldbinit.py
│   ├── no_op_test.py
│   ├── query_module_versions.py
│   ├── run_bazel.py
│   ├── run_bazelisk.py
│   ├── run_buildifier.py
│   ├── run_buildozer.py
│   ├── scripts_utils.py
│   ├── source_stats.py
│   ├── sync_repos.sh
│   ├── target_determinator.py
│   └── workspace_status.py
├── setup.cfg
├── testing/
│   ├── README.md
│   ├── base/
│   │   ├── BUILD
│   │   ├── benchmark_main.cpp
│   │   ├── capture_std_streams.cpp
│   │   ├── capture_std_streams.h
│   │   ├── file_helpers.cpp
│   │   ├── file_helpers.h
│   │   ├── global_exe_path.cpp
│   │   ├── global_exe_path.h
│   │   ├── global_exe_path_test.cpp
│   │   ├── gtest_main.cpp
│   │   ├── source_gen.cpp
│   │   ├── source_gen.h
│   │   ├── source_gen_main.cpp
│   │   ├── source_gen_test.cpp
│   │   ├── unified_diff_matcher.h
│   │   └── unified_diff_matcher_test.cpp
│   ├── file_test/
│   │   ├── BUILD
│   │   ├── README.md
│   │   ├── autoupdate.cpp
│   │   ├── autoupdate.h
│   │   ├── autoupdate_testdata.sh
│   │   ├── file_test_base.cpp
│   │   ├── file_test_base.h
│   │   ├── file_test_base_test.cpp
│   │   ├── line.h
│   │   ├── manifest.cpp
│   │   ├── manifest.h
│   │   ├── rules.bzl
│   │   ├── run_test.cpp
│   │   ├── run_test.h
│   │   ├── test_file.cpp
│   │   ├── test_file.h
│   │   ├── test_file_test.cpp
│   │   └── testdata/
│   │       ├── alternating_files.carbon
│   │       ├── args.carbon
│   │       ├── autoupdate_split.carbon
│   │       ├── autoupdate_split_standalone.carbon
│   │       ├── capture_console_output.carbon
│   │       ├── escaping.carbon
│   │       ├── example.carbon
│   │       ├── fail_example.carbon
│   │       ├── fail_multi_success_overall_fail.carbon
│   │       ├── file_only_re_multi_file.carbon
│   │       ├── file_only_re_one_file.carbon
│   │       ├── include_args.carbon
│   │       ├── include_args_and_extra_args.carbon
│   │       ├── include_empty.carbon
│   │       ├── include_extra_args.carbon
│   │       ├── include_files/
│   │       │   ├── args.carbon
│   │       │   ├── empty.carbon
│   │       │   ├── extra_args.carbon
│   │       │   ├── no_split.carbon
│   │       │   ├── recursive.carbon
│   │       │   └── split.carbon
│   │       ├── include_no_split.carbon
│   │       ├── include_recursive.carbon
│   │       ├── include_repeated.carbon
│   │       ├── include_split.carbon
│   │       ├── lsp_autofill.carbon
│   │       ├── lsp_keywords.carbon
│   │       ├── multi_success.carbon
│   │       ├── multi_success_and_fail.carbon
│   │       ├── multiple_file_refs_in_line.carbon
│   │       ├── no_line_number.carbon
│   │       ├── not_split.carbon
│   │       ├── replace_content.carbon
│   │       ├── replace_split_content.carbon
│   │       ├── stdin.carbon
│   │       ├── two_files.carbon
│   │       └── unattached_multi_file.carbon
│   └── fuzzing/
│       ├── BUILD
│       ├── libfuzzer.h
│       └── rules.bzl
├── third_party/
│   ├── README.md
│   ├── examples/
│   │   ├── README.md
│   │   └── re2/
│   │       ├── LICENSE
│   │       └── re2.carbon
│   └── llvm/
│       ├── BUILD
│       ├── README.md
│       ├── clang_cc1.cpp
│       └── clang_cc1.h
├── toolchain/
│   ├── BUILD
│   ├── README.md
│   ├── autoupdate_testdata.py
│   ├── base/
│   │   ├── BUILD
│   │   ├── block_value_store.h
│   │   ├── canonical_value_store.h
│   │   ├── canonical_value_store_test.cpp
│   │   ├── clang_invocation.cpp
│   │   ├── clang_invocation.h
│   │   ├── fixed_size_value_store.h
│   │   ├── for_each_macro.h
│   │   ├── id_tag.h
│   │   ├── index_base.h
│   │   ├── install_paths.cpp
│   │   ├── install_paths.h
│   │   ├── install_paths_test.cpp
│   │   ├── install_paths_test_helpers.cpp
│   │   ├── install_paths_test_helpers.h
│   │   ├── int.cpp
│   │   ├── int.h
│   │   ├── int_test.cpp
│   │   ├── kind_switch.h
│   │   ├── kind_switch_test.cpp
│   │   ├── llvm_tools.bzl
│   │   ├── llvm_tools.cpp
│   │   ├── llvm_tools.h
│   │   ├── mem_usage.h
│   │   ├── relational_value_store.h
│   │   ├── runtimes_build_info.bzl
│   │   ├── runtimes_build_info.tpl.h
│   │   ├── runtimes_build_vars.tpl.bzl
│   │   ├── shared_value_stores.h
│   │   ├── shared_value_stores_test.cpp
│   │   ├── test_binary.cpp
│   │   ├── timings.h
│   │   ├── value_ids.h
│   │   ├── value_store.h
│   │   ├── value_store_test.cpp
│   │   ├── value_store_types.h
│   │   └── yaml.h
│   ├── check/
│   │   ├── BUILD
│   │   ├── action.cpp
│   │   ├── action.h
│   │   ├── call.cpp
│   │   ├── call.h
│   │   ├── check.cpp
│   │   ├── check.h
│   │   ├── check_fuzzer.cpp
│   │   ├── check_unit.cpp
│   │   ├── check_unit.h
│   │   ├── class.cpp
│   │   ├── class.h
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── control_flow.cpp
│   │   ├── control_flow.h
│   │   ├── convert.cpp
│   │   ├── convert.h
│   │   ├── core_identifier.cpp
│   │   ├── core_identifier.def
│   │   ├── core_identifier.h
│   │   ├── cpp/
│   │   │   ├── access.cpp
│   │   │   ├── access.h
│   │   │   ├── call.cpp
│   │   │   ├── call.h
│   │   │   ├── constant.cpp
│   │   │   ├── constant.h
│   │   │   ├── context.cpp
│   │   │   ├── context.h
│   │   │   ├── custom_type_mapping.cpp
│   │   │   ├── custom_type_mapping.h
│   │   │   ├── generate_ast.cpp
│   │   │   ├── generate_ast.h
│   │   │   ├── impl_lookup.cpp
│   │   │   ├── impl_lookup.h
│   │   │   ├── import.cpp
│   │   │   ├── import.h
│   │   │   ├── location.cpp
│   │   │   ├── location.h
│   │   │   ├── macros.cpp
│   │   │   ├── macros.h
│   │   │   ├── operators.cpp
│   │   │   ├── operators.h
│   │   │   ├── overload_resolution.cpp
│   │   │   ├── overload_resolution.h
│   │   │   ├── thunk.cpp
│   │   │   ├── thunk.h
│   │   │   ├── type_mapping.cpp
│   │   │   └── type_mapping.h
│   │   ├── custom_witness.cpp
│   │   ├── custom_witness.h
│   │   ├── decl_introducer_state.h
│   │   ├── decl_name_stack.cpp
│   │   ├── decl_name_stack.h
│   │   ├── deduce.cpp
│   │   ├── deduce.h
│   │   ├── deferred_definition_worklist.cpp
│   │   ├── deferred_definition_worklist.h
│   │   ├── diagnostic_emitter.cpp
│   │   ├── diagnostic_emitter.h
│   │   ├── diagnostic_helpers.h
│   │   ├── dump.cpp
│   │   ├── eval.cpp
│   │   ├── eval.h
│   │   ├── eval_inst.cpp
│   │   ├── eval_inst.h
│   │   ├── facet_type.cpp
│   │   ├── facet_type.h
│   │   ├── full_pattern_stack.h
│   │   ├── function.cpp
│   │   ├── function.h
│   │   ├── fuzzer_corpus/
│   │   │   ├── 008cb7b685ac13c051abc8e778bb56c6be8c920d
│   │   │   ├── 016a8df42375f098eaf2bda8fa7ed1cdd322e51d
│   │   │   ├── 01b6283c2544cf135b8c219478e5b0f8da2325ed
│   │   │   ├── 02163cf92aea19e124c4a5838dae8f0ed340fbfa
│   │   │   ├── 0234ac9a0b945c8a32fc87ee33f9a6d8f9933019
│   │   │   ├── 023877f085e3eedd9a0f13951f04859de07944e9
│   │   │   ├── 0272d8c7b9a7495efe6a19e9e814ecbe55823213
│   │   │   ├── 03a61af13df6ab601a52a1784995ad7b84d04555
│   │   │   ├── 03f031da904f8bb48412e82acaa77957fde2445b
│   │   │   ├── 0444b366b646a800d860d362876dec36afb41e42
│   │   │   ├── 048e2bfcc725778f118b704acf2679b712bc6ded
│   │   │   ├── 068ac29021d30e21dc976177ae56f68096da6740
│   │   │   ├── 06c71952ad52d77790a1a5eb631eaa0759800fec
│   │   │   ├── 078ec0d032fa51fabffef18fc82712e9536b013e
│   │   │   ├── 07b0e6716d0adf617012146642d9cba39b9b006b
│   │   │   ├── 081d7c4effd1e9cc6129090e3c831e1af2633e62
│   │   │   ├── 0831e49d5a00cd7ae6512b7cd8f782c1ed305fa5
│   │   │   ├── 083cd63392060ddfbc062ce0ba14a7ac89441a1f
│   │   │   ├── 0900a9afaef22b798df75b576e8096343a98903a
│   │   │   ├── 09762ec95a5e7e5a232b735f95e808da510678fd
│   │   │   ├── 0c1db2e8ec3df9d6adf52c88ba67333e2059da97
│   │   │   ├── 0ce1b0382ddf1eaf0a21e39a1932936edd0c7b63
│   │   │   ├── 0d824e8e58e5a28b74bfde959ca83df292a33702
│   │   │   ├── 0d9b1f8863ca4b08680e246aeb58b12737afc902
│   │   │   ├── 0dc65251b81300d504287a2f7be97054bd22d386
│   │   │   ├── 0fc717e2905c26bce32a4591acdd0f46859765a2
│   │   │   ├── 10204d82b32ad9dc256b595048de9efabd93067f
│   │   │   ├── 11253cbc5df4b6b891cc68ac943599555d3e30dc
│   │   │   ├── 12b56f338f82115bc9733846f50bc5863ca3fd9c
│   │   │   ├── 12c9b3f16c56bbb271111f4bdc8a2401dab16154
│   │   │   ├── 138a0e4547e111ad5cc545e9b19a1e430348636b
│   │   │   ├── 13f9d954261112e0d9131eb97327515395550d00
│   │   │   ├── 1551a409e456b8102c5b44313303aad008b2a06d
│   │   │   ├── 155ec88a933f5a3ae411ee810eb89f5631bff2d5
│   │   │   ├── 15a7fdcf1eda6e722c03d2cccbc93ddf75681128
│   │   │   ├── 162348262c5e2797cf53a49adec2c1df056268d2
│   │   │   ├── 16fb4fcee5f2fbd4b5b4e65358ab00e800f67db9
│   │   │   ├── 17261c3182bd1de4382f0d3fef3917a949c36e32
│   │   │   ├── 17dc6eb1bbb8fd9671f46aa63924cf1a76837a2c
│   │   │   ├── 184c236354c35072383945d9e6bdf0c005b5d20e
│   │   │   ├── 18909d083c5867fc03a952211bd61ca688bb908e
│   │   │   ├── 1986b4fb3bc5c60ad5f4faa1b8003beb70a7ece8
│   │   │   ├── 1a5c8022aeb946ee3551e569dad4ed36cdbcd44f
│   │   │   ├── 1afe54e48b1e5bcdd7c8949513e0b2a3fbde1a65
│   │   │   ├── 1b85cf86024d9fcfe011f6998861b289aac97e60
│   │   │   ├── 1baac08b0dfe6bf0b1157757b14ad4a389ba4693
│   │   │   ├── 1be679f324846aca4379ea4939981410425b287f
│   │   │   ├── 1c56a65ba702fd27f5a72caf9c5e9170312db350
│   │   │   ├── 1c7eed351b92a87b8fd0c60d58e1916f3ae242d6
│   │   │   ├── 1d35c2bfb3606a1875a7d9218edc05b242cc75aa
│   │   │   ├── 1e1c015742738ddadeecb98baeb2988e9debfb6f
│   │   │   ├── 1e55c67e9a55008a70df08daf7964b04102f5dd7
│   │   │   ├── 1f6409865ff8ddad8bc5771a00d12932a67fb7dd
│   │   │   ├── 20e03ea11ed959b8d8c2815133dbf0b31e2164c2
│   │   │   ├── 2106211513dcb519a34bb65957c8fd0c85f75b16
│   │   │   ├── 219513dc72d769293ba33b019ebd2282b7833404
│   │   │   ├── 2268ee6ebd54f257f7fe853a15c6ef7785108cea
│   │   │   ├── 228ce64e3803e722ecf32dc43b499d6726756daf
│   │   │   ├── 2335a5e08cccb3045cf4b8bc8e68feb442d2324f
│   │   │   ├── 236e8e31b5787b58b23bb57e00b101f89e8535b0
│   │   │   ├── 2379517a82b1d7db9c20bb4922230d42bbffa68a
│   │   │   ├── 2394164e5f5c1d546a3da770f5b6e05994f3a30f
│   │   │   ├── 241b6bbd6226547b2428d4a5cb71fed63597659d
│   │   │   ├── 24a8948753be6ae079a443e207af49e88785fc27
│   │   │   ├── 24f96b44faf9d816c26ec36acd1f5c4562d0f1e9
│   │   │   ├── 2689f156236c25d70a265b1261f8bea8cfef527f
│   │   │   ├── 283a045fd6c041aa47df273da411d601e7dada48
│   │   │   ├── 291711a108e2ed04586d978f1ac4a730277ffbb8
│   │   │   ├── 2a9df05598f94d7fefa11dd1451237e8c7b99f60
│   │   │   ├── 2b504c78bc414daf63ba4618ebbd36bd92004d6e
│   │   │   ├── 2c05dbcf73a57af47793888b03384cdd43d5c594
│   │   │   ├── 2d316de15bbe6edbbbeb3bc65e9350a7b53e0abe
│   │   │   ├── 2df8a8f5865c0e813ed26a874c2ea0daf7421086
│   │   │   ├── 2e02f9befd32eac2983de14b6ac8cf6cef960b4c
│   │   │   ├── 2e05abea6fd46fc2b5315dca60d3b56e5b407fd4
│   │   │   ├── 2e1aea3071937c4307dd48ebb2b1df3bc9e8716f
│   │   │   ├── 300e45006b32eec72e90d33d3cd6685680448957
│   │   │   ├── 301dc6263f2a34b4630aa88e940f42acf020f160
│   │   │   ├── 3037fd1afeda607e889fe3e73fb1088d13c9f8bf
│   │   │   ├── 306f80d197d3d627368e752f1ad6aa42d2e89aa6
│   │   │   ├── 3082cf2a6045d00b6e81d3ae14a3a3d56314b988
│   │   │   ├── 310b6d61f64901b21169432ef6bbc13a2b602376
│   │   │   ├── 3116bbbb3bae537a09e62f5c8331a431d6c56b1e
│   │   │   ├── 3119cacb5f47007660225c4a63a934eff83091a2
│   │   │   ├── 317bdb0ba661c19d4be7dc1a9e0eb74529c80bba
│   │   │   ├── 31e5d9b3712744f0659429e330ba44958eadce7c
│   │   │   ├── 3292cacd15031b51dcfdd4d623e0ef30c66eb86b
│   │   │   ├── 32ffc355b444c61ccd2d80ca466aa47b4f5b4d4b
│   │   │   ├── 33358007d39274e780a256e497695c3fe46f1029
│   │   │   ├── 3476b8646b5b6b64fba9ab4b662850eff9312d41
│   │   │   ├── 358f451f412939d0e0863704128cbc4756839499
│   │   │   ├── 37934fb6e5e6d857d3227ea76872ce6a3bc4d630
│   │   │   ├── 37b6c00cc00d3ea562a9a67d365b1617be17cda4
│   │   │   ├── 396c9121839a9d9866282f987fb283fa86556474
│   │   │   ├── 3a414cdb79537ba6113eebe683a258098caebe9c
│   │   │   ├── 3abd6729fc8141ee2cf270432da6cfe0bc85c3b6
│   │   │   ├── 3ade1694dc4a9b14c34f03ad62b68872d22dee82
│   │   │   ├── 3c57cd00b20c65032e36beeae83dbc34da90d96a
│   │   │   ├── 3cf84352b479800d6fc3cf96f8493945c2211b0f
│   │   │   ├── 3d3543e880e8d01a5f3de62c8e5137fb6cddf741
│   │   │   ├── 3e2b7a2777680a17f8ee4fdc72e6e2eeccb06bbe
│   │   │   ├── 41de2a58a6891d68e779f2017ef063decc946cd4
│   │   │   ├── 423c611625411a3e7e1a514f78b3f56d4482852f
│   │   │   ├── 4250d5daad936e112c495fba82c027d68b64d5af
│   │   │   ├── 43403b1e7abd01b7c671e6defefd7531f5c6702e
│   │   │   ├── 4340b66cecbff7df2c6932cb03440a29e55bdfd3
│   │   │   ├── 4455db071205f7d5bdb9fc2fae623c64067b42d7
│   │   │   ├── 47afc3df9dd4fcdebc2c8a1ef7b0dc87435dc016
│   │   │   ├── 483ceff680765b8a2c582e18111fe71a754e1844
│   │   │   ├── 48b15c4b985c9b46b8e95e3c822ad1f65108ae39
│   │   │   ├── 48f161ebf1c515fbc92fc959814c40d6394b5360
│   │   │   ├── 498eecf3c6bcc6332b955ae5c2260a5451e73add
│   │   │   ├── 4a035921222f3bc29547b41d7ba8b6da0d6d1918
│   │   │   ├── 4a2b48d7a92dd98fe609be64224be82772f55d0b
│   │   │   ├── 4a53102a9f8003845552337ac998169e11d09d50
│   │   │   ├── 4ab72b4e37f3135ed58cbad67238c92072799757
│   │   │   ├── 4be506d3d29dbde616deda5b966e460b702d8078
│   │   │   ├── 4c74c032df7c917af8e4bc833b777bb2bec80211
│   │   │   ├── 4ce8273ccba8f2b4cf0d8b721bf35b100e19e0b2
│   │   │   ├── 4d2449569a2536b234828155b7449ee755d60a1c
│   │   │   ├── 4dd5200e6960e3538c180263762afa41dafd9e85
│   │   │   ├── 4f3bfc326a24c79bc61dd3f657879de3c4c92393
│   │   │   ├── 50fa09b0616f12e3550c8d8db69371cc2909a299
│   │   │   ├── 51be544495cddd6b63fa15569d1f9c15da88d404
│   │   │   ├── 52aef5e56788c511815ca05612341c56cf96bc7c
│   │   │   ├── 547ffea2b538ce83c02ff5e112290b3c72f944dc
│   │   │   ├── 54887e4d15dfaada3929936e0a970b82c1dfb62e
│   │   │   ├── 54dab9151ed3293f3aec67e58aa20e26aa632a98
│   │   │   ├── 54e697b7fd97a4ca280483aac15d69a1fe995994
│   │   │   ├── 55bafb0b85e56d740867aa2eced4270cee6022ec
│   │   │   ├── 55cffdb200c153f12a0b584d8f24754b6a5cdbca
│   │   │   ├── 56aa3535abaf9c5df81b685d1eb0a71f5d80f43c
│   │   │   ├── 5730670e62da8cb89476867288e21c654dcde6e5
│   │   │   ├── 5aa8d527e2f0f75c4013ddde704d0f7f6afa4ad5
│   │   │   ├── 5b0309128112c0a5ac3a2ffcd03a66d062224d48
│   │   │   ├── 5b19e864b0b73fde9f4ec0903239424fb6c036ca
│   │   │   ├── 5b3a56d8084b2c87582aa9cb7f0ff56cfde0f0b5
│   │   │   ├── 5bbdca0e72629685bfc1132d00e114960b2fcb82
│   │   │   ├── 5bd0c3c2901ec5b0052a7a9a76eb84cb611d1c42
│   │   │   ├── 5d0c180874af1a76aaa137f32b3eecedb408ceef
│   │   │   ├── 5d8390990020b1a44590ce1b13c484d1075dc50f
│   │   │   ├── 5da086526436d984a0e8b01ca482b178852084e5
│   │   │   ├── 5dce231f6950396fe0965788b6d8f24cf033b4b4
│   │   │   ├── 5e45e4e1b479e4388e38277605992ce44cea1e57
│   │   │   ├── 5e968b8fb1b7fa51cea34638d04c2b0c75b3c92f
│   │   │   ├── 5f89b222e699d47c8a41bb74abebc81f76578cf0
│   │   │   ├── 5f954e8ee1ace4e6a57d4defefc7d87c30deadbe
│   │   │   ├── 6003b3dcd82396edba816e537507a435839fe1f8
│   │   │   ├── 616631daa1b2f3fb44b606c331569f490f341778
│   │   │   ├── 631701015ee748a5c3d22fe34412f7b00c32a4af
│   │   │   ├── 6485f068351f2f9eb9124bc4032d5fdad43fc611
│   │   │   ├── 64cabff382c905a7598bdb67fdc450e7d675a22e
│   │   │   ├── 64d95aad6787b2388d89783f9f19de16ad3bf546
│   │   │   ├── 66400bd8514c00f6cf25eff62d2e48445f57182c
│   │   │   ├── 6771c2bd2677e585863903ea55026479ccd17870
│   │   │   ├── 67aaf0d5127285b5bc7f230c34abeb2f046cc18c
│   │   │   ├── 68adfc912ab9c22031735ea064b9abfb759e860b
│   │   │   ├── 68aebf293bd4ae573c514613325fcf490c8d98c4
│   │   │   ├── 69ae9f5b1bed179e5cccdfb4f7351a3fa7825d46
│   │   │   ├── 69bab187ee3bed045d1af0a1325d5daabbfebcb7
│   │   │   ├── 6b59783e9131166ae1396039351b8920c1532eda
│   │   │   ├── 6bcc2a0c19cfffb661acb141bc57e351b31fe545
│   │   │   ├── 6c0ade4e7511d55f3594435cbab260c61c6eb433
│   │   │   ├── 6c4ef5a1d954eca2c4076a9ab38c85ed546d7d78
│   │   │   ├── 6c7a321e86789ab26b7bdb3e5709364a0d4cd686
│   │   │   ├── 6d8712954da7301cf9eba612efb43217ff2c9c9d
│   │   │   ├── 6d9f91f6f40fb8ddf061ae76c5f2beaefe6c8bee
│   │   │   ├── 6e7b40cf5df2608cac7f3a034875623185812bdc
│   │   │   ├── 6ee7d990d6d84b254f8ff655a2a9061ff87df262
│   │   │   ├── 6f39466681bb52b19ab384450e0bbb67598fd2ce
│   │   │   ├── 6f97d913a4f39bd5e8501dec2cc7bcf87e23e9d0
│   │   │   ├── 70f5b6fb23691d532301ffb58ab24649f6454d8c
│   │   │   ├── 710cfbe95b3fc5a9bb53fce89ef1a0abe2e09e85
│   │   │   ├── 71a53f6b5ecb6b4368eee4224d614609f4ff4d56
│   │   │   ├── 723771f1826c803bbd50afe6e703268a89d6edab
│   │   │   ├── 72a4e959879e3eaffd79dc30af15cb2ada073648
│   │   │   ├── 73235c4067e2da4fc1dbfe403e2354fd0598b639
│   │   │   ├── 7405fcca02b54d584c14af5493adc45467b2fdd9
│   │   │   ├── 7471dc3d8630cf15ed61e384f95aeb80117b3e69
│   │   │   ├── 760ef78e2194d159e3160c5f1ed9c2d14461da19
│   │   │   ├── 78280fde00fc74d5293e1df394c1cf6012277f2c
│   │   │   ├── 79189aed1ece423113c07026aa1d7b2c9f79050c
│   │   │   ├── 79df4004383e0a52581c0b97ce9cf662e0032101
│   │   │   ├── 7a700c8e06316b9d48f34dcbdd6c79c9ca739570
│   │   │   ├── 7b1de3f5a9e1d40dbd7c4b342ec1da84cceb016f
│   │   │   ├── 7c27cb6aeaf045bb89f59207280218ae5712357d
│   │   │   ├── 7c829002e321ac8fbc1b7bcc46f58f3032646bfb
│   │   │   ├── 7ca9fe97a14160b8620cee481aba4f12ef5e239f
│   │   │   ├── 7cc77a9919de591289f6f01b7f3df2d2daa58297
│   │   │   ├── 7f5cf073e6e1bfe73c3256257aa83cffc3456ce5
│   │   │   ├── 80e834464c299e6fa3fed5551d31712d4ae0adc2
│   │   │   ├── 8232c8a2839a7671df6947987108ae25e6027767
│   │   │   ├── 82431aad891633c384f8e3dc8af548420cfc207a
│   │   │   ├── 827994a1d2fbe88e785e28ac7fe3dc2d8043e8ad
│   │   │   ├── 8308e1750041583282a6c913cc4e2c4fb9f48353
│   │   │   ├── 83941bf67b0cd2e4d3f7502b2bb40a83889bf78b
│   │   │   ├── 83e710c959e54010bceb9b0aad34ded746b6eb2a
│   │   │   ├── 842268df9223d721e951b5865fb9d9c684129679
│   │   │   ├── 85017c3fdc47972d87932e4089f349f6c324ece9
│   │   │   ├── 85cde7cf9e3e8e282a265f653b60cb0ef60b8b48
│   │   │   ├── 85f4667d9dee7230ec98fd7a1b1c7455a6a4ab5d
│   │   │   ├── 874eddf3ad6e08849a2214088ee525df154883c6
│   │   │   ├── 877257bc5b2b43345bd445518317b709596eac7c
│   │   │   ├── 88031d95585417463e2939d40ff53cc9c8a12221
│   │   │   ├── 89a6c64c03c3683482810e5362c2417be45ed07c
│   │   │   ├── 89af2ff0da3a9c42a04a7b2b3bbc05755060273d
│   │   │   ├── 89fab5bae29d8a674f37cce24cbedeff198cfb5d
│   │   │   ├── 8aed12f4aa27c3ac5d1b3703d202428777fe983b
│   │   │   ├── 8cbe098387a007f60eb4209259915d6d85532fa5
│   │   │   ├── 8e0b56d89ffc8caa0feaf38b36642aea4c1be601
│   │   │   ├── 8f27934a9f00dec469d67e7336b7d8f52ec4abd6
│   │   │   ├── 8fab0dc50d28280cdeab5def1ae75d70f860a1a7
│   │   │   ├── 90ce2617c868946d7fa04649195ab1ab5fff4b20
│   │   │   ├── 92904c2b09ee456d0d1a2cf3d69dfd26fd190641
│   │   │   ├── 92b290bf1d1d95e5a7e7813af2199781f92b350e
│   │   │   ├── 92b34177d4245d4172436708ba988ac171eb9eb2
│   │   │   ├── 932e6052bd882919514042cc953293cd63659b5e
│   │   │   ├── 94a3ce6126281beaf24a4595ac2f27a2c6e04b2d
│   │   │   ├── 964b65adb9c33d86539ec025f5cf745e1c4e61e1
│   │   │   ├── 96656d19f3e5b82f968f3b4282ba524a814595b3
│   │   │   ├── 968568fe7d320af2e8e6adfc30e3f81dd2f8818e
│   │   │   ├── 9706cab087de61b00158e0ac6d755f1352589bdd
│   │   │   ├── 9745b84a597bf13955fb7d208e94f2795aeb7813
│   │   │   ├── 9787ad2c566323a856a6225b91dbbfbf8e8d3ee8
│   │   │   ├── 979f63c217bbde19dd385c49d577dc3090d54317
│   │   │   ├── 98b45893e4f4c1b0a893d2562df5e8559555f223
│   │   │   ├── 9909b29e2f33447fa30b3b261cc7c672740e1236
│   │   │   ├── 9a3f71755e720ffdafd5d7112321c8796d46fc62
│   │   │   ├── 9af28460c915ac87c79b91ff233959dc031cf3cc
│   │   │   ├── 9bfc6a4a473aa74403e38910c8843a87cbee0dd9
│   │   │   ├── 9cadde2867b9fe7867d7d217139982632f640cc0
│   │   │   ├── 9f27297beea402d07125cf1bb0c7081ceb401bb5
│   │   │   ├── a01f53c98465a54636523de8f520a4a20bdd1403
│   │   │   ├── a091cfa270edff9d7192eeb8f594ea77b09bba3d
│   │   │   ├── a0c798f9f52432ff1f72f8aa1ba9f7830a105f09
│   │   │   ├── a13c6779bdbc457a609f9667267beed711896f6f
│   │   │   ├── a1786976927e1d3184a978427bc5bb1cfa7aefa4
│   │   │   ├── a1bba96a1c0e17301f64b08c70a3df48170bd730
│   │   │   ├── a1f193dcf4589332a9130b6551c1afa7fe79656a
│   │   │   ├── a2cfb003a0e59b4e421af3880c551363b8ff78f0
│   │   │   ├── a2de12dcf9c2df7a3ac23b82f802b3d076e6ad86
│   │   │   ├── a3cfd48c1f4a33aad9d1552ddbe46d44a2436384
│   │   │   ├── a6bf2f116b1e98f7546e9bce3b9d2946d8074aa2
│   │   │   ├── a780174f6f7b59148dbb023be4e3659a92541020
│   │   │   ├── a8a90bb993589759a112cf567143c47be5a89ac4
│   │   │   ├── a8a999063a872e7de8a55734e0f4a198efeeaafb
│   │   │   ├── a93b46ffd68cc67330744e0ed1099a14bdb56b47
│   │   │   ├── a9c4f7786b6b8ba23fa102e8ba2296752120ae84
│   │   │   ├── ab1d10a814f9068e09642a678671d76511342dd4
│   │   │   ├── ab97f0b738451b9e490d7cadaacc8081ae676240
│   │   │   ├── ac4a09688df096b7967d347059fe514b011a0c5e
│   │   │   ├── ad153a95127f656da230d82cdba152a50f871556
│   │   │   ├── aedf34fefa255ebc431491de0b68156a724221ae
│   │   │   ├── afd20d50d83e001bbd7f6db02ca1e2e0a6d1f309
│   │   │   ├── b08132223d41827e2b8cd8f849ffb7ac4af4e993
│   │   │   ├── b0a0c7b28dfac0b65bba3cf74ebd1100adf7c0b7
│   │   │   ├── b0e276497e7036c6b3c90deeff71a055256ed5e3
│   │   │   ├── b1f68671cb99a64e7c35d8453fd1f13759823e49
│   │   │   ├── b3738109fea51776656084b4904eb6161501f39e
│   │   │   ├── b39d93d15f5f9693f621391de119e616687fbfa3
│   │   │   ├── b3e6b065765987b63bb992656e202cd2753d579d
│   │   │   ├── b46338342e410d950a63cae90807b22ad2674468
│   │   │   ├── b4a3cec4308215fd5e3c772c7f3ce019c9c5b026
│   │   │   ├── b4e1923164eed688e64d926007d332b4d9a7bafb
│   │   │   ├── b5025c7140bdccbefb9823d5906815f7aea5f555
│   │   │   ├── b585c712c89adab1146766f73010d48b0a9d9de5
│   │   │   ├── b6b53ceb779903ab3b483786d48390423bbbe797
│   │   │   ├── b8695514d6502d5b1b9e09cc61711898dbe1e486
│   │   │   ├── b9d290495c4dce17305b5d9d29e2ae54c6242b54
│   │   │   ├── ba4fa6565defd5cc4b8921ed0d478be330350658
│   │   │   ├── ba5b59911968d39433b9003d02e3ff4fa7b4b177
│   │   │   ├── bab137edbdcbcf1220dc018b55d49066378523e9
│   │   │   ├── bb0ee9a7c7f604c41cfef744a974c6603df4b0db
│   │   │   ├── bc8de3dd156c3193c1a5209c7023499abe9bbdde
│   │   │   ├── bd4d126e58ef4f15642eeba1d41a830e217a4ad1
│   │   │   ├── bd5f439085bdf3ab0cbe796b3637cf9139fb1914
│   │   │   ├── bee65bde4d7da5558b60a5dacb8a5826486b1df2
│   │   │   ├── bff4337d7117fd0883b58ac02469d740648a8072
│   │   │   ├── c07f23f6980fe961e62413e101aa21f1696e3e41
│   │   │   ├── c294ac41a73adf8be9ed88cbc20458d7fad20f68
│   │   │   ├── c2efeeb24454e0da713af7391d28f6b1f1820d6c
│   │   │   ├── c3c888581796e961aed506d812407f76c99c1659
│   │   │   ├── c42ace6ddd8e547dced2e0ed23181b826788913d
│   │   │   ├── c4d643c7e8081d02c8467600200be7be29d58d8d
│   │   │   ├── c5cd5cb2197a889e003767ff5c0de2040094ac96
│   │   │   ├── c5ec8aaab0717d6b901c8bc42757700a342aaf32
│   │   │   ├── c6812fb07715a0206afeac4ac2275784a158cf63
│   │   │   ├── c855a3994277ba5408dbbadaa49d92b52f2467d2
│   │   │   ├── c86a4df5e4046b6cffb57a8563514e8ea459147a
│   │   │   ├── c8c23b0c0d7655f81ac96fdb089bcb7a82c25950
│   │   │   ├── ca5382377576c400f270660fcce6472e8664deb9
│   │   │   ├── ca69be54b8273f334ab8c7db0ad454c5ff0291c9
│   │   │   ├── cb2c2e620fb2192d723bcecff7a8cadd41775362
│   │   │   ├── cbd23efc1218cbf81ebdcb503cfeaaf6925c29d2
│   │   │   ├── cbe88d560d36df81f2d7ae7910a44e6926d46f7e
│   │   │   ├── cc055d77975b79cf9281d71e00182aaeef7ccf1b
│   │   │   ├── cc2d5a48c731ae4058d884411e7235b2ae4bf829
│   │   │   ├── cc774069d5739d66235983360e14f8740de6d975
│   │   │   ├── ccaf2f7ac19101566bddd7e0b4bcbb5434a38bf4
│   │   │   ├── cd940109a8870955e7eb8e03004304e9dc7fc808
│   │   │   ├── cded9327e7355942a46c8e25c8328275dbef50bf
│   │   │   ├── ce2080f786cedebec8a0147b450b3a9a85365258
│   │   │   ├── cff3eed86965820544d6454ed5d9cf0735a7bf48
│   │   │   ├── d0d95941336a7a4ac3202f363708dbc685900f64
│   │   │   ├── d1ec799a11b9190d5a39b84e45558cba93c31fdd
│   │   │   ├── d2a4af5c22209dd1503f38d0a36d75e9b21a8bd4
│   │   │   ├── d3fc2d9df6573461a1ea20c7997f27dfd9f1ee8f
│   │   │   ├── d533854f44af409027dfc8c1c288f90ebf111192
│   │   │   ├── d5a91fb15ac01afd500538b5679647289146045a
│   │   │   ├── d5af10d2b47f3859bcc15da85fa3d077b942f43a
│   │   │   ├── d5f20d0057317362bc92258e8c06f6b03c2926a4
│   │   │   ├── d60be9abac4bd2cb92b3432b7c10771def0c009e
│   │   │   ├── d698884570f5265a3cd5ab0b822ed28fba467d13
│   │   │   ├── d77e0fdacf1d3d9c711e24c8b088e2da26d98746
│   │   │   ├── d7de67b2375a361719d942f4cf49ea0a9cdf2c45
│   │   │   ├── d81e51e207bd2a4077a15890f337487a93060f7b
│   │   │   ├── d87e64cb8726f55d05773858cbe6979e550c0f5c
│   │   │   ├── d967a050c50d0b75e8f64611560b0f221bd9525f
│   │   │   ├── da795d40354dd38e3d00b82c7790eb4d6c8ec2b5
│   │   │   ├── db5937dfd7d8e43ea817fbcac0b83ad38ccae116
│   │   │   ├── dbd0b78b1bfd4878676ac3d882aee2b797d7af15
│   │   │   ├── dccc5c3818f328ee1fd500f899c37ac0af7b2182
│   │   │   ├── dcde55e2a4e60d6bf3dd574d15a425e30279d53c
│   │   │   ├── dd662568f4fe92a74f53b026f11638725f966e0b
│   │   │   ├── de46bc1199653f93b7db2c1c39e7ca61dfa6b810
│   │   │   ├── e028180f3ba177567c45f5149e96c0313d1b175f
│   │   │   ├── e03df3e0be45ac48d5ad2d59b67b677678a76de6
│   │   │   ├── e0afc6bd74d5718e01a5888df16600e8a4645f63
│   │   │   ├── e2c590fff5cd302d986f3fed578e45fa09836052
│   │   │   ├── e3895b1888cb48ad3ab9c9cd3b78debedb0ad5e9
│   │   │   ├── e45bda3cd3778f2372ce18cc0d9ff7bbf1f50ba5
│   │   │   ├── e48c19846a9d9a8418fbf4e363eb69d720fdab9d
│   │   │   ├── e4b64d16a5d43dc7e5bee135714611d2929364a6
│   │   │   ├── e657c790f4c10f0678e90dc52facef51920a94d3
│   │   │   ├── e673a37cb310aaa88cbc216044663eb2c49ae76f
│   │   │   ├── e6da0876675b17c319ea55bf19ecbc12b779d3df
│   │   │   ├── e77f7b118df2a85fa55e8798a40f343b59ceab88
│   │   │   ├── e78aa6328c0b365b87a34a2dd1cb8e5270e04a0b
│   │   │   ├── e9dff14915dda34282efb04147877d0fc83ba2a0
│   │   │   ├── ea454bd2c8e7219c267ca0b01e27c649999c1451
│   │   │   ├── ea82b6f22005103932231c0641c74b125fcc7fb0
│   │   │   ├── eaa7bb9e4dbf3576f9587cd88b29976ca2024fe6
│   │   │   ├── eaca8f02a5ca41d60a68be9186e5f79538ae2719
│   │   │   ├── ebb86c45027660ce57bbadede73ab1a5dbc43e35
│   │   │   ├── ecd12a6a72a7c5cdf93dd9bb7637cb35f65c1d00
│   │   │   ├── ecdb111d6c89a22189b961cb47ab1e73df8ed430
│   │   │   ├── ed0769767eea7a7e0ee58d52278417c698605719
│   │   │   ├── ed28ae6948896b9be69c556380b22f8c6fdee8d1
│   │   │   ├── ed306e9bbd8d275d000beb5cf551284765c97c23
│   │   │   ├── ee45e8d94544f8f79e7b6330365a9426715f47f9
│   │   │   ├── ee8db01890a0f9c520e30f1d75c44efabbbbdb01
│   │   │   ├── eed2aa2d6ca72b1972eaf2bb206a0591a2ce9a95
│   │   │   ├── eeea07311e1c93999ce139f71cc5e6be83ae938d
│   │   │   ├── ef87d1f2a1afcc05941ade6a5bd57c9fdea83b34
│   │   │   ├── f0122e82b0498ec11a6a9d68e6de8440d891b272
│   │   │   ├── f0457f1e27c67e8425559e6b753cca540cf69f65
│   │   │   ├── f0ddb293345e5013757ebfacd7769ef92acd41d4
│   │   │   ├── f1986481baa957b8dd977f8ca3e8c4107d492799
│   │   │   ├── f19c5bb5147295d791fb5d6899d93ed7a23c072f
│   │   │   ├── f1b24ed86c606cde53c498fc6411053d0ae22ced
│   │   │   ├── f1d88daac0be722a2a2e6bedd09b39e240043653
│   │   │   ├── f2b43d44db5dec0cca4bc6fc63f487fabae1b941
│   │   │   ├── f39ac0d9de634c2a723f879231e77ef600e036d9
│   │   │   ├── f4f4353df90e753e832eb974c782e27dbe6753d4
│   │   │   ├── f669b57c4be29746f06e2ad46b428769a791dd07
│   │   │   ├── f71cbd0475ddb41b78a0d439aa78ae1e2eec0df5
│   │   │   ├── f72b3c6b4ade452568f6834dd6e5896d1772ff2f
│   │   │   ├── f72fd742e291347d71ef000e002dc8e8baa13830
│   │   │   ├── f7b8bc9f4b18f013697267cc9c966ae65f4cd7e3
│   │   │   ├── f7c747dc5107c73b9c4bfe6f24267f04ba16d129
│   │   │   ├── f91e230199efd6367f8622f5a6eaa54d1d4d8e90
│   │   │   ├── fa056963c20a8a8dc279cb2e2a9b769338cc92da
│   │   │   ├── fa11a132da6f10be8e8aa10cbd25ea5d8107a614
│   │   │   ├── fb4504a84cc35d086689b9f93eb9f365331f4750
│   │   │   ├── fbd855380068533d0148c6011a302bf07cae0612
│   │   │   ├── fc2e6307261474cbadb9046919ff50710904d4d5
│   │   │   ├── fc927b8e82af4dcdaa2495e28ff7269c43456ff2
│   │   │   └── fdc040e7e474c3ec5da7044a80e2df6bfcb80917
│   │   ├── generic.cpp
│   │   ├── generic.h
│   │   ├── generic_region_stack.cpp
│   │   ├── generic_region_stack.h
│   │   ├── global_init.cpp
│   │   ├── global_init.h
│   │   ├── handle.h
│   │   ├── handle_alias.cpp
│   │   ├── handle_array.cpp
│   │   ├── handle_binding_pattern.cpp
│   │   ├── handle_call_expr.cpp
│   │   ├── handle_choice.cpp
│   │   ├── handle_class.cpp
│   │   ├── handle_codeblock.cpp
│   │   ├── handle_export.cpp
│   │   ├── handle_expr_statement.cpp
│   │   ├── handle_file.cpp
│   │   ├── handle_form_literal.cpp
│   │   ├── handle_function.cpp
│   │   ├── handle_if_expr.cpp
│   │   ├── handle_if_statement.cpp
│   │   ├── handle_impl.cpp
│   │   ├── handle_import_and_package.cpp
│   │   ├── handle_index.cpp
│   │   ├── handle_interface.cpp
│   │   ├── handle_lambda.cpp
│   │   ├── handle_let_and_var.cpp
│   │   ├── handle_literal.cpp
│   │   ├── handle_loop_statement.cpp
│   │   ├── handle_match.cpp
│   │   ├── handle_modifier.cpp
│   │   ├── handle_name.cpp
│   │   ├── handle_named_constraint.cpp
│   │   ├── handle_namespace.cpp
│   │   ├── handle_noop.cpp
│   │   ├── handle_observe.cpp
│   │   ├── handle_operator.cpp
│   │   ├── handle_paren_expr.cpp
│   │   ├── handle_pattern_list.cpp
│   │   ├── handle_require.cpp
│   │   ├── handle_return_statement.cpp
│   │   ├── handle_struct.cpp
│   │   ├── handle_tuple_literal.cpp
│   │   ├── handle_where.cpp
│   │   ├── impl.cpp
│   │   ├── impl.h
│   │   ├── impl_lookup.cpp
│   │   ├── impl_lookup.h
│   │   ├── impl_validation.cpp
│   │   ├── impl_validation.h
│   │   ├── import.cpp
│   │   ├── import.h
│   │   ├── import_ref.cpp
│   │   ├── import_ref.h
│   │   ├── inst.cpp
│   │   ├── inst.h
│   │   ├── inst_block_stack.cpp
│   │   ├── inst_block_stack.h
│   │   ├── interface.cpp
│   │   ├── interface.h
│   │   ├── keyword_modifier_set.cpp
│   │   ├── keyword_modifier_set.h
│   │   ├── lexical_lookup.h
│   │   ├── literal.cpp
│   │   ├── literal.h
│   │   ├── member_access.cpp
│   │   ├── member_access.h
│   │   ├── merge.cpp
│   │   ├── merge.h
│   │   ├── modifiers.cpp
│   │   ├── modifiers.h
│   │   ├── name_component.cpp
│   │   ├── name_component.h
│   │   ├── name_lookup.cpp
│   │   ├── name_lookup.h
│   │   ├── name_ref.cpp
│   │   ├── name_ref.h
│   │   ├── name_scope.cpp
│   │   ├── name_scope.h
│   │   ├── node_id_traversal.cpp
│   │   ├── node_id_traversal.h
│   │   ├── node_stack.cpp
│   │   ├── node_stack.h
│   │   ├── operator.cpp
│   │   ├── operator.h
│   │   ├── param_and_arg_refs_stack.h
│   │   ├── pattern.cpp
│   │   ├── pattern.h
│   │   ├── pattern_match.cpp
│   │   ├── pattern_match.h
│   │   ├── pending_block.h
│   │   ├── pointer_dereference.cpp
│   │   ├── pointer_dereference.h
│   │   ├── region_stack.h
│   │   ├── return.cpp
│   │   ├── return.h
│   │   ├── scope_index.h
│   │   ├── scope_stack.cpp
│   │   ├── scope_stack.h
│   │   ├── subst.cpp
│   │   ├── subst.h
│   │   ├── testdata/
│   │   │   ├── alias/
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── builtins.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── import_order.carbon
│   │   │   │   ├── in_namespace.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   └── preserve_in_type_printing.carbon
│   │   │   ├── array/
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── bound_values.carbon
│   │   │   │   ├── element_mismatches.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── index_not_literal.carbon
│   │   │   │   └── init_dependent_bound.carbon
│   │   │   ├── as/
│   │   │   │   ├── adapter_conversion.carbon
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── const.carbon
│   │   │   │   ├── maybe_unformed.carbon
│   │   │   │   ├── partial.carbon
│   │   │   │   ├── unsafe_as.carbon
│   │   │   │   └── var_init.carbon
│   │   │   ├── basics/
│   │   │   │   ├── dump_prelude.carbon
│   │   │   │   ├── dump_sem_ir_ranges.carbon
│   │   │   │   ├── dump_sem_ir_ranges_ignore.carbon
│   │   │   │   ├── dump_sem_ir_ranges_only.carbon
│   │   │   │   ├── duplicate_name_same_line.carbon
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── include_in_dumps.carbon
│   │   │   │   ├── multi_error.carbon
│   │   │   │   ├── name_lookup.carbon
│   │   │   │   ├── parens.carbon
│   │   │   │   ├── raw_identifier.carbon
│   │   │   │   ├── raw_sem_ir/
│   │   │   │   │   ├── builtins.carbon
│   │   │   │   │   ├── cpp_interop.carbon
│   │   │   │   │   ├── multifile.carbon
│   │   │   │   │   ├── multifile_with_textual_ir.carbon
│   │   │   │   │   ├── one_file.carbon
│   │   │   │   │   └── one_file_with_textual_ir.carbon
│   │   │   │   └── verbose.carbon
│   │   │   ├── builtins/
│   │   │   │   ├── bool/
│   │   │   │   │   ├── eq.carbon
│   │   │   │   │   ├── make_type.carbon
│   │   │   │   │   └── neq.carbon
│   │   │   │   ├── char/
│   │   │   │   │   └── convert_checked.carbon
│   │   │   │   ├── char_literal/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── cpp/
│   │   │   │   │   └── std/
│   │   │   │   │       └── initializer_list/
│   │   │   │   │           └── make.carbon
│   │   │   │   ├── float/
│   │   │   │   │   ├── add.carbon
│   │   │   │   │   ├── add_assign.carbon
│   │   │   │   │   ├── convert_checked.carbon
│   │   │   │   │   ├── div.carbon
│   │   │   │   │   ├── div_assign.carbon
│   │   │   │   │   ├── eq.carbon
│   │   │   │   │   ├── greater.carbon
│   │   │   │   │   ├── greater_eq.carbon
│   │   │   │   │   ├── less.carbon
│   │   │   │   │   ├── less_eq.carbon
│   │   │   │   │   ├── make_type.carbon
│   │   │   │   │   ├── mul.carbon
│   │   │   │   │   ├── mul_assign.carbon
│   │   │   │   │   ├── negate.carbon
│   │   │   │   │   ├── neq.carbon
│   │   │   │   │   ├── sub.carbon
│   │   │   │   │   └── sub_assign.carbon
│   │   │   │   ├── float_literal/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── form/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── int/
│   │   │   │   │   ├── and.carbon
│   │   │   │   │   ├── and_assign.carbon
│   │   │   │   │   ├── complement.carbon
│   │   │   │   │   ├── convert.carbon
│   │   │   │   │   ├── convert_checked.carbon
│   │   │   │   │   ├── eq.carbon
│   │   │   │   │   ├── greater.carbon
│   │   │   │   │   ├── greater_eq.carbon
│   │   │   │   │   ├── left_shift.carbon
│   │   │   │   │   ├── left_shift_assign.carbon
│   │   │   │   │   ├── less.carbon
│   │   │   │   │   ├── less_eq.carbon
│   │   │   │   │   ├── make_type_signed.carbon
│   │   │   │   │   ├── make_type_unsigned.carbon
│   │   │   │   │   ├── neq.carbon
│   │   │   │   │   ├── or.carbon
│   │   │   │   │   ├── or_assign.carbon
│   │   │   │   │   ├── right_shift.carbon
│   │   │   │   │   ├── right_shift_assign.carbon
│   │   │   │   │   ├── sadd.carbon
│   │   │   │   │   ├── sadd_assign.carbon
│   │   │   │   │   ├── sdiv.carbon
│   │   │   │   │   ├── sdiv_assign.carbon
│   │   │   │   │   ├── smod.carbon
│   │   │   │   │   ├── smod_assign.carbon
│   │   │   │   │   ├── smul.carbon
│   │   │   │   │   ├── smul_assign.carbon
│   │   │   │   │   ├── snegate.carbon
│   │   │   │   │   ├── ssub.carbon
│   │   │   │   │   ├── ssub_assign.carbon
│   │   │   │   │   ├── uadd.carbon
│   │   │   │   │   ├── uadd_assign.carbon
│   │   │   │   │   ├── udiv.carbon
│   │   │   │   │   ├── udiv_assign.carbon
│   │   │   │   │   ├── umod.carbon
│   │   │   │   │   ├── umod_assign.carbon
│   │   │   │   │   ├── umul.carbon
│   │   │   │   │   ├── umul_assign.carbon
│   │   │   │   │   ├── unegate.carbon
│   │   │   │   │   ├── usub.carbon
│   │   │   │   │   ├── usub_assign.carbon
│   │   │   │   │   ├── xor.carbon
│   │   │   │   │   └── xor_assign.carbon
│   │   │   │   ├── int_literal/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── maybe_unformed/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── no_op.carbon
│   │   │   │   ├── pointer/
│   │   │   │   │   ├── is_null.carbon
│   │   │   │   │   └── make_null.carbon
│   │   │   │   ├── print/
│   │   │   │   │   ├── char.carbon
│   │   │   │   │   └── int.carbon
│   │   │   │   ├── read/
│   │   │   │   │   └── char.carbon
│   │   │   │   └── type/
│   │   │   │       └── and.carbon
│   │   │   ├── choice/
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   └── params.carbon
│   │   │   ├── class/
│   │   │   │   ├── abstract/
│   │   │   │   │   ├── abstract.carbon
│   │   │   │   │   ├── fail_abstract_in_struct.carbon
│   │   │   │   │   └── fail_abstract_in_tuple.carbon
│   │   │   │   ├── access/
│   │   │   │   │   ├── access_modifers.carbon
│   │   │   │   │   ├── import_access.carbon
│   │   │   │   │   ├── inheritance_access.carbon
│   │   │   │   │   ├── method_access.carbon
│   │   │   │   │   └── todo_access_modifiers.carbon
│   │   │   │   ├── adapter/
│   │   │   │   │   ├── adapt.carbon
│   │   │   │   │   ├── adapt_copy.carbon
│   │   │   │   │   ├── convert_incomplete.carbon
│   │   │   │   │   ├── extend_adapt.carbon
│   │   │   │   │   ├── fail_adapt_bad_decl.carbon
│   │   │   │   │   ├── fail_adapt_bad_type.carbon
│   │   │   │   │   ├── fail_adapt_modifiers.carbon
│   │   │   │   │   ├── fail_adapt_with_base.carbon
│   │   │   │   │   ├── fail_adapt_with_subobjects.carbon
│   │   │   │   │   └── init_adapt.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── complete_in_member_fn.carbon
│   │   │   │   ├── cross_package_import.carbon
│   │   │   │   ├── destroy_calls.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── extern.carbon
│   │   │   │   ├── extern_library.carbon
│   │   │   │   ├── fail_compound_type_mismatch.carbon
│   │   │   │   ├── fail_convert_to_invalid.carbon
│   │   │   │   ├── fail_error_recovery.carbon
│   │   │   │   ├── fail_import_misuses.carbon
│   │   │   │   ├── fail_incomplete.carbon
│   │   │   │   ├── fail_init.carbon
│   │   │   │   ├── fail_memaccess_category.carbon
│   │   │   │   ├── fail_member_of_let.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_redeclaration_scope.carbon
│   │   │   │   ├── fail_redefinition.carbon
│   │   │   │   ├── fail_scope.carbon
│   │   │   │   ├── fail_unknown_member.carbon
│   │   │   │   ├── field/
│   │   │   │   │   ├── comp_time_field.carbon
│   │   │   │   │   ├── compound_field.carbon
│   │   │   │   │   ├── fail_field_modifiers.carbon
│   │   │   │   │   ├── fail_todo_field_initializer.carbon
│   │   │   │   │   ├── fail_unbound_field.carbon
│   │   │   │   │   ├── field_access.carbon
│   │   │   │   │   └── field_access_in_value.carbon
│   │   │   │   ├── forward_declared.carbon
│   │   │   │   ├── generic/
│   │   │   │   │   ├── adapt.carbon
│   │   │   │   │   ├── base_is_generic.carbon
│   │   │   │   │   ├── basic.carbon
│   │   │   │   │   ├── call.carbon
│   │   │   │   │   ├── complete_in_conversion.carbon
│   │   │   │   │   ├── empty_params.carbon
│   │   │   │   │   ├── field.carbon
│   │   │   │   │   ├── generic_vs_params.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── init.carbon
│   │   │   │   │   ├── member_access.carbon
│   │   │   │   │   ├── member_inline.carbon
│   │   │   │   │   ├── member_lookup.carbon
│   │   │   │   │   ├── member_out_of_line.carbon
│   │   │   │   │   ├── member_type.carbon
│   │   │   │   │   ├── method_deduce.carbon
│   │   │   │   │   ├── redeclare.carbon
│   │   │   │   │   ├── self.carbon
│   │   │   │   │   └── stringify.carbon
│   │   │   │   ├── implicit_import.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_forward_decl.carbon
│   │   │   │   ├── import_indirect.carbon
│   │   │   │   ├── import_member_cycle.carbon
│   │   │   │   ├── import_struct_cycle.carbon
│   │   │   │   ├── incomplete_ref.carbon
│   │   │   │   ├── indirect_import_member.carbon
│   │   │   │   ├── inheritance/
│   │   │   │   │   ├── base.carbon
│   │   │   │   │   ├── base_field.carbon
│   │   │   │   │   ├── base_function_unqualified.carbon
│   │   │   │   │   ├── base_method.carbon
│   │   │   │   │   ├── base_method_qualified.carbon
│   │   │   │   │   ├── base_method_shadow.carbon
│   │   │   │   │   ├── derived_to_base.carbon
│   │   │   │   │   ├── fail_base_as_declared_name.carbon
│   │   │   │   │   ├── fail_base_bad_type.carbon
│   │   │   │   │   ├── fail_base_method_define.carbon
│   │   │   │   │   ├── fail_base_misplaced.carbon
│   │   │   │   │   ├── fail_base_modifiers.carbon
│   │   │   │   │   ├── fail_base_no_extend.carbon
│   │   │   │   │   ├── fail_base_repeated.carbon
│   │   │   │   │   ├── fail_base_unbound.carbon
│   │   │   │   │   ├── fail_derived_to_base.carbon
│   │   │   │   │   ├── fail_extend_cycle.carbon
│   │   │   │   │   ├── import_base.carbon
│   │   │   │   │   └── self_conversion.carbon
│   │   │   │   ├── init.carbon
│   │   │   │   ├── init_as.carbon
│   │   │   │   ├── init_nested.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── method/
│   │   │   │   │   ├── fail_generic_method.carbon
│   │   │   │   │   ├── fail_method.carbon
│   │   │   │   │   ├── fail_method_modifiers.carbon
│   │   │   │   │   ├── fail_method_redefinition.carbon
│   │   │   │   │   ├── fail_out_of_line_decl.carbon
│   │   │   │   │   ├── generic_method.carbon
│   │   │   │   │   ├── method.carbon
│   │   │   │   │   └── static_method.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── nested.carbon
│   │   │   │   ├── nested_name.carbon
│   │   │   │   ├── no_definition_in_impl_file.carbon
│   │   │   │   ├── partial/
│   │   │   │   │   ├── init.carbon
│   │   │   │   │   └── qualifier.carbon
│   │   │   │   ├── redeclaration.carbon
│   │   │   │   ├── redeclaration_introducer.carbon
│   │   │   │   ├── reenter_scope.carbon
│   │   │   │   ├── reorder.carbon
│   │   │   │   ├── reorder_qualified.carbon
│   │   │   │   ├── scope.carbon
│   │   │   │   ├── self/
│   │   │   │   │   ├── fail_ref_self.carbon
│   │   │   │   │   ├── fail_self.carbon
│   │   │   │   │   ├── fail_self_param.carbon
│   │   │   │   │   ├── fail_self_type_member.carbon
│   │   │   │   │   ├── raw_self.carbon
│   │   │   │   │   ├── raw_self_type.carbon
│   │   │   │   │   ├── self.carbon
│   │   │   │   │   └── self_type.carbon
│   │   │   │   ├── syntactic_merge.carbon
│   │   │   │   ├── syntactic_merge_literal.carbon
│   │   │   │   └── virtual_modifiers.carbon
│   │   │   ├── const/
│   │   │   │   ├── basics.carbon
│   │   │   │   └── import.carbon
│   │   │   ├── deduce/
│   │   │   │   ├── array.carbon
│   │   │   │   ├── binding_pattern.carbon
│   │   │   │   ├── generic_type.carbon
│   │   │   │   ├── int_float.carbon
│   │   │   │   ├── symbolic_facets.carbon
│   │   │   │   ├── tuple.carbon
│   │   │   │   ├── type_operator.carbon
│   │   │   │   ├── value_with_type_through_access.carbon
│   │   │   │   └── where.carbon
│   │   │   ├── eval/
│   │   │   │   ├── aggregates.carbon
│   │   │   │   ├── binding.carbon
│   │   │   │   ├── branch.carbon
│   │   │   │   ├── call.carbon
│   │   │   │   ├── recursion.carbon
│   │   │   │   ├── symbolic.carbon
│   │   │   │   └── unexpected_runtime.carbon
│   │   │   ├── facet/
│   │   │   │   ├── access.carbon
│   │   │   │   ├── aggregate_through_access.carbon
│   │   │   │   ├── call_combined_impl_witness.carbon
│   │   │   │   ├── combine.carbon
│   │   │   │   ├── convert_class_type_to_facet_type.carbon
│   │   │   │   ├── convert_class_type_to_generic_facet_value.carbon
│   │   │   │   ├── convert_class_value_to_facet_value_value.carbon
│   │   │   │   ├── convert_class_value_to_generic_facet_value_value.carbon
│   │   │   │   ├── convert_facet_type_to_facet_value.carbon
│   │   │   │   ├── convert_facet_value_as_type_knows_original_type.carbon
│   │   │   │   ├── convert_facet_value_to_facet_value.carbon
│   │   │   │   ├── convert_facet_value_to_itself.carbon
│   │   │   │   ├── convert_facet_value_to_narrowed_facet_type.carbon
│   │   │   │   ├── convert_facet_value_value_to_blanket_impl.carbon
│   │   │   │   ├── convert_facet_value_value_to_generic_facet_value_value.carbon
│   │   │   │   ├── convert_facet_value_value_to_itself.carbon
│   │   │   │   ├── convert_interface.carbon
│   │   │   │   ├── early_rewrites.carbon
│   │   │   │   ├── facet_assoc_const.carbon
│   │   │   │   ├── fail_convert_class_type_to_generic_facet_value.carbon
│   │   │   │   ├── fail_convert_facet_value_to_missing_impl.carbon
│   │   │   │   ├── fail_convert_type_erased_type_to_facet.carbon
│   │   │   │   ├── fail_deduction_uses_runtime_type_conversion.carbon
│   │   │   │   ├── fail_incomplete.carbon
│   │   │   │   ├── fail_namespace_type.carbon
│   │   │   │   ├── identify_self_canonicalized.carbon
│   │   │   │   ├── named_constant.carbon
│   │   │   │   ├── nested_facet_types.carbon
│   │   │   │   ├── period_self.carbon
│   │   │   │   ├── require_constrains_self.carbon
│   │   │   │   ├── require_import.carbon
│   │   │   │   ├── require_invalid.carbon
│   │   │   │   ├── require_satisified.carbon
│   │   │   │   ├── runtime_value.carbon
│   │   │   │   ├── self_in_interface_param.carbon
│   │   │   │   ├── tuple_and_struct_type_literal.carbon
│   │   │   │   ├── tuple_and_struct_type_value.carbon
│   │   │   │   ├── validate_impl_constraints.carbon
│   │   │   │   └── validate_rewrite_constraints.carbon
│   │   │   ├── for/
│   │   │   │   ├── actual.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   └── pattern.carbon
│   │   │   ├── function/
│   │   │   │   ├── builtin/
│   │   │   │   │   ├── adapted_type.carbon
│   │   │   │   │   ├── call.carbon
│   │   │   │   │   ├── call_from_operator.carbon
│   │   │   │   │   ├── definition.carbon
│   │   │   │   │   ├── fail_redefined.carbon
│   │   │   │   │   ├── fail_unknown.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── method.carbon
│   │   │   │   │   └── positional.carbon
│   │   │   │   ├── call/
│   │   │   │   │   ├── alias.carbon
│   │   │   │   │   ├── empty_struct.carbon
│   │   │   │   │   ├── empty_tuple.carbon
│   │   │   │   │   ├── eval_musteval.carbon
│   │   │   │   │   ├── fail_explicit_self_param.carbon
│   │   │   │   │   ├── fail_not_callable.carbon
│   │   │   │   │   ├── fail_param_count.carbon
│   │   │   │   │   ├── fail_param_type.carbon
│   │   │   │   │   ├── fail_return_type_mismatch.carbon
│   │   │   │   │   ├── fail_runtime_implicit_param.carbon
│   │   │   │   │   ├── form.carbon
│   │   │   │   │   ├── i32.carbon
│   │   │   │   │   ├── more_param_ir.carbon
│   │   │   │   │   ├── params_one.carbon
│   │   │   │   │   ├── params_one_comma.carbon
│   │   │   │   │   ├── params_two.carbon
│   │   │   │   │   ├── params_two_comma.carbon
│   │   │   │   │   ├── params_zero.carbon
│   │   │   │   │   ├── prefer_unqualified_lookup.carbon
│   │   │   │   │   ├── ref.carbon
│   │   │   │   │   └── return_implicit.carbon
│   │   │   │   ├── declaration/
│   │   │   │   │   ├── eval_musteval.carbon
│   │   │   │   │   ├── export_name.carbon
│   │   │   │   │   ├── extern.carbon
│   │   │   │   │   ├── extern_library.carbon
│   │   │   │   │   ├── extern_library_for_default.carbon
│   │   │   │   │   ├── extern_library_from_default.carbon
│   │   │   │   │   ├── fail_import_incomplete_return.carbon
│   │   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   │   ├── fail_param_in_type.carbon
│   │   │   │   │   ├── fail_param_redecl.carbon
│   │   │   │   │   ├── fail_redecl.carbon
│   │   │   │   │   ├── fail_todo_no_params.carbon
│   │   │   │   │   ├── implicit_import.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── name_poisoning.carbon
│   │   │   │   │   ├── no_definition_in_impl_file.carbon
│   │   │   │   │   ├── param_same_name.carbon
│   │   │   │   │   ├── pattern_in_signature.carbon
│   │   │   │   │   ├── ref.carbon
│   │   │   │   │   └── simple.carbon
│   │   │   │   ├── definition/
│   │   │   │   │   ├── basics.carbon
│   │   │   │   │   ├── extern.carbon
│   │   │   │   │   ├── extern_library.carbon
│   │   │   │   │   ├── fail_decl_param_mismatch.carbon
│   │   │   │   │   ├── fail_local_decl.carbon
│   │   │   │   │   ├── fail_redef.carbon
│   │   │   │   │   ├── forward_decl.carbon
│   │   │   │   │   ├── implicit_import.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── import_access.carbon
│   │   │   │   │   ├── order.carbon
│   │   │   │   │   ├── params_one.carbon
│   │   │   │   │   ├── params_one_comma.carbon
│   │   │   │   │   ├── params_two.carbon
│   │   │   │   │   ├── params_two_comma.carbon
│   │   │   │   │   ├── params_zero.carbon
│   │   │   │   │   └── syntactic_merge.carbon
│   │   │   │   └── generic/
│   │   │   │       ├── call.carbon
│   │   │   │       ├── call_method_on_generic_facet.carbon
│   │   │   │       ├── deduce.carbon
│   │   │   │       ├── deduce_nested_facet_value.carbon
│   │   │   │       ├── fail_deduce_imported_function.carbon
│   │   │   │       ├── fail_type_param_mismatch.carbon
│   │   │   │       ├── forward_decl.carbon
│   │   │   │       ├── import_specific.carbon
│   │   │   │       ├── indirect_generic_type.carbon
│   │   │   │       ├── param_in_type.carbon
│   │   │   │       ├── redeclare.carbon
│   │   │   │       ├── resolve_used.carbon
│   │   │   │       ├── return_slot.carbon
│   │   │   │       ├── template_param.carbon
│   │   │   │       ├── type_param.carbon
│   │   │   │       ├── type_param_scope.carbon
│   │   │   │       └── undefined.carbon
│   │   │   ├── generic/
│   │   │   │   ├── call_basic_depth.carbon
│   │   │   │   ├── complete_type.carbon
│   │   │   │   ├── dependent_param.carbon
│   │   │   │   ├── dot_self_symbolic_type.carbon
│   │   │   │   ├── extend_type_completion.carbon
│   │   │   │   ├── fail_generic_copy.carbon
│   │   │   │   ├── forward_decl.carbon
│   │   │   │   ├── identify_specific_facet_type.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── template/
│   │   │   │   │   ├── convert.carbon
│   │   │   │   │   ├── fail_todo_template_access_assoc_const.carbon
│   │   │   │   │   ├── member_access.carbon
│   │   │   │   │   └── unimplemented.carbon
│   │   │   │   └── template_dependence.carbon
│   │   │   ├── global/
│   │   │   │   └── basics.carbon
│   │   │   ├── if/
│   │   │   │   └── basics.carbon
│   │   │   ├── if_expr/
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── constant_condition.carbon
│   │   │   │   ├── control_flow.carbon
│   │   │   │   ├── fail_not_in_function.carbon
│   │   │   │   ├── fail_partial_constant.carbon
│   │   │   │   ├── nested.carbon
│   │   │   │   └── struct.carbon
│   │   │   ├── impl/
│   │   │   │   ├── assoc_const_self.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── compound.carbon
│   │   │   │   ├── custom_witness/
│   │   │   │   │   └── int_fits_in.carbon
│   │   │   │   ├── declaration.carbon
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── error_recovery.carbon
│   │   │   │   ├── eval_musteval.carbon
│   │   │   │   ├── extend_final.carbon
│   │   │   │   ├── extend_impl.carbon
│   │   │   │   ├── extend_impl_generic.carbon
│   │   │   │   ├── fail_alias.carbon
│   │   │   │   ├── fail_call_invalid.carbon
│   │   │   │   ├── fail_extend_impl_forall.carbon
│   │   │   │   ├── fail_extend_impl_scope.carbon
│   │   │   │   ├── fail_extend_impl_type_as.carbon
│   │   │   │   ├── fail_extend_non_interface.carbon
│   │   │   │   ├── fail_extend_partially_defined_interface.carbon
│   │   │   │   ├── fail_extend_undefined_interface.carbon
│   │   │   │   ├── fail_impl_as_scope.carbon
│   │   │   │   ├── fail_impl_bad_assoc_const.carbon
│   │   │   │   ├── fail_impl_bad_assoc_fn.carbon
│   │   │   │   ├── fail_impl_bad_interface.carbon
│   │   │   │   ├── fail_impl_bad_type.carbon
│   │   │   │   ├── fail_redefinition.carbon
│   │   │   │   ├── fail_self_type_mismatch.carbon
│   │   │   │   ├── fail_todo_form_thunk.carbon
│   │   │   │   ├── forward_decls.carbon
│   │   │   │   ├── generic_redeclaration.carbon
│   │   │   │   ├── impl_as.carbon
│   │   │   │   ├── impl_as_named_constraint.carbon
│   │   │   │   ├── impl_assoc_const.carbon
│   │   │   │   ├── impl_assoc_const_with_prelude.carbon
│   │   │   │   ├── impl_forall.carbon
│   │   │   │   ├── impl_self_as.carbon
│   │   │   │   ├── impl_thunk.carbon
│   │   │   │   ├── impl_thunk_min_prelude.carbon
│   │   │   │   ├── impl_where_redecl.carbon
│   │   │   │   ├── import_builtin_call.carbon
│   │   │   │   ├── import_canonical_witnesses.carbon
│   │   │   │   ├── import_compound.carbon
│   │   │   │   ├── import_extend_impl.carbon
│   │   │   │   ├── import_generic.carbon
│   │   │   │   ├── import_impl_with_no_interface.carbon
│   │   │   │   ├── import_interface_assoc_const.carbon
│   │   │   │   ├── import_self.carbon
│   │   │   │   ├── import_self_specific.carbon
│   │   │   │   ├── import_thunk.carbon
│   │   │   │   ├── import_use_generic.carbon
│   │   │   │   ├── incomplete.carbon
│   │   │   │   ├── interface_args.carbon
│   │   │   │   ├── lookup/
│   │   │   │   │   ├── alias.carbon
│   │   │   │   │   ├── canonical_query_self.carbon
│   │   │   │   │   ├── fail_alias_impl_not_found.carbon
│   │   │   │   │   ├── fail_function_types.carbon
│   │   │   │   │   ├── fail_todo_undefined_impl.carbon
│   │   │   │   │   ├── find_in_final.carbon
│   │   │   │   │   ├── generic.carbon
│   │   │   │   │   ├── impl_cycle.carbon
│   │   │   │   │   ├── impl_forall.carbon
│   │   │   │   │   ├── impl_overlap.carbon
│   │   │   │   │   ├── impl_overlap_wrapped_types.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── import_error.carbon
│   │   │   │   │   ├── import_final.carbon
│   │   │   │   │   ├── instance_method.carbon
│   │   │   │   │   ├── lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon
│   │   │   │   │   ├── overlap_with_non_types.carbon
│   │   │   │   │   ├── specialization.carbon
│   │   │   │   │   ├── specialization_poison.carbon
│   │   │   │   │   ├── specialization_with_symbolic_rewrite.carbon
│   │   │   │   │   ├── specific_args.carbon
│   │   │   │   │   ├── struct.carbon
│   │   │   │   │   ├── symbolic_lookup.carbon
│   │   │   │   │   ├── transitive.carbon
│   │   │   │   │   └── unused_generic_binding.carbon
│   │   │   │   ├── multiple_extend.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── no_definition_in_impl_file.carbon
│   │   │   │   ├── orphan.carbon
│   │   │   │   ├── redeclaration.carbon
│   │   │   │   ├── self_in_class.carbon
│   │   │   │   ├── self_in_signature.carbon
│   │   │   │   ├── todo_impl_with_unrelated_fn.carbon
│   │   │   │   ├── use_assoc_entity.carbon
│   │   │   │   └── using_invalid_interface.carbon
│   │   │   ├── index/
│   │   │   │   ├── array_element_access.carbon
│   │   │   │   ├── expr_category.carbon
│   │   │   │   ├── fail_array_large_index.carbon
│   │   │   │   ├── fail_array_non_int_indexing.carbon
│   │   │   │   ├── fail_array_out_of_bound_access.carbon
│   │   │   │   ├── fail_expr_category.carbon
│   │   │   │   ├── fail_invalid_base.carbon
│   │   │   │   ├── fail_name_not_found.carbon
│   │   │   │   ├── fail_negative_indexing.carbon
│   │   │   │   └── fail_non_tuple_access.carbon
│   │   │   ├── interface/
│   │   │   │   ├── as_type.carbon
│   │   │   │   ├── as_type_of_type.carbon
│   │   │   │   ├── assoc_const.carbon
│   │   │   │   ├── assoc_const_in_generic.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── compound_member_access.carbon
│   │   │   │   ├── default_fn.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── fail_add_member_outside_definition.carbon
│   │   │   │   ├── fail_assoc_const_alias.carbon
│   │   │   │   ├── fail_assoc_const_bad_default.carbon
│   │   │   │   ├── fail_assoc_fn_invalid_use.carbon
│   │   │   │   ├── fail_definition_imported.carbon
│   │   │   │   ├── fail_duplicate.carbon
│   │   │   │   ├── fail_generic_redeclaration.carbon
│   │   │   │   ├── fail_lookup_in_type_type.carbon
│   │   │   │   ├── fail_lookup_undefined.carbon
│   │   │   │   ├── fail_member_lookup.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_redeclare_member.carbon
│   │   │   │   ├── fail_todo_assoc_const_default.carbon
│   │   │   │   ├── fail_todo_define_default_fn_inline.carbon
│   │   │   │   ├── fail_todo_define_default_fn_out_of_line.carbon
│   │   │   │   ├── fail_todo_modifiers.carbon
│   │   │   │   ├── fail_type_as_facet.carbon
│   │   │   │   ├── final.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   ├── generic_binding_after_assoc_const.carbon
│   │   │   │   ├── generic_default_fn.carbon
│   │   │   │   ├── generic_import.carbon
│   │   │   │   ├── generic_method.carbon
│   │   │   │   ├── generic_vs_params.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── import_interface_decl.carbon
│   │   │   │   ├── incomplete.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── member_lookup.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── require.carbon
│   │   │   │   ├── require_invalid_modifiers.carbon
│   │   │   │   ├── self.carbon
│   │   │   │   ├── syntactic_merge.carbon
│   │   │   │   └── todo_define_not_default.carbon
│   │   │   ├── interop/
│   │   │   │   └── cpp/
│   │   │   │       ├── bad_flags.carbon
│   │   │   │       ├── bad_import.carbon
│   │   │   │       ├── builtins.carbon
│   │   │   │       ├── builtins.llp64.carbon
│   │   │   │       ├── builtins.lp64.carbon
│   │   │   │       ├── class/
│   │   │   │       │   ├── abstract.carbon
│   │   │   │       │   ├── access.carbon
│   │   │   │       │   ├── base.carbon
│   │   │   │       │   ├── class.carbon
│   │   │   │       │   ├── constructor.carbon
│   │   │   │       │   ├── field.carbon
│   │   │   │       │   ├── invalid.carbon
│   │   │   │       │   ├── method.carbon
│   │   │   │       │   ├── nested.carbon
│   │   │   │       │   ├── non_aggregate_init.carbon
│   │   │   │       │   ├── struct.carbon
│   │   │   │       │   ├── template.carbon
│   │   │   │       │   └── union.carbon
│   │   │   │       ├── constexpr.carbon
│   │   │   │       ├── cpp_diagnostics.carbon
│   │   │   │       ├── cpp_namespace.carbon
│   │   │   │       ├── deref.carbon
│   │   │   │       ├── enum/
│   │   │   │       │   ├── anonymous.carbon
│   │   │   │       │   ├── convert.carbon
│   │   │   │       │   ├── copy.carbon
│   │   │   │       │   ├── fixed.carbon
│   │   │   │       │   ├── incomplete.carbon
│   │   │   │       │   ├── invalid.carbon
│   │   │   │       │   ├── member.carbon
│   │   │   │       │   ├── scoped.carbon
│   │   │   │       │   ├── unscoped.carbon
│   │   │   │       │   └── using.carbon
│   │   │   │       ├── fail_fuzzing.carbon
│   │   │   │       ├── fail_todo_arithmetic_types_unmapped.carbon
│   │   │   │       ├── file_not_found.carbon
│   │   │   │       ├── function/
│   │   │   │       │   ├── arithmetic_types_bridged.carbon
│   │   │   │       │   ├── arithmetic_types_direct.carbon
│   │   │   │       │   ├── class.carbon
│   │   │   │       │   ├── decayed_param.carbon
│   │   │   │       │   ├── default_arg.carbon
│   │   │   │       │   ├── extern_c.carbon
│   │   │   │       │   ├── full_semir.carbon
│   │   │   │       │   ├── function.carbon
│   │   │   │       │   ├── in_template.carbon
│   │   │   │       │   ├── inline.carbon
│   │   │   │       │   ├── multiple_too_few_args_calls.carbon
│   │   │   │       │   ├── operators.carbon
│   │   │   │       │   ├── overloads.carbon
│   │   │   │       │   ├── param_unsupported.carbon
│   │   │   │       │   ├── pointer.carbon
│   │   │   │       │   ├── qualified_param.carbon
│   │   │   │       │   ├── reference.carbon
│   │   │   │       │   ├── return.carbon
│   │   │   │       │   ├── struct.carbon
│   │   │   │       │   ├── template.carbon
│   │   │   │       │   ├── thunk_ast.carbon
│   │   │   │       │   ├── union.carbon
│   │   │   │       │   ├── variadic.carbon
│   │   │   │       │   └── void_pointer.carbon
│   │   │   │       ├── impls/
│   │   │   │       │   ├── as.carbon
│   │   │   │       │   ├── copy.carbon
│   │   │   │       │   ├── destroy.carbon
│   │   │   │       │   └── implicit_as.carbon
│   │   │   │       ├── import.carbon
│   │   │   │       ├── include.carbon
│   │   │   │       ├── include_paths.carbon
│   │   │   │       ├── inline.carbon
│   │   │   │       ├── macros.carbon
│   │   │   │       ├── modules.carbon
│   │   │   │       ├── multiple_imports.carbon
│   │   │   │       ├── namespace.carbon
│   │   │   │       ├── reverse/
│   │   │   │       │   └── simple.carbon
│   │   │   │       ├── stdlib/
│   │   │   │       │   ├── initializer_list.carbon
│   │   │   │       │   └── string_view.carbon
│   │   │   │       ├── template/
│   │   │   │       │   ├── alias_template.carbon
│   │   │   │       │   ├── argument_count.carbon
│   │   │   │       │   ├── class_template.carbon
│   │   │   │       │   ├── concept.carbon
│   │   │   │       │   ├── generic_call.carbon
│   │   │   │       │   ├── non_type_param.carbon
│   │   │   │       │   ├── template_template_param.carbon
│   │   │   │       │   ├── type_param.carbon
│   │   │   │       │   └── var_template.carbon
│   │   │   │       ├── typedef.carbon
│   │   │   │       ├── unsupported_decl_type.carbon
│   │   │   │       ├── unused_internal.carbon
│   │   │   │       ├── var/
│   │   │   │       │   ├── global.carbon
│   │   │   │       │   └── namespace.carbon
│   │   │   │       ├── void.carbon
│   │   │   │       └── void_pointer.carbon
│   │   │   ├── let/
│   │   │   │   ├── compile_time_bindings.carbon
│   │   │   │   ├── convert.carbon
│   │   │   │   ├── fail_duplicate_decl.carbon
│   │   │   │   ├── fail_generic.carbon
│   │   │   │   ├── fail_generic_import.carbon
│   │   │   │   ├── fail_missing_value.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_use_in_init.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   ├── generic_import.carbon
│   │   │   │   ├── global.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── ref.carbon
│   │   │   │   └── shadowed_decl.carbon
│   │   │   ├── main_run/
│   │   │   │   ├── README.md
│   │   │   │   ├── fail_mismatch_params.carbon
│   │   │   │   ├── fail_mismatch_return.carbon
│   │   │   │   ├── no_return.carbon
│   │   │   │   └── return_i32.carbon
│   │   │   ├── named_constraint/
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── convert.carbon
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── empty_generic.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   ├── import_constraint_decl.carbon
│   │   │   │   ├── incomplete.carbon
│   │   │   │   ├── invalid_members.carbon
│   │   │   │   ├── require.carbon
│   │   │   │   └── require_invalid_modifiers.carbon
│   │   │   ├── namespace/
│   │   │   │   ├── add_to_import.carbon
│   │   │   │   ├── alias.carbon
│   │   │   │   ├── fail_conflict_after_merge.carbon
│   │   │   │   ├── fail_conflict_imported_namespace_first.carbon
│   │   │   │   ├── fail_conflict_imported_namespace_nested.carbon
│   │   │   │   ├── fail_conflict_imported_namespace_second.carbon
│   │   │   │   ├── fail_conflict_in_imports_namespace_first.carbon
│   │   │   │   ├── fail_conflict_in_imports_namespace_second.carbon
│   │   │   │   ├── fail_decl_in_alias.carbon
│   │   │   │   ├── fail_duplicate.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_not_top_level.carbon
│   │   │   │   ├── fail_params.carbon
│   │   │   │   ├── fail_unresolved_scope.carbon
│   │   │   │   ├── function.carbon
│   │   │   │   ├── imported.carbon
│   │   │   │   ├── imported_indirect.carbon
│   │   │   │   ├── merging.carbon
│   │   │   │   ├── merging_with_indirections.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── nested.carbon
│   │   │   │   ├── shadow.carbon
│   │   │   │   └── unqualified_lookup.carbon
│   │   │   ├── operators/
│   │   │   │   ├── builtin/
│   │   │   │   │   ├── and.carbon
│   │   │   │   │   ├── assignment.carbon
│   │   │   │   │   ├── bit_and.carbon
│   │   │   │   │   ├── fail_and_or_not_in_function.carbon
│   │   │   │   │   ├── fail_and_or_partial_constant.carbon
│   │   │   │   │   ├── fail_assignment_to_error.carbon
│   │   │   │   │   ├── fail_assignment_to_non_assignable.carbon
│   │   │   │   │   ├── fail_redundant_compound_access.carbon
│   │   │   │   │   ├── fail_type_mismatch.carbon
│   │   │   │   │   ├── fail_type_mismatch_assignment.carbon
│   │   │   │   │   ├── fail_type_mismatch_once.carbon
│   │   │   │   │   ├── fail_unimplemented_op.carbon
│   │   │   │   │   ├── or.carbon
│   │   │   │   │   ├── ref.carbon
│   │   │   │   │   └── unary_op.carbon
│   │   │   │   └── overloaded/
│   │   │   │       ├── add.carbon
│   │   │   │       ├── binary_op.carbon.tmpl
│   │   │   │       ├── bit_and.carbon
│   │   │   │       ├── bit_complement.carbon
│   │   │   │       ├── bit_or.carbon
│   │   │   │       ├── bit_xor.carbon
│   │   │   │       ├── dec.carbon
│   │   │   │       ├── div.carbon
│   │   │   │       ├── eq.carbon
│   │   │   │       ├── fail_assign_non_ref.carbon
│   │   │   │       ├── fail_error_recovery.carbon
│   │   │   │       ├── fail_no_impl.carbon
│   │   │   │       ├── fail_no_impl_for_arg.carbon
│   │   │   │       ├── implicit_as.carbon
│   │   │   │       ├── inc.carbon
│   │   │   │       ├── index.carbon
│   │   │   │       ├── index_with_prelude.carbon
│   │   │   │       ├── left_shift.carbon
│   │   │   │       ├── make_tests.sh
│   │   │   │       ├── mod.carbon
│   │   │   │       ├── mul.carbon
│   │   │   │       ├── negate.carbon
│   │   │   │       ├── ordered.carbon
│   │   │   │       ├── right_shift.carbon
│   │   │   │       ├── string_indexing.carbon
│   │   │   │       ├── sub.carbon
│   │   │   │       ├── unary_op.carbon.tmpl
│   │   │   │       └── unary_stmt.carbon.tmpl
│   │   │   ├── package_expr/
│   │   │   │   ├── fail_not_found.carbon
│   │   │   │   └── syntax.carbon
│   │   │   ├── packages/
│   │   │   │   ├── core_name_poisoning.carbon
│   │   │   │   ├── cross_package_export.carbon
│   │   │   │   ├── cross_package_import.carbon
│   │   │   │   ├── explicit_imports.carbon
│   │   │   │   ├── export_import.carbon
│   │   │   │   ├── export_mixed.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── fail_api_not_found.carbon
│   │   │   │   ├── fail_conflict_no_namespaces.carbon
│   │   │   │   ├── fail_cycle.carbon
│   │   │   │   ├── fail_duplicate_api.carbon
│   │   │   │   ├── fail_export_name_member.carbon
│   │   │   │   ├── fail_export_name_params.carbon
│   │   │   │   ├── fail_extension.carbon
│   │   │   │   ├── fail_import_default.carbon
│   │   │   │   ├── fail_import_inline_not_cpp.carbon
│   │   │   │   ├── fail_import_invalid.carbon
│   │   │   │   ├── fail_import_repeat.carbon
│   │   │   │   ├── fail_import_type_error.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_name_with_import_failure.carbon
│   │   │   │   ├── implicit_imports_empty.carbon
│   │   │   │   ├── implicit_imports_entities.carbon
│   │   │   │   ├── implicit_imports_prelude.carbon
│   │   │   │   ├── loaded_global.carbon
│   │   │   │   ├── missing_prelude.carbon
│   │   │   │   ├── raw_core.carbon
│   │   │   │   ├── restricted_package_names.carbon
│   │   │   │   └── unused_lazy_import.carbon
│   │   │   ├── patterns/
│   │   │   │   ├── tuple.carbon
│   │   │   │   ├── underscore.carbon
│   │   │   │   ├── unused.carbon
│   │   │   │   └── unused_underscore.carbon
│   │   │   ├── pointer/
│   │   │   │   ├── address_of_deref.carbon
│   │   │   │   ├── address_of_lvalue.carbon
│   │   │   │   ├── arrow.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── convert_qualifiers.carbon
│   │   │   │   ├── fail_address_of_error.carbon
│   │   │   │   ├── fail_address_of_value.carbon
│   │   │   │   ├── fail_deref_error.carbon
│   │   │   │   ├── fail_deref_function.carbon
│   │   │   │   ├── fail_deref_namespace.carbon
│   │   │   │   ├── fail_deref_not_pointer.carbon
│   │   │   │   ├── fail_deref_type.carbon
│   │   │   │   ├── fail_type_mismatch.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── nested_const.carbon
│   │   │   │   └── types.carbon
│   │   │   ├── primitives/
│   │   │   │   ├── import_symbolic.carbon
│   │   │   │   ├── int_conversions.carbon
│   │   │   │   ├── numeric_literals.carbon
│   │   │   │   ├── string_literals.carbon
│   │   │   │   └── type_literals.carbon
│   │   │   ├── return/
│   │   │   │   ├── code_after_return.carbon
│   │   │   │   ├── code_after_return_value.carbon
│   │   │   │   ├── fail_call_in_type.carbon
│   │   │   │   ├── fail_error_in_type.carbon
│   │   │   │   ├── fail_let_in_type.carbon
│   │   │   │   ├── fail_missing_return.carbon
│   │   │   │   ├── fail_missing_return_empty_tuple.carbon
│   │   │   │   ├── fail_return_var_no_returned_var.carbon
│   │   │   │   ├── fail_return_with_returned_var.carbon
│   │   │   │   ├── fail_returned_var_form.carbon
│   │   │   │   ├── fail_returned_var_no_return_type.carbon
│   │   │   │   ├── fail_returned_var_shadow.carbon
│   │   │   │   ├── fail_returned_var_type.carbon
│   │   │   │   ├── fail_type_mismatch.carbon
│   │   │   │   ├── fail_value_disallowed.carbon
│   │   │   │   ├── fail_value_missing.carbon
│   │   │   │   ├── fail_var_in_type.carbon
│   │   │   │   ├── import_convert_function.carbon
│   │   │   │   ├── missing_return_no_return_type.carbon
│   │   │   │   ├── no_value.carbon
│   │   │   │   ├── returned_var.carbon
│   │   │   │   ├── returned_var_scope.carbon
│   │   │   │   ├── struct.carbon
│   │   │   │   ├── tuple.carbon
│   │   │   │   └── value.carbon
│   │   │   ├── struct/
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── fail_access_into_invalid.carbon
│   │   │   │   ├── fail_assign_empty.carbon
│   │   │   │   ├── fail_assign_nested.carbon
│   │   │   │   ├── fail_assign_to_empty.carbon
│   │   │   │   ├── fail_duplicate_name.carbon
│   │   │   │   ├── fail_field_name_mismatch.carbon
│   │   │   │   ├── fail_field_type_mismatch.carbon
│   │   │   │   ├── fail_keyword_name.carbon
│   │   │   │   ├── fail_member_access_type.carbon
│   │   │   │   ├── fail_member_of_function.carbon
│   │   │   │   ├── fail_nested_incomplete.carbon
│   │   │   │   ├── fail_non_member_access.carbon
│   │   │   │   ├── fail_too_few_values.carbon
│   │   │   │   ├── fail_type_assign.carbon
│   │   │   │   ├── fail_value_as_type.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── literal_member_access.carbon
│   │   │   │   ├── member_access.carbon
│   │   │   │   ├── nested_struct_in_place.carbon
│   │   │   │   ├── one_entry.carbon
│   │   │   │   ├── partially_const.carbon
│   │   │   │   ├── reorder_fields.carbon
│   │   │   │   ├── tuple_as_element.carbon
│   │   │   │   └── two_entries.carbon
│   │   │   ├── tuple/
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── class_tuples.carbon
│   │   │   │   ├── element_access.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── in_place_tuple_init.carbon
│   │   │   │   ├── size_mismatch.carbon
│   │   │   │   └── tuple_pattern.carbon
│   │   │   ├── var/
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── fail_duplicate_decl.carbon
│   │   │   │   ├── fail_generic.carbon
│   │   │   │   ├── fail_init_type_mismatch.carbon
│   │   │   │   ├── fail_init_with_self.carbon
│   │   │   │   ├── fail_lookup_outside_scope.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_namespace_conflict.carbon
│   │   │   │   ├── fail_not_copyable.carbon
│   │   │   │   ├── fail_storage_is_literal.carbon
│   │   │   │   ├── fail_todo_control_flow_init.carbon
│   │   │   │   ├── global_decl.carbon
│   │   │   │   ├── global_decl_import.carbon
│   │   │   │   ├── global_decl_with_init.carbon
│   │   │   │   ├── global_lookup.carbon
│   │   │   │   ├── global_lookup_in_scope.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── initialization.carbon
│   │   │   │   ├── lookup.carbon
│   │   │   │   ├── shadowing.carbon
│   │   │   │   └── var_pattern.carbon
│   │   │   ├── where_expr/
│   │   │   │   ├── constraints.carbon
│   │   │   │   ├── designator.carbon
│   │   │   │   ├── dot_self_impls.carbon
│   │   │   │   ├── dot_self_index.carbon
│   │   │   │   ├── equal_rewrite.carbon
│   │   │   │   ├── fail_not_facet.carbon
│   │   │   │   └── non_generic.carbon
│   │   │   └── while/
│   │   │       └── while.carbon
│   │   ├── thunk.cpp
│   │   ├── thunk.h
│   │   ├── type.cpp
│   │   ├── type.h
│   │   ├── type_completion.cpp
│   │   ├── type_completion.h
│   │   ├── type_structure.cpp
│   │   ├── type_structure.h
│   │   ├── unused.cpp
│   │   └── unused.h
│   ├── codegen/
│   │   ├── BUILD
│   │   ├── codegen.cpp
│   │   ├── codegen.h
│   │   └── testdata/
│   │       ├── assembly/
│   │       │   └── basic.carbon
│   │       ├── fail_target_triple.carbon
│   │       └── objcode/
│   │           └── basic.carbon
│   ├── diagnostics/
│   │   ├── BUILD
│   │   ├── check_diagnostics.py
│   │   ├── consumer.cpp
│   │   ├── consumer.h
│   │   ├── coverage_test.cpp
│   │   ├── diagnostic.cpp
│   │   ├── diagnostic.h
│   │   ├── emitter.h
│   │   ├── emitter_test.cpp
│   │   ├── file_diagnostics.h
│   │   ├── format_providers.cpp
│   │   ├── format_providers.h
│   │   ├── format_providers_test.cpp
│   │   ├── kind.cpp
│   │   ├── kind.def
│   │   ├── kind.h
│   │   ├── mocks.cpp
│   │   ├── mocks.h
│   │   ├── null_diagnostics.h
│   │   ├── sorting_consumer.h
│   │   └── sorting_consumer_test.cpp
│   ├── docs/
│   │   ├── README.md
│   │   ├── adding_features.md
│   │   ├── check/
│   │   │   ├── README.md
│   │   │   ├── associated_constant.md
│   │   │   └── pattern_matching.md
│   │   ├── coalesce_generic_lowering.md
│   │   ├── debugging.md
│   │   ├── design/
│   │   │   ├── README.md
│   │   │   └── clang_api.md
│   │   ├── diagnostics.md
│   │   ├── driver.md
│   │   ├── idioms.md
│   │   ├── lex.md
│   │   ├── lower.md
│   │   └── parse.md
│   ├── driver/
│   │   ├── BUILD
│   │   ├── bazel_build_clang_runtimes.cpp
│   │   ├── build_runtimes_subcommand.cpp
│   │   ├── build_runtimes_subcommand.h
│   │   ├── clang_runner.cpp
│   │   ├── clang_runner.h
│   │   ├── clang_runner_test.cpp
│   │   ├── clang_runtimes.cpp
│   │   ├── clang_runtimes.h
│   │   ├── clang_runtimes_test.cpp
│   │   ├── clang_subcommand.cpp
│   │   ├── clang_subcommand.h
│   │   ├── codegen_options.cpp
│   │   ├── codegen_options.h
│   │   ├── compile_benchmark.cpp
│   │   ├── compile_subcommand.cpp
│   │   ├── compile_subcommand.h
│   │   ├── config_subcommand.cpp
│   │   ├── config_subcommand.h
│   │   ├── driver.cpp
│   │   ├── driver.h
│   │   ├── driver_env.h
│   │   ├── driver_fuzzer.cpp
│   │   ├── driver_subcommand.cpp
│   │   ├── driver_subcommand.h
│   │   ├── driver_test.cpp
│   │   ├── flags.def
│   │   ├── format_subcommand.cpp
│   │   ├── format_subcommand.h
│   │   ├── fuzzer_corpus/
│   │   │   ├── 019dd4030b151d2c67da557bf3d56d96dc7839c1
│   │   │   ├── 02c83534aab9233198863881aa7d82dde0a5b980
│   │   │   ├── 059a104f98f5658171c48a4d6b0d39036f953264
│   │   │   ├── 0ab2969c765b7dfd5a132f93c87d60f700089d26
│   │   │   ├── 11780e1967cb34483305ee0ce43df22b498db8de
│   │   │   ├── 140803cdfca738e7d23521f13ecf6d87d0bd8980
│   │   │   ├── 1b65c7f425af22130c7c3aa117961873a194a8ef
│   │   │   ├── 2251142ebdcd99890424c932de502d094925ad98
│   │   │   ├── 256dbb574b157de6b00c720c6e123de5d3129e56
│   │   │   ├── 26305a3c41da25872752f99d86ba0cff5c96c15a
│   │   │   ├── 285ad940d4ba382b1ca2698edae0f48a132d3f4c
│   │   │   ├── 2d8c6aebe55a5df4c61804509d3ff1c14978c578
│   │   │   ├── 2f99d3b7e96de13b21d1b33aa77d5d48fc6e6f88
│   │   │   ├── 2fd2a7b121a56fdc1e623de01dc1678414adc5dc
│   │   │   ├── 300ba8e152fe095fcd1f88d18bc64d5b100059e6
│   │   │   ├── 34c0284640cf11c78b5802ecaf21802ebc83df04
│   │   │   ├── 3519a9e1095165b91c5d4ba9824d32227da30bd6
│   │   │   ├── 39294db001ba643d5353c8f418f754c6352c8485
│   │   │   ├── 3c4c33f72a9ff968e60adf7a2db5206d6375b7c5
│   │   │   ├── 3c585604e87f855973731fea83e21fab9392d2fc
│   │   │   ├── 3da89ee273be13437e7ecf760f3fbd4dc0e8d1fe
│   │   │   ├── 3dbc1b67cab9a71bac41d7ee17fa31a8b32a9904
│   │   │   ├── 4148ee13ed2c74d0f5ce52c46ebd0983c26beb64
│   │   │   ├── 45f063671e63a4a29f2b05bdd3b6731568119e38
│   │   │   ├── 4c6f81cf8a9546cd87d1fce006bbe64abd47697b
│   │   │   ├── 4e0f684219dcb4518aaf4166bd2b51c957ef36de
│   │   │   ├── 508abb20ddc995fe9e72b69216fd46c24c966358
│   │   │   ├── 58607edfe3d6ae988025bc9062e244d4c47f54dc
│   │   │   ├── 58aaf472c4ed651739b9b6debf73437e4eaafb0e
│   │   │   ├── 596cf9d9a653583c4753d4f51b95e679b63f7c71
│   │   │   ├── 5dab5e799f3875176eeaa35987db34271c1067a0
│   │   │   ├── 64e1cd6e55c120c9f2fb329773f345ee6406b74a
│   │   │   ├── 67cba3df1acabd24c9b66e3c02b819f25f3fcf57
│   │   │   ├── 6854bbf33c0126b61050dd5fc0ef0126a9701ff0
│   │   │   ├── 6b03ca7a6835a17b1077f1b98f43c63efd3cac13
│   │   │   ├── 6ba597db92a7d33adb74499c15e5034ee57cd41b
│   │   │   ├── 6cd45830db903347e26c3e114ba494052a4a42bd
│   │   │   ├── 6f3f7dcc0a69d64ed2d99bcee0c0fbb81f970fc6
│   │   │   ├── 74a21fca37339bc7223b8963473dff771ae964f5
│   │   │   ├── 78d5bd054d5f82b116ac00b834314d4e24f6c21b
│   │   │   ├── 79119613c827b0d5bea100613dcd8aa8765c31f6
│   │   │   ├── 798bd7bd8e4d8d1835ffe6f02fbeb6319f4f106e
│   │   │   ├── 7bc4f9278deaa7046a5f512c89eac67ebf3ba0d3
│   │   │   ├── 86179d08482c27dab51fe8a8ea5d8324ef2461e9
│   │   │   ├── 8b0653417087d3d7fd049166a72cd7bcbc5f6dd1
│   │   │   ├── 8cabec887fe80b7d9f8b28e989db65a6d72dd22b
│   │   │   ├── 8eda19d8bfbc4dbd6070bf626cd2f33160ff88a0
│   │   │   ├── 9069ca78e7450a285173431b3e52c5c25299e473
│   │   │   ├── 922b5a97efaa1a3ecba58234ad8d01f41d36d313
│   │   │   ├── 9d47be29ac84966acf09290f8a7df5ba0ac4ea4e
│   │   │   ├── a2ae2a7db83b33dc95396607258f553114c9183c
│   │   │   ├── a454ca483b4a66b83826d061be2859dd79ff0d6c
│   │   │   ├── a5bbebbdf11c537a22a3a9dab4b83498ceb441ca
│   │   │   ├── a69f09257d9cd8f5edd9a87b728ab3d75d4352c4
│   │   │   ├── a8502f9cfc7efd4ddb3cb771ae00364f60bc279f
│   │   │   ├── adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
│   │   │   ├── aecfd3909eadc5707dd46249f6239cad4a2d8618
│   │   │   ├── af0fb9fda0e123b97ba7be099545a02b8c21a058
│   │   │   ├── af1ec8ae5cda07dc979bd68e45d67ffe0d7ffed6
│   │   │   ├── b36251f56081e4735b65b1c9d3d765f25ce67a66
│   │   │   ├── b62c8e9630f2bb2106ce5717ecf7f10c1b89b958
│   │   │   ├── b74fd0148ec8333ad7ce831dd7caa6bc4eff73a9
│   │   │   ├── b82f012f0ede708c493207a1eeee577e3c0f884c
│   │   │   ├── bb709bdd1d83c039d5c2f02313009030a4f73e0f
│   │   │   ├── bc75eaba7c2f73ce991969295463f6af70bfbf1a
│   │   │   ├── be0ef7b40ed46b91af0482ce0eb7ad38042b5659
│   │   │   ├── beacd06c224890fcf6d9b09b771e1248e241ab4b
│   │   │   ├── c349a8a58eb9c57bf1c97e5af483db5144482772
│   │   │   ├── c673fa568bbd98569d347b44306c46b50cc2e53f
│   │   │   ├── c949526372921c8c5a75ed9e1b198f44fb7a96a1
│   │   │   ├── cf294d20a4419644a7716bc1e1783a770c5e2e33
│   │   │   ├── cfa74701753e8c5eda1d7364b63b26b667c71bb2
│   │   │   ├── d25a8e16325922f85262deec08e77c04acf69f8e
│   │   │   ├── d5ebc4110136110c161d48f2d8e53cd1b4edfc0d
│   │   │   ├── d6e1cfb07890f99e8e5142c9868cf0a7d07b97ab
│   │   │   ├── d97e2e42e26d865d34f68bc92cf8bfe6a40f2eb4
│   │   │   ├── e3d8d13265fdbea01751381344b1a7466fb0cdfb
│   │   │   ├── e4cd6da031338746e34eb86e8a931d3b589e3d50
│   │   │   ├── e8e9adab43ade785323869812e73201de7abf7ad
│   │   │   ├── ea21645db01d3810168f14c8dfa601d54d7a52f5
│   │   │   ├── ed301991137b18831e72c6a6045fac64e5c010c9
│   │   │   ├── efa312d99ad0a086577dfb243164f522aa921b86
│   │   │   ├── f488a972b82d572833fccb4600a74d8d4a33ff84
│   │   │   ├── f4d6728f4d7cb31739d3ed633a564e4f0015d7cf
│   │   │   ├── fb80d614f998904a2fcee5f4ac25ce3e71787364
│   │   │   ├── fbd4c32be3552f308d7b77155fe35dab861cf45c
│   │   │   ├── fd354923ab6a356b717147ef68e51581e81ec8c8
│   │   │   └── fe0ff78dd1420db832b271cc868019e9945f5f79
│   │   ├── language_server_subcommand.cpp
│   │   ├── language_server_subcommand.h
│   │   ├── link_subcommand.cpp
│   │   ├── link_subcommand.h
│   │   ├── lld_runner.cpp
│   │   ├── lld_runner.h
│   │   ├── lld_runner_test.cpp
│   │   ├── lld_subcommand.cpp
│   │   ├── lld_subcommand.h
│   │   ├── llvm_runner.cpp
│   │   ├── llvm_runner.h
│   │   ├── llvm_runner_test.cpp
│   │   ├── llvm_subcommand.cpp
│   │   ├── llvm_subcommand.h
│   │   ├── prebuilt_runtimes.bzl
│   │   ├── runtimes_cache.cpp
│   │   ├── runtimes_cache.h
│   │   ├── runtimes_cache_test.cpp
│   │   ├── testdata/
│   │   │   ├── compile/
│   │   │   │   ├── clang_args_warning.carbon
│   │   │   │   ├── fail_clang_arg_extra_input.carbon
│   │   │   │   ├── fail_clang_args.carbon
│   │   │   │   ├── fail_clang_args_error.carbon
│   │   │   │   ├── init_array.carbon
│   │   │   │   ├── no_init_array.carbon
│   │   │   │   └── optimize/
│   │   │   │       ├── clang_no_optimize_twice.carbon
│   │   │   │       ├── fail_clang_forward_optimize_size.carbon
│   │   │   │       ├── fail_clang_forward_optimize_speed.carbon
│   │   │   │       ├── fail_clang_no_optimize_arg.carbon
│   │   │   │       ├── fail_clang_override_optimize_arg.carbon
│   │   │   │       ├── optimize_debug.carbon
│   │   │   │       ├── optimize_default.carbon
│   │   │   │       ├── optimize_none.carbon
│   │   │   │       ├── optimize_size.carbon
│   │   │   │       └── optimize_speed.carbon
│   │   │   ├── dump_mem_usage.carbon
│   │   │   ├── dump_shared_values.carbon
│   │   │   ├── dump_timings.carbon
│   │   │   ├── fail_bad_prebuilt_runtimes.carbon
│   │   │   ├── fail_bad_runtimes_cache.carbon
│   │   │   ├── fail_clang_fuzzing.cpp
│   │   │   ├── fail_clang_no_args.cpp
│   │   │   ├── fail_config.carbon
│   │   │   ├── fail_dump_phase_conflict.carbon
│   │   │   ├── fail_errors_in_two_files.carbon
│   │   │   ├── fail_errors_sorted.carbon
│   │   │   ├── fail_errors_streamed.carbon
│   │   │   ├── fail_flag.carbon
│   │   │   ├── fail_flush_errors.carbon
│   │   │   ├── fail_fuzzing_invalid_clang_arg.carbon
│   │   │   ├── fail_fuzzing_invalid_target.carbon
│   │   │   ├── fail_input_is_directory.carbon
│   │   │   ├── fail_lld_fuzzing.carbon
│   │   │   ├── fail_llvm_fuzzing.carbon
│   │   │   ├── fail_missing_file.carbon
│   │   │   ├── fail_missing_stdin_output.carbon
│   │   │   ├── fail_output_is_directory.carbon
│   │   │   ├── link/
│   │   │   │   ├── fail_object_files_missing.carbon
│   │   │   │   └── fail_output_missing.carbon
│   │   │   ├── multi_input_with_output.carbon
│   │   │   ├── stdin.carbon
│   │   │   └── verbose.carbon
│   │   ├── tool_runner_base.cpp
│   │   └── tool_runner_base.h
│   ├── format/
│   │   ├── BUILD
│   │   ├── format.cpp
│   │   ├── format.h
│   │   ├── formatter.cpp
│   │   ├── formatter.h
│   │   └── testdata/
│   │       └── basics/
│   │           ├── braces.carbon
│   │           ├── comments.carbon
│   │           ├── empty.carbon
│   │           ├── fail_invalid_comment.carbon
│   │           ├── fail_multi_file_one_output.carbon
│   │           ├── fail_nonexistent.carbon
│   │           └── simple.carbon
│   ├── install/
│   │   ├── BUILD
│   │   ├── bazel/
│   │   │   ├── carbon_cc_toolchain_config.bzl
│   │   │   ├── carbon_detected_variables.tpl.bzl
│   │   │   ├── carbon_runtimes.bzl
│   │   │   ├── carbon_toolchain.bzl
│   │   │   ├── clang_resource_dir.BUILD
│   │   │   ├── empty.BUILD
│   │   │   ├── install.BUILD
│   │   │   ├── install.MODULE.bazel
│   │   │   ├── make_include_copts.bzl
│   │   │   └── runtimes.BUILD
│   │   ├── busybox_info.cpp
│   │   ├── busybox_info.h
│   │   ├── busybox_info_test.cpp
│   │   ├── busybox_main.cpp
│   │   ├── carbon_install.txt
│   │   ├── configure_cmake_file.bzl
│   │   ├── configure_cmake_file_impl.py
│   │   ├── install_filegroups.bzl
│   │   ├── llvm_symlinks_test.py
│   │   ├── make_installation_digest.cpp
│   │   ├── pkg_helpers.bzl
│   │   ├── symlink_helpers.bzl
│   │   └── toolchain_tar_test.py
│   ├── language_server/
│   │   ├── BUILD
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── handle.h
│   │   ├── handle_document_symbol.cpp
│   │   ├── handle_initialize.cpp
│   │   ├── handle_shutdown.cpp
│   │   ├── handle_text_document.cpp
│   │   ├── incoming_messages.cpp
│   │   ├── incoming_messages.h
│   │   ├── language_server.cpp
│   │   ├── language_server.h
│   │   ├── outgoing_messages.h
│   │   └── testdata/
│   │       ├── basics/
│   │       │   ├── exit.carbon
│   │       │   ├── fail_empty_stdin.carbon
│   │       │   ├── fail_no_stdin.carbon
│   │       │   ├── fail_shutdown_without_exit.carbon
│   │       │   ├── initialize.carbon
│   │       │   ├── notify_parse_error.carbon
│   │       │   ├── unexpected_reply.carbon
│   │       │   ├── unsupported_call.carbon
│   │       │   ├── unsupported_notification.carbon
│   │       │   └── verbose.carbon
│   │       ├── document_symbol/
│   │       │   ├── basics.carbon
│   │       │   ├── language.carbon
│   │       │   ├── nested.carbon
│   │       │   └── unknown.carbon
│   │       └── text_document/
│   │           ├── change_unknown.carbon
│   │           ├── close_unknown.carbon
│   │           ├── diagnostics.carbon
│   │           ├── incremental_sync.carbon
│   │           ├── incremental_sync_multiline.carbon
│   │           ├── open_change_close.carbon
│   │           ├── open_duplicate.carbon
│   │           └── open_with_cpp_nonexistent.carbon
│   ├── lex/
│   │   ├── BUILD
│   │   ├── character_set.h
│   │   ├── dump.cpp
│   │   ├── dump.h
│   │   ├── fuzzer_corpus/
│   │   │   ├── numeric_literal/
│   │   │   │   ├── 00b8cd836c457801a27431b2fae14dc889e3e92a
│   │   │   │   ├── 020bf8374f78631e3832c436818bc4a077464c9f
│   │   │   │   ├── 046ea6e92945727581cc0d3550754bf545fbcce3
│   │   │   │   ├── 048ca7783b27c2f9ffa11a6e415df2821de767e3
│   │   │   │   ├── 04cc6041841507c0e7513b38e31ca3f7e63851d7
│   │   │   │   ├── 0523a3cf13b055ebe6d16f0edfe7cd1c54802372
│   │   │   │   ├── 0699989c219e1d7b336851c646e88a651859d081
│   │   │   │   ├── 06be63f8a856b3c2ff1e4f6456ae2a598dcdfe59
│   │   │   │   ├── 0733e1eab32796fc80c49e6a1b83b767d9728825
│   │   │   │   ├── 082fb8b49e412ef6a8c8946b149c9b19cd6e2837
│   │   │   │   ├── 0842360c9209267aefbc4bcafc6a14821257f942
│   │   │   │   ├── 08b69222e0a6ac6dd67d1c91719d3f89149bbf3f
│   │   │   │   ├── 0b7093469bb6c349a4a730b484bc99f8755a3cb5
│   │   │   │   ├── 0bbd8b6c814360f7eb032d8e921fb916f3af643a
│   │   │   │   ├── 0c2730c2230eb2beaf907d1feb4b754a1d9fa322
│   │   │   │   ├── 111f083d72dc69da5c2df23c8142b96fde044fc3
│   │   │   │   ├── 1213ea480fd8224227d3016271c7dd8c96d839cc
│   │   │   │   ├── 1245401b55dbe86b0881a84e17b7ad5424557a6c
│   │   │   │   ├── 13c1daecff92125665a018520dbd23f495f7d21b
│   │   │   │   ├── 14892954f44819d5064f3b2efeef3d59877956b1
│   │   │   │   ├── 1496a76414a61fd6d77fb52acf040b2176890a9c
│   │   │   │   ├── 14a9830e5443add35bee80d7b59e56ed2ed58231
│   │   │   │   ├── 156aee9179b8f39e73332a9b59336a97d1526c97
│   │   │   │   ├── 164585b5e3297b62f49428fc82661b3d1a6bd524
│   │   │   │   ├── 17675e27a67f6ed960be339c6784fa902ffb568c
│   │   │   │   ├── 181bd138b714c47c705d218938274a6ff2c0315a
│   │   │   │   ├── 1a349dcc540a3978584510d982075f838b17cd6d
│   │   │   │   ├── 1d5872c3a5cc3ac317e3611c7167eaa142f2d63c
│   │   │   │   ├── 1d6b5255a8715ae63cd18e2b238f889f5a6a3dab
│   │   │   │   ├── 1ddd636055b4b62ed55bd9c5406b98508df65094
│   │   │   │   ├── 1e9be73c8fc8acf59e2fd87e8a659b77fb8e1420
│   │   │   │   ├── 2047371f2b0343b6e64f40fb260c09b2037847e2
│   │   │   │   ├── 20602f5b4440f20ea21ced88bddcf8ba073ddac3
│   │   │   │   ├── 22cf82b68b95049bffb91128349ccc312a460b10
│   │   │   │   ├── 2368a873bce5809ef902426b152742363bc21800
│   │   │   │   ├── 259b09861744d6d77d8d2d4c25d43cafd4d9a003
│   │   │   │   ├── 25cc5d59a72a1c274cf218d947dafcde63c6c7b6
│   │   │   │   ├── 25f06d4d4f5e0a73147b3b758bf85754b40bd6f8
│   │   │   │   ├── 2b991489843e1d4b3960a9c905cc5e63dcb98768
│   │   │   │   ├── 2c4224570fe8a21dec1bafe6520a7ec5619b7511
│   │   │   │   ├── 2d1e7879ec3e332fe432986620d4f4648378473d
│   │   │   │   ├── 2d7bd1ddf796ff4bbb5efed75ad66e55489780fd
│   │   │   │   ├── 2fa6402156da7aed557f89e02fb9b8bd0a8bfb6a
│   │   │   │   ├── 2fcefe6a06ecee3472758a9f259b7456da40cc8d
│   │   │   │   ├── 2fd76b1e86feae72db5813fa27e0760a607a13f2
│   │   │   │   ├── 320cc080c41a4f5846cd740e82f007645010bfa1
│   │   │   │   ├── 3286cf588786f87fef481c7ee465dc60eee4391e
│   │   │   │   ├── 32bb601f3f3aa9a3ac30ee4ad2138c5143251714
│   │   │   │   ├── 334200ab9eb04bd01cb44a21e16306f3e8de12be
│   │   │   │   ├── 356a192b7913b04c54574d18c28d46e6395428ab
│   │   │   │   ├── 36076c28fff33bea1867304432420ed685d27b91
│   │   │   │   ├── 362091df7a6a4b38be6f958d21f4cadc6fea5e8a
│   │   │   │   ├── 37251be083d7f99af9e1c7a4f11936f2935f0b17
│   │   │   │   ├── 38d829e423d480cd24a1b83513ea6d9424627212
│   │   │   │   ├── 38f6d7875e3195bdaee448d2cb6917f3ae4994af
│   │   │   │   ├── 392d029d257986310089d500b1d4521818f45cd5
│   │   │   │   ├── 3939dac890fba2eb21814e82eb539d6f7de9da07
│   │   │   │   ├── 3bfd922772e61d1c51ad7a3c0d6db7e686b70859
│   │   │   │   ├── 3c79ec3deaaa87395a6955a8f39be784643d52ea
│   │   │   │   ├── 3cf5e1f649a73e69b4ee05c62da8e0d5252823df
│   │   │   │   ├── 3e140e6d8d719ce82a88adbcbf3668e890b8d025
│   │   │   │   ├── 3e754b50d7ed4402123e6ee1351344d67b834918
│   │   │   │   ├── 3e9be1b258c67169e262e993f89656cb27c3da9c
│   │   │   │   ├── 3ed54accbc161980c788a8951426f1d5931db238
│   │   │   │   ├── 3f675324a715fc02cf00afb8c485eadfba257aa3
│   │   │   │   ├── 3f9f95592f43e9c035a6a53f0c32026eed0d299d
│   │   │   │   ├── 3ff2c6b37ae1c0fcc3cdd04a35f9d8e532fa7d20
│   │   │   │   ├── 41901ac30f9e7e68c32ba753436e9c5bc668d3c5
│   │   │   │   ├── 41add85724d3b9bff3d877a949acb2fc93fd76fc
│   │   │   │   ├── 41ff53703fa8231deadc00322805ee78f793b5da
│   │   │   │   ├── 449812e74454e863ea558e7ab9e17cbe64572e97
│   │   │   │   ├── 45c1e6525e6d1b2496ac19b3064245b6473a49fc
│   │   │   │   ├── 46448068fa6276bb5f7c4f56066fb34ece186c66
│   │   │   │   ├── 489a73b15ac1c4dffab102dfe6c109792a7e1dfa
│   │   │   │   ├── 49237f66b40eaad2c23d8be346fead4c2a004636
│   │   │   │   ├── 4a095aef5824cd0a13c8706ff870a6ef2f3dd399
│   │   │   │   ├── 4e52ef8facabaeead3d4e12b91b0f4a4ec102732
│   │   │   │   ├── 4ff447b8ef42ca51fa6fb287bed8d40f49be58f1
│   │   │   │   ├── 51711e08538ddc6d50e7c3978cb2a00f50a5a305
│   │   │   │   ├── 52cfe1fb5fda21b7f088d637a41e5de1592fb2e0
│   │   │   │   ├── 550312ca5140e036ac9d728db3d44df0991a4d88
│   │   │   │   ├── 55cab295e6fb717b173702eed50ffbead9de2957
│   │   │   │   ├── 5667a766c3d9fdf13333fd6c5b6fdafd3cebb442
│   │   │   │   ├── 57c1c5becc3cf566581f06378dfe1987172dad7d
│   │   │   │   ├── 58409e6b84395163cdbf63ba09ad2231527adedb
│   │   │   │   ├── 58c748af73c955937a1dc9e25733cb8b0f9eae3e
│   │   │   │   ├── 5941347f0af754e5f70069077c4e87509cefde58
│   │   │   │   ├── 5cc4fc2171135fefc805291872a391ee7e35c015
│   │   │   │   ├── 5d870fa1cb981790514473e2a688fc61f0150307
│   │   │   │   ├── 5dfa4702490bf06ce54b742ebab131c459e21e8f
│   │   │   │   ├── 5e0218964ab8a1d04b56e9b4e798729ce5499909
│   │   │   │   ├── 5e4d4905d69735de1b7fb0101dde0f8e4d17d536
│   │   │   │   ├── 5eb55dea99ee665801b7e3725a784a11ed846372
│   │   │   │   ├── 5efd0f0af5b1f1e870f78a2192c5f03bdca52d25
│   │   │   │   ├── 5f773135f0a7c8209d25b3297730293d3e238753
│   │   │   │   ├── 5fc5e3ad16ffb81cd87a08e3ab245390e6eb94e2
│   │   │   │   ├── 613cf0e439d1968b62526744b596b6cd832e3443
│   │   │   │   ├── 61b9f39ee191e759ef0ad6fd735396bfddb2cbf2
│   │   │   │   ├── 6240d35f66f3994f2007b36a162283da33bdf0b4
│   │   │   │   ├── 62db736f788068332552999e2042e8df794b798d
│   │   │   │   ├── 6330f177b9d4ffc57bacb9009083de56d3a9fdf1
│   │   │   │   ├── 637a6f32cb071a302042abe613d71f135baf0c5e
│   │   │   │   ├── 6417ac8b13eaa831f05ca81c8b289a4627d0635f
│   │   │   │   ├── 6422d887d7ff4e44e59a0b28c92a65130b9c2d12
│   │   │   │   ├── 6477186c0f869c7a5b1c91e08010767ecf61c68e
│   │   │   │   ├── 666d79489b330d37cd5360ce87f3378a19c368d4
│   │   │   │   ├── 66c382031cc45a841fc9284e1c29b46ef4b7d8e6
│   │   │   │   ├── 66cf30ceb3ebffae51ec04fe54d14f0e1da764d0
│   │   │   │   ├── 684a3fef4c5504bd7c8ee2bb7d417e93d2ad80d8
│   │   │   │   ├── 6afec1f1f70abcf1cbae35977b37c2bc048b4f17
│   │   │   │   ├── 6b453b65ac16f51d4166e1bc52c24281a945385e
│   │   │   │   ├── 6bec19b44bcdac7bca8bc9b10925d2cdc754175b
│   │   │   │   ├── 6d45ff4bfda8922cdbd9117551d7479ef3bd9adb
│   │   │   │   ├── 6e1eec8ed109fbdf7c12458769ea0c002cdeac56
│   │   │   │   ├── 6ef7576d39b7bc259e00aafe441718f698e3cd87
│   │   │   │   ├── 70384f05c971ac3ff0f4ebd9fa2d2f3d82b4993d
│   │   │   │   ├── 718fce6b8f3937863dd947bc9c188136d05d7130
│   │   │   │   ├── 7343e86dc760c4b6e623d1646c6e82b378ba24b0
│   │   │   │   ├── 739d7debab4eb975e3b5aa91ed2b965948caf457
│   │   │   │   ├── 7540797d21454f5609272245c05b3981be33b7aa
│   │   │   │   ├── 759ce3343927be93883bb26ea5540ea21e5aa386
│   │   │   │   ├── 75e22f6c35544f9a4760dd136ee93d7c5f2518d4
│   │   │   │   ├── 76a6acc2af2d920a632b7addec28fbb42d6227f8
│   │   │   │   ├── 7715d946c6d57bc306d04052c49369f0afb2ac32
│   │   │   │   ├── 7744609c9961fca0f8d55e9c7616509e9e3df808
│   │   │   │   ├── 77a99713d7aa3100c9c0680c9cbeba67d4f30ce9
│   │   │   │   ├── 77c782bdb9521dbe6eb7682493fcde89ce762f44
│   │   │   │   ├── 7ae756e9681dcdb739fb1ae0e30a3bf8043fe60c
│   │   │   │   ├── 7b41852284e3035d7a807d1769524a4514295373
│   │   │   │   ├── 7bdb26daf76ed012b61a65e0b6d521f0b34e55f6
│   │   │   │   ├── 7dcc9c53752ca6a800dc7dda472a0bd2ed09e7c4
│   │   │   │   ├── 7ef0a8d8149342fa93469f228609bc52508e4396
│   │   │   │   ├── 8021f51a3efe8bc03538901a5d07a2f20a39b701
│   │   │   │   ├── 81304e0dcfb8fb2fd1ba2309d416ffe1f38f2a3d
│   │   │   │   ├── 8149371e9bcb20ef99f926fe20c176cafa676285
│   │   │   │   ├── 814a3876b8285a2bcbecd99a201cf1af49e6b11a
│   │   │   │   ├── 832dcee787c4ff526198f707d0d8e16b129767c2
│   │   │   │   ├── 83f542ffb794bd569945866aaf8e37228669a701
│   │   │   │   ├── 849af41229745fd6e9840d69bf6edd7079a311fd
│   │   │   │   ├── 84b1ef034e51a5082e8218e85975c1bf4337bc59
│   │   │   │   ├── 8500486975fcce132a3ba3e1a20f8de7b29508a7
│   │   │   │   ├── 85eef37d8dc68b042afa0b50e172897464034a74
│   │   │   │   ├── 85f3830484d7409a99017e899e2399f7985af94e
│   │   │   │   ├── 87a2b80f9272583517c0207af176fc40ea55022c
│   │   │   │   ├── 89608cabe045206c25384b6785aa92daf7c171bb
│   │   │   │   ├── 8c954006e2cb2f5ffbc20dfbcbb7fe404be4ba5c
│   │   │   │   ├── 8d5c212a40a328da7565d7bbd5fbe7517538ee3d
│   │   │   │   ├── 8dceb2a8bb9a98ee0fcfe9a89d3a3ff3fdce414a
│   │   │   │   ├── 8de1f2c13c48532f772061efda9edb38fe26c0a3
│   │   │   │   ├── 93221a7273be83763f9dd883946978eb0935e762
│   │   │   │   ├── 93b713025575996366c633ef8cea8fbdc737d8d8
│   │   │   │   ├── 950b8c9dd09799288af9d11ff958ed2e63d72005
│   │   │   │   ├── 95d9c8b6e3bf3de68dd56743596c43f819e818de
│   │   │   │   ├── 99ce00d43f9fc7818a4f3423b7b8289d0bb87234
│   │   │   │   ├── 99df4151dcd9f163434a0b284c10936af0f4e5fb
│   │   │   │   ├── 9ac784b1c686635d12495b0ed4a25029f0baaa9a
│   │   │   │   ├── 9ae0a713e4c39c47492f77de7102534a7b96aab6
│   │   │   │   ├── 9b4e655a5683ce75fba463fa880b257be3ffa8f8
│   │   │   │   ├── 9bcb018977812159c15a834f373ac135b782a10a
│   │   │   │   ├── 9d27e500ee25dbdecb9fc4680812eb96e48f1d2d
│   │   │   │   ├── 9d41a9818e211ee98ac596495c1124f6696d09fc
│   │   │   │   ├── 9d51f1423722c5e8aa4d107865e10d293a1fa140
│   │   │   │   ├── 9df9f3ac537c579ad5b0aceef46a2dcce31037de
│   │   │   │   ├── 9ffdd9130c8e506c54bb4631080871fc1c7ba88f
│   │   │   │   ├── a1422e6a168630cdd214ac5e31ca01ae1bee8d92
│   │   │   │   ├── a2eea62736951c8d78626f741bfbfc51bc6c9bd2
│   │   │   │   ├── a41c607d984aec3d796569da2b55dda8f0048b0c
│   │   │   │   ├── a574380880b8038ee74cdb44cb7aa7f2b6617186
│   │   │   │   ├── a5c4ec5775088e87a334b664e6e8e86dd7e10130
│   │   │   │   ├── a6c9027065d9ae3dc8f1b1b880d5f1775240ca0c
│   │   │   │   ├── aa8250319828b4163695c726ea6e69cf4c140e30
│   │   │   │   ├── aae7c0fb777f220875f1fe54665d0fda9b03890e
│   │   │   │   ├── aaf78b268bc0226a03e73e2bf184a61734c8aa0b
│   │   │   │   ├── ab3baefd06064b7a6137cb2893456835abcaa118
│   │   │   │   ├── ae367cc8cabac896debece6700e842aa85c40b78
│   │   │   │   ├── ae80bd232c1ebf8afacc37405c2a4505f475e2aa
│   │   │   │   ├── aeced42b612c49741b262e34706c1de01eaf97e4
│   │   │   │   ├── af31568f6b0df0b3338588f29c0eb4460a99b69c
│   │   │   │   ├── af8720cb64bd570dc7e6d9c68481efe81aed22e0
│   │   │   │   ├── b108a36270fd0835a7be248d5fd4a85a5250a7dd
│   │   │   │   ├── b13b57aa1c98d3a129e0dd718a604dac3c65770a
│   │   │   │   ├── b419ff42ac4a0f2b5d3bc8979d5aba98d79798e8
│   │   │   │   ├── b49182a7be9de06418c6af2c3f09a79e4ec4197a
│   │   │   │   ├── b61f36e968b85c99a3dfd19b9932595e782b8913
│   │   │   │   ├── b6589fc6ab0dc82cf12099d1c2d40ab994e8410c
│   │   │   │   ├── b70cfeaa4a7ef5329e8ee37c5015ca3b648c450c
│   │   │   │   ├── b86fb9c87e493ea5af6004126150feb9bdb825c9
│   │   │   │   ├── b8983fc9befbd305e19d529db1c66ad18320ac69
│   │   │   │   ├── b8d80dd9af3eb7eb136f1d14a07b1c528f13e911
│   │   │   │   ├── bab0d1528dc42ded1936a436f20afba10014f891
│   │   │   │   ├── bc1ac6a8f86333e9fd372331e6d3f444be735402
│   │   │   │   ├── bc977149aaf6eb3a51c1769e8cb19901b1829e92
│   │   │   │   ├── bceea7f1cd74bebe2ce08e43dac9d261dbf18f91
│   │   │   │   ├── bdb5dc3199e5448ada3fbdfe4c8af7943cbd235a
│   │   │   │   ├── bebc59f212a559756b4bbc3faba4ae10d315d497
│   │   │   │   ├── c23f7da7070511444ebc75875fd9d202b5dd13cf
│   │   │   │   ├── c2e6e1aee1616fa868685dfabbcf5291438f9747
│   │   │   │   ├── c2e71fd65bf2dd7fdfc5c0690c27b7fcd7ad1194
│   │   │   │   ├── c2fb7620971c2d676b0aa62c0e1bbecd80b2d9be
│   │   │   │   ├── c368c154d2fbc8d41e38012e9a506bdc6cb36b3c
│   │   │   │   ├── c3d43e895d5403308b1f5d20ac68089f278f58bb
│   │   │   │   ├── c4d9aa3c1b056db569ee53f2a8576eee1648a803
│   │   │   │   ├── c596925beec028955b43a195888e284ac19f62a1
│   │   │   │   ├── c98cd4991b593a1979150edef362454ba06bc5a5
│   │   │   │   ├── c9d3ec0e53562b12d9b1e081ed9511ff14dc7925
│   │   │   │   ├── cb7064c4c88c44784df84f6babb078c0f8804741
│   │   │   │   ├── cd949405982c4dc60814478e4aa7d4a3f0428479
│   │   │   │   ├── ce201031c9ef369ba2bfe7d52b0fcc1dca0b13b2
│   │   │   │   ├── d0d3d231e7108e8fa61e4e591fa559ecf2792a94
│   │   │   │   ├── d1188e7f3438ba7c3ff7191398ecc2efa9470957
│   │   │   │   ├── d1c2104e3492dc81240c303b52b64fdb0aa8f827
│   │   │   │   ├── d208b7c3d0653df162f4ccbbadb15ec7dae74ab8
│   │   │   │   ├── d48c09534c35bf5ce0cc6c64a6031723d0906bdd
│   │   │   │   ├── d48edc137f3088ed35681ccab30161061b3feb90
│   │   │   │   ├── d5b7f37a21c4af8b3c102f969881e4ee39cc6a8f
│   │   │   │   ├── d625fc319a744dd916251e56a472cfef5a98f0b2
│   │   │   │   ├── d650151dbb711eab8630ceaa36a4f8b1a9e39df0
│   │   │   │   ├── d69e58e80c7e82f3fdb59db0191087c54f79089f
│   │   │   │   ├── d7f82bce8bd35cf64667f447a2138afdb496da3b
│   │   │   │   ├── d9ac7b8dc973d67c518cf931bdf42ad08cf561a4
│   │   │   │   ├── da3293ce5d82067c6f11257981823849169f3403
│   │   │   │   ├── dab0d12291e4cbd77a94f279ba1cbb1672d55c1c
│   │   │   │   ├── daf7d7d2c624233ed78b89b6b6684f74dd1c0c04
│   │   │   │   ├── dbb93daa94c24b650e09cc72a7e56097e22fff84
│   │   │   │   ├── dbd01297d254f7fa305219e2aa1a369ea7a22527
│   │   │   │   ├── dc400bc8f31a8bb2593d4c28112e785e29d0f38f
│   │   │   │   ├── df984f06ec102745c15edefd29f33eda2a1c85a0
│   │   │   │   ├── e38b56ceb12230a32054d611e0d1f7c056eedf6b
│   │   │   │   ├── e526dcac9c6b2eab2ef2ca472a99963347e2f87e
│   │   │   │   ├── e57269fa24e5a40f2292b37089d4366cec35c35d
│   │   │   │   ├── e57c8da00d97212eea169f7dadd281722334acd0
│   │   │   │   ├── e6e85f599f4562e2d1397d023628b65965fa14d7
│   │   │   │   ├── e79e527bbcef0c4e5e267131063d6866232cec3a
│   │   │   │   ├── e860ae2a7d700d40bd3bdeb7caca2b446ee824ef
│   │   │   │   ├── e889b88d53a1a45d01232047189825a7747e8c45
│   │   │   │   ├── e8a863ef5127ed01bbba73449a6c9de20125812e
│   │   │   │   ├── e8b113846dd4cbe61e80e5f750280a16dd37c863
│   │   │   │   ├── e922ba00132e742d435c6caafed22be03024e3dc
│   │   │   │   ├── e9a20a4af61c91b0232679bc583058b278fb2926
│   │   │   │   ├── eb111d98d9cc8e8f4589864319f6c67c0da320d1
│   │   │   │   ├── eb393579a5c6d84365c6c3e95d2de9ed10054d31
│   │   │   │   ├── eb8edaf4c4c13ac51d85c39ff93366be8e4be7cb
│   │   │   │   ├── ec7f371c0fb5c2faaaaa23dc6fcdc99283489ba7
│   │   │   │   ├── ee5f2d15733b40d12b0774af406c78a45ebe6148
│   │   │   │   ├── eee6b2d3ea106e614f0491d195c8c8c192c85bf8
│   │   │   │   ├── efba95a85c4192602fa2c3659143c92b571a5c94
│   │   │   │   ├── eff4911030d04500307ffe2e0fded422fe1ae75b
│   │   │   │   ├── f08ed337a7f1ab963f1209b7848d84221b563f08
│   │   │   │   ├── f0983d0151f1e21eef6430bbc8547242a477416e
│   │   │   │   ├── f197ac3297a72d1413edee2426e7f38917b45423
│   │   │   │   ├── f1abd670358e036c31296e66b3b66c382ac00812
│   │   │   │   ├── f1e14bac6731ce7bd468043a41efdf7b7254305e
│   │   │   │   ├── f25de8b0eaf377a3d96af8469ecd618aedd0cf9e
│   │   │   │   ├── f53f19616fe3d835283bfd6d318c604991b66c26
│   │   │   │   ├── f57c45a511ae9289677ef448b07003946db78212
│   │   │   │   ├── f5a1859ae6b51feea5a485d0d8143439f1a9991e
│   │   │   │   ├── f5df3991f088f7a6710535dcae3250052b786763
│   │   │   │   ├── f5e4d64b7ba71c108572d4f0785e91bbe427512e
│   │   │   │   ├── f633db7e95d71992c0d246a910b6ef0c4f848dc0
│   │   │   │   ├── f7185e0cf7f84c726e60c907e24f28954b68b8b3
│   │   │   │   ├── f7486ae138c2b85cb854545476d92e7a0373ef83
│   │   │   │   ├── f79cc4c8d9f8f447188eb98a03b6941c4c84947d
│   │   │   │   ├── f7a2155a1adc314c9df71252e9b5f6a6f750ecd6
│   │   │   │   ├── f8de2e14b709554c407425de229e30296a529b80
│   │   │   │   ├── f9610fa79c299e70839877aee63f39e96972a16d
│   │   │   │   ├── fa1d66dd261334900916180b83c948551f52275e
│   │   │   │   ├── fae00ad0f90febb0e1f8862e3b72edcf30be61b8
│   │   │   │   ├── fb96549631c835eb239cd614cc6b5cb7d295121a
│   │   │   │   ├── fbd4a4ffc26cdf139663aed3057eedf51ce790f6
│   │   │   │   ├── fcfe7aa00d7b88df2566fb89ac0d93e5b95f1251
│   │   │   │   ├── fd08016e47acfabcb0032079b3243a3ba8aeec41
│   │   │   │   └── fe34eec4627bd91b7c585b6f4be9561fafd9b3f3
│   │   │   ├── string_literal/
│   │   │   │   ├── 0000c663aecfb5630f9cdaade3002e875ff652d8
│   │   │   │   ├── 019d3a61f8243c016c02a5608b6976d3c070a792
│   │   │   │   ├── 03116a305890a94abc5e1ddc1f414f05a894a8c6
│   │   │   │   ├── 0376b433f55d2717b9d41f2b8138c50c46b2aae8
│   │   │   │   ├── 03b96cd9dc4f7f012bb55d2028e23522b3182cb0
│   │   │   │   ├── 04c810f17ef88440680ff21b94aa2f8700f3bf1a
│   │   │   │   ├── 04f36296f1af72207b79d1a9bccad3c0cc12495e
│   │   │   │   ├── 06b234fddbe40ffc81affde9f21a7e5bb85958dd
│   │   │   │   ├── 06fc68871d6c253e93ed33c7490417567a5397cc
│   │   │   │   ├── 07b3fc6b794ea7593e8107ad9885666eb3d8a2aa
│   │   │   │   ├── 0891ef166a76ed8fae0d965e822ffbd16c80cbde
│   │   │   │   ├── 0915fb5ee1694089eeb6e50b8df17675e53c818a
│   │   │   │   ├── 096d488c0e9abe2cd0e12bd2c39fb44301c8be8e
│   │   │   │   ├── 099f3667fe4a3a217aa1dd17de0925690fb78bec
│   │   │   │   ├── 0a98d217558ac2d3a8092b2aa0f5b95bbdea0c07
│   │   │   │   ├── 0aa91ba10de9207476869788f14113120bbcd217
│   │   │   │   ├── 0ab6c929e37c33fb225d50e69e02f3f8505aabf6
│   │   │   │   ├── 0ad3a8f69b5a9026b01b7fac7ee57b79eb75e09e
│   │   │   │   ├── 0b262e8f731e0757184f3d79722b87a0698c41a0
│   │   │   │   ├── 0b8ef897460cd34ddb05e34db985ce877f3d644a
│   │   │   │   ├── 0b9d95b97b5cb13a1ab508375616d2c7ca98642a
│   │   │   │   ├── 0cac1ad1af736bc8b5ce0aa69bf70286102930a1
│   │   │   │   ├── 0ce49d624305931085b2fe24c6504245611b17b5
│   │   │   │   ├── 0d285e68641514a5238342fd7474c04d70e9abc7
│   │   │   │   ├── 0d48eef2e43ee941fd2a921b1ffc2c9a960a03b1
│   │   │   │   ├── 0d8a52a207c1d24dada33edbf6c4c002a3bb5162
│   │   │   │   ├── 0e0f56266d53af7193855295e4474252bddd42b2
│   │   │   │   ├── 0eb2f4cd2ffb648daab824ed5b30e23c6b114ca8
│   │   │   │   ├── 0eca3f968964de26bb7fdbc86b620e467510cb3e
│   │   │   │   ├── 1072f52aed5634ffc5461ccfde141e612e1c8101
│   │   │   │   ├── 110be2627bce9c69711bb92db6e1b4f3563472d0
│   │   │   │   ├── 1144a2cfdfd3882ae4a12453ae570ed5ba9d68bc
│   │   │   │   ├── 11823356e0d93c50ab5165897d16322b08e41ecb
│   │   │   │   ├── 118bca83c4556dba2b8aa7eb11775454d99c7f52
│   │   │   │   ├── 1202a87fd052064983e01e897b34808f3ff6e7cd
│   │   │   │   ├── 1207d0aceee2266d0619757d2c21bcde11b3ed61
│   │   │   │   ├── 121e0dd50daa2712ac60c7a7ad75a3a96c8058c2
│   │   │   │   ├── 128d834f107c1a29ac1bb616a3c9420c461eb4ed
│   │   │   │   ├── 12c6e768a24fae7af97517b5b7b6ad45451e8afd
│   │   │   │   ├── 14321e2ca435f16798a6c7b0ada316d4c298328d
│   │   │   │   ├── 156f8635b11c9313551c85d49e008478e42dcce1
│   │   │   │   ├── 1580d4c19a6fbcdaf475fff8a4a5b7b007f1dd45
│   │   │   │   ├── 168b94a27056b46bb49207944a088ea147b01875
│   │   │   │   ├── 18020898aa2f970510835e93a646055faf3151f0
│   │   │   │   ├── 19ed681682ad5f130c19b58afcf93cd51ba6681b
│   │   │   │   ├── 1aa5479826030cdf5e87225bf7abe744ded8aa7f
│   │   │   │   ├── 1baba5d163df4121850aa75bfb65b9eec1e0339a
│   │   │   │   ├── 1d693296a54fa1e51183aa60a86fa56dd1c5abe3
│   │   │   │   ├── 1dec96b1cc5b85730ef22ef6746bfccf6a285e54
│   │   │   │   ├── 1e7add2f35b6f74817a36dffade4d52d0a783e92
│   │   │   │   ├── 1eafed7ea98652650f95f073f49d6664ebdcb3a1
│   │   │   │   ├── 1f012f5338605e81d19806071950625522855c1d
│   │   │   │   ├── 1f26d0df21008fefad883dbd3fdb7c32a68f4b3e
│   │   │   │   ├── 1f59243b72386dc9ab6601e63f15e540acef9f39
│   │   │   │   ├── 202d546ab2df1c12c5e463cfd5d52357d27ee56f
│   │   │   │   ├── 20b40ff2624a56b681d03737e2cfea7ed545726b
│   │   │   │   ├── 20f5eb26a89cd1c5d84e325d17e8200f9692ef74
│   │   │   │   ├── 21b5c5652f169812f0294cc35933b1852d3b0b2b
│   │   │   │   ├── 2266623c81f7b52bc5f3310e2258de6260d5bd25
│   │   │   │   ├── 23b95eb9f83d222e121afeaba7eee05e33ea8128
│   │   │   │   ├── 23e20b367426915a863b50cd639e2d6ed6581a9f
│   │   │   │   ├── 25b94b337518f8634eb71e7bbb2997de9d1cdb94
│   │   │   │   ├── 2660cec736ab868f3af22f5a38d83b46f4ec9a2f
│   │   │   │   ├── 26b41bb63bac10df5e71a0ff1dcafd60e3ddd470
│   │   │   │   ├── 2744b033daab57eab64e4a13c08b42508bfe7f61
│   │   │   │   ├── 2795191870e070dfac97a76ab2225078d9d39e4a
│   │   │   │   ├── 2956bece562048144fe63b675cd74d8dc16749b6
│   │   │   │   ├── 2a6db340a61cb534f3db621b68674bd28deb7bac
│   │   │   │   ├── 2ace62c1befa19e3ea37dd52be9f6d508c5163e6
│   │   │   │   ├── 2c13849cdce15524155c078531f0596e28942f91
│   │   │   │   ├── 2d75f23163d702e30d7f75642e72e5ebe35f66dd
│   │   │   │   ├── 2dad69592eaf5c29fb6f946ea30345b94d4f0f46
│   │   │   │   ├── 2dc0d48e579bdf90ab944f87745559511e8330dd
│   │   │   │   ├── 2de4b5c5bd2776262e8c1ebf3995baad9eb144f9
│   │   │   │   ├── 2e70dec62a5c168328c578d4825633017c792c27
│   │   │   │   ├── 2f381733d9cddec878047164d26e926e22a9da9a
│   │   │   │   ├── 2fa1f8eb4a7ad1ef0de818edf2ee3a36a5c8a6e2
│   │   │   │   ├── 2fa32e589ca12d6de0a0fd22934ecc1f365804bc
│   │   │   │   ├── 2fc29f8b41ce47eff1e4b93ffd68b69ced392d1c
│   │   │   │   ├── 30f77ae1d04529b675c4f3e93f859315b60631c0
│   │   │   │   ├── 30fd329fecda454f9dd37560dec0debd9aa29c6f
│   │   │   │   ├── 316e54e58b49f9caddf88ad506e9123828c5c974
│   │   │   │   ├── 3206a6a100fd709e5bfd6938b604f539089a6947
│   │   │   │   ├── 322ebc5473609e5e6f494d567bc026ff72348a1f
│   │   │   │   ├── 32b92c4a39dd4919ea65e6c8f6e797a38d6d2261
│   │   │   │   ├── 33b21ecc4cf191463b613684e4c3aa5f94f421b4
│   │   │   │   ├── 3417353f392588851b3b4a5556ff33630fa90cf7
│   │   │   │   ├── 36436a22ce2c601dc2c13366fe59735c7ac36dba
│   │   │   │   ├── 365a8cbdb459515eb8e623755fd17521aaa52990
│   │   │   │   ├── 36973b3723dd44ff93e859fa66f7d91b80890fae
│   │   │   │   ├── 37684258bd1cf52151a72e51593b4377bfb5a41d
│   │   │   │   ├── 37a69b77459452d038efc3817a2fbcdb60367f82
│   │   │   │   ├── 37b42d00eca8685ea439d865c02cb6d5f6d11924
│   │   │   │   ├── 37dcc3879b12d50e7a7b33f0fb825662a291ccc4
│   │   │   │   ├── 38eee8ead800a4f44d308c1f38d3505e2b7243c1
│   │   │   │   ├── 394dca45032ba109ccb1eb22c0d75dca6433a1c3
│   │   │   │   ├── 39a5f7060eab5629e4dd20e76658480b860ce284
│   │   │   │   ├── 39e3c2ba0c4f5d65edc00e30f3ab308456e9fb6b
│   │   │   │   ├── 3af7aaa16a9328b8d00a75d2dd515fa7ac444502
│   │   │   │   ├── 3b32af2a2a317a9b204764bf221cc83b05665e7f
│   │   │   │   ├── 3b7a06bb1102f7d788e3167ff05a9b20da93212e
│   │   │   │   ├── 3b9535ea11e068bf92fc4bfc7ff57c47b815b9c0
│   │   │   │   ├── 3bca58822768446e54453af8ec624c4b48dc5095
│   │   │   │   ├── 3c05ef50a60513cedd1842a06c01bcfdc0323b1a
│   │   │   │   ├── 3c92cdfb0db748189f34876fb32b66aa1d584a51
│   │   │   │   ├── 3da0f12b5b913d2a8ac137cc917f0e73b9f59976
│   │   │   │   ├── 3e6fff494bd0b1b0e2a7cdc5dc6fa8cc7cbaed60
│   │   │   │   ├── 3eee55022df10643b2e79632fb724ffa891e3d91
│   │   │   │   ├── 4087566889f6007e2e8770c94e1ebff6ad32bf5f
│   │   │   │   ├── 413300f2a1d4692c7fab0112511a2411f465bc4e
│   │   │   │   ├── 414120154dcdcacd4a92863fbcfb1e3e3991a406
│   │   │   │   ├── 4150c8dc06ecb3f620577622b439d38425d51c78
│   │   │   │   ├── 44cd53e8e58df6df2fbc9a46f4a3c13ff8f09200
│   │   │   │   ├── 45369e2121a4e20b3b57f28fe9a4319d7b16af54
│   │   │   │   ├── 4561b622b4f9a8bc970a677ca191c16c19737ec2
│   │   │   │   ├── 456ed7542e7eec5ebba7517e1b435578c32e2aff
│   │   │   │   ├── 484640d261434a02a5091ebe283a9aaa2bc6bb95
│   │   │   │   ├── 499108a16874f242f9341089cad86162b8c03072
│   │   │   │   ├── 4b12ed448db88ad4c3d2f0d0737cb665b5b824b7
│   │   │   │   ├── 4b8430148ace414db66ff719d791a53aaf5462ac
│   │   │   │   ├── 4bb117d9155a3957bab90af9e84a0d5847ff04c1
│   │   │   │   ├── 4c132146c393971d805e60f366c366fa9da523ee
│   │   │   │   ├── 4d9f2c473f4d4a9a081a7b44c18b970c50bc32fc
│   │   │   │   ├── 4dab43cb12e13a7224adf4dba343bdbab887f74b
│   │   │   │   ├── 4fc5bf5ca2b3a5a9e5ec6bbd53f7a99e941129d5
│   │   │   │   ├── 4fdff4cb139acc2c25fd2dfdd0dc19f5afbe42ab
│   │   │   │   ├── 5056c7a8bcedf92a1b27c07c813dc282bca1d06c
│   │   │   │   ├── 506825d4376c705a90d5811c7cac100db436efd8
│   │   │   │   ├── 510fb3639791c534198374f7423bfa9791774d28
│   │   │   │   ├── 5132c55dc1641aaab606231181d9896bf0154f7f
│   │   │   │   ├── 51866c8db22d6668abb60fed4bfcb21052f0d00a
│   │   │   │   ├── 52973603cf5c835ea4da789097d252eb42305468
│   │   │   │   ├── 531edc565c3e984aa9320a413dc471e68aebfee8
│   │   │   │   ├── 541f135097e6a2669e43af326e53d70c327ec629
│   │   │   │   ├── 55e65784b6e7a55c2a8a46bb7e06e2bda659e629
│   │   │   │   ├── 560927416d9f52ac4c2cd4704c79f3595eb75dba
│   │   │   │   ├── 56e3911b87b48bd7c3c6598b97272bcdfbee399c
│   │   │   │   ├── 574bc1c47024caad6e4bb4bee2df4a0a0a83ceba
│   │   │   │   ├── 57d56fa9e0d9b6a145cbf08d92d1ec905357682f
│   │   │   │   ├── 589c697128b915888509ea62fc5947c6b02d24f9
│   │   │   │   ├── 589f003fe9c3b5cbb6abc3e262b1ebcd43f2c7eb
│   │   │   │   ├── 58e1b119f4bb9801fc6e5e89460030def82601dd
│   │   │   │   ├── 595bd3da9cb8c029f3a7848eef7a2b8164f3cf3b
│   │   │   │   ├── 59d6888e8e389be5174eb7269b457824da4521ef
│   │   │   │   ├── 5b6672c68afdb254668f6e9b859e7ddba5471288
│   │   │   │   ├── 5bb17a6271cb4025a28572954d30145f4521ba82
│   │   │   │   ├── 5bbf3bfcd7c31e9285dd2324fac77e0d7322e452
│   │   │   │   ├── 5cf45e86559b80c5d4e049bd737613e477654ec3
│   │   │   │   ├── 5e7a76d4a38b352010c4a8c8ad4aa461f6218793
│   │   │   │   ├── 5eb47faba454a8187890675ee243eeeba073fb0e
│   │   │   │   ├── 5f28eb629ea31547978309b712407cf5f6538095
│   │   │   │   ├── 5f422d74bc3008c571d0abe58eeaf7ba3feda93b
│   │   │   │   ├── 60b668789254f2427fd51d1bc30da5b31416ff59
│   │   │   │   ├── 60bb7d18180cfa0c90783c4340344ea193045a27
│   │   │   │   ├── 615220b2a3800a887f14f42f5f642f1e524ea7b5
│   │   │   │   ├── 64ef2895f91f5aab5b6c228534e7cdc94a57c731
│   │   │   │   ├── 65a052f77e6f5dc2ad248320f241e7932b18f4aa
│   │   │   │   ├── 65d1bf6f2e113d4cd74bd512898dc0be3d850598
│   │   │   │   ├── 670d6b2808d9ae0e710bf7426069d9ec5573fdd3
│   │   │   │   ├── 6750e65dfe53985ea620b25b74690e9adb912580
│   │   │   │   ├── 677ce415ea13b040def8c70a4b224920d4b7558c
│   │   │   │   ├── 678b1652c59a1becf5eb8660b992e5ef3504f3ef
│   │   │   │   ├── 6974aa9946f3f4710d3c8269af99f159f3d33b0e
│   │   │   │   ├── 6a3f865363698dc8eb11d530c234e830a30af5a0
│   │   │   │   ├── 6c706d640239c2175c875a26a9c1baf1634ce26b
│   │   │   │   ├── 6cf13d3995b0b218a5c0c0fdce5a0cec9089f850
│   │   │   │   ├── 6d19d3b77b3be81f82feeb998ffd7725fd701fd0
│   │   │   │   ├── 6db98d2f4080d7279fe56f669bf11fdefa97a50c
│   │   │   │   ├── 6def6e6cff73ce5d27104d5891dce3090e14ecf3
│   │   │   │   ├── 6e195d1aae39e27a34f7bc7a325066b675b5678b
│   │   │   │   ├── 6e1f5e5722e7877bb4c3054c7f6be4a3a2c36d8c
│   │   │   │   ├── 7124d84b33d82906d70c6bef3fdc65994b5291b8
│   │   │   │   ├── 71d1a859ee6be79eab5856d3215a820c35e0c52b
│   │   │   │   ├── 71f5d8f973ad94d40e91577cb62fc838dd61700e
│   │   │   │   ├── 73008346249a9885bcf8bd6e6824d77267ab4639
│   │   │   │   ├── 731222f561fe7b81db8f55d086f5befef2160961
│   │   │   │   ├── 73688477f15db57f6169386d10b85e552f86d561
│   │   │   │   ├── 753889c6d4cd0e89717dccc0ff50ebd30415ac22
│   │   │   │   ├── 75b706660b62c7aaa9c11552320fe581f39c6820
│   │   │   │   ├── 764062a8bb71380cbb1ce81d8c7d331f738b804a
│   │   │   │   ├── 77aa6fc67ffbab1ee2961d33c0ef55dc29f0f766
│   │   │   │   ├── 781ac37c9f8222af3404840604c0d4559d4089c6
│   │   │   │   ├── 78a7fb5dbfef4da9d0da838dbf594a3ad91cea5b
│   │   │   │   ├── 78df962da98901882f2530945e54bb62c7ec22b9
│   │   │   │   ├── 79099ff6620cb6d92fd51f7f46fa274b58dd3173
│   │   │   │   ├── 794622981056b9f89a08e8ab5e1a00c38b1fa562
│   │   │   │   ├── 7950d568f4d548cc3304e877969a55a0b997bcf9
│   │   │   │   ├── 799e94b786fa81e26772bc5db0a71e94c5020da6
│   │   │   │   ├── 79d23363b6d0dea7ca3e03350d21ca3d24bede9b
│   │   │   │   ├── 7ac82c42433bc4ca35742ecb8083deddd965efcb
│   │   │   │   ├── 7b22b1953b1864ce50a5adfe6019716b19371f72
│   │   │   │   ├── 7bf6d56d723dec165ca1da8b089bb4403b992eb7
│   │   │   │   ├── 7c135e14fa77b5eb9b9e70eac7b9b629be1aeb80
│   │   │   │   ├── 7cbf6e6a1b2a43d310d2c69d0a772b34e794bd72
│   │   │   │   ├── 7cd55ada85ac33da68ea075c7b86cc45402dbf4c
│   │   │   │   ├── 7d1c19a209ccb08910c4c60bf0fb6e6b38f48bec
│   │   │   │   ├── 7e3aa07547c90a0d597c824ba84ae097ac479e72
│   │   │   │   ├── 7f4fbaa57b3d81a406ad55f452e61d3192b0a91c
│   │   │   │   ├── 8087a1e31c52972200c4a536a5192cbcda9fc2a0
│   │   │   │   ├── 80cb08da094850c934d89e75b20fd2ad366247ef
│   │   │   │   ├── 80cdc41e66d2a7f513c53257610737234662cce5
│   │   │   │   ├── 831af40692156be859277cb8332cf5b3b575f4e0
│   │   │   │   ├── 8365cd0e25f4ee55757dead2fc50e5b89317896a
│   │   │   │   ├── 83bfe4a8ee18369a2ce07741955a0aa80df20c4a
│   │   │   │   ├── 84b2ec838d54669b11af47a63909e0511d59d80b
│   │   │   │   ├── 857ffafcb227e709435d591d083a07cd61d9f9db
│   │   │   │   ├── 85e4ed0582d0e1814bc2a4c28be4f51c677ea645
│   │   │   │   ├── 85ec3d48177403439495300df0b885709a3a01df
│   │   │   │   ├── 86b84eeb82fa5888a890da0a35ff8c75d8d6eea6
│   │   │   │   ├── 874000f9bb3f8caca4e38317ef3bf70dccd1fc45
│   │   │   │   ├── 8839992e511880e6b62ce435a2baadaf0754adfc
│   │   │   │   ├── 89a9d6fbce967e64793c29f69bdec1dac15d4cb1
│   │   │   │   ├── 89c672b6b84f976b8ecd05d7221e535d9a2a3b0a
│   │   │   │   ├── 8a57af39652be7bebe49059056452c57ebf29fad
│   │   │   │   ├── 8a5ba0066b9a54f67372a861e0d181ac159d4c78
│   │   │   │   ├── 8ac23ef53588d00ec6eb2b23568399cb6b921897
│   │   │   │   ├── 8c3ed6d5c089b598cee0d1433d8b528a33b2e58a
│   │   │   │   ├── 8ddcc5903761d3bb3d938bbfe494c3205e6b9879
│   │   │   │   ├── 8fc905873a9165d927a1d8ba4805042155137d0c
│   │   │   │   ├── 900ed842e35028aec93f6bca38c7505b839b22a6
│   │   │   │   ├── 905564fb4e2123756c27b597a449b9463ebfc0a8
│   │   │   │   ├── 91ab872f72d2bbc7185649dc9b7289813b16234c
│   │   │   │   ├── 9204651ab3fa893d6ab8783902e989df92d17fda
│   │   │   │   ├── 924856b767fd44a9660764543d0a40361a96a30b
│   │   │   │   ├── 926d91f7ec3005dda6c8dddeeb050dc3f160869d
│   │   │   │   ├── 92b065254b2251dcd339dc32ac90deae8b474716
│   │   │   │   ├── 934738f8a075948429a076e2bc2957011a6589d1
│   │   │   │   ├── 93ac8946882128457cd9e283b30ca851945e6690
│   │   │   │   ├── 940e6cc96bf5fa825ee5d68a092a2d9fbf9a29a9
│   │   │   │   ├── 955b9053d403db2ccec289c7fe7bc3f852acd9e1
│   │   │   │   ├── 9575dfa681de3bab7d00776eb882133deaef3929
│   │   │   │   ├── 95ce5b9a9edd09853e12884f214bebafd40fa46a
│   │   │   │   ├── 96a149083217f06ec7b7805e2767d0f62ef90480
│   │   │   │   ├── 96b76b8f2d822cdb61467273c8a3c212f51a47b5
│   │   │   │   ├── 970edf01dbe20c4c0356cf71a62559b7144baa27
│   │   │   │   ├── 972ae0f520c71fbde536db4f1c9e7d8d3062eb71
│   │   │   │   ├── 9730916030311413bb1d2a4e9d93223612d49e94
│   │   │   │   ├── 98356a8902ab5ea28b79329449aa5c10ec4f2cf3
│   │   │   │   ├── 986cc7b9818415e1fb08575a978aac57299ac5fb
│   │   │   │   ├── 992e61e336c4635bc1830a40c86846b8feeb0ab9
│   │   │   │   ├── 9a135d30087fdbb82c95afc4f4aba5d12cf2d410
│   │   │   │   ├── 9b1cc3376be668975eb18581a771e3d3b4634040
│   │   │   │   ├── 9b6f95fa0f731632af30d58a9538dbe7e27e103d
│   │   │   │   ├── 9bba8c359dfe58cbc7043fa9a375d1d08ca3c62d
│   │   │   │   ├── 9bccc112d628b0dc50a865fe841a5aa99ee37a51
│   │   │   │   ├── 9be0df2f364c213dafee965ae895ac70b54067f8
│   │   │   │   ├── 9c0dc6d4503a8f66596713a60ff5d101cce59430
│   │   │   │   ├── 9db8975828684dde7a36aee4ba72610c36f0083b
│   │   │   │   ├── 9f0309cd3690c0a3c1f4b27f46a6621ad7444280
│   │   │   │   ├── 9f4a4b6693ec585370525949dec5cd76552c7462
│   │   │   │   ├── 9f4d2eaf7bc680cf3c03404884d8c7e083388f5c
│   │   │   │   ├── a08513fd362c0631d1c2831ddf398c89f5a1b271
│   │   │   │   ├── a0852c2b59e4ca5bfaa98c528aa74e850c2bd6d4
│   │   │   │   ├── a12745c8f9d50c3c8c2e66930fb658125da3b93c
│   │   │   │   ├── a1bb38f60c9abc335ffbc40b5aa2f47428671698
│   │   │   │   ├── a2029c2c7b5657f63e650eee9e893a4487edb348
│   │   │   │   ├── a27a8c08834306d201a0cddb84bf9a2ee9878d08
│   │   │   │   ├── a35cbfbcea5f87ac7fd604e9b7a67780a12a7cc0
│   │   │   │   ├── a41e604d8008993286621596c98fc7eec69d994f
│   │   │   │   ├── a448aecc0b639fab71f42982e20a00102756cdb9
│   │   │   │   ├── a4e438338444c3fd3acf87b2988acb575095ea96
│   │   │   │   ├── a510865a683d3e320591d15c54520918498dcb76
│   │   │   │   ├── a5360c092ad19b8e542361a7f89e3b370dd83634
│   │   │   │   ├── a5a195b3c9fcbc991bd83f5cbe4fb029bd63ea56
│   │   │   │   ├── a5cfcffcce577a5f7ba7ac535474ecc3c07c49ff
│   │   │   │   ├── a5ec120dfe381e7d433153a2cbf634e5d527bcf7
│   │   │   │   ├── a65d6b36db17585ada3f0852359fbadeb37378c3
│   │   │   │   ├── a70e328a8f8b1e4309e944b5f6d79e9e31909484
│   │   │   │   ├── a7a348b219303e69cee1d69c72434615c7ef181b
│   │   │   │   ├── a7a4917ae72b218ed27ae83f1e0c49b479e7f72f
│   │   │   │   ├── a7b765b566d7b56672dc8faa7338248730f2132d
│   │   │   │   ├── a80b93977a5192c9b2455afd07361f19a2fd3492
│   │   │   │   ├── a86beff470353262447e79cae5d041e1e87eade0
│   │   │   │   ├── a8cd5e96f3aad050f75998476ff342cff0eca57d
│   │   │   │   ├── a8e45c402e1556bf48369f1218e80e243d590f2b
│   │   │   │   ├── aa2fd1f81adc4acc33409235ccae56393db1aced
│   │   │   │   ├── abd02fcd74bd62e86f8b6580181df41017c8a72d
│   │   │   │   ├── ac0c97b629fc32f60d6dcc5751cb95bda0602940
│   │   │   │   ├── ad29df63a3d387eaba14735348e2a5150e00b925
│   │   │   │   ├── ad53af03a37abd62993924b889738c01efcf6541
│   │   │   │   ├── b055ba7c474ec23a2831f583338145959041d016
│   │   │   │   ├── b08faa33bffa2203ba1a124367e2618949408850
│   │   │   │   ├── b0d1d2c07a3538c670883fcc3380af3232794071
│   │   │   │   ├── b179c14764f907b6b0459172bcca0bc917c0aa65
│   │   │   │   ├── b1b69bcbd372f00aaa8225547a1502327a0da00e
│   │   │   │   ├── b204ac127143968fdb1858d15009767c604afdf6
│   │   │   │   ├── b301bb54860d6352587dc4e824a6a22a1de86ad6
│   │   │   │   ├── b38c1b6d767d0cf2023fbfb6b2e8d816eb65e6c6
│   │   │   │   ├── b442231af8d19c70c66bd2254b2a3d12e9f809ee
│   │   │   │   ├── b55d87d33a3bd7df1ad15276f9acc87d88cbfec4
│   │   │   │   ├── b62877512feaca935f7e50bdf5e233f5ab465b59
│   │   │   │   ├── b75101049a878bc14368997b4828521e2fe112e3
│   │   │   │   ├── b75b1ed7c86e1a2cb36df7553056fd0d51a9327e
│   │   │   │   ├── b7ada01ce7839e0a5bfe6b3a093b28dd23c902a5
│   │   │   │   ├── b818b239ef45f737cfd97008f3990ea01817451e
│   │   │   │   ├── b9ab2b22f14b92e094ffdc16d9873d8d800469cc
│   │   │   │   ├── ba009751c34ea9bcc3d4c62cfa2cb56ed9931e14
│   │   │   │   ├── ba0bc0a9b4cb282d386e50fecffc6afe47db39c1
│   │   │   │   ├── bb0cbbb21041bff11c4ed846705dcbbff52512ce
│   │   │   │   ├── bb98284f0e271c119cc2bb1663aec03d70f7ab56
│   │   │   │   ├── bb9cb3d055953180b2c1a49b082a57014b63d46f
│   │   │   │   ├── be9a63dad81f730cc6d159e0f872bff27621a343
│   │   │   │   ├── bf3797cd98ce8ccdb14feed4bb34f1a927bdeee2
│   │   │   │   ├── c0159cb389c964f20c91b1e38177cbb0ad23848f
│   │   │   │   ├── c04130b0a29dc211df8af640a902cb56b3505ba3
│   │   │   │   ├── c0d83e56b82082e617d31cd7f25064ce8a9fec1f
│   │   │   │   ├── c0eeec57dfa448064cc21a9648188b50baf012e9
│   │   │   │   ├── c2547ecf3ca4d877bc6f0b80172beda4f04853b0
│   │   │   │   ├── c3949f3b731c8df590e4488d7a5f1a285be50d18
│   │   │   │   ├── c54c99aae6a6ca7191b0d42e59fade69ad2c27f7
│   │   │   │   ├── c634dd4cae2349adb2706b90b4506a804bc09ede
│   │   │   │   ├── c672382d2badada3d2a86ac6dd9ffcd9bd3617d8
│   │   │   │   ├── c7126eb2a28a325ddf89f4ebb30ecf59908eed73
│   │   │   │   ├── c773a17398b3951946a39579573e37acdfb5040f
│   │   │   │   ├── c958f0fbe4055c05d206111bd85dd9ecd7197f8d
│   │   │   │   ├── c9842a53949e66f67ad11c22e005635ccefa5f36
│   │   │   │   ├── ca31449ca638806490a2e083b763b28df489dd71
│   │   │   │   ├── cc365a16b17bed8b3cd9ad02e26b8acf0a568e49
│   │   │   │   ├── cd0046da5f05badbdc471fc58bc5291b44f34a55
│   │   │   │   ├── cda85ebcba806561741c36fc7de6d06b5e66e819
│   │   │   │   ├── cef5be5ba6726a3e91a233982201223c63efcae0
│   │   │   │   ├── cf173e484a8e02c5caad461d592e84ab2d5ac5ef
│   │   │   │   ├── cf1adcfef9425c515d37f5a0f1f1832939f85d4b
│   │   │   │   ├── cf9e22eb2c602b04741195274add0e478a1056dc
│   │   │   │   ├── cfaf498d71ae8a79ba6fc76b1d87fee1731fb350
│   │   │   │   ├── d00959fdc962b5a78aa29b9c46824c9c45119fd8
│   │   │   │   ├── d07f2c22aadf537098267e5a43d83de86ada11be
│   │   │   │   ├── d08f88df745fa7950b104e4a707a31cfce7b5841
│   │   │   │   ├── d1dc5ad2e9555716fbe9f8e64294ff5d46741b6a
│   │   │   │   ├── d227b7881c8e348194c02e6cb878ada56e9d23b7
│   │   │   │   ├── d441e69fb96bc945e42bbdfe9dd1aabe68df0996
│   │   │   │   ├── d57440c5b07c1dd1d0372d532e2cfcc30ef6821c
│   │   │   │   ├── d58cff7c05b067edbb74b784e468527ebebb6d08
│   │   │   │   ├── d5d5a633db9e2a5c3926ce3698e36042955e20b3
│   │   │   │   ├── d690f51b5f6d3cbb1121c1c5b0a2d8035e7f9656
│   │   │   │   ├── d696853b0a7dd15ba25337fb4bfbac3568fa55e7
│   │   │   │   ├── d6d070ba545de29d35a476af9d5b09bd612cda5b
│   │   │   │   ├── d7bb954c2b4013a367a287096dddd8cb9ea3e948
│   │   │   │   ├── d878897ed681351eb52f76b458616e19e5481e0e
│   │   │   │   ├── d879caca8bf6c854b3fccec2f25daea6a448b73c
│   │   │   │   ├── d8d9c2938593eef2a82b28ccd953d15fc0663799
│   │   │   │   ├── d94cd0abecdad5f3a080bf6d192c26f84607177e
│   │   │   │   ├── da53fcc5738a1305cb30ea27fbd2782df8d3e045
│   │   │   │   ├── da60ae57e2b87ce1988e49c9af5bfcc92e7067b4
│   │   │   │   ├── daca17e1af88467ac5c66749941b5dc016c60941
│   │   │   │   ├── dad8fef81affc1d18b9a0bd6a01e574300c87e2d
│   │   │   │   ├── db207d11d0f18aca083f2dea4a124ee740bbc7a9
│   │   │   │   ├── db5efb7768292614e872abd9c7d8f4ef1d5e0b4e
│   │   │   │   ├── dc64cc322fd899dc5ef9ab53d05ed1d13ba673ce
│   │   │   │   ├── dc6aa8f6168e5275f05edb96035e3c6c68f3e4a2
│   │   │   │   ├── dd79c8cfb8beeacd0460429944b4ecbe95a31561
│   │   │   │   ├── ddb4452ebd9245936764cd90aecd16a46a8ac6cd
│   │   │   │   ├── df3098b65fcd256ccd6668326a75ffaa80041365
│   │   │   │   ├── e185a2958e6b101f75b2aeb47d7451ea9003cba4
│   │   │   │   ├── e3667ad3bfbf4b30367bcbe31c58e55aae0d62e9
│   │   │   │   ├── e36f0fd33d8f4f1469a9a28ff9c4932f3bcbc05d
│   │   │   │   ├── e3f7be8f63c58239a2dedaf66661259615cb472d
│   │   │   │   ├── e42598c27eeebdbb66e08f13863d1dba279f2b2f
│   │   │   │   ├── e4dd444751a857cd6b8fe0ed1dc42e75f2461e0d
│   │   │   │   ├── e5df18ef3c2495af7234c67fe82a211e10395b5b
│   │   │   │   ├── e6faee615498be2fa19d84dcd18f49c83650c4a0
│   │   │   │   ├── e6fed90453a5dfe8ea1fb4088ef46b54cf7d7b77
│   │   │   │   ├── e710f92e9fe937088ca313f6313ae910581d0d3f
│   │   │   │   ├── e7d9a36b62671ea6854f896b1afb922d85312fbb
│   │   │   │   ├── e985bfabaa93f41797aed1abf9bca44e329115e7
│   │   │   │   ├── e992a0e2045ae3f5a0f6d0c21581f8c2f2a3f2b9
│   │   │   │   ├── e9d9ad12fa588bcadc74e461a1fba393bdc3776d
│   │   │   │   ├── eb43923537146440042f13e5fd99f2aff7aaf999
│   │   │   │   ├── ebcaff5d54d618e7ad6ecc88666b419226f9c348
│   │   │   │   ├── ebd5655c445e1f38830b665aaa1ffdb5f5a47ac6
│   │   │   │   ├── ebdf72b482bfc5f88cdca5e3dc545d0b3a2f8b5f
│   │   │   │   ├── ed33909c916d6c0e9768d4979c22216654e82a6a
│   │   │   │   ├── ed93811452ee834cd32299a271da63e9b4590cb0
│   │   │   │   ├── ee093801766e997f07bfb180f35ef3699b0fb80f
│   │   │   │   ├── eefa09859330cf646185816670083875bbf4ae7a
│   │   │   │   ├── ef50648b50f757b9ec4961debacd4241f41bef46
│   │   │   │   ├── efe384f984e9f8ecd515dd742dd21e6cc1f05e41
│   │   │   │   ├── f08af995f85e8ce36b328093c935e88c120ddb1d
│   │   │   │   ├── f1bd9dc7634fdae830ee5354d92d177ef78ac0b7
│   │   │   │   ├── f1cc201552471c06746ac9e9750dfea3f9d96e4c
│   │   │   │   ├── f220d53bd7bd65026c20c376c81b447b65df63da
│   │   │   │   ├── f28e5554399d43c668850c65c82a303c86f31e3b
│   │   │   │   ├── f34ee07d8776fcd466cb565a724c361bcef329dd
│   │   │   │   ├── f36d731e7bbe857f35061f2532fd988054388f7d
│   │   │   │   ├── f3707064c68f565ec82ccc011de1692708610447
│   │   │   │   ├── f372e11022b04fb607f4065d55532c34a91770be
│   │   │   │   ├── f389edf5218f5aacbdc12d538ec1d71b1023ddf9
│   │   │   │   ├── f3c35ce004d52c58bcab57d684ae96b6b21781a0
│   │   │   │   ├── f48036032784e45d48a1a8bc44a77c15f8eb022b
│   │   │   │   ├── f49b5e134ef410edf1a82d50b8932e797beb2419
│   │   │   │   ├── f56c4bc9276d9f47b3c20524825ab5ea3dd2284a
│   │   │   │   ├── f58c53a691f1a57bc71af24e3584a4bcee1ce69f
│   │   │   │   ├── f6141693bfc695906fe8271fce1b8b68fe599713
│   │   │   │   ├── f6cb218e3fc60c5b47dddf25c790f1f334a06c45
│   │   │   │   ├── f7012a12dc520aa6d962300120f793feec6b2ea0
│   │   │   │   ├── f7ed109685abbf92bcb50a847c4d3861a246b743
│   │   │   │   ├── f86e634d1f56afeeb500bdfcb3aec9d2a0b65588
│   │   │   │   ├── f8b0241f1563b284d95042e1aa3041dfc0b4cb8e
│   │   │   │   ├── f8b9b2f8b56139461b8e522bf482532fccc112d4
│   │   │   │   ├── f8f498840b2a48396467a5b6f87bfb1cb74a39ca
│   │   │   │   ├── f92e3d66c814deb02ccd8fa344c51f515b692c8a
│   │   │   │   ├── f9702b2cf1a92261780a39aececfc85c22232caa
│   │   │   │   ├── fb9ea91a7cc23f9f5a28417ad63822670a8fbb5c
│   │   │   │   ├── ff007be7d293751393b31ac05181ce4f9d01171f
│   │   │   │   └── ff546a9b073eefef4541c06b70c57ce5a7517aaf
│   │   │   └── tokenized_buffer/
│   │   │       ├── 00b9598434d1cb0aca2446e5d8059f955898661b
│   │   │       ├── 01096186d4e1347ff16a01491d6ef629f5f5fd42
│   │   │       ├── 011f63c979b2de6c44a0f974437ff176fb309cf7
│   │   │       ├── 013a89a4caf353b43c203a2cbd270857c46863c8
│   │   │       ├── 02ddec8b4855127d5616e521bc826659cb04a796
│   │   │       ├── 0327df1d12e0abf8a355b7ed09e0228dc396d787
│   │   │       ├── 037dc35353d675c9f4d2f03c9db8186422050b2d
│   │   │       ├── 04030ac2f55537459994c38435a6b7d00ae264bf
│   │   │       ├── 0543ca422553bae7a2e8b46a81c8fee7eb12c9a7
│   │   │       ├── 0555830a8ac12955924bf235d97792583fb8d6da
│   │   │       ├── 05666d20f461b2d4a93030744abd619ce0f25fe7
│   │   │       ├── 058baf2eca3ac04d3382c94dc213af644b547796
│   │   │       ├── 05910a7c99851cbb657cfbf8850e1e67e98408b1
│   │   │       ├── 062fe100147aaaf3a5f3f0a67c64991480597cfc
│   │   │       ├── 0685140d284f7c98815eb844fe6445ac2e4d25da
│   │   │       ├── 06b6c1a09f2ec62f93b7a3f1b03a2188700c8117
│   │   │       ├── 075e66efafa8882c10f46de45be654ad1f930c1f
│   │   │       ├── 07f95640a7ba78bebf24bea549bd129d81d03f14
│   │   │       ├── 085e5e94c0193bc313159a1aac208bc7232fa24b
│   │   │       ├── 08988f30662dbfc7a95bee73cef111dafbcd64af
│   │   │       ├── 08a189c1daec7835d24c69454657ea460add9e57
│   │   │       ├── 0928b559c298c803b98e59564c8b6b5443ec1697
│   │   │       ├── 09de090fce19575b878349e5b08e44774cf901b3
│   │   │       ├── 0a44775851faa48a0293c03c5823526a05432a41
│   │   │       ├── 0a73a50a6c6470643bc6ac4731df70e168a1d72a
│   │   │       ├── 0b02094a3c9673c0ca1a0f0ebb8a2a1cd334bd5d
│   │   │       ├── 0b50b447ee13e7ea31515670dee9cfe0159182a3
│   │   │       ├── 0b656451855e16143574319c2c02c7278916e53d
│   │   │       ├── 0b7b607b163793a78dd80383f3dfc1283ae77822
│   │   │       ├── 0b832ffe11d2337ca3efd79aa32140076d90dc67
│   │   │       ├── 0b9b08eca9652ba3a3e389f051e0d19e5e46fd3c
│   │   │       ├── 0beed1e9ae76d37f24c30c22c0b254f8efb30744
│   │   │       ├── 0c38e5795a262ad27f8130c77a4bc34ffe7eaa82
│   │   │       ├── 0c5a294e646b32fc10624947911d167a7b550cf4
│   │   │       ├── 0ccd028acb41f2d1902f9ce943084cf855977282
│   │   │       ├── 0ce0d735a0d8e0c637030b8bed3bbcc3a3864866
│   │   │       ├── 0d16aa665e382f2118a4788ac09401f0de985a00
│   │   │       ├── 0d968cc12e55af8d4306e667c5c817b16b8e1b79
│   │   │       ├── 0dfaf14bb1c6bbaf15c4840df4bbcba70727fb2f
│   │   │       ├── 0e3efc3ff89fc9956def38fa002510e8f408e4e4
│   │   │       ├── 0ea6b54fd89072271de9d6db7291db91e412ba0c
│   │   │       ├── 0eb01abf75b501eab2e9f8cf7c0a46d150e8035e
│   │   │       ├── 0ec0f5fdb11fb62a0552c7e13a49c164b757b049
│   │   │       ├── 0f1ba78b09883fc942f3108c0d0238e5bbba7261
│   │   │       ├── 0f88a6fcd8459f99ca2009cc17572e4ee6c57949
│   │   │       ├── 0fa6870ba61bffbcf4331293a0c36abf2a53745d
│   │   │       ├── 0fb249d887ffa905f90fe43c97cb0dea4277f682
│   │   │       ├── 0ff985bb50cd92e0904ae0c3bf562a665a9761c8
│   │   │       ├── 107c59baea92d5aa0b7daf7acc49d20b6a25d180
│   │   │       ├── 108fb5fc2033bcad402775791f7d3a83a434d402
│   │   │       ├── 10d4b9dc18446170ba10afb28ca65744f9010ed1
│   │   │       ├── 11c0e4ea13d10a785b7298b416b5d1ec70cb9097
│   │   │       ├── 11d6f314e0ee9b6b319c3e4961ad4b2c041e01f1
│   │   │       ├── 12033d109a3ab4a4068fb4f5283aa8ef2b4b2939
│   │   │       ├── 1388ff1c64cf1523471677300bcc78f2cb057178
│   │   │       ├── 139cf5f51919c2f88794b3d6afecd894d3795bc4
│   │   │       ├── 13a567de304d3293826a5915b124c898d905c533
│   │   │       ├── 13a7d12471b67d795eeb620fd9bcd23e611716b4
│   │   │       ├── 143df8b19029156bef78ed64f99f6a29847fd707
│   │   │       ├── 1489f923c4dca729178b3e3233458550d8dddf29
│   │   │       ├── 14b4cd2980fd137c24ea87f505d3ee4cadfde097
│   │   │       ├── 14c55494f5bfead510993f7aa6b19f2a99d78e64
│   │   │       ├── 15d136091465e9311ea3fff6a81f3a16cd472b9a
│   │   │       ├── 15f060997fb0309d15af20cf592235d47e6653cc
│   │   │       ├── 167feb1fda57dac588688aa0d0b7a50683620144
│   │   │       ├── 1941ef6ffb0e99428fec8f63ce04c9eac4953bf4
│   │   │       ├── 19c2134264582d9b56d13f26eb96e92d374574c6
│   │   │       ├── 1a51e55c866f939f2d132aef8ff5e600242ec29a
│   │   │       ├── 1a7d939aee936be5d25799c3a57f8e8f3c851c89
│   │   │       ├── 1a9160bf021e36d9c2bf8f783e5b24211dbc3a28
│   │   │       ├── 1abb3bd834e95e4044a7eeca6e54a49d3c6ef802
│   │   │       ├── 1af2d87f0c834bdfe46af5d5f18f014c3294c466
│   │   │       ├── 1afe41bb4bfe01753e61e7aac1449e6fa2e96fe6
│   │   │       ├── 1bb9f4d20b726e743eb6af284a699ce4afa36583
│   │   │       ├── 1c62dba4b7e1567683b1824278e7686e26d52834
│   │   │       ├── 1da4e90919ecbf001b876a4972845144cf042f3a
│   │   │       ├── 1ec7532018f463cad2ba3d6928fb3c6b46df398a
│   │   │       ├── 1f1e84248afa238a7417b29be35fee5af6ba57cc
│   │   │       ├── 1ff7f0b20cb7d2be88fe82f1779f71a9b860b7b8
│   │   │       ├── 20e233dd43706cd6dff2c7b774cdc47ead78de71
│   │   │       ├── 213764f0401b8e8a9040c21bc153edff9286d315
│   │   │       ├── 213be3df2b6b577edcbb6f913298974fbb8d7324
│   │   │       ├── 21ae4af22c4c258550b92d3cea9ce479a88c12a2
│   │   │       ├── 21c85dd996a874a885825773fe3ae6f66272ae77
│   │   │       ├── 21d6931263d831c0aed540fd1bab0b60799af038
│   │   │       ├── 21dc828f45d060ee0455004297b50d2b64d17e02
│   │   │       ├── 221c22da6c2c0fd71d5ebc21876fd57cb77b1b00
│   │   │       ├── 22812a981f0458f49a0cae159de66a24631464a3
│   │   │       ├── 22854bee28c089600335e2c16d6c6adad03fba54
│   │   │       ├── 234563c77ded0c75e0583be09a1f4a8a016b8024
│   │   │       ├── 236e3801dd0cf62a835705da142af1587e498516
│   │   │       ├── 24426f52ba7ad6d178e9e20cb28cf9182d51871f
│   │   │       ├── 24586a887ef47d547a4bea0a89972fcf3c19c454
│   │   │       ├── 2600c18db42bde973e72b07f0dadf5d32fbfc48a
│   │   │       ├── 26514fd3aa2e7d09114d7b5c971e9cbc96e49aba
│   │   │       ├── 26ffdd8987ca20c37b2e8b30866e534342d1c175
│   │   │       ├── 274399a85ea96a507d87d6199c58ea701113ec73
│   │   │       ├── 28135abd5f66044cb0fd6f82a3b0dd81b2059593
│   │   │       ├── 281bc1b2b4a20d112c7ea17951397b5a789b5ee8
│   │   │       ├── 28434409ed42ff7b5f6cf4c0731765f70aae12ba
│   │   │       ├── 29b8dee814dce4d94d388d035c10d4f6149b934b
│   │   │       ├── 29c07937042029d42ded435734bb17a9da1a13ef
│   │   │       ├── 29dd4eab6410e5cad789f8ad21b564f5ff580b62
│   │   │       ├── 2a6775c7917e01ee00754918264977fdd60f15ea
│   │   │       ├── 2ad3087a982396bd302d9d445d6c5423c248d3c2
│   │   │       ├── 2b58f8d18c8ddfb98618711a7da2afd0efc9bcf8
│   │   │       ├── 2bea1061181244323cdf95ad6a489b72ee38d225
│   │   │       ├── 2cce2108f1d888fdecf0c406fd5fb2ab0448d88d
│   │   │       ├── 2d1f6ee26e62965c25a2540c47cda839e86cbc9d
│   │   │       ├── 2e047eb1a04b386c558490f7634175199fb86d2b
│   │   │       ├── 2eca067d0407b2ce79b7fe3aa0abf38b48178e16
│   │   │       ├── 2eca430ce72ba8cfe14a36dae22c3af594455d78
│   │   │       ├── 300268d606563a63b1fa078deedf83afcaaae4f0
│   │   │       ├── 30122a51022d504d0bd883ec9083db0ebc122f3a
│   │   │       ├── 3055e6fc37e2846c56a0a7ef9c910807325c2df1
│   │   │       ├── 30a79f74923a4a0450c38b8d78c32dd0ec49fb1e
│   │   │       ├── 30d2affb78dce801693964e7aa7a776e46764142
│   │   │       ├── 33970181a654f47a1b7350a040f66460573c2b37
│   │   │       ├── 33fbd678677fdcc9ff26ce50d77282550ed7b152
│   │   │       ├── 3410eb3f248569d94b015591f12cf76034f8c64d
│   │   │       ├── 34c37b9bcc5ca133876f590f4225bd361357eb13
│   │   │       ├── 36388f570f44f86bc535dc8e510721d1c28a0637
│   │   │       ├── 36444b4480602bbc82c421d3a5dca926ee56f17d
│   │   │       ├── 378f7e36a287439cdbcb171241c946981517e6b7
│   │   │       ├── 37d5919815fa0c3579c90f5882bc78d2175f2658
│   │   │       ├── 37d7800daba869cfb014eb10e5f46a67fbbbf14d
│   │   │       ├── 38197ad1d6330f1836fecfc754c19dcfe8d8da6d
│   │   │       ├── 383ecf2dd4fee1f6fad7a2fc6a1014ea612cc705
│   │   │       ├── 38aae1be66ab0f6d35121b4372baa54f3a734cd1
│   │   │       ├── 38d2de4fb4421617c287855ede415e253edf27fc
│   │   │       ├── 39cbaf1cff432636f99ae2086461c48f081f3608
│   │   │       ├── 39fbf7272789a966efbe93fc511b64c764d89513
│   │   │       ├── 3a33064962ff92045a47b9409449cf1552d685d7
│   │   │       ├── 3a3fc43f4c64d0305c0d697a33acb209e48971af
│   │   │       ├── 3a85b6e409d6180559bbaf0282fe374734ac8ab7
│   │   │       ├── 3aef9b8111cb335c85a241d9f59929e11707730f
│   │   │       ├── 3d6d742aaaea3abffa078fd4c03af3cd03c5bb94
│   │   │       ├── 3e21eed3aab591d3aab15d975b2660648ce7bc9e
│   │   │       ├── 3e23582c9fe275a17897308f4529ce965ef26639
│   │   │       ├── 3f0c682d7231780f496758f26a19dea90eb0a63f
│   │   │       ├── 3f128a449c26d99e65f137b08835072d0f4fa93a
│   │   │       ├── 3f5305709a3b6e105cf4b8c1368a8d5c0540a2da
│   │   │       ├── 3ffa1177da8e5aa9fe3d071384f8958da89d40a6
│   │   │       ├── 401b5ffa27fd9bcc9c4c99acc3294b51b7ab5435
│   │   │       ├── 403d7b69e46cde2a0c35e051dc0343b283943a6a
│   │   │       ├── 419ccf5d9e7c1a163b62230196e1154953a91f9f
│   │   │       ├── 42880c44925ec18e3a69b2274b05e0aeff25e454
│   │   │       ├── 434337b14da4a5fb3cdc96cdf47f17517583815c
│   │   │       ├── 4351e9a0bb6b53c76164f05125a112cb283cfd81
│   │   │       ├── 4480089669b1f8da9065f5eb9491687d9e31e9da
│   │   │       ├── 4487fe428cf14de470fa39e874acece46fcfcbe8
│   │   │       ├── 44df8bdb51a76972b66deb94dfdf5783de99a64e
│   │   │       ├── 467d884be458d07e7fd5bdda5fff78c9133a1212
│   │   │       ├── 4852364d47db4ef47740f9184a39e0631aa69cd0
│   │   │       ├── 487b9de35feaf3e349a411438344e46c870120d5
│   │   │       ├── 48ba5eedfbf3c64e54d39fb78dcef8081d4cafc2
│   │   │       ├── 49af95277336d8c0ed0d7a7522e73f8c87d89020
│   │   │       ├── 49d400fc7de4b5392935638c26ce2e62778d416e
│   │   │       ├── 4a0034191d5d0e629583d8b06b6a4a81ce024bee
│   │   │       ├── 4b32fa9e7beb0500c4f76cdf27a4d1be933ddc68
│   │   │       ├── 4b53f47724ca22ac2b26e7b2191779c9fe74fc4c
│   │   │       ├── 4c5e150ebdd825a7ad25ac960eed57c54838c614
│   │   │       ├── 4cb14c262491d3c0e6d47cef077c5ff05353e43d
│   │   │       ├── 4d042b03473298b5ef025639d90062272204d6b9
│   │   │       ├── 4dd2cd4a75976db57d91729517748dc8f1e9eb39
│   │   │       ├── 4df44f90bc0f13fb557f109e46647b4d91a5014e
│   │   │       ├── 4e5560d451aa505e253511657c115baf69d8e6f8
│   │   │       ├── 4e6876ea3989c69057b0a81a029f83e5246f70dc
│   │   │       ├── 4fbc30b7354b6bd455608e7fb5bb7f6feb37941e
│   │   │       ├── 532fd1978e5444b41c97d1639fe7b8efc8da14e9
│   │   │       ├── 5378a1d0f6db372c2e26926f3ab692aaff281d5d
│   │   │       ├── 53f0d72af41e99e951722231524ec437759422f2
│   │   │       ├── 5458cc3caca58cf412198f6d5085f370b7d1cb97
│   │   │       ├── 5577956e2ca1e38f1ece81a6c2190490c3273f20
│   │   │       ├── 568e139f25140400eefdf6d4e2a38bc21e61d4c0
│   │   │       ├── 56bc35408f7d618b0b2ad0cc28738fa9d38a0bd2
│   │   │       ├── 57e42e4edb7e862c38e24209fea0d89c06034e4d
│   │   │       ├── 59837c18261ef4bf33c51437a98d25cebf414840
│   │   │       ├── 598b22649052ab5cf9c8f2d9e43c97c0ca1ecb6f
│   │   │       ├── 59f33d4f075c2cf6448f94f623fac85834bdb2cf
│   │   │       ├── 59fe75149f202f3e7920a1fd87959628855929a8
│   │   │       ├── 5a02c95e0a7d591f275f196eb5274f1b2209e244
│   │   │       ├── 5aa449aa73c5c05cf57a957914e47a4d2adbd4c9
│   │   │       ├── 5adf5dd22c409ad57c9f6b29eeb92aaafdf5372c
│   │   │       ├── 5b6e66c2980a4e9eae54c9996bd413b58e564150
│   │   │       ├── 5bfebbdbbfb4f41a5d5d388504bd062d7a99c3e0
│   │   │       ├── 5c3a3ba5513cfcdc49f76b2009d806141588f85f
│   │   │       ├── 5d31e2a814a923c713cd3533f1cf397c902d304e
│   │   │       ├── 5d6c6fa498ecdef22875bdb7b8d212f146cc387b
│   │   │       ├── 5e05747916bcae6d1d14627260fa82de4caea0d7
│   │   │       ├── 5e399a625d3bb3c6447dafe42e4553fc16950f6e
│   │   │       ├── 5eb107e4dc5d78891aac3f0c1e83883b7a663fdf
│   │   │       ├── 6015eb2c2f9da9ac11698c60c65c0bb094a66657
│   │   │       ├── 603588985367299d4b4e56c81186715fc8ab5298
│   │   │       ├── 60603d960234eaa4cf2748d2f8b43e1303171ec7
│   │   │       ├── 6235a1b078cf86f65be51d3e4d952688c0cf4027
│   │   │       ├── 62618378c0f30271418e65d9642b681cf5445c1e
│   │   │       ├── 62d8ba9122d4a19be633439c04f949e0683f417d
│   │   │       ├── 63fbf21dc690999b09177bf4ac4216676ed26b6e
│   │   │       ├── 64ea37e683f8f7ad3eb0a9c4ad19d82cfbdc9774
│   │   │       ├── 658886802343686540cb41c5499a46f1705b9d5c
│   │   │       ├── 6614bca5723ef48592ebb2efee5bc73e17760aee
│   │   │       ├── 664bd1be9730de5ce106f7b2d87774e6549c6ada
│   │   │       ├── 66a6d4bff6fa7a62ec7a16d9bf5adf706efea00f
│   │   │       ├── 66b622ca15899fc16af4040369d852faf77fd604
│   │   │       ├── 66cee929f075d88bfa46887e565b5d3d148f9154
│   │   │       ├── 6a8a9d4ec0485d6a585db4b56ecfc8779e7888fd
│   │   │       ├── 6af377722221a297079f87c07a93c2189ac24fb1
│   │   │       ├── 6b557d729ebff7f4da9b746da200980115618627
│   │   │       ├── 6c4fb24e430367960280c066b72fb107b1c424ab
│   │   │       ├── 6c6e255ee96eef814112752fe189fae0dfe78743
│   │   │       ├── 6d44e5997f87b024c53eab22f5912e1988cb66f3
│   │   │       ├── 6d512f956c75ca835d38cbcb6e26e1a2473abd08
│   │   │       ├── 6d72ae632ce79e9c197f5ca799f667d61d2a3df8
│   │   │       ├── 6e62c2d775c1c825125cab26e5a4b004a06a4ba7
│   │   │       ├── 6fcdcf3781990fdceb9b08ba304283f1fd8f9b4e
│   │   │       ├── 7016224c7c5f50c8e8aeb6e43851f5e958aa36da
│   │   │       ├── 709dcef4bfe4c6162c6a983a3d12eb20ac5cbed7
│   │   │       ├── 70aed57684596e5887c493a5a79dc1d6bcb5eb43
│   │   │       ├── 716d1769833e864f111085008d8322d53a4daf30
│   │   │       ├── 7194db810c5947f300d6035d2a4a743090210e21
│   │   │       ├── 71a5590952fd84047c6d6e9be45bf1f045355625
│   │   │       ├── 73a854c8805585f984236fa44232cb965b9083ae
│   │   │       ├── 74bd0a894550c238cee609bb561591118137bc37
│   │   │       ├── 75977e3e56167889e781b65443e91eb49902cfbf
│   │   │       ├── 767654d5cbd98934fc45a7ba38f606c4efe7e359
│   │   │       ├── 7737f7fabd55d3fff123dbc65fee826311c2580d
│   │   │       ├── 77453d8dc39b44fdf3c80a0ca80c7ead9149de84
│   │   │       ├── 788e547a1eb3cab3960e638885457a0fe112904c
│   │   │       ├── 7897d38321a88305b14831654cdb32ba40665cfd
│   │   │       ├── 799ee6b016fe616eec6ee67f1977744aee58aee0
│   │   │       ├── 7a0cf48bba4dafb8f490124a89977a93c73988b4
│   │   │       ├── 7a26e6bcc857b6e9b797b3c918f2bcb1a569ddde
│   │   │       ├── 7a34b6c09a1ec38856874d086cf899709fa20650
│   │   │       ├── 7ae9e827c496473c836ad4de36f8b029cbb005c8
│   │   │       ├── 7bc478ddfb9efcd7b4650c00e27da372d2cbee86
│   │   │       ├── 7c9291251d2b1628c0bf6b31e2074445408df3e9
│   │   │       ├── 7d7bcfb836b397d537c2b3649c86e9a9c48303e0
│   │   │       ├── 7dcb764405ae26b71cb127b30336b45fd802640a
│   │   │       ├── 7dde4f40a01dfa3b917b86b8bd035929132f32db
│   │   │       ├── 7e01c8cdc6b1904415e575240588c4759047692d
│   │   │       ├── 7e10b31e7041e9432b39bb1ae327355d96dfd62c
│   │   │       ├── 7e479935227c90be28bb8a6261fe2141a12821e5
│   │   │       ├── 7e6775e595a452e61552a68facb7aa884fc579e5
│   │   │       ├── 7fbd42707b95e15ea0584236b080b01a86041f0a
│   │   │       ├── 80347f920096695efda11b33e2c2d06024c0c82a
│   │   │       ├── 808863bfb504bd1a7ba89b4f8eb8c118a9125798
│   │   │       ├── 80a0247ebe3fd2aceff058d956c1c921ed7681a4
│   │   │       ├── 80d94c313466452d7b50fd144838a527809f2c7f
│   │   │       ├── 80f348579a9a803a72d4a4cccd54824488b55aac
│   │   │       ├── 8211bb03478a5a26c1fb40236780cbee8da45a06
│   │   │       ├── 833ca5a7d4cdf2c1867491c242ece799a01d77a9
│   │   │       ├── 83a58c921e3f326f742c80f8b885c6c6dcc68803
│   │   │       ├── 83a9bf595bc7dea203b912007f70743b88f7af95
│   │   │       ├── 83cd63c7765c3f1d6f7f4f1f9b032f8efd46b3ef
│   │   │       ├── 8476e6af7e75aa144bad68b33b499cdac5da2bf4
│   │   │       ├── 8477039b36c6e7e796ce4036aa78d32e00ce0103
│   │   │       ├── 85232cbda473f24e2195b75d84e387f25956a358
│   │   │       ├── 860f19159238baa82dd6680e5f00cd818d869fca
│   │   │       ├── 86c5f1d7668cd16af68c6901ef37d10a929b937e
│   │   │       ├── 875d260c6259b312bf7adc25aa6d37de04cacef9
│   │   │       ├── 87870c833802ae370b72ded06d6b5466283e5189
│   │   │       ├── 882f2aaac218ec0d84736ac2c55910a4594a1eae
│   │   │       ├── 8840b9e11ea5d3aea427c815ebfe1896dc3b765e
│   │   │       ├── 8873098a4246f81ee6e5576070d0a7244b3ac9f3
│   │   │       ├── 8904890ebc3c9798fabda724359e14379698ebd4
│   │   │       ├── 891f275cd08dde2776d7140e46cb047faf9f0f8d
│   │   │       ├── 89371ce91fe1a6d01ba115e5bf54bf577340b8eb
│   │   │       ├── 895e8fd679feb6a39068aba3d31fb206089a064b
│   │   │       ├── 8a00c440fa5a60b20d2c8085a38baeaaf3c5670c
│   │   │       ├── 8a88097f625c33cc9cbe29343feb52ab248b5c1b
│   │   │       ├── 8b0a819cd3fc4d68cf3e0e0855f7ebcd89a20317
│   │   │       ├── 8b98620ebbf7bab27f5ca3fc0ec663cc58c76db9
│   │   │       ├── 8c623105d5f0f8ac252343c858286d65b992687c
│   │   │       ├── 8c74dc0dc68a7e61878314355623c887ace5eefe
│   │   │       ├── 8d19aefc358ee1284e3a594474f26015586dd9e9
│   │   │       ├── 8dc12bb4d6f47bdce0349d159084f7a90ab432a4
│   │   │       ├── 8df1c55d2c899a91d4de757ad55abeaee00718e5
│   │   │       ├── 8ea0ce1a9c4c228095a13e76e7c43657f8bd6e23
│   │   │       ├── 8eeef9f346f4ffdc8e3e6456301cf775d164c42d
│   │   │       ├── 8f1f1bdd61e03a0432e1425982bc95d4eed1dc8f
│   │   │       ├── 8fc80309676fc4e9b457cba583e09623e3a50e8b
│   │   │       ├── 9032685281013329ab00123038a24e88ee87e99f
│   │   │       ├── 903b7c38e142f05daeefa445f48a7da5630e1efe
│   │   │       ├── 90fb17406d6d1e431223bda418dc24452cd47cbd
│   │   │       ├── 910a4cd86e2bdc41e8e4ae4e06e918ec0bc91b61
│   │   │       ├── 92180b5585dde95b54512c0aa418844642cfbf1c
│   │   │       ├── 92a9994a35a5751f87ec0261a50c46f6cac276c1
│   │   │       ├── 932d2c4206b09575f98aba174b4ae7eeecf9dd87
│   │   │       ├── 936b204683d9aace88edec6916348263f8845bd2
│   │   │       ├── 94992041a722e9461cb4da61dc3ca6b1c807fc52
│   │   │       ├── 94f232a0e1b64975bc82dc84a484907795dd3c9a
│   │   │       ├── 94f5a62a7150c24701f9b0ccc4f003afaf33b04b
│   │   │       ├── 951cfc17803941388dcb27de4933bcf3cfa4e308
│   │   │       ├── 96080c9605fcf493be8852845bc14430217f7f10
│   │   │       ├── 9623152b8ee14d7d2be5fd3ca2eef2085125a009
│   │   │       ├── 965d67a89f658ebc162f41d13880ceb53878398a
│   │   │       ├── 969a5335de7a36dab4b48601f83e8289d1e24e14
│   │   │       ├── 971e03f3b57ac29e3328d70fb6a901e50cc1e3c3
│   │   │       ├── 976127759e62f70d02f40d83a2ed5b7951571ceb
│   │   │       ├── 97846c394ced714617a96b8b35b582e232a9e7b3
│   │   │       ├── 9888bb78613415dc88bd114be3f2633e747ae22f
│   │   │       ├── 991945983caa4499432036384514d356d791b3be
│   │   │       ├── 99a14a1d0ef9a631b975d4e3d898f1fc28634572
│   │   │       ├── 99c0f2d3879cc32cf8f28dbe298b8f51780b0691
│   │   │       ├── 99c58901dd5b578c26d9f06a680cd1586d884d0b
│   │   │       ├── 99d75bc6a864abd29d7531565e692e87cd78ea7f
│   │   │       ├── 9af095b9240a4b086859755798d38cd676803dd2
│   │   │       ├── 9bef829363a2ea30f044c9521dc187bac9e518e8
│   │   │       ├── 9c098fec348d1fb7ebd8f71dc3253896efec0698
│   │   │       ├── 9c5122ab103de543630bc727b76bd7b21839c073
│   │   │       ├── 9d89da8664157ea1b5faa5bde8caf9f31d85b4a4
│   │   │       ├── 9da97ed219829e31b2b2a551b3ba371c7d7ab7f7
│   │   │       ├── 9e1bf8c243c01b2c171f28550c25b974eb3fc910
│   │   │       ├── 9f915817eadb6a53e1ba53785c9e39d3addfb7a7
│   │   │       ├── a019adfa6af044c1f3102fd4eb35f3883eed7767
│   │   │       ├── a03d6067a14043eca56172c64d9d734bbc6d3453
│   │   │       ├── a0c3025c93be787b318b0a0915efce0568f29fb4
│   │   │       ├── a0e3646d2ccccb4a16225b1c4995d6053b4bdd4e
│   │   │       ├── a0edc24b3d17348f5cb80d2b6b002ee58db6b035
│   │   │       ├── a101443f19af96e9408021094d007f3da407fb7f
│   │   │       ├── a116527e7791e8cfe660a8c53382415e74b1634e
│   │   │       ├── a1ca34f30d867511c5071bd62a0ec9532226a626
│   │   │       ├── a204e6fc1dd252eb72786637ece539fc8ccb08be
│   │   │       ├── a208cbe77067c1b6f065b09fc05a11f79843e4cf
│   │   │       ├── a24bab38ef7386f98fc7f93be8d07c3f6ceb3ece
│   │   │       ├── a24c8bbc68f5bbc75f9e4125919196e52f3b3419
│   │   │       ├── a259e1a662bcc421d6834afeab3a47dc344eedba
│   │   │       ├── a2967df1f22ff6eb94dc4837d98507c543aae3cb
│   │   │       ├── a29d6d6337656a0bd738e477cdd90231050f37cd
│   │   │       ├── a2c6ea965e4b89873c59972ad24de3521f5ec565
│   │   │       ├── a3be9919f350dff90746d5bbd335e9c13e075c6b
│   │   │       ├── a45e530738453fbacd12389fc0b7c6bb0b5908b5
│   │   │       ├── a4fdd8e51e18577132e9b1d5d9e8504e4d3c96dc
│   │   │       ├── a5091dc3125fa52413368b176e86a49738c917a3
│   │   │       ├── a5bd5b33d21e9a221872d7ea360f18433d3f3be1
│   │   │       ├── a6a2deed0d75339e09924b0f19655f6656a15f4f
│   │   │       ├── a81a394ce3ae2d25c0ee201c6578069a1b174e55
│   │   │       ├── a9bcae8634ddb628111c2eedd0fcb768f85ff9f5
│   │   │       ├── aa19f2bf66f2268aca0d9eca37dbc685625342a8
│   │   │       ├── aa597b4fbdaf9c8d1c9a17426569c76134ff0fb9
│   │   │       ├── ab437c655c7ad4f2d048b93a9bb3306d0d560e0f
│   │   │       ├── ab7ec188984da88b4ab1fb8082a95165d2341dd1
│   │   │       ├── ac0b4253921b9410c5dc7fb082cedf8836ccbcf6
│   │   │       ├── ac15ecf3a7ca5b032a266d1e9e008ee0aa60df50
│   │   │       ├── ac20951ae95689b3ead13a8095570c9a2ed30e5e
│   │   │       ├── ac7e926bb0bd586f189a08bd9887dd903b7ca7ab
│   │   │       ├── aca10067e6738a677ea8f18c501d1078bc89586b
│   │   │       ├── acd71bf955344d94564db8a7d3ab6ed13f5f30e5
│   │   │       ├── ad121b61847802cec3b334da80f661e215dd16d3
│   │   │       ├── adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
│   │   │       ├── adcb06d68c467bc49a484a781f3645f2e0fce25d
│   │   │       ├── ae4efce72909d7c1fc095fa47f3cf98f4a7ffb34
│   │   │       ├── ae9c533353214d987cef18fd97d4fbaa24c39c09
│   │   │       ├── afeb1f561aa265b0793c0cf08ffbe986ba95cccd
│   │   │       ├── b02b1b59c1aaf66b44b15dfc215b921a276f23e9
│   │   │       ├── b071ec550ba1741734797a724d10985838abe3f0
│   │   │       ├── b1256a6b51fe7e4af001152847a41e23822312fd
│   │   │       ├── b1898734ba5a8617c5535e2ec02feb33764c5da7
│   │   │       ├── b1ac04528499a30c79bb5a6a887c7f093ffd3d7b
│   │   │       ├── b27345719ecf784b471e96fdc2407baaac45ecd0
│   │   │       ├── b378c4f7a72199ec1da13bd6756d4487ac1a9fa3
│   │   │       ├── b399c00c30a1356525d5d39e7cfeb99b2f878bee
│   │   │       ├── b41ca4c43c7c6700e337d07a188f3f1a8c13fe46
│   │   │       ├── b41da924198c3920fdaa0b0ff572615dae93f7dd
│   │   │       ├── b4899afd21a1c4c6eb7459bf91ed43689919798e
│   │   │       ├── b49b6c4ec35af87447943af9acb1a14a637ba4ae
│   │   │       ├── b49dddf68a09edcb754e5d95cadc35e2683df728
│   │   │       ├── b4c66e7c06855671e747f3100c9d5072b79cf83a
│   │   │       ├── b52f85fe855438edbb3177ba64ea88040c5068c3
│   │   │       ├── b5945b57aad75381e3a3545542330957d8af699b
│   │   │       ├── b5eefc1ac36df7e12eaf561ea2198bd05650348f
│   │   │       ├── b68b13e7dbf523d3850bfb4ee1879ee267ce1309
│   │   │       ├── b6f15ce61e23d12e16ac972ece7ecb71a1f4c87a
│   │   │       ├── b7294356ab92ecb2a8f35f0b61cb2f3fc68af2f7
│   │   │       ├── b7719b430c03af92aef14110ee2fbf3abba0de5d
│   │   │       ├── b7cd4bb8ad5ec4e73e07a3cda397faa3f19e4286
│   │   │       ├── b8e9125a0ae565f71d1d93249e347d56068d42bf
│   │   │       ├── b9a93efe3d76aecec38a121521ae64810a0769c2
│   │   │       ├── bb1e5e53f6a1253fe1e896b50e9edc0095e2932b
│   │   │       ├── bd7c4c25399bf8f278eb615f58b75b8f72349bf6
│   │   │       ├── be7f31b717f86fda96b3148fb706908303e17f8f
│   │   │       ├── bee6d10492fd61954b05c5108f958c5406b30fc9
│   │   │       ├── befde2b724d2370f61d7dc2da95d1be21a9c862b
│   │   │       ├── c02bf5d08db57f3aae88172e17cad08ebd076c22
│   │   │       ├── c18fefd5d4d05d1ee9f162801aa6e17f428ba8da
│   │   │       ├── c1b2bcb63da8041ce87b328132217ba70d920fca
│   │   │       ├── c1df12a64dd8abefb0e6590527cb10ed692cf324
│   │   │       ├── c21a4d67d547c0845676886c6892c8c6827d75e2
│   │   │       ├── c2bec5c726a06b456cdd88f28a32f48831044a11
│   │   │       ├── c32505224c93f972f500f44afb188d3889dfa159
│   │   │       ├── c3670cccd1b3582fb1ec1b742f6e2898cfe26555
│   │   │       ├── c3ed53cf882409c54cc6c988aae34deacecf057a
│   │   │       ├── c63072e6cf44fde5c8ec3e7ea1a5328497ea5479
│   │   │       ├── c6435d401d81e17e25e273719e4f1fa7fe1b53b7
│   │   │       ├── c70643d26ec7090724a54c6e87ea68c89d4c4e91
│   │   │       ├── c7fb3f5be75a6dacfc3e28abbf73fe5e58495d30
│   │   │       ├── ca576072e488152f50e6f1158a1396f73ddd2c07
│   │   │       ├── cb2edb9e0c977a705a6f29fae0934079a1b60c92
│   │   │       ├── cb864d68d0b90ecc000956495f457f2da8cc0181
│   │   │       ├── cbe9914a17fe70a1883c2dab7491fd0211a5ee38
│   │   │       ├── cc34b4cfee9dc462dcc95d7560a21cbf4adcf7b0
│   │   │       ├── cc652bd0ebdb4b1726182372be30c691099f7e8c
│   │   │       ├── ccaac59aa2a93544b76f073311b350dcf65fbf5e
│   │   │       ├── ccc73c223aabaa38c58624ea80eb778c645346f2
│   │   │       ├── cd04f9a383899d9640ff1e9707e47e77afdd9562
│   │   │       ├── cd2ef6d312ee80a3d4c377361fddbb793889f4c8
│   │   │       ├── ce010e3e4729a79b9793c64a4532b53c54c9430c
│   │   │       ├── ce3e985cb8f77fcd48e3ea06f922260a2dd36fda
│   │   │       ├── cf7e04eb0562f842999ecc3f4ec6877fa4f1e342
│   │   │       ├── d1020364827748c3a6e1bf09c6e75a5edf44079e
│   │   │       ├── d19cd0207ab449752da6b55a82975be7f056a70b
│   │   │       ├── d1ee881e19534be9fc12fd862bb3f2269a09bdd7
│   │   │       ├── d26ba8c01b80dbb3ea1a50d429b832a33b6af614
│   │   │       ├── d2b69ab4a6972e182cdef5c319be940062388300
│   │   │       ├── d38a79abc527773b20840f0ac21b618049746c32
│   │   │       ├── d3ae4114281302b6810c02cee903e2f05aea79ce
│   │   │       ├── d3c908f06f91576b96d60c7b165811e69993ae78
│   │   │       ├── d42d277470474b4dbf7a5181f298b299d3028a1a
│   │   │       ├── d488eca7d059c07b0f9e8ad7d7206ace887cda85
│   │   │       ├── d51ab1559f11d168cd4cdf123602113f60732e79
│   │   │       ├── d8130b7018da880f1090b166df7bb13810f101bd
│   │   │       ├── d8e267ac5306c3dae043f15df37dae5b76a44a52
│   │   │       ├── d9437de0ae53e80a335a15a00ec9e622f2fb89d3
│   │   │       ├── da5dc3160083ac54ec11a162d23293ffef7029c8
│   │   │       ├── daa6495ffb6c5cbf5cd3dbf3b7b8bfc42803d1d2
│   │   │       ├── daed34b7f0f3a2f9b0716b14514473d6efa38c3f
│   │   │       ├── dba6c808eafe79949543a1f50ee39f82de48ccee
│   │   │       ├── dbb41d9522e68d0faf7f5a03f41aed64e7b9d7ee
│   │   │       ├── dc119760a36e1c532dc48cf83cb4ff18cbef6c15
│   │   │       ├── dcc6432dae6ed005aaa9f060c4909bb89c1d98d8
│   │   │       ├── dcf81fe92865368756d9729c63739c37b38f037b
│   │   │       ├── dd0da9f51f2783d95680664efb3f5a322ee885b5
│   │   │       ├── dd3f58c65c86aea5827d99b4fe213b183fc79107
│   │   │       ├── de676ef0bc27e3411664f351ea13ee0f2901a8f1
│   │   │       ├── df9bc143232105f71dbc4cd6f29f1faf40adc348
│   │   │       ├── e01aeb76d2ded444ad0373a68f2c784db09ca0bd
│   │   │       ├── e0938f8484d9bc11fc2e6c6a95b95bcda639c25a
│   │   │       ├── e0db3d59e7b298f022cace1fd52d3875e5fc9694
│   │   │       ├── e255f1112e76bf142d77ee3c42cda90853fefeaf
│   │   │       ├── e26caaba5987ef0e4c8e8960a65d163eb739b2a2
│   │   │       ├── e27d3a4fd0455fcd2766c39bf0c71431549a65cb
│   │   │       ├── e2ca6c74ac95f6b766e427545f297fa1df3e7ae8
│   │   │       ├── e358ad9b805d394bdc48b7258e0c3b8becb2513b
│   │   │       ├── e36e20af158c5a94704e98e0ee695eca5c85d557
│   │   │       ├── e4faefa4502eaf582fb184a2300122f40de097af
│   │   │       ├── e5f2b058f54b45dc07f3b9d6e4637e8b7af2c5a7
│   │   │       ├── e72cc6d41d020b5c579ab185b34447ec9520f86c
│   │   │       ├── e82759d6621dc86de4cf5033868a3673e74053dd
│   │   │       ├── e8546e69f53ac69e138b8a739d321f629be57164
│   │   │       ├── e8d8ab82dea469e3e3c7a536df5a77e3ad899129
│   │   │       ├── e8e793189ab4cce6a062fa09c0740693b6ce1e19
│   │   │       ├── e8ec7cc1ca98820ae6e98c1354ec2d6bece46ef2
│   │   │       ├── e91c47ea25efbbfb60ba17d786caa9659bbab6d2
│   │   │       ├── ea17e12d2e985a026980a016b72acacb30244a76
│   │   │       ├── ea69aad1620b5025cc85f415080cd799b66ebc68
│   │   │       ├── ea6da9d77a360c4826d1a29c2bf40e9209bc1c0b
│   │   │       ├── eb2f5a2dd2fee2ef20a54406427e10043b345485
│   │   │       ├── eb6be60b4aa6b17f16953f6095b6ea7efa92f6d4
│   │   │       ├── ec34b45a65e9bad07d332490983b305e6f1d358b
│   │   │       ├── ec6905048c1682c644f01e41531ab3d87e0a2247
│   │   │       ├── ed2df06c65bbfdf156d4afc88bdc66d9d3290613
│   │   │       ├── ed93b3caa649c0dc8d2e7bc2fa885ecd7ad0ba36
│   │   │       ├── edd491a75e971973bd4cd9dc84a0023cebd62f92
│   │   │       ├── edf2f1a4740661b72760a302a261518fa842bde0
│   │   │       ├── eec540334e2254864e033353ec23daa556fadcd0
│   │   │       ├── eee58a61a1959843405fb465464ec698f6181a6f
│   │   │       ├── ef6721b59164581f5525e2e2f16bbdb626de6ba7
│   │   │       ├── f05b2bd236751d7863172a380f5ab4315344968e
│   │   │       ├── f0c16a24aba99a02eb9924dd4a4725ab8e92ffad
│   │   │       ├── f10576d1e2fb48314b8dfbfbeb5d708defe6097b
│   │   │       ├── f17479189c9591f3c73906ed84b33b87ac6e8e1f
│   │   │       ├── f1778e9e69871a38d2ce4d8b7c4a3e0b35ece46a
│   │   │       ├── f2e3dc7f73104b527baf917360356e7994267cdd
│   │   │       ├── f3b6007923c6e42984caf9c5fb239cf38815e841
│   │   │       ├── f3da8335de7de651461ad28357d506e940d18bdf
│   │   │       ├── f40831624c06f31927bd2af861887ad578246010
│   │   │       ├── f4ddda0ae8524f4f632d5d03291b59acc1952a74
│   │   │       ├── f53e9d74f34d349f856d8aba3f40712bcfe8d916
│   │   │       ├── f5581adcf52c7acfd5fa26cbb317231aff1d9ed7
│   │   │       ├── f57bb62ad6d29b8f4d1fb3baa4474f3af4e0cbab
│   │   │       ├── f6117176339050e85b72129ff118f2713b118931
│   │   │       ├── f66e211bfde320bf50efe03fde1cbbbf5df440c6
│   │   │       ├── f6a16230ec874c52b6c1cd73ccc0b9dee2dd5574
│   │   │       ├── f7014162c0e7c8229146243ca875cec5757f6b39
│   │   │       ├── f7e31e99e09ddb661dc4a5f639f48baa48e233fb
│   │   │       ├── f9373536de828c70789357df4be4069df64d5dc2
│   │   │       ├── f9a0b5a03a08526b1622f57bf3cefae54eb49abd
│   │   │       ├── f9a6502095aa770e7213f96511a3d63f33757674
│   │   │       ├── f9b7f4ad29450f6bdf1baf2663c7b86a7ec39cfc
│   │   │       ├── faa689e2f7b3c3877c1581ae943cffa5c037ffbf
│   │   │       ├── facca3ae362b2fab961eb9e724b3790b1977d0a8
│   │   │       ├── fbe65ad556a0f0fe9b8215385e70da5555a3fba1
│   │   │       ├── fc880c8c473a9d0b14bb5827260c1170e8ca9535
│   │   │       ├── fc96ab8937b4d16598d2831e4d1f89df4b720d72
│   │   │       ├── fcc91d6415ebf086ccc8b84ef729d5099cc19a84
│   │   │       ├── fd958cb8a73d5d70d0be71a387c7973c3b1df2e9
│   │   │       ├── fdce145b982b47c9598cfe55883672e86727d5b8
│   │   │       ├── fe9a584f5c7c5d9eb5e4b15f85960ca7f1079a2e
│   │   │       ├── fecd4b2d80be6971216cd554f44793b3b8adaba6
│   │   │       ├── fef279c42c269b2a38ccfbf781f73897284ec2b2
│   │   │       ├── ff5f77350f4850c12dc9576ea268de27bb55ade1
│   │   │       └── ffcfd70e30e22415a17a3152c0ba1cc0f9f756a3
│   │   ├── helpers.cpp
│   │   ├── helpers.h
│   │   ├── lex.cpp
│   │   ├── lex.h
│   │   ├── numeric_literal.cpp
│   │   ├── numeric_literal.h
│   │   ├── numeric_literal_benchmark.cpp
│   │   ├── numeric_literal_fuzzer.cpp
│   │   ├── numeric_literal_test.cpp
│   │   ├── string_literal.cpp
│   │   ├── string_literal.h
│   │   ├── string_literal_benchmark.cpp
│   │   ├── string_literal_fuzzer.cpp
│   │   ├── string_literal_test.cpp
│   │   ├── test_helpers.h
│   │   ├── testdata/
│   │   │   ├── basic_syntax.carbon
│   │   │   ├── char_literals.carbon
│   │   │   ├── dump_sem_ir_range.carbon
│   │   │   ├── fail_bad_comment_introducers.carbon
│   │   │   ├── fail_bad_comment_introducers_mid_block_indent_change.carbon
│   │   │   ├── fail_bad_raw_identifier.carbon
│   │   │   ├── fail_block_string_second_line.carbon
│   │   │   ├── fail_char_literals_bad_encoding.carbon
│   │   │   ├── fail_mismatched_brackets.carbon
│   │   │   ├── fail_mismatched_brackets_2.carbon
│   │   │   ├── fail_multifile.carbon
│   │   │   ├── fail_trailing_comments.carbon
│   │   │   ├── include_in_dumps.carbon
│   │   │   ├── keywords.carbon
│   │   │   ├── multifile.carbon
│   │   │   ├── multiline_string_literals.carbon
│   │   │   ├── numeric_literals.carbon
│   │   │   ├── printing_digit_padding.carbon
│   │   │   ├── printing_integer_literal.carbon
│   │   │   ├── printing_real_literal.carbon
│   │   │   ├── printing_token.carbon
│   │   │   ├── raw_identifier.carbon
│   │   │   ├── repeated_tuple_index.carbon
│   │   │   └── string_literals.carbon
│   │   ├── token_index.h
│   │   ├── token_info.h
│   │   ├── token_kind.cpp
│   │   ├── token_kind.def
│   │   ├── token_kind.h
│   │   ├── token_kind_test.cpp
│   │   ├── tokenized_buffer.cpp
│   │   ├── tokenized_buffer.h
│   │   ├── tokenized_buffer_benchmark.cpp
│   │   ├── tokenized_buffer_fuzzer.cpp
│   │   ├── tokenized_buffer_test.cpp
│   │   └── tokenized_buffer_test_helpers.h
│   ├── lower/
│   │   ├── BUILD
│   │   ├── aggregate.cpp
│   │   ├── aggregate.h
│   │   ├── clang_global_decl.cpp
│   │   ├── clang_global_decl.h
│   │   ├── constant.cpp
│   │   ├── constant.h
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── file_context.cpp
│   │   ├── file_context.h
│   │   ├── function_context.cpp
│   │   ├── function_context.h
│   │   ├── handle.cpp
│   │   ├── handle_aggregates.cpp
│   │   ├── handle_call.cpp
│   │   ├── handle_expr_category.cpp
│   │   ├── lower.cpp
│   │   ├── lower.h
│   │   ├── mangler.cpp
│   │   ├── mangler.h
│   │   ├── options.h
│   │   ├── specific_coalescer.cpp
│   │   ├── specific_coalescer.h
│   │   └── testdata/
│   │       ├── alias/
│   │       │   └── local.carbon
│   │       ├── array/
│   │       │   ├── array_in_place.carbon
│   │       │   ├── assign_return_value.carbon
│   │       │   ├── base.carbon
│   │       │   ├── field.carbon
│   │       │   ├── function_param.carbon
│   │       │   └── iterate.carbon
│   │       ├── basics/
│   │       │   ├── empty.carbon
│   │       │   └── fail_before_lowering.carbon
│   │       ├── builtins/
│   │       │   ├── bool.carbon
│   │       │   ├── char.carbon
│   │       │   ├── cpp.carbon
│   │       │   ├── float.carbon
│   │       │   ├── int.carbon
│   │       │   ├── int_literal.carbon
│   │       │   ├── maybe_unformed.carbon
│   │       │   ├── method_vs_nonmethod.carbon
│   │       │   ├── no_op.carbon
│   │       │   ├── overloaded_operator.carbon
│   │       │   ├── pointer.carbon
│   │       │   ├── print_read.carbon
│   │       │   ├── types.carbon
│   │       │   └── uint.carbon
│   │       ├── class/
│   │       │   ├── adapt.carbon
│   │       │   ├── base.carbon
│   │       │   ├── basic.carbon
│   │       │   ├── convert.carbon
│   │       │   ├── field.carbon
│   │       │   ├── generic.carbon
│   │       │   ├── import.carbon
│   │       │   ├── method.carbon
│   │       │   ├── self.carbon
│   │       │   ├── value_access.carbon
│   │       │   └── virtual.carbon
│   │       ├── debug/
│   │       │   └── nodebug.carbon
│   │       ├── for/
│   │       │   ├── bindings.carbon
│   │       │   ├── break_continue.carbon
│   │       │   └── for.carbon
│   │       ├── function/
│   │       │   ├── call/
│   │       │   │   ├── empty_struct.carbon
│   │       │   │   ├── empty_tuple.carbon
│   │       │   │   ├── form.carbon
│   │       │   │   ├── i32.carbon
│   │       │   │   ├── implicit_empty_tuple_as_arg.carbon
│   │       │   │   ├── params_one.carbon
│   │       │   │   ├── params_one_comma.carbon
│   │       │   │   ├── params_two.carbon
│   │       │   │   ├── params_two_comma.carbon
│   │       │   │   ├── params_zero.carbon
│   │       │   │   ├── ref_param.carbon
│   │       │   │   ├── ref_return.carbon
│   │       │   │   ├── return_implicit.carbon
│   │       │   │   ├── struct_param.carbon
│   │       │   │   ├── tuple_param.carbon
│   │       │   │   ├── tuple_param_with_return_slot.carbon
│   │       │   │   └── var_param.carbon
│   │       │   ├── declaration/
│   │       │   │   └── simple.carbon
│   │       │   ├── definition/
│   │       │   │   ├── destroy.carbon
│   │       │   │   ├── empty_struct.carbon
│   │       │   │   ├── eval_musteval.carbon
│   │       │   │   ├── params_one.carbon
│   │       │   │   ├── params_two.carbon
│   │       │   │   ├── params_zero.carbon
│   │       │   │   ├── raw_name.carbon
│   │       │   │   └── var_param.carbon
│   │       │   └── generic/
│   │       │       ├── call.carbon
│   │       │       ├── call_basic.carbon
│   │       │       ├── call_basic_depth.carbon
│   │       │       ├── call_dedup_ptr.carbon
│   │       │       ├── call_deref_ptr.carbon
│   │       │       ├── call_different_associated_const.carbon
│   │       │       ├── call_different_impls.carbon
│   │       │       ├── call_different_impls_with_const.carbon
│   │       │       ├── call_different_specific.carbon
│   │       │       ├── call_impl_function.carbon
│   │       │       ├── call_method.carbon
│   │       │       ├── call_recursive_basic.carbon
│   │       │       ├── call_recursive_diamond.carbon
│   │       │       ├── call_recursive_impl.carbon
│   │       │       ├── call_recursive_mutual.carbon
│   │       │       ├── call_recursive_reorder.carbon
│   │       │       ├── call_recursive_reorder_more.carbon
│   │       │       ├── call_recursive_sccs_deep.carbon
│   │       │       ├── call_specific_in_class.carbon
│   │       │       ├── cross_library_name_collision_private.carbon
│   │       │       ├── import.carbon
│   │       │       ├── local_function.carbon
│   │       │       ├── reverse_canonical.carbon
│   │       │       ├── self_canonical.carbon
│   │       │       ├── type_param.carbon
│   │       │       └── type_representation.carbon
│   │       ├── global/
│   │       │   ├── class_obj.carbon
│   │       │   ├── class_with_fun.carbon
│   │       │   ├── decl.carbon
│   │       │   ├── simple_init.carbon
│   │       │   ├── simple_with_fun.carbon
│   │       │   └── use.carbon
│   │       ├── if/
│   │       │   ├── else.carbon
│   │       │   └── no_else.carbon
│   │       ├── if_expr/
│   │       │   ├── basic.carbon
│   │       │   └── empty_block.carbon
│   │       ├── impl/
│   │       │   ├── assoc_fn_alias.carbon
│   │       │   ├── extend_impl.carbon
│   │       │   ├── impl.carbon
│   │       │   ├── import.carbon
│   │       │   ├── import_facet.carbon
│   │       │   ├── import_thunk.carbon
│   │       │   ├── instance_method.carbon
│   │       │   └── thunk.carbon
│   │       ├── index/
│   │       │   └── array_element_access.carbon
│   │       ├── interface/
│   │       │   ├── assoc.carbon
│   │       │   ├── basic.carbon
│   │       │   ├── mangle_declared_class.carbon
│   │       │   └── where.carbon
│   │       ├── interop/
│   │       │   └── cpp/
│   │       │       ├── base.carbon
│   │       │       ├── clang_code_generator_callbacks.carbon
│   │       │       ├── constructor.carbon
│   │       │       ├── cpp_compat_int.carbon
│   │       │       ├── cpp_run.carbon
│   │       │       ├── enum.carbon
│   │       │       ├── extern_c.carbon
│   │       │       ├── field.carbon
│   │       │       ├── function_decl.carbon
│   │       │       ├── function_in_template.carbon
│   │       │       ├── globals.carbon
│   │       │       ├── import_inline.carbon
│   │       │       ├── method.carbon
│   │       │       ├── nullptr.carbon
│   │       │       ├── parameters.carbon
│   │       │       ├── pointer.carbon
│   │       │       ├── reference.carbon
│   │       │       ├── return.carbon
│   │       │       ├── std_initializer_list.carbon
│   │       │       ├── template.carbon
│   │       │       ├── virtual_base.carbon
│   │       │       └── void.carbon
│   │       ├── let/
│   │       │   ├── copy_value_rep.carbon
│   │       │   ├── local.carbon
│   │       │   └── tuple.carbon
│   │       ├── namespace/
│   │       │   ├── function.carbon
│   │       │   ├── namespace_run.carbon
│   │       │   └── nested.carbon
│   │       ├── operators/
│   │       │   ├── and.carbon
│   │       │   ├── and_empty_block.carbon
│   │       │   ├── arithmetic.carbon
│   │       │   ├── assignment.carbon
│   │       │   ├── increment.carbon
│   │       │   ├── not.carbon
│   │       │   ├── or.carbon
│   │       │   ├── or_empty_block.carbon
│   │       │   ├── overloaded.carbon
│   │       │   └── string_indexing.carbon
│   │       ├── packages/
│   │       │   ├── cross_package_call.carbon
│   │       │   └── imported_package_mangle.carbon
│   │       ├── pointer/
│   │       │   ├── address_of_field.carbon
│   │       │   ├── address_of_unused.carbon
│   │       │   ├── basic.carbon
│   │       │   ├── convert.carbon
│   │       │   └── pointer_to_pointer.carbon
│   │       ├── primitives/
│   │       │   ├── bool.carbon
│   │       │   ├── int_types.carbon
│   │       │   ├── numeric_literals.carbon
│   │       │   ├── optional.carbon
│   │       │   ├── string.carbon
│   │       │   ├── type_values.carbon
│   │       │   └── zero.carbon
│   │       ├── return/
│   │       │   ├── code_after_return.carbon
│   │       │   ├── no_value.carbon
│   │       │   ├── return_var.carbon
│   │       │   ├── return_var_byval.carbon
│   │       │   ├── value.carbon
│   │       │   └── var.carbon
│   │       ├── struct/
│   │       │   ├── empty.carbon
│   │       │   ├── member_access.carbon
│   │       │   ├── nested_struct.carbon
│   │       │   ├── nested_struct_in_place.carbon
│   │       │   ├── one_entry.carbon
│   │       │   ├── partially_const.carbon
│   │       │   └── two_entries.carbon
│   │       ├── tuple/
│   │       │   ├── access/
│   │       │   │   ├── element_access.carbon
│   │       │   │   └── return_value_access.carbon
│   │       │   ├── empty.carbon
│   │       │   ├── nested_tuple.carbon
│   │       │   ├── nested_tuple_in_place.carbon
│   │       │   ├── one_entry.carbon
│   │       │   ├── two_entries.carbon
│   │       │   ├── value_formation.carbon
│   │       │   └── value_forwarding.carbon
│   │       ├── var/
│   │       │   ├── global.carbon
│   │       │   ├── import.carbon
│   │       │   ├── local.carbon
│   │       │   ├── nested.carbon
│   │       │   └── uninitialized.carbon
│   │       └── while/
│   │           ├── break_continue.carbon
│   │           ├── preheader.carbon
│   │           ├── unreachable_end.carbon
│   │           └── while.carbon
│   ├── parse/
│   │   ├── BUILD
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── coverage_test.cpp
│   │   ├── dump.cpp
│   │   ├── dump.h
│   │   ├── extract.cpp
│   │   ├── fuzzer_corpus/
│   │   │   ├── 0070c4b257a5d62735b72ecbd27831689e0f741a
│   │   │   ├── 00983b0026fb2dae8de02df8c2bf4d25ad9d2957
│   │   │   ├── 00f54312e38b5706db8c824c9c52c495d2283a82
│   │   │   ├── 01ecec351990aceb79096662578dbcebef530266
│   │   │   ├── 02081880688a5ba27e5382e4989d62f71bffe7d2
│   │   │   ├── 02927414c09a1e0ebc8728d6e2e3507d297720e0
│   │   │   ├── 02ddec8b4855127d5616e521bc826659cb04a796
│   │   │   ├── 0388b2df0537639ff948074ce9f67c8b5ec81724
│   │   │   ├── 039a35c0b5788e58d490e6170c5e2a3ca93126b7
│   │   │   ├── 04001c5feb6d32510ea2dac4a7e3b2782178d233
│   │   │   ├── 043f9a99b06b50b4f72d7d64785c9f6aed8955be
│   │   │   ├── 044b47fa071d1a9a649f6929df2a86a602316739
│   │   │   ├── 049cb040706926a43a72ba2eed2293fde16ee4f7
│   │   │   ├── 04e69659919613110074c6b55a2535005628624b
│   │   │   ├── 062300fe49127d478e279f2c8c6624cf921e761b
│   │   │   ├── 073fa4c84b38942fe8294893b1d8ee760c824f37
│   │   │   ├── 076affaa4c46bf4b9b399969094dc72a9df8d775
│   │   │   ├── 07872cd439777dea0917e53c4070c4e2f5499c34
│   │   │   ├── 0847ff144a8a5fd6df2efc24062333302de31d8a
│   │   │   ├── 08de8afe0f4b1a7482f82b4483ed8e67ff9d3950
│   │   │   ├── 09010764cf42320a71f4ef9f9f4b07aa9ff3fb28
│   │   │   ├── 0927368a50716a0cf040472d656fadaaf03355de
│   │   │   ├── 09943ce3320190181bc98edd7a8f25b342a4717a
│   │   │   ├── 09f51bfa00ad03af42fbf220cdfe078cb86eba82
│   │   │   ├── 09f88ffa07c965dec16c66e720ca192c8c069375
│   │   │   ├── 0a7ef04e3f3e44d0ecc02728a5b2e7766b961983
│   │   │   ├── 0aa3cf02285b3dc71f066761840882453a7b2206
│   │   │   ├── 0ad8d7ffe749474f00b83fdc0ab63fd0efe4be17
│   │   │   ├── 0b656451855e16143574319c2c02c7278916e53d
│   │   │   ├── 0ba5482c447a7032f934f443de5577fe83169fcd
│   │   │   ├── 0d75c206d438f55ffb3055aafa6ece4dc0b1d8c2
│   │   │   ├── 0d968cc12e55af8d4306e667c5c817b16b8e1b79
│   │   │   ├── 0db8178cf99d00340ad773ad8cbd9559037707f3
│   │   │   ├── 0e39781318c2c288f8b50d2599e5db584ca6403c
│   │   │   ├── 0e7ed085031d14c75de885a43f8055de2f3771c5
│   │   │   ├── 0ee1b55e445f4a407f08dbc3bbf8c19b11d1d56c
│   │   │   ├── 0f3abe6df8abad7e60c636a1b55987e10596a9a8
│   │   │   ├── 0fcf0bd2e6e6735804be2e231844f4b0035c6658
│   │   │   ├── 0fe5a6a76aaaf81ee9456d3c7316edec7e8d0767
│   │   │   ├── 10de165e3456bde804899c08a8b74b6a490f1eba
│   │   │   ├── 114f91b835c2b13afc7c92dc7c98eabbc7c4c3a5
│   │   │   ├── 12033d109a3ab4a4068fb4f5283aa8ef2b4b2939
│   │   │   ├── 1208be067b482d13dffa6e84244371f7266c8160
│   │   │   ├── 128fa7deaa928f1d747d86062e5d3d213c25c726
│   │   │   ├── 12b4b334134a4d960f633e6c4099056d6254cf51
│   │   │   ├── 12ec48cdf6b94105e7ade03f1c2963d13ac0d77c
│   │   │   ├── 139cf5f51919c2f88794b3d6afecd894d3795bc4
│   │   │   ├── 13da308a93caa154fd268cb66ff9350d5e001308
│   │   │   ├── 143e2326892e723c0b68722b1e4b58a44e61e839
│   │   │   ├── 1489f923c4dca729178b3e3233458550d8dddf29
│   │   │   ├── 150b1dea9b203b242440628e55aa9962d328e970
│   │   │   ├── 1518eddffd2ea99c2db347e4b07bbb9c2e148616
│   │   │   ├── 15457429ccbc4ced908ec8d06f103c2c98bbbdb3
│   │   │   ├── 155662963cb5f19922dab58838168228b1e014c3
│   │   │   ├── 1571c4355b51fd1956088954d879c57afc5163ff
│   │   │   ├── 168dc21309d61fe1e063df68c2a5f149311cfcdc
│   │   │   ├── 16b64cf94678e34113f9455ed7800c90a0027dec
│   │   │   ├── 176afca999aa82b2b71ea72c3240ba7776079f15
│   │   │   ├── 17bbee402bd8cdd6e386a039cb0023ceee7c21b0
│   │   │   ├── 18be96b3ef011defa68c04113354445d6677fadf
│   │   │   ├── 191074e33f978a2a8d63c9e1e34bb17077a9a588
│   │   │   ├── 19693216f273f9aff7108346e4bcd2f8c966f4ae
│   │   │   ├── 1a1c812723cfc99c0d1950586bf64a8a0bd8dd21
│   │   │   ├── 1b39bdf9057eb34a7ce083c976d91beaff9243a2
│   │   │   ├── 1c049c5e2792a5a37dd9b381673d185ab4f0f9ee
│   │   │   ├── 1cf7234e1ba7123b380fc9bdb1be2e3f01dac04d
│   │   │   ├── 1e6d3c3b55ccb0d68d53c73a555b846e6cf8186c
│   │   │   ├── 1fa756fd20f8cdf9686442489978b5c949f03c94
│   │   │   ├── 2075398620e9ece84ba45696102d607461d3013e
│   │   │   ├── 207a33e16f5a0d38333804850baa752141048077
│   │   │   ├── 2185caa3a086573629b49f7030abfbc5cb164a05
│   │   │   ├── 21ab82bcdb73cef5c88faccf2930439a80f6aa2a
│   │   │   ├── 2380c194a3cf4ebd90289510bd36d3237c4eff90
│   │   │   ├── 2405a901ebd782565915e40a9c7175af077da320
│   │   │   ├── 2431f06ad2f7e5a00c3edcf50bd8df35ad2d213a
│   │   │   ├── 248e15cac0d0566b32ee1de84f1a97258c808048
│   │   │   ├── 2494a52ac3fd2d281018a9de8d8b99a96d23b755
│   │   │   ├── 24f09b8f67911a60fb76b0787a3aa5c51b9e4aa7
│   │   │   ├── 259f67ed1c6eddaf7ff1b7a57354e8e05b1764b7
│   │   │   ├── 25eb49052f569f2b6224ec69827bb0559c6266ce
│   │   │   ├── 25f17147065a7604fe02ff52c22d77d55f46aec0
│   │   │   ├── 26375a214ff72dcec3d99a0e8c3e12f48c174f91
│   │   │   ├── 26ffdd8987ca20c37b2e8b30866e534342d1c175
│   │   │   ├── 27b24837f9fb8b231882aba80241a51a732d7080
│   │   │   ├── 285fc11d7f2b301050dad1055ae07ae8ea434fa7
│   │   │   ├── 29189967d00b3cbd0bec6d3ba7a0ba53593d68b0
│   │   │   ├── 298d9fd041f4045e8a6f51395cb9b1f12f84740c
│   │   │   ├── 29c07937042029d42ded435734bb17a9da1a13ef
│   │   │   ├── 2a02e597d1a05281f3438aa56e604af5ea226391
│   │   │   ├── 2a632a8af327465dfa149e5e36f761e0c3ed9cbb
│   │   │   ├── 2adee695b16f21579babe698c46496bc7888d515
│   │   │   ├── 2b54b86a7a03996193e2a16e2dedc7bc3c4fdcf8
│   │   │   ├── 2b5d3b133ba8094e7e96c18bbb5750320af115b7
│   │   │   ├── 2bb15c06e73edf03fe6da1d344054e7629da174e
│   │   │   ├── 2bd5448f636ce587c431dcafc751d97bc6ad184e
│   │   │   ├── 2c5052fa044a9adda5adc2c63bb504f021b94ce0
│   │   │   ├── 2cb15df85cd18a7c7a5c0a6144c52898f33b85b1
│   │   │   ├── 2d43a65482c23c269139ef944a7bc83c7cef365d
│   │   │   ├── 2e14812407ae3bbcc0897edec4dd60a23cc24362
│   │   │   ├── 2f02a7cf2f97d748af0c7a5ea9b08709497f5a46
│   │   │   ├── 2f5199b8dbb288d7772573dfd072a01ab6c5ee0d
│   │   │   ├── 31285759f36b7a75479ca9b1df982ce5f97548a1
│   │   │   ├── 31d33fa3b66c317fea1bf723e0f18e17778b8189
│   │   │   ├── 320a9de88d971d897339ca8a03fa0f6249115c85
│   │   │   ├── 32726187689ba9e51e68aeba228d3675fce9b0ce
│   │   │   ├── 339850af6f14c8ce8d036c13c2a0e3e5425bce6a
│   │   │   ├── 341f7c736b9635585cc9c3eba7a778c2c0b630d4
│   │   │   ├── 34792f34f593fa3f456d026fa9ffe1503cac1b77
│   │   │   ├── 34ad684f808d905e7cb4f1206fb0f2379276a591
│   │   │   ├── 35756112846aec20c0ea410e4e176bdc7aa6d088
│   │   │   ├── 36444b4480602bbc82c421d3a5dca926ee56f17d
│   │   │   ├── 3715d976d21ae2a2c15495c4a763394e990b90a8
│   │   │   ├── 386740becc4c02670666928a4699c330b2fe1152
│   │   │   ├── 394792793e4f314d0886cbfb89fb8049792482a9
│   │   │   ├── 39c9ae18a99bb14ac71c8f5113b02ab12ff236ac
│   │   │   ├── 3a4eed561f8fc8abaf6593a20b4edac297cc5e15
│   │   │   ├── 3aa943b6c35628b187f138aba548df6f3be5da12
│   │   │   ├── 3ac768f61dc4ed8422f9e2711bd6a3aadeb38445
│   │   │   ├── 3aef2c0da68c5632f15f479387b81e934198703f
│   │   │   ├── 3b1085b86f86d2d88196b9d5262217e756bf728b
│   │   │   ├── 3b71bf232208afeffcf15d4ff2cc8730896ea865
│   │   │   ├── 3be5b44a1721c738786cf72588b08d2b9e390075
│   │   │   ├── 3c0a2660b7288f8308256c7e8546818303b71997
│   │   │   ├── 3d5fdc6616ba35966fbcf6838eb05f6de07aade1
│   │   │   ├── 3d8dccaeb75743323a9a529f87a66d0c484c5c2b
│   │   │   ├── 3ed68a2ece43b2bd7718aefc0a4fd7db5c5de056
│   │   │   ├── 3f128a449c26d99e65f137b08835072d0f4fa93a
│   │   │   ├── 3f879a2ddc7c450bebbbf1d8e18b3d13be9e97fe
│   │   │   ├── 3fbd2427a77b6f19ffc4221553f72ed0b9e853ed
│   │   │   ├── 4030af13b66be0e6cc87eac9cf6cc0230124b7e6
│   │   │   ├── 403b12429ad7509a098202162534c621ea84e22d
│   │   │   ├── 40aeb8233ec6ec0956a073258b493a6f3f109ad0
│   │   │   ├── 412005dc4d8c236fc60dc39355e9e671dbe09d8e
│   │   │   ├── 41483173f64fb2b10b0fc410ec367e48af3258e6
│   │   │   ├── 418dccb65acf0f27d9ad4f66844bfb900fd341e5
│   │   │   ├── 41a18a6da2101d4fc073f881774d365cac9df69f
│   │   │   ├── 41ff90328e5650588c247848d651f0390237b795
│   │   │   ├── 422a2a4de398a58124633a31c4e52902ce85444a
│   │   │   ├── 42c8f8111af667130b9d5672d007bdc125827020
│   │   │   ├── 42e59128df90545517099afd0b604dfa56bc05b5
│   │   │   ├── 43142a391a23602f37adb8e58795e413b2f930f4
│   │   │   ├── 43620674069e40000726f5201bb470a56686c3b2
│   │   │   ├── 4384398a7160f0d94ddf9800823d26654b8ba494
│   │   │   ├── 43e8770e73be69be07a92b1158a81872d064983c
│   │   │   ├── 458805c494b025b1429890e1b1f4d21e20c9f24f
│   │   │   ├── 46e2ab94f4eda80788a6b78e7d918b91cb0cc5ec
│   │   │   ├── 46f15ec0a8f3b58021a71695b9d74bb7320eab7a
│   │   │   ├── 47bff9ffccc62e338cd602ebc8a6949328c714c8
│   │   │   ├── 47ed2ecb2adafaaf3e20f6c8244d2e2ea58cf53d
│   │   │   ├── 47feacb6748ff05002f098417c384c819a65b97e
│   │   │   ├── 482704ffe5691bcddb334b81517b3a05f87fbe5a
│   │   │   ├── 484a39ded2bc25ee5377a01c8cda97ddeafc87ef
│   │   │   ├── 48526c21334aa86c0df6320d510a1fed8dc09b35
│   │   │   ├── 486a8f55e4b44564c3223c1b38ed06971606e9a3
│   │   │   ├── 49f6c92b4735986f2daa0863462d6add05422e37
│   │   │   ├── 4b72a9874e77ce171cf3f60eff7beede65c5563a
│   │   │   ├── 4b7c0cbad40165a88b1da6e4f393cb83be84ae57
│   │   │   ├── 4ba74383259bd616e28171d92c9435f3f09ea019
│   │   │   ├── 4ba75e317ec2959faa02620eb79057f59bfe53f0
│   │   │   ├── 4bacddbb420583304d54e49585c719868272e744
│   │   │   ├── 4c5a8c6a90fce1e1b56ee77115a5259354f7df5c
│   │   │   ├── 4c6b39b374d9de57f377c0a756df6cf2a1674773
│   │   │   ├── 4c7d9b1e8380cbc69d7f0bbe49d50c5c669a48b5
│   │   │   ├── 4c883bcf149e3ab24ed690c491d8c5f4760101c2
│   │   │   ├── 4cecf81e69c4eb64195f388d82fbbcc0b9f713f8
│   │   │   ├── 4d32ab98d9d1b052654c6c2b105449dfd058f91c
│   │   │   ├── 4dc7cba8ab34945620d27a03d92294d46a68036e
│   │   │   ├── 4e324a84b2aefab1344cbb5f18b0a4a8d0d03019
│   │   │   ├── 4e6377c22a1909fc40f3ea947039cec500b3296d
│   │   │   ├── 4ea6b7ccec37ce161208bc3c99206d9fd1060daf
│   │   │   ├── 4f3097e7856d45dfc5eeb4c0c9477bdb04579a40
│   │   │   ├── 4f68aae1dca08eb2eb96530414b3078ec89483f2
│   │   │   ├── 4fbec82e43616db68d8a12887e4c3db1f6aa9c02
│   │   │   ├── 501f1b1a10740d5e2dcfc32e17409afea7962f78
│   │   │   ├── 5059e627bb1e0fb3e5ddb2d5ca6a596a99f0fc2c
│   │   │   ├── 507d4024b8b9a86c644ce870f701410d19023113
│   │   │   ├── 5092f70c135b0380dbe0b55e18c8fce52626a3f7
│   │   │   ├── 51f640c8579d64801a7f7452d90b656abc2859e2
│   │   │   ├── 52d8d1ca1212f03ee060addf4380c352030b2782
│   │   │   ├── 533d06fe6d276f71a662e6ba523af66ec36ab06d
│   │   │   ├── 53523b19ecd547e517a668769fa18afcd4405bfd
│   │   │   ├── 53a3208136364aa265d253bf1b3e3d0579a6eecd
│   │   │   ├── 53ba1ae3c5eee31d03ebd31270c7a01ed598443d
│   │   │   ├── 5442a6bf03fea8e6b9618456cd6efedf30020e10
│   │   │   ├── 54540d6a17ccd28d75f912f4ad8ffb37c0eb1680
│   │   │   ├── 561347acc32cf000a7e4f51d531ed8637c913758
│   │   │   ├── 561c786c543a6fa8a1a7fdc928a90ee41b70ca1f
│   │   │   ├── 56bd15b8f00812bb08d4c603f503ba7c1b042736
│   │   │   ├── 5709a1d9daa62e4493a7f2cb2bae56cd0ea6d20d
│   │   │   ├── 5868c42e7020defa91726147111426f28c4ad601
│   │   │   ├── 595383d60c2dccbb80138f6e74cbc21123513166
│   │   │   ├── 59ba33d9c4f408b15f5d76c77d0e52fde0c8aff4
│   │   │   ├── 59bd17e3d305e245d49cf2b99d571a581e2a9579
│   │   │   ├── 5a19572e3bddde76bf59bac3c0fdbd03f32dc5c1
│   │   │   ├── 5a73876feaa1e31e90034e567d1b4dc0960ba846
│   │   │   ├── 5c24e633494a599e4aa0289ec722ad493de7eb13
│   │   │   ├── 5c352187269ff84470f2849818ec955a3f59910f
│   │   │   ├── 5ca6f35474513dd58a090036631eb25b957418c1
│   │   │   ├── 5ce0499d80c7189d349f18e7765892cc2dcf8ace
│   │   │   ├── 5d0bde7baad969eafc39495e67f39a8fb3e6dd8b
│   │   │   ├── 5d3c510266c1c9f2ecb98a00acd9e7217b9d93fa
│   │   │   ├── 5d813d4a0ae116b287ef263033018205895f24c5
│   │   │   ├── 5de18561c4791d508bbf0b45805a55ca79fbeb7b
│   │   │   ├── 607e885f7fa26b683aa0344525798e08b15aa872
│   │   │   ├── 61414938295dca0deb7506125c48a85604f107c7
│   │   │   ├── 614ee8b49211c0b8a3c88990c543f091f8fb408c
│   │   │   ├── 61661c063e9ac7c1dcd449d0e0d724bf170d4fdb
│   │   │   ├── 616b3ef4f8bb602faf5121b9b7e422244ac7f6e9
│   │   │   ├── 61fde34cab597f13e4cf1482625f83a4234720a2
│   │   │   ├── 626ceef156893d7b4bc6fffd1a6934d9668e7f3d
│   │   │   ├── 629c0641de83ea88b3d5485b3080ad2e0c9b7cb4
│   │   │   ├── 62a2efa3f7538a5f612c13067692e87b0c6f6bc0
│   │   │   ├── 63424cf928c03d1635a685f728a7223705ac063c
│   │   │   ├── 641a81137df780f10842b14c6b8ad0213ca173b6
│   │   │   ├── 6485c5ea97a83c96121a5f34199c551ecb7cccdd
│   │   │   ├── 6546f482ba1e853e5fbd2314d3d49e6b49ee9d9b
│   │   │   ├── 65aa83012a63f2d24042b716ab92a782a6db002c
│   │   │   ├── 66a9200e2a8cba2bba66cd672f2fd63bf5bbaac5
│   │   │   ├── 671f30b13fd9d75b380b1e9dd3a442853fa25747
│   │   │   ├── 675bdd56c7ed46abb4a9bb858ba9a9bf4ec5605d
│   │   │   ├── 67c49783d3f8db96c294736133a27a9fa237274e
│   │   │   ├── 688dd153a4d138d983be5cc34ba6652ef8541fb7
│   │   │   ├── 690bf49502dbf01976bc66ca2c3ac06c97642db2
│   │   │   ├── 692bb335794be9a7b844feb443757fbb179d85b0
│   │   │   ├── 6956d350ad4779b9744928e979b9b87ac7b2d799
│   │   │   ├── 69760227f602e7a7523a5e0297bd205fa37e9e02
│   │   │   ├── 6a00fb86f8727e0a4708359954fa811737e83d8f
│   │   │   ├── 6b4768a78f5353cb4dd4d30aee22449460892e5b
│   │   │   ├── 6d08d22c417beb30e21ce3e0f1e1ed97cc130330
│   │   │   ├── 6dfbc2d1a3ac19c3ae9e77bc510d0f639b974f10
│   │   │   ├── 70ecda93edeab49006cc4f58324a8384c2009a19
│   │   │   ├── 7200f4fc3115ac14a4ba74243e8b8d72bdb14104
│   │   │   ├── 72449ed710356adfffc12ec768423cb0784a9b2b
│   │   │   ├── 72de9fee019f22dc1492a2c8b83ad3879a74a388
│   │   │   ├── 72eb7a6416e719d3ec3d9ffade194370c8f2802e
│   │   │   ├── 7312fa4feada84b033ea67cd4371956466e6aeb0
│   │   │   ├── 732d0c57994b9ce22f94966ebab4a5e40c4bec2a
│   │   │   ├── 7368f496a342780f4bd2d5492aeff9bd64ac7da4
│   │   │   ├── 74b426917d84eac125ffc0699c11ade39fe28b01
│   │   │   ├── 74ed87a7698e8be34163a772b40065f65eeb66b3
│   │   │   ├── 750964224488b2703992ceb45ce5eac74a904c98
│   │   │   ├── 7526dbb8bd908dbb53d6caf0f1dc652c0c5d62f8
│   │   │   ├── 758cfe7990237eeaaf3c0cdeca65a888b98db0e8
│   │   │   ├── 76fd1253a98007fce566d49869a659409f895b1a
│   │   │   ├── 779dd6f1a4b6c6bb052d3b2b8e4e061d56c7b493
│   │   │   ├── 77f353c7e4d8862e77f0d385751c4953bb850562
│   │   │   ├── 77f6b1e3b42ca7acbb891938ec281d9f5bf18ac5
│   │   │   ├── 7941c33ccfdd7084a6ec19a807302319ee6249c9
│   │   │   ├── 79ec607348296778e4ccf0890e8d5704e6226776
│   │   │   ├── 7a26e6bcc857b6e9b797b3c918f2bcb1a569ddde
│   │   │   ├── 7ad4070a7a504f1b7045720b5c9333b20be5937d
│   │   │   ├── 7b0758cf04d7fcbc1a504005eeb64921b132e5b4
│   │   │   ├── 7bbe3489b3fff6f2455d83beaefdd468b2bec93f
│   │   │   ├── 7bc1889b0d60824bf64af54a98efd9b4a331332a
│   │   │   ├── 7d51b95219a1ff6a9f6d15fbcfff36da556c4f84
│   │   │   ├── 7d59f86c9b72019b592378b0eb7c5f482333854d
│   │   │   ├── 7d9a836850cfaf6af1ae3b19b996f6735e5ccb4d
│   │   │   ├── 7e0f5d7b3d4448157b7df1c2aea9bea6462e498e
│   │   │   ├── 7e48a254a435955e508905e9c94311f17b0ec2ad
│   │  

================================================
FILE CONTENTS
================================================

================================================
FILE: .agents/skills/code_style/SKILL.md
================================================
---
name: Code style
description:
    Instructions for code formatting and style guidelines in the Carbon
    toolchain.
---

# Code style

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

## License

-   **Licenses**: All Carbon files outside of `third_party/` should have a
    license following
    [CONTRIBUTING license instructions](/CONTRIBUTING.md#license).

## Formatting

-   **Bazel**: Use `pre-commit run buildifier --files <file.bzl>` to format
    Bazel files.
-   **C++**: Use `pre-commit run clang-format --files <file.cpp>` to format C++
    files.
-   **Carbon**: The toolchain's `format` command doesn't work well right now.
    Instead, try to format Carbon code based on other Carbon files and the C++
    style.
-   **Markdown**: Use `pre-commit run prettier --files <file.md>` to format
    markdown files.
-   **Python**: Use `pre-commit run black --files <file.py>` to format Python
    files.

## Style Guides

-   **C++ style**: Follow the
    [Carbon C++ Project Style Guide](/docs/project/cpp_style_guide.md).
-   **Markdown style**: Follow the
    [Google developer documentation style guide](https://developers.google.com/style).
-   **Python style**: Follow the [PEP 8](https://peps.python.org/pep-0008/)
    style guide.
    -   Wrap code and comments to 80 columns.
    -   Run `pre-commit run flake8 --files <file.py>` to check Python style.


================================================
FILE: .agents/skills/summarize_testdata_changes/SKILL.md
================================================
<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

---

name: Summarize testdata changes description: Instructions for summarizing
changes to Carbon testdata files (`toolchain/*/testdata`).

---

# Summarize testdata changes

This skill provides instructions for creating a comprehensive report summarizing
changes to Carbon testdata files (`toolchain/*/testdata`) and associating them
with related code changes.

## Goals

Produce a report that:

1.  Summarizes code changes outside of testdata.
2.  Groups similar testdata changes together, listing all affected files for
    each group. **Every change to testdata must be represented by at least one
    group. This includes changes to CHECK lines.**
3.  Provides detailed breakdowns of test input changes and diagnostic output
    changes in the corresponding group. **Every single change to inputs or to
    STDERR checks must be explicitly mentioned in the group, with either an
    inline diff or a link to the file.**

## Process

### 1. Identify Changes

Use your VCS (Git or Jujutsu) or query Github to identify changes. For large
changes, it is recommended to use the included helper script to extract test
input changes.

#### For Git Users:

-   **Summarize code changes**: `git diff --stat -- ':!toolchain/*/testdata'`
    -   To see content of non-testdata changes:
        `git diff -- ':!toolchain/*/testdata'`
-   **Identify testdata changes**: `git diff --name-only 'toolchain/*/testdata'`

#### For Jujutsu (jj) Users:

-   **Summarize code changes**:
    `jj --no-pager diff --stat '~toolchain/*/testdata'`
    -   Note: Quoting the fileset `'~toolchain/*/testdata'` is critical if it
        contains wildcards.
    -   To see content of non-testdata changes, use `--git` to get standard
        unified diff format: `jj --no-pager diff --git '~toolchain/*/testdata'`
-   **Identify testdata changes**:
    `jj --no-pager diff --name-only 'toolchain/*/testdata'`

#### For Github Pull Requests:

-   **Summarize code changes**: `gh pr diff`
-   **Identify testdata changes**:
    `gh pr diff --name-only | grep '^toolchain/.*/testdata'`

#### Handling Specific Revisions:

If you are summarizing changes in a specific revision (for example, `@-`) or
pull request (for example, #1234), add `-r <rev>` or `<pr_number>` to the
commands:

-   `git diff <rev>^ <rev> ...` (or use `git show <rev>`)
-   `jj --no-pager diff -r <rev> ...`
-   `gh pr diff <pr_number>`

### 2. Extract Test Input Changes (Recommended)

To easily identify changes, use the included Python helper script to extract all
text additions and removals from the diff, categorized by Input, STDERR, and
STDOUT changes. This script reads a unified diff from stdin.

```bash
# For Git:
git diff -- 'toolchain/*/testdata' | python3 .agents/skills/summarize_testdata_changes/scripts/parse_diff.py

# For Jujutsu (jj):
jj diff --git 'toolchain/*/testdata' | python3 .agents/skills/summarize_testdata_changes/scripts/parse_diff.py

# For a specific revision with jj:
jj diff -r @- --git 'toolchain/*/testdata' | python3 .agents/skills/summarize_testdata_changes/scripts/parse_diff.py

# For a specific PR with Github:
gh pr diff 1234 | python3 .agents/skills/summarize_testdata_changes/scripts/parse_diff.py
```

### 3. Identify Patterns and Produce a List of Groups

-   Read the diff and produce a list of groups of changes that share a common
    theme or cause (for example, "Updated expected output for integer literals",
    "Added tests for new keyword").
-   **CRITICAL**: _Every single change_ in the testdata diff must be represented
    by at least one group. Do not ignore changes to `CHECK` lines.
    -   If it's not clear what group a change belongs to, create a new group for
        it.
-   For each group:
    -   Provide a brief description of the group.
    -   (Optional) Briefly note if the group appears to be an intended or
        unintended consequence of the code changes.
-   Divide the groups into sections:
    -   Test Changes: Changes to test inputs (lines not prefixed with
        `// CHECK`), along with diagnostic output changes where relevant
    -   Diagnostic Changes: Changes to diagnostic output (lines prefixed with
        `// CHECK:STDERR`) with no corresponding changes to test inputs
    -   [Output Type] Changes: Changes to STDOUT (lines prefixed with `// CHECK:STDOUT`)
        -   Create one section for each relevant kind of test. For example,
            parser tests should typically be in a "Parse Tree Changes" section,
            check tests should typically be in a "SemIR Changes" section, and
            lower tests should typically be in an "LLVM IR Changes" section.

### 4. Improve Grouping

-   Read the list of groups and check to see if any of them should be combined
    or split apart. If needed, do so.

### 5. Assign Changes to Groups

-   Read the diff again, and then for _each_ change in the diff:
    -   Add the change to the appropriate group (or, rarely, groups).
    -   **CRITICAL**: _Every single change_ in the testdata diff must be
        represented by at least one group. Do not ignore changes to `CHECK`
        lines.
    -   If the change affects _test inputs_ (lines not prefixed with `// CHECK`)
        or _diagnostic output_ (lines prefixed with `// CHECK:STDERR`):
        -   List the file within the group. Don't just give one or a few
            examples. Include every file.
        -   Provide an inline diff if the change is small.
        -   Provide a link to the file if the change is large.
    -   Otherwise, if the change only affects _STDOUT_ (lines prefixed with
        `// CHECK:STDOUT`):
        -   Ensure the group contains a representative example that matches the
            current change.
        -   The representative example should be an inline diff of the change.
    -   **CRITICAL**: _Every single change_ to test inputs and diagnostic
        outputs in the files being summarized must be explicitly listed in at
        least one group. Do not skip changes, even if they are similar to
        changes you've already seen, and do not just give examples.

### 6. Validation

As a final validation step:

-   Read through the testdata diff again.
-   Ensure that every change in the diff is reflected by at least one group in
    the report.

## Report Template

Use the following template for the generated report:

```markdown
# `testdata` Change Summary

## Code Changes

[One paragraph summarizing changes outside of testdata.]

## Test Changes

### [Group Name]

[Description of the group.]

[Change 1: diff context OR link]

[Change 2: diff context OR link]

...

## Diagnostic Changes

### [Group Name]

[Description of the group.]

[Change 1: diff context OR link]

[Change 2: diff context OR link]

...

## [Output Type] Changes

### [File Path]

[Description of the group.]

[Example diff context]

Changes of this kind were found in [Number] files. Examples: [List of files]

...
```

Skip sections that would be empty.


================================================
FILE: .agents/skills/summarize_testdata_changes/scripts/parse_diff.py
================================================
__copyright__ = """
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
"""

import sys
from collections import defaultdict
from typing import TextIO, Dict, List


def parse_diff(stream: TextIO) -> None:
    current_file: str = ""
    file_changes: Dict[str, Dict[str, List[str]]] = defaultdict(
        lambda: {"input": [], "stderr": [], "stdout": []}
    )

    for line in stream:
        if line.startswith("diff --git"):
            parts = line.split()
            if len(parts) >= 4:
                current_file = (
                    parts[3][2:] if parts[3].startswith("b/") else parts[3]
                )
        elif line.startswith("+") or line.startswith("-"):
            if not line.startswith("+++") and not line.startswith("---"):
                stripped = line[1:].strip()
                if stripped.startswith("// CHECK:STDERR"):
                    file_changes[current_file]["stderr"].append(
                        line.rstrip("\n")
                    )
                elif stripped.startswith("// CHECK:STDOUT"):
                    file_changes[current_file]["stdout"].append(
                        line.rstrip("\n")
                    )
                elif stripped.startswith("// CHECK"):
                    file_changes[current_file]["stdout"].append(
                        line.rstrip("\n")
                    )
                else:
                    file_changes[current_file]["input"].append(
                        line.rstrip("\n")
                    )

    for f, c in file_changes.items():
        if not c["input"] and not c["stderr"] and not c["stdout"]:
            continue
        print(f"File: {f}")
        if c["input"]:
            print("  --- Input Changes ---")
            for change in c["input"]:
                print(f"  {change}")
        if c["stderr"]:
            print("  --- STDERR Changes ---")
            for change in c["stderr"]:
                print(f"  {change}")
        if c["stdout"]:
            print("  --- STDOUT Changes ---")
            for change in c["stdout"]:
                print(f"  {change}")
        print("-" * 40)


if __name__ == "__main__":
    parse_diff(sys.stdin)


================================================
FILE: .agents/skills/tool_usage/SKILL.md
================================================
---
name: Tool usage
description:
    Instructions for AI assistants on what tools to use in the carbon-lang
    project.
---

# Tool usage

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

## Bazelisk and Bazel

We use `bazelisk` for build and test.

**IMPORTANT**: AI assistants use `bazelisk` instead of `bazel`.

## Pre-commit

Running `pre-commit` is mandatory. To run it on all files:

```bash
pre-commit run -a
```

To validate a specific list of files:

```bash
pre-commit run --files <files>
```


================================================
FILE: .agents/skills/toolchain_development/SKILL.md
================================================
---
name: Toolchain development
description:
    Instructions for checking, building, debugging, and understanding the Carbon
    toolchain.
---

# Toolchain development

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

## Toolchain structure

-   Under [`toolchain/`](/toolchain/):
    -   [`base/`](/toolchain/base/): Base infrastructure and common utilities.
    -   [`check/`](/toolchain/check/): Semantic analysis (SemIR generation).
    -   [`lex/`](/toolchain/lex/): Lexing (Source -> Tokens).
    -   [`lower/`](/toolchain/lower/): Lowering to LLVM IR.
    -   [`parse/`](/toolchain/parse/): Parsing (Token -> Parse Tree).
    -   [`sem_ir/`](/toolchain/sem_ir/): Semantic Intermediate Representation
        (SemIR) definitions.

## Toolchain architecture

-   **Documentation**: Refer to [`toolchain/docs`](/toolchain/docs) for detailed
    architecture design and patterns.
    -   Refer to [Toolchain Idioms](/toolchain/docs/idioms.md) for a
        comprehensive list of patterns (for example, `ValueStore`, formatting
        `.def` files, struct reflection) used throughout the implementation.
-   **Phases**: Lex -> Parse -> Check -> Lower.
-   **Definitions**: Many kinds (tokens, parse nodes, SemIR instructions) are
    defined in `.def` files and expanded by way of macros.
-   **Handlers**:
    -   Parser: `Handle<StateName>` in `parse/handle_*.cpp`.
    -   Checker: `HandleParseNode` in `check/handle_*.cpp`.
    -   Lowering: `HandleInst` in `lower/handle_*.cpp`.
-   **Iteration**: Prefer iterative algorithms over recursive ones to prevent
    stack exhaustion on complex codebases.

### Essential commands

-   **Test everything**: `bazelisk test //...`
-   **Test specific target**: `bazelisk test //toolchain/testing:file_test`
-   **Test specific file**:
    `bazelisk test //toolchain/testing:file_test --test_arg=--file_tests=<path_to_carbon_file>`
-   **Build toolchain**: `bazelisk build //toolchain/...`

### Updating test data

Carbon tests often use `file_test` (for example,
`//toolchain/testing/file_test`). If you change compiler behavior, you likely
need to update expected test outputs. **Do not manually edit thousands of lines
of expected output.** Use the script:

```bash
./toolchain/autoupdate_testdata.py
# Or for a specific file:
./toolchain/autoupdate_testdata.py toolchain/check/testdata/my_test.carbon
```

## Debugging and diagnostics

-   **Printing to stderr**: Use `llvm::errs() << "debug info\n";`.
    -   Avoid `std::cout` (it may interfere with tool output).
-   **SemIR Stringification**:
    -   SemIR objects often have a `Print` method or `operator<<`.
    -   `inst.Print(llvm::errs())`
-   **Debugging Crashes**:
    -   Bazel sandboxing can hide artifacts. Use `--sandbox_debug` if needed,
        but often running the binary directly from `bazel-bin/` is easier for
        debugging.

## Error handling

-   **No exceptions**: Do not use C++ exceptions.
-   **`ErrorOr<T>`**: Return `ErrorOr<T>` for fallible operations.
    -   Check with `if (auto result = Function(); result) { Use(*result); }`
-   **`llvm::Expected<T>`**: Similar to `ErrorOr`, used when interfacing with
    LLVM.

### Casting (LLVM style)

-   Use `llvm::cast<T>(obj)` (checked, asserts on failure).
-   Use `llvm::dyn_cast<T>(obj)` (returns null on failure).
-   Use `llvm::isa<T>(obj)` (boolean check).
-   **Avoid** `dynamic_cast` and standard RTTI.

### Data structures

-   Prefer APIs in `common/` and `toolchain/base/` over LLVM ADTs. For example,
    use `Map` instead of `llvm::DenseMap`.
-   If no Carbon API exists, prefer LLVM ADTs over standard library ones (for
    example `llvm::SmallVector`, `llvm::StringRef`).
-   `StringRef` is a view; be careful with lifetimes.

## Common pitfalls

1.  **Legacy `explorer` references**: The `explorer` prototype has been moved.
    Ignore references to it in proposals or old docs; focus on `toolchain`.
2.  **Manually updating test files**: Always check if `autoupdate_testdata.py`
    can do it for you.
3.  **Using `std::string` unnecessarily**: Prefer `llvm::StringRef` for
    arguments.
4.  **Header includes**: Use specific include orders (often enforced by
    `clang-format`).
5.  **Parse node order**: Semantics processes parse nodes in post-order; ensure
    your parser transitions support this.


================================================
FILE: .bazelignore
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Carbon creates some non-standard bazel directories, so ignore them.
bazel-carbon-lang

# See github_tools/MODULE.bazel.
github_tools

# Example Bazel project.
examples/bazel


================================================
FILE: .bazelrc
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Setup stamping with Carbon's workspace status attached but disable it by
# default.
#
# Note that while we have minimized the impact of stamping on build caching, it
# still has a meaningful impact, especially during development. So we disable
# stamping by default and builds that need to include the workspace status
# should explicitly enable it with `--stamp`.
common --workspace_status_command=./scripts/workspace_status.py
common --nostamp

# Provide aliases for configuring the release and pre-release version being
# built. For documentation of these flags, see //bazel/version/BUILD.
common --flag_alias=release=//bazel/version:release
common --flag_alias=pre_release=//bazel/version:pre_release
common --flag_alias=rc_number=//bazel/version:rc_number
common --flag_alias=nightly_date=//bazel/version:nightly_date

# Support running clang-tidy with:
#   bazel build --config=clang-tidy -k //...
# See: https://github.com/erenon/bazel_clang_tidy
common:clang-tidy --aspects @bazel_clang_tidy//clang_tidy:clang_tidy.bzl%clang_tidy_aspect
common:clang-tidy --output_groups=report
common:clang-tidy --@bazel_clang_tidy//:clang_tidy_config=//:clang_tidy_config
common:clang-tidy --action_env=PATH --host_action_env=PATH

# This warning seems to incorrectly fire in this build configuration, despite
# not firing in our normal builds.
common:clang-tidy --copt=-Wno-unknown-pragmas

# --config=non-fatal-checks makes CHECK failures not terminate compilation.
common:non-fatal-checks --per_file_copt=common/check_internal.cpp@-DCARBON_NON_FATAL_CHECKS

# Provide an alias for controlling the `carbon_*` Bazel rules' configuration. We
# enable use of the target config here to make our build and tests more
# efficient, see the documentation in //bazel/carbon_rules/BUILD for details.
common --flag_alias=use_target_config_carbon_rules=//bazel/carbon_rules:use_target_config_carbon_rules
common --flag_alias=use_target_config_runtimes_builder=//toolchain/driver:use_target_config_runtimes_builder
# Bazel doesn't track what commands the flag_alias is valid for, so we can't use
# common here.
build --use_target_config_carbon_rules
build --use_target_config_runtimes_builder

# Default to using a disk cache to minimize re-building LLVM and Clang which we
# try to avoid updating too frequently to minimize rebuild cost. The location
# here can be overridden in the user configuration where needed.
common --disk_cache=~/.cache/carbon-lang-build-cache
# If you'd like a different disk cache size, override it by copying this
# line to `user.bazelrc` in the repository root and modify the number there.
common --experimental_disk_cache_gc_max_size=100G

# Enable some safety when using the build cache. Defaults to `lite`.
common --guard_against_concurrent_changes=full

# Used by clang_configuration.bzl.
common --action_env=CC --host_action_env=CC
common --action_env=CMAKE_SYSROOT --host_action_env=CMAKE_SYSROOT

# Disable warnings for all external compilations. These involve code that isn't
# developed as part of Carbon and may be difficult or impossible to patch, so
# warnings aren't likely to be actionable.
common --per_file_copt=external/.*\.(c|cc|cpp|cxx)$@-w
common --host_per_file_copt=external/.*\.(c|cc|cpp|cxx)$@-w

# Default dynamic linking to off. While this can help build performance in some
# edge cases with very large linked executables and a slow linker, between using
# fast linkers on all platforms (LLD and the Apple linker), as well as having
# relatively few such executables, shared objects simply waste too much space in
# our builds.
common --dynamic_mode=off

# Always compile PIC code. There are few if any disadvantages on the platforms
# and architectures we care about and it avoids the need to compile files twice.
common --force_pic

# Completely disable Bazel's automatic stripping of debug information. Removing
# that information causes unhelpful backtraces from unittest failures and other
# crashes. Optimized builds already avoid using debug information by default.
common --strip=never

# Enable Abseil for GoogleTest.
common --define=absl=1

# Enable TCMalloc on Linux in optimized builds.
common --custom_malloc=//bazel/malloc:tcmalloc_if_linux_opt

# Configuration for enabling Address Sanitizer. Note that this is enabled by
# default for fastbuild. The config is provided to enable ASan even in
# optimized or other build configurations. Note that ASan and TCMalloc are
# incompatible so this explicitly forces the system malloc.
common:asan --features=asan
common:asan --custom_malloc=@bazel_tools//tools/cpp:malloc

# Configuration for enabling LibFuzzer (along with ASan).
common:fuzzer --features=fuzzer

# Force actions to have a UTF-8 language encoding.
# TODO: Need to investigate what this should be on Windows, but at least for
# Linux and macOS this seems strictly better than the Bazel default of just
# `en_US`.
common --action_env=LANG=en_US.UTF-8

# Allow per-platform configuration.
common --enable_platform_specific_config

# Enable libpfm for google_benchmark on Linux only.
common:linux --define=pfm=1

# Enable split debug info on Linux, which is significantly more space efficient
# and should work well with modern debuggers. Note that this is Linux specific
# as macOS has its own approach that is always partially but not completely
# split.
#
# Note: if using GDB, see documentation to get that working:
# https://docs.carbon-lang.dev/docs/project/contribution_tools.html#debugging-with-gdb-instead-of-lldb
#
# TODO: Bazel has a bug where it doesn't manage dwo files in the cache correctly.
# common:linux --fission=yes

# Disables `actions.declare_symlink`. Done for cross-environment support.
common --allow_unresolved_symlinks=false

# Allow users to override any of the flags desired by importing a user-specific
# RC file here if present.
try-import %workspace%/user.bazelrc

# Query error in `@bazel_tools`. This reproduces with
# `bazel query 'deps(//...)'`.
# TODO: Enable the flag once compatibility issues are fixed.
# common --incompatible_disable_non_executable_java_binary

# Incompatible with the clang-tidy build mode.
# TODO: Enable the flag once compatibility issues are fixed.
# common --incompatible_auto_exec_groups

# Incompatible with `rules_cc`.
# TODO: Enable the flag once compatibility issues are fixed.
# common --incompatible_no_rule_outputs_param
# common --incompatible_stop_exporting_language_modules

# Incompatible with `rules_pkg`.
# TODO: Enable the flag once compatibility issues are fixed.
# common --incompatible_disable_target_default_provider_fields

# Incompatible with `rules_shell`.
# TODO: Enable the flag once compatibility issues are fixed.
# common --incompatible_check_visibility_for_toolchains

# Enable as many incompatible flags as we can, per
# https://bazel.build/release/backward-compatibility. To get the latest list,
# using `bazelisk --migrate build //...` will help.
common --incompatible_allow_tags_propagation
common --incompatible_always_check_depset_elements
common --incompatible_always_include_files_in_data
common --incompatible_bazel_test_exec_run_under
common --incompatible_check_sharding_support
common --incompatible_check_testonly_for_output_files
common --incompatible_config_setting_private_default_visibility
common --incompatible_default_to_explicit_init_py
common --incompatible_depset_for_java_output_source_jars
common --incompatible_depset_for_libraries_to_link_getter
common --incompatible_disable_autoloads_in_main_repo
common --incompatible_disable_native_android_rules
common --incompatible_disable_native_repo_rules
common --incompatible_disable_objc_library_transition
common --incompatible_disable_starlark_host_transitions
common --incompatible_disable_target_provider_fields
common --incompatible_disallow_ctx_resolve_tools
common --incompatible_disallow_empty_glob
common --incompatible_disallow_legacy_py_provider
common --incompatible_disallow_sdk_frameworks_attributes
common --incompatible_disallow_struct_provider_syntax
common --incompatible_do_not_split_linking_cmdline
common --incompatible_dont_enable_host_nonhost_crosstool_features
common --incompatible_dont_use_javasourceinfoprovider
common --incompatible_enable_apple_toolchain_resolution
common --incompatible_enable_deprecated_label_apis
common --incompatible_enable_proto_toolchain_resolution
common --incompatible_enforce_config_setting_visibility
common --incompatible_enforce_starlark_utf8
common --incompatible_exclusive_test_sandboxed
common --incompatible_fail_on_unknown_attributes
common --incompatible_fix_package_group_reporoot_syntax
common --incompatible_java_common_parameters
common --incompatible_legacy_local_fallback
common --incompatible_locations_prefers_executable
common --incompatible_make_thinlto_command_lines_standalone
common --incompatible_merge_fixed_and_default_shell_env
common --incompatible_merge_genfiles_directory
common --incompatible_modify_execution_info_additive
common --incompatible_new_actions_api
common --incompatible_no_attr_license
common --incompatible_no_implicit_file_export
common --incompatible_no_implicit_watch_label
common --incompatible_objc_alwayslink_by_default
common --incompatible_package_group_has_public_syntax
common --incompatible_py2_outputs_are_suffixed
common --incompatible_py3_is_default
common --incompatible_python_disable_py2
common --incompatible_python_disallow_native_rules
common --incompatible_remote_use_new_exit_code_for_lost_inputs
common --incompatible_remove_legacy_whole_archive
common --incompatible_require_ctx_in_configure_features
common --incompatible_require_linker_input_cc_api
common --incompatible_run_shell_command_string
common --incompatible_sandbox_hermetic_tmp
common --incompatible_simplify_unconditional_selects_in_rule_attrs
common --incompatible_stop_exporting_build_file_path
common --incompatible_strict_action_env
common --incompatible_strip_executable_safely
common --incompatible_top_level_aspects_require_providers
common --incompatible_unambiguous_label_stringification
common --incompatible_use_cc_configure_from_rules_cc
common --incompatible_use_new_cgroup_implementation
common --incompatible_use_plus_in_repo_names
common --incompatible_use_python_toolchains
common --incompatible_validate_top_level_header_inclusions
common --incompatible_visibility_private_attributes_at_definition


================================================
FILE: .bazelversion
================================================
8.5.1


================================================
FILE: .clang-format
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

---
BasedOnStyle: Google
AllowShortBlocksOnASingleLine: 'false'
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: 'false'
DerivePointerAlignment: 'false'
ExperimentalAutoDetectBinPacking: 'false'
FixNamespaceComments: 'true'
InsertBraces: 'true'
PointerAlignment: Left
# We abuse control macros for formatting other kinds of macros.
SpaceBeforeParens: ControlStatementsExceptControlMacros
IfMacros:
  [
    'CARBON_DEFINE_RAW_ENUM_CLASS',
    'CARBON_DEFINE_ENUM_CLASS_NAMES',
    'CARBON_DEFINE_RAW_ENUM_MASK',
    'CARBON_DEFINE_ENUM_MASK_NAMES',
    'CARBON_KIND_SWITCH',
  ]
StatementMacros: ['ABSTRACT']
QualifierAlignment: Custom
QualifierOrder:
  [inline, static, friend, constexpr, const, volatile, restrict, type]


================================================
FILE: .clang-tidy
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

---
# Get colors when outputting through `bazel build --config=clang-tidy`.
UseColor: true
# This is necessary for `--config=clang-tidy` to catch errors.
WarningsAsErrors: '*'

Checks:
  # We turn on all of a few categories by default.
  - '-*'
  - 'bugprone-*'
  - 'google-*'
  - 'misc-*'
  - 'modernize-*'
  - 'performance-*'
  - 'readability-*'

  # Disabled due to the implied style choices.
  - '-misc-const-correctness'
  - '-misc-include-cleaner'
  - '-misc-use-anonymous-namespace'
  - '-modernize-deprecated-headers'
  - '-modernize-return-braced-init-list'
  - '-modernize-use-default-member-init'
  - '-modernize-use-integer-sign-comparison'
  - '-modernize-use-emplace'
  - '-readability-avoid-nested-conditional-operator'
  - '-readability-convert-member-functions-to-static'
  - '-readability-else-after-return'
  - '-readability-identifier-length'
  - '-readability-implicit-bool-conversion'
  - '-readability-make-member-function-const'
  - '-readability-math-missing-parentheses'
  - '-readability-static-definition-in-anonymous-namespace'
  - '-readability-use-anyofallof'

  # Warns when we have multiple empty cases in switches, which we do for comment
  # reasons.
  - '-bugprone-branch-clone'
  # Frequently warns on multiple parameters of the same type.
  - '-bugprone-easily-swappable-parameters'
  # Finds issues like out-of-memory in main(). We don't use exceptions, so it's
  # unlikely to find real issues.
  - '-bugprone-exception-escape'
  # Has false positives in places such as using an argument to declare a name,
  # which cannot have parentheses. For our limited use of macros, this is a
  # common conflict.
  - '-bugprone-macro-parentheses'
  # Conflicts with integer type C++ style.
  - '-bugprone-narrowing-conversions'
  # Has false positives for `enum_base.h`. Clang's built-in switch warnings
  # cover most of our risk of bugs here.
  - '-bugprone-switch-missing-default-case'
  # In clang-tidy 16, has false positives on code like:
  #     while (auto name_ref = insts().Get(inst_id).TryAs<SemIR::NameRef>()) {
  #       inst_id = name_ref->value_id;
  #                 ^ unchecked access to optional value
  #     }
  - '-bugprone-unchecked-optional-access'
  # Overlaps with `readability-function-size`.
  - '-google-readability-function-size'
  # Suggests usernames on TODOs, which we don't want.
  - '-google-readability-todo'
  # Extremely slow. TODO: Re-enable once
  # https://github.com/llvm/llvm-project/issues/128797 is fixed.
  - '-misc-confusable-identifiers'
  # Overlaps with `-Wno-missing-prototypes`.
  - '-misc-use-internal-linkage'
  # Suggests `std::array`, which we could migrate to, but conflicts with the
  # status quo.
  - '-modernize-avoid-c-arrays'
  # Warns on creation of SemIR typed insts, for which we do not currently want
  # to use designated initialization.
  - '-modernize-use-designated-initializers'
  # Only fixes const methods, not non-const, which yields distracting results on
  # accessors.
  - '-modernize-use-nodiscard'
  # We aren't using the ranges library due to performance concerns.
  - '-modernize-use-ranges'
  # Low value compared to the engineering cost.
  - '-performance-enum-size'
  # Duplicates `modernize-pass-by-value`.
  - '-performance-unnecessary-value-param'
  # Warns on enums which use the `LastValue = Value` pattern if all the other
  # discriminants aren't given an explicit value.
  - '-readability-enum-initial-value'
  # Warns too frequently.
  - '-readability-function-cognitive-complexity'
  # Warns in reasonably documented situations.
  - '-readability-magic-numbers'
  # Warns on `= {}` which is also used to indicate which fields do not need to
  # be explicitly initialized in aggregate initialization.
  - '-readability-redundant-member-init'
  # Warns when callers use similar names as different parameters.
  - '-readability-suspicious-call-argument'

CheckOptions:
  # Don't warn on structs; done by ignoring when there are only public members.
  - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value: true

  # CamelCase names.
  - key: readability-identifier-naming.ClassCase
    value: CamelCase
  - key: readability-identifier-naming.ClassConstantCase
    value: CamelCase
  - key: readability-identifier-naming.ConstexprVariableCase
    value: CamelCase
  - key: readability-identifier-naming.NamespaceCase
    value: CamelCase
  - key: readability-identifier-naming.StructCase
    value: CamelCase
  - key: readability-identifier-naming.TemplateParameterCase
    value: CamelCase
  - key: readability-identifier-naming.TypeAliasCase
    value: CamelCase
  - key: readability-identifier-naming.TypedefCase
    value: CamelCase
  - key: readability-identifier-naming.UnionCase
    value: CamelCase

  # lower_case names.
  - key: readability-identifier-naming.ClassMemberCase
    value: lower_case
  - key: readability-identifier-naming.ParameterCase
    value: lower_case
  - key: readability-identifier-naming.VariableCase
    value: lower_case

  # TODO: This is for explorer's use of LLVM casting support, so we should be
  # able to remove it once explorer is deleted.
  - key: readability-identifier-naming.MethodIgnoredRegexp
    value: '^classof$'

  # This erroneously fires in C++20 mode with LLVM 16 clang-tidy, due to:
  # https://github.com/llvm/llvm-project/issues/46097
  - key: readability-identifier-naming.TemplateParameterIgnoredRegexp
    value: '^expr-type$'

  # Don't require writing a return type on lambdas.
  - key: modernize-use-trailing-return-type.TransformLambdas
    value: none

  # Use lines rather than statements to measure function size, because
  # for readability purposes we care about the code as written, before
  # preprocessing.
  - key: readability-function-size.StatementThreshold
    value: none
  - key: readability-function-size.LineThreshold
    # Chose 800 to match the default for StatementThreshold.
    value: 800


================================================
FILE: .clangd
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

CompileFlags:
  # Workaround for https://github.com/clangd/clangd/issues/1582
  Remove: [-march=*]
Diagnostics:
  # `unused-includes`: has false positives, reporting includes unused when
  #   they are used.
  Suppress: [unused-includes]

---

# Suppress common diagnostics for x-macro files.
If:
  PathMatch: .*\.def
Diagnostics:
  Suppress:
    # The `#error` requiring a macro definition.
    - pp_hash_error

---

# Suppress diagnostics for template source files.
If:
  PathMatch: .*\.tpl\.h
Diagnostics:
  Suppress:
    - undeclared_var_use


================================================
FILE: .codespell_ignore
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

AggregateT
ArchType
atleast
circularly
compiletime
copyable
crate
createor
crossreference
falsy
forin
groupt
indext
inout
isELF
parameteras
pullrequest
rightt
rouge
statics
switcht


================================================
FILE: .gdbinit
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

source external/+llvm_project+llvm-project/llvm/utils/gdb-scripts/prettyprinters.py
source external/+llvm_project+llvm-project/libcxx/utils/gdb/libcxx/printers.py
python register_libcxx_printer_loader()


================================================
FILE: .gitattributes
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# This tells Github to detect files having the extension `.def` as `C++` files, which
# ensures that these files get syntax highlighted properly.
*.def linguist-language=C++


================================================
FILE: .github/ISSUE_TEMPLATE/01_toolchain_bug.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Toolchain bug
description: >
  Report a bug with the toolchain.
labels: [toolchain]
body:
  - type: markdown
    attributes:
      value: >
        **Attention:** If this is a _question_, please use either [GitHub
        Discussions](https://github.com/carbon-language/carbon-lang/discussions)
        or [Discord](https://discord.gg/ZjVdShJDAs).
  - type: textarea
    id: desc
    attributes:
      label: >
        Description of the bug:
  - type: textarea
    id: repro
    attributes:
      label: >
        What did you do, or what's a simple way to reproduce the bug?
      description: >
        Please provide example code and errors; a shortlink to the execution on
        carbon.compiler-explorer.com can also help.
  - type: textarea
    id: expected
    attributes:
      label: >
        What did you expect to happen?
  - type: textarea
    id: actual
    attributes:
      label: >
        What actually happened?
  - type: textarea
    id: extras
    attributes:
      label: >
        Any other information, logs, or outputs that you want to share?


================================================
FILE: .github/ISSUE_TEMPLATE/02_documentation_bug.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Documentation bug
description: >
  Report a bug with the Carbon Language project documentation.
body:
  - type: markdown
    attributes:
      value: >
        **Attention:** If this is a _question_, please use either [GitHub
        Discussions](https://github.com/carbon-language/carbon-lang/discussions)
        or [Discord](https://discord.gg/ZjVdShJDAs).
  - type: textarea
    id: desc
    attributes:
      label: >
        Description of the bug:
  - type: textarea
    id: input
    attributes:
      label: >
        Link to documentation:
  - type: textarea
    id: actual
    attributes:
      label: >
        What should it say instead?
  - type: textarea
    id: extras
    attributes:
      label: >
        Any other information, logs, or outputs that you want to share?


================================================
FILE: .github/ISSUE_TEMPLATE/03_leads_question.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Leads question
description: >
  Ask the leads for feedback on an important issue, such as a language design
  choice.
labels: [leads question]
body:
  - type: markdown
    attributes:
      value: >
        **Attention:** If this is a _question_, please use either [GitHub
        Discussions](https://github.com/carbon-language/carbon-lang/discussions)
        or [Discord](https://discord.gg/ZjVdShJDAs).
  - type: textarea
    id: summary
    attributes:
      label: >
        Summary of issue:
      description: >
        Provide a short, one-paragraph summary of the issue.
  - type: textarea
    id: detail
    attributes:
      label: >
        Details:
      description: >
        Provide detailed information about the issue. For example, on a language
        design choice, it can help to provide various options with a summary of
        trade-offs.
  - type: textarea
    id: extras
    attributes:
      label: >
        Any other information that you want to share?


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

blank_issues_enabled: true
contact_links:
  - name: I have a question about Carbon
    url: https://github.com/carbon-language/carbon-lang/discussions/categories/getting-started
    about: Ask questions about Carbon in GitHub Discussions.
  - name: I want to join the Discord
    url: https://discord.gg/ZjVdShJDAs
    about: Discord is where a lot of design discussion occurs.


================================================
FILE: .github/actions/build-setup-common/action.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Setup build environment (macOS)
inputs:
  matrix_runner:
    required: true
  remote_cache_upload:
    required: true
runs:
  using: composite
  steps:
    # Setup Python and related tools.
    - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
      with:
        # Match the min version listed in docs/project/contribution_tools.md
        # or the oldest version available on the OS.
        python-version:
          ${{ inputs.matrix_runner == 'macos-14' && '3.11' || '3.10' }}

    - uses: ./.github/actions/build-setup-macos
      if: startsWith(inputs.matrix_runner, 'macos')
      with:
        matrix_runner: ${{ inputs.matrix_runner }}

    - uses: ./.github/actions/build-setup-ubuntu
      if: startsWith(inputs.matrix_runner, 'ubuntu')

    # Print the various tool paths and versions to help in debugging.
    - name: Print tool debugging info
      shell: bash
      run: |
        echo '*** PATH'
        echo $PATH
        echo '*** bazelisk'
        which bazelisk
        bazelisk --version
        echo '*** run_bazel.py'
        ./scripts/run_bazel.py --version
        echo '*** python'
        which python
        python --version
        echo '*** clang'
        which clang
        clang --version
        echo '*** clang++'
        which clang++
        clang++ --version
        echo '*** clang-tidy'
        which clang-tidy
        clang-tidy --version

    # Add our bazel configuration and print basic info to ease debugging.
    - name: Configure Bazel and print info
      env:
        # Add a cache version for changes that bazel won't otherwise detect,
        # like llvm version changes.
        CACHE_VERSION: 1
      shell: bash
      run: |
        cat >user.bazelrc <<EOF
        # Disable the local disk cache as we use a remote cache and don't want
        # two copies of every output taking up disk space. The only way to
        # disable the disk cache is with an empty string:
        # https://github.com/bazelbuild/bazel/issues/5308
        build --disk_cache=

        # Enable remote cache for our CI but minimize downloads.
        build --remote_cache=https://storage.googleapis.com/carbon-builds-github-v${CACHE_VERSION}
        build --remote_download_outputs=minimal

        # We import a special key into every action in order to key the Bazel
        # remote cache in a way that avoids collisions between different
        # runners. Anything that might change the system external to Bazel but
        # not be fully captured by the sand-boxing of the build should be used
        # as part of the key. We don't need to use the CPU target for example,
        # as that is captured by Bazel's configuration of each action. And the
        # Clang version is incorporated by our Clang toolchain setup. But we
        # do need to capture any differences between GitHub runner OSes that
        # don't impact the Bazel configuration to avoid collisions between
        # those.
        build --action_env=BAZEL_REMOTE_CACHE_KEY=github-action-${{ inputs.matrix_runner }}

        build ${{ inputs.remote_cache_upload }}

        # Set an artificially high jobs count. This flag controls the number
        # of concurrency Bazel itself uses, which is essential for actions
        # that are internally blocked on for example downloading results form
        # the cache above. Without setting this high, Bazel will pick a small
        # number based on the available host CPUs and the reality will be a
        # long chain of largely serialized download events with little or no
        # usage of the host machine. Fortunately, local actions are
        # *separately* gated on '--local_*_resources' that will avoid a large
        # jobs value overwhelming the host. There is a bug to make downloads
        # behave completely asynchronously and remove the need for this filed
        # back in 2018 but work seemed to not finish:
        # https://github.com/bazelbuild/bazel/issues/6394
        #
        # There is a new effort (yay!) but until then it seems worth using the
        # workaround of a high jobs value. The biggest downside (increased
        # heap usage) seems like it isn't currently a big loss for our builds.
        #
        # Higher values like 50 have led to CI failures with network errors
        # and IOExceptions, see
        # https://discord.com/channels/655572317891461132/707150492370862090/1151605725576056934
        build --jobs=32

        # Avoid any cache impact from build stamping in CI.
        build --nostamp

        # General build options.
        build --verbose_failures
        test --test_output=errors
        EOF
        ./scripts/run_bazel.py info

    - name: Run bazel to sync deps with retry
      shell: bash
      run: |
        # GitHub sometimes has a high failure rate for Bazel's downloads (even
        # from GitHub URLs). Bazel exits with `1` on HTTP errors, which is hard
        # to distinguish from a normal, permanent error.
        #
        # This workaround runs fast commands that should always pass (although
        # they may be broken by an invalid PR). All errors are retried. The hope
        # is that this caches necessary downloads, allowing later commands to
        # more reliably succeed without retrying "permanent" errors.
        #
        # Disable lockfile updates, because some actions want to see
        # differences.
        ./scripts/run_bazel.py --attempts=5 --retry-all-errors \
          mod --lockfile_mode=off deps
        ./scripts/run_bazel.py --attempts=5 --retry-all-errors \
          cquery --lockfile_mode=off //... | wc -l


================================================
FILE: .github/actions/build-setup-macos/action.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Setup build environment (macOS)
inputs:
  matrix_runner:
    required: true
runs:
  using: composite
  steps:
    # Free up disk space as the macOS runners end up using most for Xcode
    # versions we don't need and iOS simulators.
    - name: Free up disk space
      shell: bash
      run: |
        # The xcrun occasionally fails (maybe a race condition?), so retry a few
        # times. Example failure:
        #   "data" couldn't be moved to "Deleting-<ID>"
        echo '*** Delete iOS simulators'
        xcrun simctl delete all || \
          xcrun simctl delete all || \
          xcrun simctl delete all
        sudo rm -rf ~/Library/Developer/CoreSimulator/Caches/*

    # Install and cache LLVM 19 from Homebrew. Some runners may have LLVM 19,
    # but this is reliable (including with libc++), and gives us testing at the
    # minimum supported LLVM version.
    - name: Cache Homebrew
      id: cache-homebrew-macos
      uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
      with:
        # Cover all the critical parts of Homebrew here. Homebrew on Arm macOS
        # uses its own prefix making this easy to cover, but we need a few
        # different paths for Intel.
        path: |
          ${{
            runner.arch == 'ARM64' && '/opt/homebrew' ||
            '
              /usr/local/Homebrew
              /usr/local/Cellar
              /usr/local/Frameworks
              /usr/local/bin
              /usr/local/opt
            '
          }}
        # Note the key needs to include all the packages we're adding.
        key:
          Homebrew-Cache-${{ inputs.matrix_runner }}-${{ runner.arch }}-llvm@19

    - name: Install LLVM and Clang with Homebrew
      if: steps.cache-homebrew-macos.outputs.cache-hit != 'true'
      shell: bash
      run: |
        echo '*** Prune brew leaves'
        # We prune all the leaf packages to have a minimal environment. This
        # both minimizes the install space and avoids accidental dependencies
        # on installed packages.
        brew leaves
        LEAVES=$(brew leaves | egrep -v '^(bazelisk|gh|git|git-lfs|gnu-tar|go@.*|jq|pipx|node@.*|openssl@.*|wget|yq|zlib)$')
        brew uninstall -f --ignore-dependencies $LEAVES
        echo '*** Installing LLVM deps'
        brew install --force-bottle --only-dependencies llvm@19
        echo '*** Installing LLVM itself'
        brew install --force-bottle --force --verbose llvm@19
        echo '*** brew info llvm@19'
        brew info llvm@19
        echo '*** brew autoremove'
        brew autoremove
        echo '*** brew info'
        brew info
        echo '*** brew leaves'
        brew leaves
        echo '*** brew config'
        brew config

    - name: Setup LLVM and Clang
      shell: bash
      run: |
        LLVM_PATH="$(brew --prefix llvm@19)"
        echo "Using ${LLVM_PATH}"
        echo "${LLVM_PATH}/bin" >> $GITHUB_PATH
        echo '*** ls "${LLVM_PATH}"'
        ls "${LLVM_PATH}"
        echo '*** ls "${LLVM_PATH}/bin"'
        ls "${LLVM_PATH}/bin"


================================================
FILE: .github/actions/build-setup-ubuntu/action.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Setup build environment (Ubuntu)
runs:
  using: composite
  steps:
    # Ubuntu images start with ~23GB available; this takes a few seconds to add
    # ~22GB more.
    #
    # Although we could delete more, if we run into a limit, not deleting
    # everything provides a little flexibility to get space while trying
    # to shrink the build.
    - name: Free up disk space
      uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
      with:
        android: true
        dotnet: true
        haskell: true
        # Enabling large-packages adds ~3 minutes to save ~4GB, so turn it off
        # to save time.
        large-packages: false

    # Cache and install a recent version of LLVM. This uses the GitHub action
    # cache to avoid directly downloading on each iteration and improve
    # reliability.
    - name: Cache LLVM and Clang installation
      id: cache-llvm-ubuntu
      uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
      with:
        path: ~/llvm
        key: LLVM-19.1.7-Cache-ubuntu-${{ runner.arch }}

    - name: Download LLVM and Clang installation
      if: steps.cache-llvm-ubuntu.outputs.cache-hit != 'true'
      shell: bash
      run: |
        cd ~
        LLVM_RELEASE=19.1.7
        LLVM_TARBALL_NAME=LLVM-$LLVM_RELEASE-Linux-X64
        LLVM_PATH=~/llvm
        echo "*** Downloading $LLVM_RELEASE"
        wget --show-progress=off "https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_RELEASE/$LLVM_TARBALL_NAME.tar.xz"
        echo "*** Extracting $LLVM_TARBALL_NAME.tar.xz"
        mkdir $LLVM_PATH
        tar -xJf $LLVM_TARBALL_NAME.tar.xz --strip-components=1 -C $LLVM_PATH
        echo "*** Deleting $LLVM_TARBALL_NAME.tar.xz"
        rm $LLVM_TARBALL_NAME.tar.xz
        echo "*** Testing `clang++ --version`"
        $LLVM_PATH/bin/clang++ --version
        # The installation contains *huge* parts of LLVM we don't need for the
        # toolchain. Prune them here to keep our cache small.
        echo "*** Cleaning the 'llvm' directory"
        rm $LLVM_PATH/lib/{*.a,*.so,*.so.*}
        rm $LLVM_PATH/bin/{flang-*,mlir-*,clang-{scan-deps,check,repl},*-test,llvm-{lto*,reduce,bolt*,exegesis,jitlink},bugpoint,opt,llc}
        echo "*** Size of the 'llvm' directory"
        du -hs $LLVM_PATH

    - name: Setup LLVM and Clang paths
      shell: bash
      run: |
        LLVM_PATH=~/llvm
        echo "Using ${LLVM_PATH}"
        echo "${LLVM_PATH}/bin" >> $GITHUB_PATH
        echo '*** ls "${LLVM_PATH}"'
        ls "${LLVM_PATH}"
        echo '*** ls "${LLVM_PATH}/bin"'
        ls "${LLVM_PATH}/bin"


================================================
FILE: .github/actions/test-setup/action.yml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Test setup

inputs:
  matrix_runner:
    required: true
  base_sha:
    required: true
  remote_cache_key:
    required: true
  targets_file:
    required: true
  use_direct_targets:
    default: 'false'

outputs:
  has_code:
    value: ${{ steps.filter.outputs.has_code}}
  has_cpp_files:
    value: ${{ steps.filter.outputs.has_cpp_files}}

runs:
  using: composite
  steps:
    # Tests should only run on applicable paths, but we still need to have an
    # action run for the merge queue. We filter steps based on the paths here,
    # and condition steps on the output.
    - id: filter
      uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
      with:
        filters: |
          has_code:
            - '!{**/*.md,LICENSE,CODEOWNERS,.git*}'
          has_cpp_files:
            - '{**/*.cpp,**/*.h}'

    # Disable uploads when the remote cache is read-only.
    - name: Set up remote cache access (read-only)
      if:
        steps.filter.outputs.has_code == 'true' && github.event_name ==
        'pull_request'
      shell: bash
      run: |
        echo "remote_cache_upload=--remote_upload_local_results=false" \
            >> $GITHUB_ENV

    # Provide a cache key when the remote cache is read-write.
    - name: Set up remote cache access (read-write)
      if:
        steps.filter.outputs.has_code == 'true' && github.event_name !=
        'pull_request'
      shell: bash
      env:
        REMOTE_CACHE_KEY: ${{ inputs.remote_cache_key }}
      run: |
        echo "$REMOTE_CACHE_KEY" | base64 -d > $HOME/remote_cache_key.json
        echo "remote_cache_upload=--google_credentials=$HOME/remote_cache_key.json" \
            >> $GITHUB_ENV

    - uses: ./.github/actions/build-setup-common
      if: steps.filter.outputs.has_code == 'true'
      with:
        matrix_runner: ${{ inputs.matrix_runner }}
        remote_cache_upload: ${{ env.remote_cache_upload }}

    # Just for visibility, print space before and after the build.
    - name: Disk space before build
      if: steps.filter.outputs.has_code == 'true'
      shell: bash
      run: df -h

    - name: Verify MODULE.bazel.lock
      if: steps.filter.outputs.has_code == 'true'
      shell: bash
      run: |
        exit_code=0
        ./scripts/run_bazel.py \
          --attempts=5 \
          mod deps --lockfile_mode=error || exit_code=$?
        if (( $exit_code != 0 )); then
          ./scripts/run_bazel.py \
            --attempts=5 \
            mod deps --lockfile_mode=update
          echo "MODULE.bazel.lock is out of date! Use below file for update."
          echo "Platforms may require merging output, for example by applying"
          echo "an update, re-running triggers, and applying the next update."
          echo "============================================================"
          cat MODULE.bazel.lock
          echo "============================================================"
          exit 1
        fi

    # Build and run all targets on branch pushes to ensure we always have a
    # clean tree. We don't expect this to be an interactive path and so don't
    # optimize the latency of this step.
    - name: Using all targets for push
      if: steps.filter.outputs.has_code == 'true' && github.event_name == 'push'
      shell: bash
      env:
        TARGETS_FILE: ${{ inputs.targets_file }}
      run: |
        echo "//..." >$TARGETS_FILE

    # Compute the set of possible rules impacted by this change using
    # Bazel-based diffing. This lets PRs and the merge queue have a much more
    # efficient test CI action by avoiding even enumerating (and downloading)
    # all of the unaffected Bazel targets.
    - name: Compute indirect pull request targets
      if:
        steps.filter.outputs.has_code == 'true' && github.event_name != 'push'
        && inputs.use_direct_targets != 'true'
      shell: bash
      env:
        # Compute the base SHA from the different event structures.
        GIT_BASE_SHA: ${{ inputs.base_sha }}
        TARGETS_FILE: ${{ inputs.targets_file }}
      run: |
        # First fetch the relevant base into the git repository.
        git fetch --depth=1 origin $GIT_BASE_SHA

        # Do a retried query to try to download things for target-determinator.
        ./scripts/run_bazel.py --attempts=5 cquery //... > /dev/null

        # Then use `target-determinator` as wrapped by our script.
        ./scripts/target_determinator.py $GIT_BASE_SHA >$TARGETS_FILE

        # Bazel requires a test target to run the test command. There may be
        # no targets or there may only be non-test targets that we want to
        # build, so simply inject an explicit no-op test target.
        echo "//scripts:no_op_test" >> $TARGETS_FILE

    # Run the query to generate the targets file.
    - name: Compute direct pull request targets
      if:
        steps.filter.outputs.has_code == 'true' && github.event_name != 'push'
        && inputs.use_direct_targets == 'true'
      shell: bash
      env:
        GIT_BASE_SHA: ${{ inputs.base_sha }}
        QUERY_FILE: ${{ inputs.targets_file }}.query
        TARGETS_FILE: ${{ inputs.targets_file }}
      run: |
        # First fetch the relevant base into the git repository.
        git fetch --depth=1 origin $GIT_BASE_SHA

        # Generate the query file. `same_pkg_direct_rdeps` is used to try to
        # only get targets that contain modified files as srcs or hdrs (or
        # similar artifacts).
        echo 'same_pkg_direct_rdeps(' > $QUERY_FILE

        # Start with an uninteresting file so that we can `union` below.
        echo '  scripts/no_op_test.py' >> $QUERY_FILE

        # Use `union` to join the list of files. Add quotes to defend against
        # spaces. Note we can filter to the intersection of Carbon extensions
        # and the supported list at:
        # https://github.com/erenon/bazel_clang_tidy/blob/master/clang_tidy/clang_tidy.bzl#L65
        for f in $(git diff --name-only --diff-filter=d \
                     $GIT_BASE_SHA -- '**/*.h' '**/*.cpp'); do
          echo "  union '$f'" >> $QUERY_FILE
        done

        echo ')' >> $QUERY_FILE

        # Use query because cquery doesn't support `same_pkg_direct_rdeps`.
        ./scripts/run_bazel.py \
          --attempts=5 \
          query --query_file=$QUERY_FILE \
          > $TARGETS_FILE


================================================
FILE: .github/pull_request_template.md
================================================
**Replace this paragraph with a description of what this PR is changing or
adding, and why.**

Closes #ISSUE


================================================
FILE: .github/release.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# Provide the configuration and categorization for generated release notes.

changelog:
  exclude:
    labels:
      - ignore-for-release

  categories:
    - title: 'Proposals accepted and merged :scroll:'
      labels:
        - proposal
      exclude.labels:
        - bot
    - title: 'Toolchain and implementation changes :hammer_and_wrench:'
      labels:
        - toolchain
      exclude.labels:
        - bot
    - title: 'Documentation changes :memo:'
      labels:
        - documentation
      exclude.labels:
        - bot
    - title: 'Utilities :triangular_ruler:'
      labels:
        - utilities
      exclude.labels:
        - bot
    - title: 'Infrastructure changes :building_construction:'
      labels:
        - infrastructure
      exclude.labels:
        - bot
    - title: 'Automated robot PRs :robot:'
      labels:
        - bot
    - title: 'Other changes'
      labels:
        - '*'


================================================
FILE: .github/workflows/README.md
================================================
# Workflows

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

## Hardening

Workflows are hardened using
[Step Security tool](https://app.stepsecurity.io/secureworkflow). Findings for
the "Harden Runner" steps are
[available online](https://app.stepsecurity.io/github/carbon-language/carbon-lang/actions/runs).

### Allowed endpoints

Most jobs only have a few endpoints, but due to tools which do downloads, a few
have significantly more. These are:

-   clangd_tidy.yaml (Bazel)
-   pre_commit.yaml (Bazel, pre-commit)
-   nightly_release.yaml (Bazel)
-   tests.yaml (Bazel)

When updating one of these, consider updating all of them.

We try to keep `allowed-endpoints` with one per line. Prettier wants to wrap
them, which we fix this with `prettier-ignore`.

## Testing

We keep around an `action-test` branch in carbon-lang, which can be used to test
triggers with `push:` configurations. For example:

```
on:
  push:
    branches: [action-test]
```


================================================
FILE: .github/workflows/auto_label_prs.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: 'Auto label PRs'
on:
  pull_request_target:
    types: [opened, ready_for_review]

permissions:
  pull-requests: write # For gh to edit labels.

# TODO: `--repo carbon-language/carbon-lang` is a temporary workaround for:
# https://github.com/cli/cli/issues/11055
# Once a later version is released on runners, maybe August 2025, we should be
# able to remove the extra flag.
jobs:
  set_labels:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          disable-sudo: true
          egress-policy: block
          # prettier-ignore
          allowed-endpoints: >
            api.github.com:443

      - id: filter
        uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
        with:
          filters: |
            documentation:
              - '*.md'
              - 'docs/**'
              - 'examples/**'
              - 'third_party/examples/**'

            infrastructure:
              - '*.bzl'
              - '*.cfg'
              - '*.toml'
              - '.*'
              - '.*/**'
              - 'BUILD'
              - 'MODULE.*'
              - 'WORKSPACE'
              - 'bazel/**'
              - 'github_tools/**'
              - 'proposal/scripts/**'
              - 'scripts/**'

            # Here we only want the `proposal` label when a *new* file is added
            # directly in this directory. We use `added` and a single level glob
            # to achieve that.
            proposal:
              - added: 'proposals/*'

            # We include common, shared code into the toolchain label for
            # convenience. Essentially, this is everything we intend to ship as
            # part of the reference implementation of the language.
            toolchain:
              - 'common/**'
              - 'core/**'
              - 'testing/**'
              - 'toolchain/**'

            utilities:
              - 'utils/**'

      - id: documentation
        if: steps.filter.outputs.documentation == 'true'
        run: |
          gh pr edit "${PR}" --add-label "documentation" --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - id: infrastructure
        if: steps.filter.outputs.infrastructure == 'true'
        run: |
          gh pr edit "${PR}" --add-label "infrastructure" --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - id: proposal
        if: steps.filter.outputs.proposal == 'true'
        run: |
          gh pr edit "${PR}" --add-label "proposal" --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - id: toolchain
        if: steps.filter.outputs.toolchain == 'true'
        run: |
          gh pr edit "${PR}" --add-label "toolchain" --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - id: utilities
        if: steps.filter.outputs.utilities == 'true'
        run: |
          gh pr edit "${PR}" --add-label "utilities" --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      # Note that this is not a path-based label, but an *author* based label,
      # and it applies orthogonally to the others.
      - id: automated
        if:
          contains(fromJSON('["CarbonInfraBot", "dependabot"]'),
          github.event.pull_request.user.login)
        run: |
          gh pr edit "${PR}" --add-label "automated" --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}


================================================
FILE: .github/workflows/clangd_tidy.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: 'Clang Tidy (clangd)'

on:
  push:
    branches: [trunk, action-test]
  pull_request:
  merge_group:

permissions:
  contents: read # For actions/checkout.
  pull-requests: read # For dorny/paths-filter to read pull requests.

# Cancel previous workflows on the PR when there are multiple fast commits.
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

jobs:
  clangd-tidy:
    runs-on: ubuntu-22.04

    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: block
          # When adding endpoints, see README.md.
          # prettier-ignore
          allowed-endpoints: >
            *.blob.storage.azure.net:443
            *.githubapp.com:443
            *.sourceforge.net:443
            api.github.com:443
            api.ipify.org:443
            bcr.bazel.build:443
            downloads.sourceforge.net:443
            files.pythonhosted.org:443
            github.com:443
            go.dev:443
            mirror.bazel.build:443
            mirrors.kernel.org:443
            nodejs.org:443
            oauth2.googleapis.com:443
            objects.githubusercontent.com:443
            pypi.org:443
            registry.npmjs.org:443
            release-assets.githubusercontent.com:443
            releases.bazel.build:443
            storage.googleapis.com:443
            uploads.github.com:443
            www.googleapis.com:443

      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - id: filter
        uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
        with:
          filters: |
            has_cpp:
              - added|modified: '{**/*.cpp,**/*.h}'
          list-files: 'shell'

      - uses: ./.github/actions/build-setup-common
        if: steps.filter.outputs.has_cpp == 'true'
        with:
          matrix_runner: 'ubuntu-22.04'
          remote_cache_upload: '--remote_upload_local_results=false'

      - name: Create compile commands
        if: steps.filter.outputs.has_cpp == 'true'
        run: ./scripts/create_compdb.py

      - name: Build deps for clangd-tidy
        if: steps.filter.outputs.has_cpp == 'true'
        run: ./scripts/run_bazel.py build //scripts:deps_for_clangd_tidy

      - name: Install clangd-tidy
        if: steps.filter.outputs.has_cpp == 'true'
        run: pip install clangd-tidy==1.1.0.post2

      - name: Run clangd-tidy
        if: steps.filter.outputs.has_cpp == 'true'
        env:
          FILTER_FILES: ${{ steps.filter.outputs.has_cpp_files }}
        run: |
          clangd-tidy -p . -j 10 $FILTER_FILES


================================================
FILE: .github/workflows/discord_wiki.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Discord Wiki Change Notifications

on: gollum

# Minimum permissions.
permissions:
  contents: read

jobs:
  notify:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: audit

      - uses: oznu/gh-wiki-edit-discord-notification@1f5b688c27310fba606368b20469c81f5ffd9a2f # v1.0.0
        with:
          discord-webhook-url: ${{ secrets.DISCORD_WEBHOOK_WIKI_EDIT }}


================================================
FILE: .github/workflows/gh_pages_ci.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: GitHub Pages CI

on:
  pull_request:

# Cancel previous workflows on the PR when there are multiple fast commits.
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  # Build job
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: audit

      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Prebuild actions
        run: ./website/prebuild.py
      - name: Setup Ruby
        uses: ruby/setup-ruby@6ca151fd1bfcfd6fe0c4eb6837eb0584d0134a0c # v1.290.0
        with:
          # Runs 'bundle install' and caches installed gems automatically.
          bundler-cache: true
          # Increment this number if you need to re-download cached gems.
          cache-version: 0
      - name: Build with Jekyll
        run: bundle exec jekyll build


================================================
FILE: .github/workflows/gh_pages_deploy.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: GitHub Pages deploy

on:
  # Runs on pushes targeting the default branch.
  push:
    branches: ['trunk']

  # Allows you to run this workflow manually from the Actions tab.
  workflow_dispatch:

# Cancel previous workflows on the PR when there are multiple fast commits.
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages.
permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: audit

      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Prebuild actions
        run: ./website/prebuild.py
      - name: Setup Pages
        uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0
      - name: Setup Ruby
        uses: ruby/setup-ruby@6ca151fd1bfcfd6fe0c4eb6837eb0584d0134a0c # v1.290.0
        with:
          # Runs 'bundle install' and caches installed gems automatically.
          bundler-cache: true
          # Increment this number if you need to re-download cached gems.
          cache-version: 0
      - name: Build with Jekyll
        env:
          JEKYLL_ENV: production
        run: |
          bundle exec jekyll build --verbose \
            --source ./ \
            --destination ./_site \
            --baseurl "${{ steps.pages.outputs.base_path }}"
      - name: Upload artifact
        # Automatically uploads an artifact from the './_site' directory by
        # default.
        uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0

  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: audit

      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5


================================================
FILE: .github/workflows/nightly_release.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# This workflow creates a GitHub "release" of a nightly build of the project.
#
# Note: This is just an initial rough attempt, there is a lot of future work
# needed here. A brief summary of TODOs:
#
# - Configure a nice release notes template and switch to generating the title
#   and notes instead of hard coding them.
#
# - Do some amount of testing prior to building and uploading the release.
#   - Tempting to try to examine existing testing workflow, but maybe better to
#     allow reusing any complex parts and do our own testing. That would, for
#     example, allow us to narrow or expand the set of tests uses for
#     pre-release testing to potentially be different from continuous testing.
#   - Some questions around what to do in the event of a failure... error? Where
#     does the error go? Create a draft, unpublished release instead?
#
# - Build artifacts for all the different OSes we have GitHub runners for rather
#   than just x86 Linux.

name: Nightly Release

on:
  schedule:
    - cron: '0 2 * * *'
  # Enable manual runs for testing or manually (re-)creating a nightly release.
  workflow_dispatch:

permissions:
  contents: write # For creating and uploading to releases.

jobs:
  release:
    runs-on: ubuntu-22.04
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: block
          # When adding endpoints, see README.md.
          # prettier-ignore
          allowed-endpoints: >
            *.blob.storage.azure.net:443
            *.githubapp.com:443
            *.sourceforge.net:443
            api.github.com:443
            api.ipify.org:443
            bcr.bazel.build:443
            downloads.sourceforge.net:443
            files.pythonhosted.org:443
            github.com:443
            go.dev:443
            mirror.bazel.build:443
            mirrors.kernel.org:443
            nodejs.org:443
            oauth2.googleapis.com:443
            objects.githubusercontent.com:443
            pypi.org:443
            registry.npmjs.org:443
            release-assets.githubusercontent.com:443
            releases.bazel.build:443
            storage.googleapis.com:443
            uploads.github.com:443
            www.googleapis.com:443

      - name: Checkout branch
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Set up remote cache access
        env:
          REMOTE_CACHE_KEY: ${{ secrets.CARBON_BUILDS_GITHUB }}
        run: |
          echo "$REMOTE_CACHE_KEY" | base64 -d > $HOME/remote_cache_key.json
          echo "remote_cache_upload=--google_credentials=$HOME/remote_cache_key.json" \
              >> $GITHUB_ENV

      - uses: ./.github/actions/build-setup-common
        with:
          matrix_runner: ubuntu-22.04
          remote_cache_upload: ${{ env.remote_cache_upload }}

      - name: Get nightly date
        run: |
          echo "nightly_date=$(date '+%Y.%m.%d')" >> $GITHUB_ENV

      - name: Build release
        run: |
          ./scripts/run_bazel.py \
            --attempts=5 --jobs-on-last-attempt=4 \
            test -c opt --stamp --remote_download_toplevel \
            --pre_release=nightly --nightly_date=${{ env.nightly_date }} \
            //toolchain \
            //toolchain/install:carbon_toolchain_tar_gz_rule \
            //toolchain/install:carbon_toolchain_tar_gz_test

      - name: Extract the release version
        run: |
          # Make sure we can run the toolchain to get the version.
          ./bazel-bin/toolchain/carbon version

          # Now stash it in a variable and export it.
          VERSION=$( \
            ./bazel-bin/toolchain/carbon version \
            | cut -d' ' -f5 | cut -d'+' -f1)
          echo "release_version=$VERSION" >> $GITHUB_ENV

      - name: Create the release
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh release create \
            --title "Nightly build ${{ env.nightly_date }}" \
            --generate-notes \
            --prerelease \
            v${{ env.release_version }} \
            "bazel-bin/toolchain/install/carbon_toolchain-${{ env.release_version }}.tar.gz"


================================================
FILE: .github/workflows/pre_commit.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: pre-commit

on:
  pull_request:
  merge_group:
  push:
    branches: [trunk]

permissions:
  contents: read # For actions/checkout.

jobs:
  pre-commit:
    runs-on: ubuntu-22.04
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: block
          # When adding endpoints, see README.md.
          # prettier-ignore
          allowed-endpoints: >
            *.blob.storage.azure.net:443
            *.githubapp.com:443
            *.sourceforge.net:443
            api.github.com:443
            api.ipify.org:443
            bcr.bazel.build:443
            downloads.sourceforge.net:443
            files.pythonhosted.org:443
            github.com:443
            go.dev:443
            mirror.bazel.build:443
            mirrors.kernel.org:443
            nodejs.org:443
            oauth2.googleapis.com:443
            objects.githubusercontent.com:443
            pypi.org:443
            registry.npmjs.org:443
            release-assets.githubusercontent.com:443
            releases.bazel.build:443
            storage.googleapis.com:443
            uploads.github.com:443
            www.googleapis.com:443

      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0

      # Ensure LLVM is set up consistently.
      - uses: ./.github/actions/build-setup-common
        with:
          matrix_runner: ubuntu-22.04
          remote_cache_upload: '--remote_upload_local_results=false'

      - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1

      # We want to automatically create github suggestions for pre-commit file
      # changes for a pull request. But `pull_request` actions never have write
      # permissions to the repository, so we create the suggestions in a separate
      # privileged `workflow_run` action in pre_commit_suggestions.yaml. Here,
      # we upload the diffs and event configuration to an artifact for use by
      # that action.
      - name: Collect pre-commit output
        if: failure()
        run: |
          mkdir -p pre-commit-output
          git diff > pre-commit-output/diff
          cp $GITHUB_EVENT_PATH pre-commit-output/event
      - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
        if: failure()
        with:
          name: pre-commit output
          path: pre-commit-output/*


================================================
FILE: .github/workflows/pre_commit_suggestions.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Create PR suggestions based on problems found by pre-commit action.
name: 'Add pre-commit suggestions'

# This action is run whenever the `pre-commit` action finishes. Because the
# `pre-commit` action is an unprivileged action running on (for example) the
# `pull_request` event, it's run without write permissions to the repository, so
# we use a separate privileged `workflow_run` action here to pick up its results
# and convert them into suggestion comments.
#
# This action is only run from the workflow file on the trunk branch. Changes to
# this file will not take effect until they are merged to trunk.
on:
  workflow_run:
    workflows: [pre-commit]
    types:
      - completed

# Note reviewdog/reviewdog has its own token.
permissions:
  contents: read # For actions/checkout.

jobs:
  pull-request-suggestions:
    # Only generate suggestions if pre-commit for a PR failed.
    if: |
      github.event.workflow_run.conclusion == 'failure' &&
      github.event.workflow_run.event == 'pull_request' &&
      github.actor != 'jonmeow'
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          disable-sudo: true
          egress-policy: block
          # prettier-ignore
          allowed-endpoints: >
            api.github.com:443
            github.com:443
            objects.githubusercontent.com:443
            raw.githubusercontent.com:443

      - uses: reviewdog/action-setup@3f401fe1d58fe77e10d665ab713057375e39b887 # v1.3.0
        with:
          reviewdog_version: latest

      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Download pre-commit output
        uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
        with:
          name: pre-commit output
          github-token: ${{ secrets.GITHUB_TOKEN }}
          run-id: ${{ github.event.workflow_run.id }}

      # Use https://github.com/reviewdog/reviewdog to create PR suggestions
      # matching the diff that pre-commit created.
      - name: Create suggestions
        env:
          REVIEWDOG_GITHUB_API_TOKEN:
            ${{ secrets.CARBON_INFRA_BOT_FOR_REVIEWDOG }}
        run: |
          cat ./diff | \
          GITHUB_EVENT_PATH=./event \
            reviewdog -f=diff -f.diff.strip=1 -reporter=github-pr-review


================================================
FILE: .github/workflows/proposal_labeled.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Applies mutual exclusivity between states labels:
# - proposal draft
# - proposal rfc
# - proposal accepted
# - proposal declined
# - proposal deferred
#
# The "proposal" label is always applied in order to make searching for all
# proposals (regardless of state) easy, although it will typically already be
# present.

name: Proposal labeled
on:
  pull_request_target:
    types:
      - labeled

permissions:
  pull-requests: write # For gh to edit labels.

# TODO: `--repo carbon-language/carbon-lang` is a temporary workaround for:
# https://github.com/cli/cli/issues/11055
# Once a later version is released on runners, maybe August 2025, we should be
# able to remove the extra flag.
jobs:
  proposal_labeled:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          disable-sudo: true
          egress-policy: block
          # prettier-ignore
          allowed-endpoints: >
            api.github.com:443

      - name: draft
        if: |
          github.event.label.name == 'proposal draft'
        run: |
          gh pr edit "${PR}" \
            --remove-label "proposal rfc" \
            --remove-label "proposal accepted" \
            --remove-label "proposal declined" \
            --remove-label "proposal deferred" \
            --add-label "proposal" \
            --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - name: rfc
        if: |
          github.event.label.name == 'proposal rfc'
        run: |
          gh pr edit "${PR}" \
            --remove-label "proposal draft" \
            --remove-label "proposal accepted" \
            --remove-label "proposal declined" \
            --remove-label "proposal deferred" \
            --add-label "proposal" \
            --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - name: accepted
        if: |
          github.event.label.name == 'proposal accepted'
        run: |
          gh pr edit "${PR}" \
            --remove-label "proposal draft" \
            --remove-label "proposal rfc" \
            --remove-label "proposal declined" \
            --remove-label "proposal deferred" \
            --add-label "proposal" \
            --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - name: declined
        if: |
          github.event.label.name == 'proposal declined'
        run: |
          gh pr edit "${PR}" \
            --remove-label "proposal draft" \
            --remove-label "proposal rfc" \
            --remove-label "proposal accepted" \
            --remove-label "proposal deferred" \
            --add-label "proposal" \
            --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}

      - name: deferred
        if: |
          github.event.label.name == 'proposal deferred'
        run: |
          gh pr edit "${PR}" \
            --remove-label "proposal draft" \
            --remove-label "proposal rfc" \
            --remove-label "proposal accepted" \
            --remove-label "proposal declined" \
            --add-label "proposal" \
            --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}


================================================
FILE: .github/workflows/proposal_ready.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Applies the "proposal rfc" label when a proposal is marked ready for review.

name: Proposal ready for review
on:
  pull_request_target:
    types:
      - ready_for_review

permissions:
  pull-requests: write # For gh to edit labels.

# TODO: `--repo carbon-language/carbon-lang` is a temporary workaround for:
# https://github.com/cli/cli/issues/11055
# Once a later version is released on runners, maybe August 2025, we should be
# able to remove the extra flag.
jobs:
  proposal_ready:
    if: contains(github.event.pull_request.labels.*.name, 'proposal')
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          disable-sudo: true
          egress-policy: block
          # prettier-ignore
          allowed-endpoints: >
            api.github.com:443

      - name: rfc
        run: |
          gh pr edit "${PR}" \
            --remove-label "proposal draft" \
            --remove-label "proposal accepted" \
            --remove-label "proposal declined" \
            --remove-label "proposal deferred" \
            --add-label "proposal rfc" \
            --repo carbon-language/carbon-lang
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR: ${{ github.event.pull_request.html_url }}


================================================
FILE: .github/workflows/sync_repos.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Sync repos

on:
  push:
    branches: [trunk]
    paths:
      # Minimize where we run this to changes to the top-level files and
      # specific trees that we sync to other repositories.
      - '*'
      - 'utils/**'
      # Also run if the action itself is updated.
      - '.github/workflows/sync_repos.yaml'
      - 'scripts/sync_repos.sh'

# Note the sync script has its own token.
permissions:
  contents: read # For actions/checkout.

jobs:
  sync-repos:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: audit

      # Checkout our main repository.
      - name: Checkout the main repository
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      # Run the sync script.
      - name: Sync to other repositories
        env:
          API_TOKEN_GITHUB: ${{ secrets.SYNC_REPOS_API_TOKEN_GITHUB }}
        run: ./scripts/sync_repos.sh


================================================
FILE: .github/workflows/tests.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Tests

on:
  push:
    branches: [trunk, action-test]
  pull_request:
  merge_group:

permissions:
  contents: read # For actions/checkout.
  pull-requests: read # For dorny/paths-filter to read pull requests.

# Cancel previous workflows on the PR when there are multiple fast commits.
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

jobs:
  test:
    strategy:
      matrix:
        # Test a recent version of each supported OS.
        runner: ['ubuntu-22.04', 'macos-14']
        build_mode: [fastbuild, opt]
    runs-on: ${{ matrix.runner }}

    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          egress-policy: block
          # When adding endpoints, see README.md.
          # prettier-ignore
          allowed-endpoints: >
            *.blob.storage.azure.net:443
            *.githubapp.com:443
            *.sourceforge.net:443
            api.github.com:443
            api.ipify.org:443
            bcr.bazel.build:443
            downloads.sourceforge.net:443
            files.pythonhosted.org:443
            github.com:443
            go.dev:443
            mirror.bazel.build:443
            mirrors.kernel.org:443
            nodejs.org:443
            oauth2.googleapis.com:443
            objects.githubusercontent.com:443
            pypi.org:443
            registry.npmjs.org:443
            release-assets.githubusercontent.com:443
            releases.bazel.build:443
            storage.googleapis.com:443
            uploads.github.com:443
            www.googleapis.com:443

      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - id: test-setup
        uses: ./.github/actions/test-setup
        with:
          matrix_runner: ${{ matrix.runner }}
          base_sha:
            ${{ github.event_name == 'pull_request' &&
            github.event.pull_request.base.sha ||
            github.event.merge_group.base_sha }}
          remote_cache_key: ${{ secrets.CARBON_BUILDS_GITHUB }}
          targets_file: ${{ runner.temp }}/targets

      # Build and run just the tests impacted by the PR or merge group.
      - name: Test (${{ matrix.build_mode }})
        if: steps.test-setup.outputs.has_code == 'true'
        shell: bash
        env:
          # 'libtool_check_unique failed to generate' workaround.
          # https://github.com/bazelbuild/bazel/issues/14113#issuecomment-999794586
          BAZEL_USE_CPP_ONLY_TOOLCHAIN: 1
          TARGETS_FILE: ${{ runner.temp }}/targets
        run: |
          # Decrease the jobs sharply if we see repeated failures to try to
          # work around transient network errors even if it makes things
          # slower.
          ./scripts/run_bazel.py \
            --attempts=5 --jobs-on-last-attempt=4 \
            test -c ${{ matrix.build_mode }} \
            --target_pattern_file=$TARGETS_FILE

      # See "Disk space before build" in `test-setup`.
      - name: Disk space after build
        if: steps.test-setup.outputs.has_code == 'true'
        run: df -h


================================================
FILE: .github/workflows/triage_inactive.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: 'Triage inactive issues and PRs'
on:
  schedule:
    - cron: '30 1 * * *'

permissions:
  issues: write # For actions/stale to close stale issues.
  pull-requests: write # For actions/stale to close stale PRs.

jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
        with:
          disable-sudo: true
          egress-policy: block
          # prettier-ignore
          allowed-endpoints: >
            api.github.com:443

      - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
        with:
          stale-issue-message: >
            We triage inactive PRs and issues in order to make it easier to find
            active work. If this issue should remain active or becomes active
            again, please comment or remove the `inactive` label. The `long term
            issue` label can also be added for issues which are expected to take
            time.


            This issue is labeled `inactive` because the last activity was over
            90 days ago.
          stale-pr-message: >
            We triage inactive PRs and issues in order to make it easier to find
            active work. If this PR should remain active, please comment or
            remove the `inactive` label.


            This PR is labeled `inactive` because the last activity was over 90
            days ago. This PR will be closed and archived after 14 additional
            days without activity.
          close-pr-message: >
            We triage inactive PRs and issues in order to make it easier to find
            active work. If this PR should remain active or becomes active
            again, please reopen it.


            This PR was closed and archived because there has been no new
            activity in the 14 days since the `inactive` label was added.
          stale-issue-label: 'inactive'
          stale-pr-label: 'inactive'
          exempt-issue-labels:
            'long term issue,design idea,design update,good first issue,leads
            question'
          days-before-stale: 90
          days-before-close: 14
          days-before-issue-close: -1
          operations-per-run: 100


================================================
FILE: .gitignore
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Directories and symlinks generated by bazel.
/bazel-*

# See github_tools/MODULE.bazel.
/github_tools/bazel-*
/github_tools/MODULE.bazel.lock

# We also have example Bazel projects that shouldn't have their implementation
# details committed.
/examples/**/bazel-*
/examples/**/MODULE.bazel.lock

# Directories created by python.
**/__pycache__/

# Ignore the user's VSCode settings and debug setup.
/.vscode/settings.json
/.vscode/launch.json

# Ignore the user's Idea settings.
/.idea/

# Directories created by clangd
/.cache/clangd

# User-specific Bazel configuration.
/user.bazelrc

# Compilation database used by clangd
/compile_commands.json

# Emacs temporary files
*~
\#*\#

# vim temporary files
.*.sw[a-p]
.swp

# generated by utils/tree_sitter/helix.sh
/.helix/

# Ignore .DS_Store files
.DS_Store

# Ignore the .gdb_history that's created next to the project-specific .gdbinit
.gdb_history


================================================
FILE: .lldbinit
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

command script import external/+llvm_project+llvm-project/llvm/utils/lldbDataFormatters.py
command script import scripts/lldbinit.py
settings set escape-non-printables false
settings set target.max-string-summary-length 10000


================================================
FILE: .pre-commit-config.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Update versions with:
#   pre-commit autoupdate --freeze && pre-commit run -a
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks

default_language_version:
  python: python3 # Defaults to python2, so override it.

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
    hooks:
      - id: check-added-large-files
      - id: check-case-conflict
      - id: check-executables-have-shebangs
      - id: check-merge-conflict
      - id: check-symlinks
        exclude: ^bazel-execroot$
      - id: check-yaml
      - id: detect-private-key
      - id: end-of-file-fixer
        exclude: '^(.*/fuzzer_corpus/.*|.*\.svg)$'
      - id: mixed-line-ending
        args: ['--fix=lf']
        exclude: '^(.*/fuzzer_corpus/.*|.*\.svg)$'
      - id: trailing-whitespace
        exclude: '^(.*/fuzzer_corpus/.*|.*/testdata/.*\.golden|.*\.svg)$'
  - repo: https://github.com/google/pre-commit-tool-hooks
    rev: efaea7c61c774c0b1a9805fd999e754a2d19dbd1 # frozen: v1.2.5
    hooks:
      - id: check-google-doc-style
      - id: markdown-toc
  - repo: local
    hooks:
      - id: fix-cc-deps
        name: Fix missing C++ deps
        entry: scripts/fix_cc_deps.py
        language: python
        files: ^.*/(BUILD|[^/]+\.(h|cpp))$
        pass_filenames: false

  # Formatters should be run late so that they can re-format any prior changes.
  - repo: https://github.com/psf/black
    rev: 35ea67920b7f6ac8e09be1c47278752b1e827f76 # frozen: 26.3.0
    hooks:
      - id: black
  - repo: local
    hooks:
      - id: prettier
        name: prettier
        language: node
        # TODO: Not upgrading to/past 3.4.0 due to list indent changes that may
        # get fixed. See: https://github.com/prettier/prettier/issues/16929
        additional_dependencies: ['prettier@3.3.3']
        types_or: [html, javascript, json, markdown, yaml]
        entry: npx prettier@3.3.3 --write --log-level=warn
  - repo: local
    hooks:
      - id: buildifier
        name: Bazel buildifier
        entry: scripts/run_buildifier.py
        # Beyond just formatting, explicitly fix lint warnings.
        args: ['--lint=fix', '--warnings=all', '-r', '.']
        language: python
        files: |
          (?x)^(
            .*BUILD.*|
            .*MODULE.bazel.*|
            .*WORKSPACE.*|
            .*\.bzl
          )$
      - id: check-bazel-mod-deps
        # Check this after buildifier because buildifier may modify inputs, and
        # MODULE.bazel.lock includes line/column details.
        name: Check bazel mod deps
        entry: scripts/bazel_mod_deps.py
        language: python
        files: |
          (?x)^(
            .*MODULE.bazel.*|
            .*WORKSPACE.*
          )$
      - id: clang-format
        name: clang-format
        entry: clang-format
        types_or: [c++, def]
        language: python
        args: ['-i']
        additional_dependencies: ['clang-format==21.1.8']

  - repo: local
    hooks:
      - id: check-header-guards
        # This should run after clang-format, which may reformat a guard.
        name: Check header guards
        entry: scripts/check_header_guards.py
        language: python
        files: ^.*\.h$
      - id: check-sha-filenames
        # This may rename files, so it's deliberately between formatters and
        # linters.
        name: Check fuzzer SHA filenames
        entry: scripts/check_sha_filenames.py
        language: python
        files: ^.*/fuzzer_corpus/.*$
      - id: check-toolchain-diagnostics
        name: Check toolchain diagnostics
        entry: toolchain/diagnostics/check_diagnostics.py
        language: python
        files: |
          (?x)^(
              toolchain/.*\.cpp|
              toolchain/.*\.h|
              toolchain/diagnostics/check_diagnostics\.py|
              toolchain/diagnostics/diagnostic_kind\.def
          )$
        pass_filenames: false

  # Run linters last, as formatters and other checks may fix issues.
  - repo: local
    hooks:
      - id: forbid-llvm-googletest
        name: Checks for deps on LLVM's version of GoogleTest
        entry: scripts/forbid_llvm_googletest.py
        language: python
        files: ^.*/BUILD$
        pass_filenames: false
  - repo: https://github.com/PyCQA/flake8
    rev: d93590f5be797aabb60e3b09f2f52dddb02f349f # frozen: 7.3.0
    hooks:
      - id: flake8
  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: 'a66e98df7b4aeeb3724184b332785976d062b92e' # frozen: v1.19.1
    hooks:
      - id: mypy
        # Use setup.cfg to match the command line.
        args:
          - --config-file=setup.cfg
        # This should match the requirements added in the WORKSPACE pip_install.
        additional_dependencies:
          - gql >= 2.0.0, < 3.0.0
          - PyGitHub
          - rich
        # Exclusions are:
        # - p#### scripts because they're not tested or maintained.
        # - lit.cfg.py because it has multiple copies, breaking mypy.
        # - `bazel_test_runner.py` which depends on Bazel-specific imports.
        # - Unit tests because they sometimes violate typing, such as by
        #   assigning a mock to a function.
        exclude: |
          (?x)^(
              proposals/(?!scripts/).*|
              .*/lit\.cfg\.py|
              examples/bazel_test_runner\.py|
              .*_test\.py
          )$
  - repo: https://github.com/codespell-project/codespell
    rev: 2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a # frozen: v2.4.2
    hooks:
      - id: codespell
        args: ['-I', '.codespell_ignore', '--uri-ignore-words-list', '*']
        # Test data may contain intentional misspellings, as well as short,
        # meaningless identifiers that codespell incorrectly identifies as
        # typos but that we would want to detect in other contexts.
        exclude: |
          (?x)^(
              .*/testdata/.*|
              .*/fuzzer_corpus/.*
          )$
  - repo: https://github.com/google/pre-commit-tool-hooks
    rev: efaea7c61c774c0b1a9805fd999e754a2d19dbd1 # frozen: v1.2.5
    hooks:
      - id: check-copyright
        args:
          - --copyright
          - |+
            Part of the Carbon Language project, under the Apache License v2.0 with LLVM
            Exceptions. See /LICENSE for license information.
            SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
          - --custom_format
          - '\.(carbon|c|json|scss|ypp)(\.tmpl)?$'
          - ''
          - '// '
          - ''
          - --custom_format
          - '\.(js|ts|mjs)$'
          - '/*'
          - ' * '
          - ' */'
          - --custom_format
          - '\.(l|lpp|y)$'
          - '/*'
          - ''
          - '*/'
          - --custom_format
          - '\.(plist)$'
          - '<!--'
          - ''
          - '\-->'
          - --custom_format
          - '\.vim$'
          - ''
          - '" '
          - ''
          - --custom_format
          - '\.scm$'
          - ''
          - '; '
          - ''
          - --custom_format
          - '\.lua$'
          - ''
          - '-- '
          - ''
        exclude: |
          (?x)^(
              .bazelversion|
              .github/pull_request_template.md|
              .python-version|
              compile_flags.txt|
              github_tools/requirements.txt|
              third_party/.*|
              utils/vscode/esbuild.js|
              website/.ruby-version|
              website/Gemfile.lock|
              .*\.def|
              .*\.png|
              .*\.svg|
              .*/fuzzer_corpus/.*|
              .*/testdata/.*\.golden
          )$
      - id: check-links
  - repo: local
    hooks:
      - id: check-build-graph
        name: Check build graph
        entry: scripts/check_build_graph.py
        language: python
        files: |
          (?x)^(
            .*BUILD.*|
            .*MODULE.bazel.*|
            .*WORKSPACE.*|
            .*\.bzl
          )$

# This excludes third-party code, and patches to third-party code.
exclude: |
  (?x)^(
      MODULE.bazel.lock|
      bazel/bazel_clang_tidy/.*\.patch|
      bazel/google_benchmark/.*\.patch|
      bazel/libpfm/.*\.patch|
      bazel/llvm_project/.*\.patch|
      third_party/examples/.*/carbon/.*|
  )$


================================================
FILE: .prettierrc.yaml
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

printWidth: 80
proseWrap: 'always'
singleQuote: true
tabWidth: 2
trailingComma: 'es5'
useTabs: false
overrides:
  - files: '**/*.md'
    options:
      tabWidth: 4


================================================
FILE: .python-version
================================================
3.10


================================================
FILE: .vscode/extensions.json
================================================
{
  "recommendations": [
    "bazelbuild.vscode-bazel",
    "bierner.github-markdown-preview",
    "carbon-lang.carbon-vscode",
    "esbenp.prettier-vscode",
    "llvm-vs-code-extensions.vscode-clangd",
    "ms-python.black-formatter",
    "ms-python.python"
  ]
}


================================================
FILE: .vscode/gdb_launch.json
================================================
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "by-gdb",
      "request": "launch",
      "name": "file_test (gdb)",
      "program": "bazel-bin/toolchain/testing/file_test",
      "programArgs": "--file_tests=${relativeFile}",
      "cwd": "${workspaceFolder}",
      "env": {
        "TEST_TARGET": "//toolchain/testing:file_test",
        "TEST_TMPDIR": "/tmp"
      }
    },
    {
      "type": "by-gdb",
      "request": "launch",
      "name": "carbon compile (gdb)",
      "program": "bazel-bin/toolchain/carbon",
      "programArgs": "compile --phase=lower --dump-sem-ir --stream-errors ${relativeFile}",
      "cwd": "${workspaceFolder}"
    }
  ]
}


================================================
FILE: .vscode/lldb_launch.json
================================================
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "lldb-dap",
      "request": "launch",
      "name": "file_test (lldb)",
      "program": "bazel-bin/toolchain/testing/file_test",
      "args": ["--file_tests=${relativeFile}"],
      "debuggerRoot": "${workspaceFolder}",
      "initCommands": [
        "command script import external/+llvm_project+llvm-project/llvm/utils/lldbDataFormatters.py",
        "command script import scripts/lldbinit.py",
        "settings append target.source-map \".\" \"${workspaceFolder}\"",
        "settings append target.source-map \"/proc/self/cwd\" \"${workspaceFolder}\"",
        "settings set escape-non-printables false",
        "settings set target.max-string-summary-length 10000",
        "env TEST_TARGET=//toolchain/testing:file_test",
        "env TEST_TMPDIR=/tmp"
      ]
    },
    {
      "type": "lldb-dap",
      "request": "launch",
      "name": "carbon compile (lldb)",
      "program": "bazel-bin/toolchain/carbon",
      "args": [
        "compile",
        "--phase=lower",
        "--dump-sem-ir",
        "--stream-errors",
        "${relativeFile}"
      ],
      "debuggerRoot": "${workspaceFolder}",
      "initCommands": [
        "command script import external/+llvm_project+llvm-project/llvm/utils/lldbDataFormatters.py",
        "command script import scripts/lldbinit.py",
        "settings append target.source-map \".\" \"${workspaceFolder}\"",
        "settings append target.source-map \"/proc/self/cwd\" \"${workspaceFolder}\"",
        "settings set escape-non-printables false",
        "settings set target.max-string-summary-length 10000"
      ]
    }
  ]
}


================================================
FILE: .vscode/tasks.json
================================================
{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "label": "saveAll",
      "command": "${command:workbench.action.files.saveAll}"
    },
    {
      "label": "autoupdate: toolchain tests",
      "type": "process",
      "command": "toolchain/autoupdate_testdata.py",
      "group": "build",
      "dependsOn": ["saveAll"],
      "dependsOrder": "sequence",
      "presentation": {
        "echo": false,
        "panel": "dedicated",
        "showReuseMessage": false,
        "clear": true
      },
      "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceFolder}"],
        "source": "autoupdate",
        "pattern": {
          "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "severity": 4,
          "message": 5
        }
      }
    }
  ]
}


================================================
FILE: BUILD
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

filegroup(
    name = "clang_tidy_config",
    srcs = [".clang-tidy"],
    visibility = ["//visibility:public"],
)

# `bazel run //:generate_compile_commands` to produce `compile_commands.json`.
alias(
    name = "generate_compile_commands",
    actual = "@wolfd_bazel_compile_commands//:generate_compile_commands",
)


================================================
FILE: CODEOWNERS
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# This file is only used for PR autoassignment. Branch protections don't enforce
# it.
#
# Syntax:
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax

# Toolchain reviewers are used as a fallback.
*                          @carbon-language/toolchain-reviewers

# Key project documents should be reviewed by leads.
/*.md                      @carbon-language/leads
/LICENSE                   @carbon-language/leads
/docs/project/evolution.md @carbon-language/leads
/docs/project/goals.md     @carbon-language/leads
/docs/project/principles/* @carbon-language/leads
/docs/project/roadmap.md   @carbon-language/leads
/proposals/*.md            @carbon-language/leads

# Toolchain code.
/toolchain                 @carbon-language/toolchain-reviewers


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Code of conduct

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

<!-- toc -->

## Table of contents

-   [Guidelines](#guidelines)
-   [Conduct team](#conduct-team)
    -   [Reporting conduct](#reporting-conduct)
    -   [Filing a report](#filing-a-report)
    -   [What happens after contacting the conduct team?](#what-happens-after-contacting-the-conduct-team)
    -   [Appealing](#appealing)
    -   [Special cases](#special-cases)
-   [Enforcement action guidelines](#enforcement-action-guidelines)
-   [Acknowledgements](#acknowledgements)

<!-- tocstop -->

## Guidelines

The Carbon community works to be welcoming and kind among itself and to others,
with a deep commitment to psychological safety, and we want to ensure that
doesn’t change as we grow and evolve. To that end, we have a few ground rules
that we ask all community members to adhere to:

-   be welcoming,
-   be friendly and patient,
-   be considerate,
-   be kind,
-   be careful in the words that we choose,
-   when we disagree, try to understand why, and
-   recognize when progress has stopped, and take a step back.

This list isn't exhaustive. Rather, take it in the spirit in which it’s intended
-- a guide to make it easier to communicate and participate in the community.

This code of conduct applies to all spaces managed by the Carbon project. This
includes chat systems, forums, emails (on lists or between members), issue
trackers, events, and any other spaces that the community uses for
communication. It applies to all of your communication and conduct in these
spaces, including emails, chats, things you say, slides, videos, posters, signs,
or even t-shirts you display in these spaces.

All community members should help support our standards of acceptable behavior.
Everyone is encouraged to speak up in response to any behavior that they deem
inappropriate, threatening, offensive, or harmful. If you believe someone is
violating the code of conduct, please report it to the
[conduct team](#conduct-team).

More detailed guidance on how to participate effectively in our community
spaces:

-   **Be welcoming.** We strive to be a community that welcomes and supports
    people of all backgrounds and identities. This includes, but is not limited
    to, members of any race, ethnicity, culture, national origin, color,
    immigration status, social and economic class, educational level, sex,
    sexual orientation, gender identity and expression, physical appearance,
    age, size, family status, relationship status, political belief, religion or
    lack thereof, and mental and physical ability.

-   **Be friendly and patient.** We want to encourage people to participate in
    our community in a constructive manner, so we can keep a friendly
    atmosphere. This is especially important because many of our communication
    tools on the Internet are low-fidelity and make it difficult to understand
    each other. Be patient, acknowledge that we are all on a learning journey,
    and stay supportive so that we can learn how to collaborate effectively as a
    group.

-   **Be considerate.** Your work will be used by other people, and you in turn
    will depend on the work of others. Any decision you make will affect users
    and colleagues, and you should take those consequences into account.
    Remember that we’re a world-wide community, so you might not be
    communicating in someone else’s primary language.

-   **Be kind.** Not all of us will agree all the time, but disagreement is no
    excuse for poor behavior and hurtful words. We might all experience some
    frustration now and then, but we cannot allow that frustration to turn into
    a personal attack. It’s important to remember that a community where people
    feel threatened is not a productive one. Members of our community should be
    kind when dealing with other members as well as with people outside the
    Carbon community.

-   **Be careful in the words that we choose and be kind to others.** Do not use
    insults or put downs. Harassment and other exclusionary behaviors aren’t
    acceptable. This includes, but is not limited to:

    -   Violent threats or language directed against another person.
    -   Discriminatory jokes and language.
    -   Posting sexually explicit or violent material.
    -   Posting, or threatening to post, other people’s personally identifying
        information without their explicit permission ("doxing").
    -   Personal insults, especially those using racist or sexist terms.
    -   Unwelcome sexual attention.
    -   Advocating for, or encouraging, any of the above behavior.
    -   In general, if someone asks you to stop, then stop. Persisting after
        being asked to stop is considered harassment.

-   **When we disagree, we try to understand why.** Disagreements, both social
    and technical, happen all the time, and Carbon is no exception. It is
    important that we resolve disagreements and differing views constructively.
    Remember that we’re different. The strength of the project comes from its
    varied community: people from a wide range of backgrounds. Different people
    have different perspectives on issues. Being unable to understand why
    someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that
    it is human to err and blaming each other doesn’t get us anywhere. Instead,
    focus on helping to resolve issues and learning from mistakes.

-   **Recognize when progress has stopped, and take a step back.** Regardless of
    whether you're trying to resolve a disagreement or anything else, think
    about whether you're making progress. Sometimes messaging doesn't give time
    to think about a situation fully, and repeating positions can make people
    defensive. Step back for a few minutes or hours to think through the issue
    before responding again. Consider pulling in another community member to
    give a fresh perspective. Maybe meet over VC instead. Switching approaches
    can help resume progress.

No weapons are allowed at Carbon events. Weapons include, but are not limited
to, explosives (including fireworks), guns, and large knives such as those used
for hunting or display, as well as any other item used for the purpose of
causing injury or harm to others.

In rare cases, violations of this code _outside_ of these spaces may affect, and
be detrimental to, a person’s ability to participate _within_ these spaces.
Important examples include, but are not limited to,
[sexual and gender-based violence and/or harassment](https://hr.un.org/sites/hr.un.org/files/SEA%20Glossary%20%20%5BSecond%20Edition%20-%202017%5D%20-%20English_0.pdf),
[hate crimes](https://hatecrime.osce.org/), and
[hate speech](https://www.un.org/en/genocideprevention/documents/UN%20Strategy%20and%20Plan%20of%20Action%20on%20Hate%20Speech%2018%20June%20SYNOPSIS.pdf).
Although we do not conduct proactive research, we have an obligation to respond
to reported and, to the extent possible, corroborated concerns. Our motivations
are not rooted in responding punitively, or holding people accountable. Instead,
our response will be focused on how the continued participation of the person at
issue could impact the community's safety, well-being, and inclusivity. It is
our priority to remain a welcoming community to victims as well as groups
subjected to systemic marginalization or underrepresentation.

If you have questions, please feel free to ask on Discord,
[GitHub](https://github.com/carbon-language/carbon-lang/discussions), or contact
any member of the conduct team directly.

## Conduct team

The conduct team can be emailed at conduct@carbon-lang.dev.

More details about the team, its current members and its management are on the
[conduct team page](/docs/project/teams/conduct_team.md).

### Reporting conduct

If you believe someone is violating the code of conduct, you can report it
several ways, including:

-   On [Discord](https://discord.gg/ZjVdShJDAs), DM ModMail. It may require
    confirmation that you want help on the Carbon Language server. An available
    moderator will respond.
    -   Look for ModMail in the user list under "Bots", and click the name to
        send a direct message.
    -   Moderators can also be found and messaged similarly, but ModMail is
        preferred.
-   Emailing the [conduct team](#conduct-team) directly at
    conduct@carbon-lang.dev. Bear in mind that
    [responses may take time](#what-happens-after-contacting-the-conduct-team).

**All reports will be kept confidential**, and are only used by the conduct team
to address conduct issues and keep the Carbon community safe and inclusive.

Please send reports concerning a member of the conduct team directly to other
members of the conduct team. This allows discussion of the complaint to more
easily exclude the concerned member as a [special case](#special-cases).

If you believe anyone is in **physical danger**, please notify appropriate law
enforcement first. If you are unsure what law enforcement agency is appropriate,
please include this in your report and we will attempt to notify them.

If the violation occurs at an event and requires immediate attention, you can
also reach out to any of the event organizers or staff. Event organizers and
staff will be prepared to handle the incident and be able to help. If you cannot
find one of the organizers, the venue staff can locate one for you. Specific
event information will include detailed contact information for that event. In
person reports will still be kept confidential exactly as above, but also feel
free to email the conduct team, anonymously if needed.

### Filing a report

Reports can be as formal or informal as needed for the situation at hand. If
possible, please include as much information as you can. If you feel
comfortable, please consider including:

-   Your contact info, so we can get in touch with you if we need to follow up.
-   Names -- real, nicknames, or pseudonyms -- of any individuals involved. If
    there were other witnesses besides you, please try to include them as well.
-   When and where the incident occurred. Please be as specific as possible.
-   Your account of what occurred, including any private chat logs or email.
-   Links for any public records, including community discussions.
-   Any extra context for the incident.
-   Whether you believe this incident is ongoing.
-   Any other information you believe we should have.

### What happens after contacting the conduct team?

You will receive a reply from the conduct team acknowledging receipt within 1
business day, and we will aim to respond much quicker than that.

The conduct team will review the incident as soon as possible and try to
determine:

-   What happened and who was involved.
-   Whether this event constitutes a code of conduct violation.
-   Whether this is an ongoing situation, or if there is a threat to anyone’s
    physical safety.

If this is determined to be an ongoing incident or a threat to physical safety,
the conduct team's immediate priority will be to protect everyone involved. This
means we may delay an "official" response until we believe that the situation
has ended and that everyone is physically safe.

The conduct team will try to contact other parties involved or witnessing the
event to gain clarity on what happened and understand any different
perspectives.

Once the conduct team has a complete account of the events they will make a
decision as to how to respond. Responses may include:

-   Nothing, if no violation occurred or it has already been appropriately
    resolved.
-   One or more [enforcement actions](#enforcement-action-guidelines).
-   Involvement of relevant law enforcement if appropriate.

If the situation is not resolved within one week, we’ll respond to the original
reporter with an update and explanation.

Once we’ve determined our response, we will separately contact the original
reporter and other individuals to let them know what actions, if any, we’ll be
taking. We will take into account feedback from the individuals involved on the
appropriateness of our response, but we don’t guarantee we’ll act on it.

After any incident, the conduct team will make a report on the situation to the
Carbon leads. The Carbon leads may choose to make a public statement about the
incident. If that’s the case, the identities of anyone involved will remain
confidential unless instructed otherwise by those individuals.

### Appealing

Only permanent resolutions, such as bans, or requests for public actions may be
appealed. To appeal a decision of the conduct team, contact the
[Carbon leads](docs/project/evolution.md#carbon-leads-1) with your appeal and
they will review the case.

In general, it is **not** appropriate to appeal a particular decision in public
areas of GitHub or Discord. Doing so would involve disclosure of information
which should remain confidential. Disclosing this kind of information publicly
may be considered a separate and, potentially, more serious violation of the
Code of Conduct. This is not meant to limit discussion of the Code of Conduct,
the conduct team itself, or the appropriateness of responses in general, but
**please** refrain from mentioning specific facts about cases without the
explicit permission of all parties involved.

### Special cases

If a complaint is raised against a member of the conduct team or Carbon leads,
they will be excluded from conduct discussion and decisions, including appeals.
They will only be included as needed for an involved party, such as to get their
perspective or to notify them of decisions. Such complaints may lead to a
member's responsibilities being revoked.

## Enforcement action guidelines

The conduct team, moderators, and event organizers have the right and
responsibility to remove, edit, or reject comments, commits, code, wiki edits,
issues, and other contributions that are not aligned to this Code of Conduct.
They will communicate reasons for moderation decisions when appropriate.

The conduct team may take additional action they deem appropriate for any
violation of this Code of Conduct using these guidelines based on the behavior
involved:

1.  **Correction**
    -   **Behavior:** Use of inappropriate language or other minor violations of
        the code of conduct.
    -   **Action:** A private, written message providing clarity around the
        nature of the violation and an explanation of why the behavior was
        inappropriate. A public apology may be requested.
1.  **Warning**
    -   **Behavior:** A code of conduct violation through a single moderate
        incident, or a series of minor violations.
    -   **Action:** In addition to the correction action, a temporary
        restriction forbidding interaction with the people involved for a
        specified period of time, including unsolicited interaction with the
        conduct team. Violating these terms may lead to a ban.
1.  **Temporary ban**
    -   **Behavior:** A serious violation of the code of conduct, including
        sustained inappropriate behavior.
    -   **Action:** In addition to the warning action, a temporary ban from use
        of Carbon's community spaces for a specified period of time. External
        channels, such as social media, should not be used to bypass these
        restrictions during the temporary ban. Violating these terms may lead to
        a permanent ban.
1.  **Permanent ban**
    -   **Behavior:** Demonstrating a pattern of violation of the code of
        conduct.
    -   **Action:** A permanent ban from use of Carbon's community spaces.

## Acknowledgements

This code is based on the
[LLVM Code of Conduct](https://llvm.org/docs/CodeOfConduct.html), the
[Django Project Code of Conduct](https://github.com/django/code-of-conduct), the
[Speak Up! project](http://web.archive.org/web/20141109123859/http://speakup.io/coc.html),
and the
[Contributor Covenant version 2.0](https://www.contributor-covenant.org/version/2/0/code_of_conduct/).
Many thanks to all of these projects for their work helping build effective
tools for open source communities.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

<!-- toc -->

## Table of contents

-   [Overview](#overview)
-   [Ways to contribute](#ways-to-contribute)
    -   [Contributing to the language design](#contributing-to-the-language-design)
        -   [Comment on proposals](#comment-on-proposals)
        -   [Contribute design ideas to Carbon](#contribute-design-ideas-to-carbon)
    -   [Contributing to the language implementation](#contributing-to-the-language-implementation)
        -   [Review and comment on Pull Requests (no code)](#review-and-comment-on-pull-requests-no-code)
        -   [Implement Carbon's design](#implement-carbons-design)
        -   [Triage, analyze or address bugs](#triage-analyze-or-address-bugs)
-   [How to become a contributor to Carbon](#how-to-become-a-contributor-to-carbon)
    -   [Contributor License Agreements (CLAs)](#contributor-license-agreements-clas)
        -   [Future CLA plans](#future-cla-plans)
    -   [Collaboration systems](#collaboration-systems)
        -   [Getting access](#getting-access)
    -   [Contribution tools](#contribution-tools)
        -   [Using AI-based contribution tools](#using-ai-based-contribution-tools)
    -   [Contribution guidelines and standards](#contribution-guidelines-and-standards)
        -   [Guidelines and philosophy for contributions](#guidelines-and-philosophy-for-contributions)
        -   [How to say things](#how-to-say-things)
            -   [Make your point concisely](#make-your-point-concisely)
-   [Style](#style)
    -   [Google Docs and Markdown](#google-docs-and-markdown)
    -   [Other files](#other-files)
-   [License](#license)
    -   [Google Docs](#google-docs)
    -   [Markdown](#markdown)
    -   [Other files](#other-files-1)
-   [Workflow](#workflow)
-   [Acknowledgements](#acknowledgements)

<!-- tocstop -->

## Overview

Thank you for your interest in contributing to Carbon! There are many ways to
contribute, and we appreciate all of them. If you have questions, please feel
free to ask on [Discord](https://discord.gg/ZjVdShJDAs) `#contributing-help`
channel or [GitHub](https://github.com/carbon-language/carbon-lang/discussions).

Everyone who contributes to Carbon is expected to:

-   Read and follow the [Code of Conduct](CODE_OF_CONDUCT.md). We expect
    everyone in our community to be welcoming, helpful, and respectful.
-   Ensure you have signed the
    [Contributor License Agreement (CLA)](https://cla.developers.google.com/).
    We need this to cover some legal bases.

We also encourage anyone interested in contributing to check out all the
information here in our contributing guide, especially the
[guidelines and philosophy for contributions](#guidelines-and-philosophy-for-contributions)

## Ways to contribute

### Contributing to the language design

#### Comment on proposals

If you're looking for a quick way to contribute, commenting on proposals is a
way to provide proposal authors with a breadth of feedback. The
["leads questions" label](https://github.com/carbon-language/carbon-lang/issues?q=is%3Aissue+is%3Aopen+label%3A%22leads+question%22)
has questions the community is looking for a decision on. The
[list of open proposals](https://github.com/carbon-language/carbon-lang/pulls?q=is%3Apr+is%3Aopen+label%3A%22proposal+rfc%22)
will have more mature proposals that are nearing a decision. For more about the
difference, see the [evolution process](docs/project/evolution.md).

When giving feedback, please keep comments positive, constructive, and
[concise](#make-your-point-concisely). Our goal is to use community discussion
to improve proposals and assist authors.

#### Contribute design ideas to Carbon

If you have ideas for Carbon, we encourage you to discuss it with the community,
and potentially prepare a proposal for it. Ultimately, any changes or
improvements to Carbon will need to turn into a proposal and go through our
[evolution process](docs/project/evolution.md).

If you do start working on a proposal, keep in mind that this requires a time
investment to discuss the idea with the community, get it reviewed, and
eventually implemented. A good starting point is to read through the
[evolution process](docs/project/evolution.md). We encourage discussing the idea
early, before even writing a proposal, and the process explains how to do that.

### Contributing to the language implementation

#### Review and comment on Pull Requests (no code)

Helping with
[pull requests](https://github.com/carbon-language/carbon-lang/pulls) review is
a good way to provide feedback, while getting acquainted with the code base.

#### Implement Carbon's design

The implementation of the Carbon language design is currently focused on the
[Carbon toolchain](/toolchain/) (see Carbon
[toolchain issues](https://github.com/carbon-language/carbon-lang/issues?q=is%3Aissue+is%3Aopen+label%3Atoolchain))

**Some issues are also marked as
["good first issues"](https://github.com/carbon-language/carbon-lang/labels/good%20first%20issue)**.
These are intended to be a good place to start contributing.

To pick up a "good first issue", check to make sure there's no in-flight pull
request on the issue, and then start working on it. We don't assign issues to
new contributors because some people have different time constraints, and we
want new contributors to feel welcome to pick the issue up when it may not be
making progress. Even if someone else merges a fix before you, these issues
should be a quick and helpful way to start learning how Carbon is built,
building towards larger contributions.

#### Triage, analyze or address bugs

As Carbon's design and implementation take shape, we'll inevitably encounter
plenty of bugs. Helping us triage, analyze, and address them is always a great
way to get involved. See
[open issues on GitHub](https://github.com/carbon-language/carbon-lang/issues).

When triaging issues, we typically won't assign issues because we want to be
confident that contributors who have an issue assigned to them are planning for
the amount of time it will take, which requires familiarity. Contributors with
write access are expected to have that familiarity and may assign issues to
themselves.

## How to become a contributor to Carbon

### Contributor License Agreements (CLAs)

We'd love to accept your documentation, pull requests, and comments! Before we
can accept them, we need you to cover some legal bases.

Please fill out either the individual or corporate CLA.

-   If you are an individual contributing to spec discussions or writing
    original source code and you're sure you own the intellectual property, then
    you'll need to sign an
    [individual CLA](https://code.google.com/legal/individual-cla-v1.0.html).
-   If you work for a company that wants to allow you to contribute your work,
    then you'll need to sign a
    [corporate CLA](https://code.google.com/legal/corporate-cla-v1.0.html).

Follow either of the two links above to access the appropriate CLA and
instructions for how to sign and return it. Once we receive it, we'll be able to
accept your documents, comments and pull requests.

**_NOTE_**: Only original content from you and other people who have signed the
CLA can be accepted as Carbon contributions: this covers GitHub (including both
code and discussion), Google Docs, and Discord.

#### Future CLA plans

Initially, Carbon is bootstrapping using Google's CLA. We are planning to create
an open source foundation and transfer all Carbon-related rights to it; our goal
is for the foundation setup to be similar to other open source projects, such as
LLVM or Kubernetes.

### Collaboration systems

We use a few systems for collaboration which contributors should be aware of.

Before using these systems, everyone must sign the CLA. They are all governed by
the Code of Conduct.

-   [The GitHub carbon-language organization](https://github.com/carbon-language)
    is used for our repositories.
-   [Discord](https://discord.gg/ZjVdShJDAs) is used for chat.
-   [A shared Google Drive](https://drive.google.com/drive/folders/1aC5JJ5EcI8B7cgVDrLvO7WNw97F0LpS2)
    is used for all of our Google Docs, particularly proposal drafts.
-   [Google Calendar](https://calendar.google.com/calendar/embed?src=c_07td7k4qjq0ssb4gdl6bmbnkik%40group.calendar.google.com)
    is used for meeting invites and project reminders. Contributors may add
    calendar entries for meetings added to discuss details. Standard entries
    have
    [minutes](https://drive.google.com/drive/folders/1VssO6kn9-HeKfzPDqBDR0Sy5CUE0OnSs)
    and include:
    -   The weekly sync, where contributors are welcome.
    -   Open discussions, which are unstructured meeting slots used for
        discussing proposals, tooling, and other Carbon topics based on who
        attends.

#### Getting access

Our collaboration systems are all viewable publicly, and most can be joined
without particular requests. However, some require extra permissions, such as
editing Google Docs, joining meetings, or some details of the proposal process.

When requesting any of the following access, please provide a reason for the
access. All requests require a
[signed CLA](#contributor-license-agreements-clas).

-   Google Docs/Calendar access groups:
    -   **Commenter** access:
        [join group](https://groups.google.com/a/carbon-lang.dev/g/commenters/about)
        -   [Google Docs](https://drive.google.com/drive/folders/1aC5JJ5EcI8B7cgVDrLvO7WNw97F0LpS2):
            Comment on files.
        -   [Google Calendar](https://calendar.google.com/calendar/embed?src=c_07td7k4qjq0ssb4gdl6bmbnkik%40group.calendar.google.com):
            View event details.
    -   **Contributor** access:
        [join group](https://groups.google.com/a/carbon-lang.dev/g/contributors/about)
        -   [Google Docs](https://drive.google.com/drive/folders/1aC5JJ5EcI8B7cgVDrLvO7WNw97F0LpS2):
            Add, edit, and comment on files.
        -   [Google Calendar](https://calendar.google.com/calendar/embed?src=c_07td7k4qjq0ssb4gdl6bmbnkik%40group.calendar.google.com):
            View and edit event details.
    -   After you apply to join, please let us know on
        [#access-requests](https://discord.com/channels/655572317891461132/1006221387574292540);
        we don't get notifications otherwise.
-   GitHub Label/project contributor access:
    [ask on #access-requests](https://discord.com/channels/655572317891461132/1006221387574292540)
    -   Don't forget to mention your GitHub username.
    -   Used by the proposal process.

If you simply want to chime in on GitHub or Discord, none of this is needed. If
you're interested in joining meetings, ask for commenter access. If you're
trying to write proposals, both types of contributor access will help.

### Contribution tools

Please see our [contribution tool](/docs/project/contribution_tools.md)
documentation for information on setting up a git client for Carbon development,
as well as helpful tooling that will ease the contribution process. For example,
[pre-commit](https://pre-commit.com) is used to simplify
[code review](/docs/project/code_review.md).

#### Using AI-based contribution tools

If you are using an AI assistant to help you contribute, or if you are an AI
assistant yourself, please consult [GEMINI.md](/GEMINI.md) for high-density
technical context and tips.

All submissions to Carbon need to follow our
[Contributor License Agreement (CLA)](#contributor-license-agreements-clas),
which covers any original work of authorship included in the submission. This
doesn't prohibit the use of coding assistance tools, including tool-, AI-, or
machine-generated code, as long as these submissions abide by the CLA's
requirements.

All contributions, regardless of what tools are used, are also still the
responsibility of the operator of these tools and subject to normal code review
and our [guidelines and standards](#contribution-guidelines-and-standards)
below. We also emphasize two additional requirements for contributors operating
or using AI-based tools:

1. **Contributions should not become extractive of the project and community**:
   the value added should outweigh the overhead of landing the contribution. The
   overhead of landing contributions ranges from code review, to discussions,
   distractions from the current project priorities, or growing maintenance
   burden without growing maintainers.

2. **Each PR should be transparent about the tooling used** in proportion to how
   much of the PR was produced by the tool and whether the tool is a standard
   one for the project. For example, formatting with the standard tools is
   reasonable to assume without further comment. But if a PR is largely derived
   from running a specific Python script, regular expression, or AI-based tool
   over the codebase, we ask that its commit message is transparent about this
   and include a description of how the tool was used to formulate the change.
   For PRs largely derived from AI-based tooling, we suggest following the
   pattern established by the Fedora Project to mark commits with
   `Assisted-by: ...`.

Our policies and practices here are inspired by and aim to be roughly compatible
with several other open source projects:

-   [Fedora Project's policy](https://docs.fedoraproject.org/en-US/council/policy/ai-contribution-policy/)
-   [LLVM Developer Policy around AI generated code](https://llvm.org/docs/DeveloperPolicy.html#ai-generated-contributions)

As the open source community evolves and learns how best to integrate these
tools into project and development workflows, we expect to reflect that with
updates and improvements here.

### Contribution guidelines and standards

All documents and pull requests must be consistent with the guidelines and
follow the Carbon documentation and coding styles.

#### Guidelines and philosophy for contributions

-   For **both** documentation and code:

    -   When the Carbon team accepts new documentation or features, to Carbon,
        by default they take on the maintenance burden. This means they'll weigh
        the benefit of each contribution against the cost of maintaining it.
    -   The appropriate [style](#style) is applied.
    -   The [license](#license) is present in all contributions.
    -   [Code review](/docs/project/code_review.md) is used to improve the
        correctness, clarity, and consistency of all contributions.
        -   Please avoid rebasing PRs after receiving comments; it can break
            viewing of the comments in files.

-   For documentation:

    -   All documentation is written for clarity and readability. Beyond fixing
        spelling and grammar, this also means content is worded to be accessible
        to a broad audience.
    -   Substantive changes to Carbon follow the
        [evolution process](docs/project/evolution.md). Pull requests are only
        sent after the documentation changes have been accepted by the reviewing
        team.
    -   Typos or other minor fixes that don't change the meaning of a document
        do not need formal review, and are often handled directly as a pull
        request.

-   For code:

    -   New features should have a documented design that has been approved
        through the [evolution process](docs/project/evolution.md). This
        includes modifications to preexisting designs.
    -   Bug fixes and mechanical improvements don't need this.
    -   All new features include unit tests, as they help to (a) document and
        validate concrete usage of the feature and its edge cases, and (b) guard
        against future breaking changes to lower the maintenance cost.
    -   Bug fixes also generally include unit tests, because the presence of
        bugs usually indicates insufficient test coverage.
    -   Unit tests must pass with the changes.
    -   If some tests fail for unrelated reasons, we wait until they're fixed.
        It helps to contribute a fix!
    -   Code changes should be made with API compatibility and evolvability in
        mind.
    -   Keep in mind that code contribution guidelines are incomplete while we
        start work on Carbon, and may change later.

#### How to say things

-   Treat others with respect.
-   Recognize that other points of view are valid, and most decisions are about
    choosing the best set of trade-offs or closest alignment with Carbon's goals
    since there usually isn't a single best answer. It is important to frame
    feedback and discussion about someone else's proposal under the assumption
    that they too have deep experience in the area but may have come to a
    different conclusion.
-   Be clear when something is an opinion by using "I" or "me":
    -   Not as helpful: "`foo` is objectively better word to use"
    -   More helpful: "I find `bar` confusing since it has this alternate
        meaning, I think `foo` is clearer."
-   It can be helpful to define your terms.

When trying to make a point, please employ these strategies to make your
argument _effective_ and _helpful_:

-   Focus should be on explaining the basis by which others can come to a
    conclusion. Generally this means connecting a potential solution to the use
    cases it helps with.
-   Be specific and concrete, using examples to demonstrate the benefits and
    disadvantages of the different options
    -   Minimally helpful: "I like &lt;X>", "Carbon should have feature &lt;Y>"
    -   More helpful: "I think Carbon should have feature &lt;Z>, it would mean
        &lt;this example> would be written &lt;like this> instead of &lt;like
        that>." (Assuming the reader will think the example is representative of
        an important class of use cases.)
    -   Very helpful: "If we go with approach &lt;X>, it helps with problem
        &lt;P> in &lt;this example> of use case &lt;A>. It doesn't help with use
        case &lt;B>, but that can be better solved by &lt;Y>, as can be seen in
        &lt;other example>."
    -   Very helpful: "Yes &lt;X> gives a nice answer in that case, but it has a
        problem / I don't see how it applies in &lt;this other situation>."
-   Explain the reasoning by which you can come to your conclusion
    -   Avoid [fallacies](https://en.wikipedia.org/wiki/List_of_fallacies) like
        [arguing from authority](https://en.wikipedia.org/wiki/Argument_from_authority)
    -   Don't expect people to read long works to understand your point

If someone questions or argues with your point, try to directly address the
points being made. Try not to step backwards or switch to a more general or more
meta level as that can seem like you're evading the question.

##### Make your point concisely

-   **Asking questions is OK**: Asking questions about a particular discussion
    is almost always OK. If you're worried the questions might be more about
    _background_ and might be long enough to get distracting, you can always ask
    them in some of our dedicated spaces like `#language-questions` on Discord.
-   **Favor new and relevant information**: When sharing ideas and opinions in
    community discussions, it is important to do so in a way that both _adds new
    information_ in some way/shape/form, makes sure that information is
    _relevant_ to the discussion, and avoids _repetition_. This means reviewing
    what you write before posting a larger response, and editing it down to just
    the points you want to make that have not already been made, and any new
    arguments supporting those points.
-   **Be inclusive by staying concise**: We need to be mindful that writing many
    paragraphs of extra text is going to exclude people. Some people can be
    excluded from consuming the conversation, either because a wall of text is
    too intimidating to read, or they don't have the time or bandwidth to wade
    through the extra text to find the new information being conveyed. It can
    also drown out other contributors
-   **Prefer upvote to repetition**: One person saying "I don't like this
    feature" is useful, and that same message with 100 upvotes is extremely
    useful, but 100 people writing separate messages saying "I don't like this
    feature" is not. Emoji reactions are available in both Discord and GitHub
    and should be used for this purpose in both.

It is also okay to do things like ask a question to get clarification about what
someone has said or to solicit opinions about various options. Just be
respectful, and don't drown out other discussion.

## Style

### Google Docs and Markdown

Changes to Carbon documentation follow the
[Google developer documentation style guide](https://developers.google.com/style).

Markdown files should additionally use [Prettier](https://prettier.io) for
formatting, which we automate with
[pre-commit](/docs/project/contribution_tools.md#main-tools).

Other style points to be aware of are:

-   Whereas the Google developer documentation style guide
    [says to use an em dash](https://developers.google.com/style/dashes)
    (`text—text`), we are using a double-hyphen with surrounding spaces
    (`text -- text`). We are doing this because we frequently read Markdown with
    fixed-width fonts where em dashes are not clearly visible.
-   Prefer the term "developers" when talking about people who would write
    Carbon code. We expect the Carbon's community to include people who think of
    themselves using many titles, including software developers, software
    engineers, systems engineers, reliability engineers, data scientists,
    computer scientists, programmers, and coders. We're using "developers" to
    succinctly cover the variety of titles.

### Other files

If you're not sure what style to use, please ask on Discord or GitHub.

## License

A license is required at the top of all documents and files.

### Google Docs

Google Docs all use
[this template](https://docs.google.com/document/d/1tAwE0230PDxweVruHUVY6DSfSnrJF2LnLOWXQYqNJuI/template/preview?usp=sharing&resourcekey=0-zsrwCWP7ictbxhCuePk-fw).
It puts the license at the top of every page if printed.

### Markdown

Markdown files always have at the top:

```
# DOC TITLE

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->
```

For example, see the top of
[CONTRIBUTING.md](https://github.com/carbon-language/carbon-lang/raw/trunk/CONTRIBUTING.md)'s
raw content.

### Other files

Every file type uses a variation on the same license text ("Apache-2.0 WITH
LLVM-exception") with similar formatting. If you're not sure what text to use,
please ask on Discord or GitHub.

## Workflow

Carbon repositories all follow a common
[pull-request workflow](docs/project/pull_request_workflow.md) for landing
changes. It is a trunk-based development model that emphasizes small,
incremental changes and preserves a simple linear history.

## Acknowledgements

Carbon's Contributing guidelines are based on
[TensorFlow](https://github.com/tensorflow/tensorflow/blob/master/CONTRIBUTING.md)
and [Flutter](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md)
guidelines. Many thanks to these communities for their help in providing a
basis.


================================================
FILE: GEMINI.md
================================================
# Gemini & AI assistant guide for Carbon

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

This document provides high-density technical context for AI assistants (and
humans!) contributing to the Carbon Language project. If you are an AI
assistant, **read this first** to avoid common pitfalls.

## Table of contents

-   [General instructions](#general-instructions)
-   [Project structure](#project-structure)
-   [Toolchain development](#toolchain-development)

## General instructions

-   **Communication**: Be concise, professional, and technical. Use GitHub-style
    markdown.
-   **Verification**: Always run relevant tests.
-   **Tool usage**: Use web search for any research outside the immediate
    codebase or KIs.

## Project structure

-   **[`common/`](common/)**: Common C++ utilities used across the project.
-   **[`core/`](core/)**: The Carbon standard library (Core).
-   **[`docs/`](docs/)**: Project documentation, design, and style guides.
-   **[`examples/`](examples/)**: Example Carbon programs and code snippets.
-   **[`proposals/`](proposals/)**: Evolution proposals.
-   **[`testing/`](testing/)**: Testing utilities and infrastructure.
-   **[`toolchain/`](toolchain/)**: The C++ implementation of the compiler
    (Toolchain).

## Tool usage

See the "Tool usage" skill for instructions on what tools to use in the
carbon-lang project.

## Code style

See the "Code style" skill for instructions on formatting, style guides, and
code conventions to follow.

## Toolchain development

See the "Toolchain Development" skill for instructions on architecture,
building, testing, debugging, C++ patterns, and common pitfalls.


================================================
FILE: LICENSE
================================================
==============================================================================
The Carbon language is under the Apache License v2.0 with LLVM Exceptions:
==============================================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

    1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

    2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

    3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

    4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

    5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

    6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

    7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

    8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

    9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

    END OF TERMS AND CONDITIONS

    APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

    Copyright [yyyy] [name of copyright owner]

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.


---- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined
Software.

==============================================================================
Software from third parties included in the Carbon language:
==============================================================================
The Carbon language contains third party software which is under different
license terms. All such code will be identified clearly using at least one of
two mechanisms:
1) It will be in a separate directory tree with its own `LICENSE.txt` or
   `LICENSE` file at the top containing the specific license and restrictions
   which apply to that software, or
2) It will contain specific license and restriction terms at the top of every
   file.


================================================
FILE: MODULE.bazel
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

"""Bazel modules.

`MODULE.bazel.lock` may change locally when `bazel` is executed. This means one
of:

1.  An input is changing, typically `MODULE.bazel` or `.bazelversion`.
    -   Running `bazel mod deps` provides a canonical update to
        `MODULE.bazel.lock`; include the changes.
    -   GitHub test actions may also identify platform-specific lockfile
        updates.
2.  The host platform hasn't yet been added to the lock file.
    -   Platforms tested with GitHub actions are kept up-to-date. Other
        platforms may fall out of sync due to `bazel` or dependency changes,
        and should be updated with a PR the same way a platform is added.
    -   Running `bazel mod deps` provides a canonical update to
        `MODULE.bazel.lock`; create a PR with those changes in order to include
        the host platform.

For updates, run `scripts/query_module_versions.py` to list the latest package
versions.
"""

module(name = "carbon")

bazel_dep(name = "abseil-cpp", version = "20260107.1")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "boost.unordered", version = "1.90.0.bcr.1")
bazel_dep(name = "google_benchmark", version = "1.9.5")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2")
bazel_dep(name = "libpfm", version = "4.13.0")
bazel_dep(name = "re2", version = "2025-11-05.bcr.1")
bazel_dep(name = "rules_cc", version = "0.2.17")
bazel_dep(name = "rules_pkg", version = "1.2.0")
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "tcmalloc", version = "0.0.0-20250927-12f2552")
bazel_dep(name = "tree-sitter-bazel", version = "0.26.5")

bazel_dep(name = "wolfd_bazel_compile_commands", version = "0.5.2", dev_dependency = True)
bazel_dep(name = "bazel_clang_tidy", dev_dependency = True)
git_override(
    module_name = "bazel_clang_tidy",
    # HEAD as of 2026-01-28.
    commit = "c4d35e0d0b838309358e57a2efed831780f85cd0",
    remote = "https://github.com/erenon/bazel_clang_tidy.git",
)

bazel_cc_toolchain = use_extension(
    "//bazel/cc_toolchains:clang_configuration.bzl",
    "clang_toolchain_extension",
)
use_repo(bazel_cc_toolchain, "bazel_cc_toolchain")

register_toolchains("@bazel_cc_toolchain//:all")

# TODO: Trying out `wolfd_bazel_compile_commands`, figure out if there are
# issues. Once people have had a chance to try and check for problems, remove
# one or the other.
bazel_dep(name = "hedron_compile_commands", dev_dependency = True)
git_override(
    module_name = "hedron_compile_commands",
    # HEAD as of 2026-01-28.
    commit = "abb61a688167623088f8768cc9264798df6a9d10",
    remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git",
)

# Required for llvm-project.
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "protobuf", version = "34.0.bcr.1", repo_name = "com_google_protobuf")
bazel_dep(name = "zlib-ng", version = "2.0.7", repo_name = "llvm_zlib")
bazel_dep(name = "zstd", version = "1.5.7.bcr.1", repo_name = "llvm_zstd")

###############################################################################
# llvm-project
###############################################################################

# Load a repository for the raw llvm-project, pre-overlay.
bazel_dep(name = "llvm-raw")
git_override(
    module_name = "llvm-raw",
    build_file_content = "# empty",
    # We pin to specific upstream commits and try to track top-of-tree
    # reasonably closely rather than pinning to a specific release.
    # HEAD as of 2026-03-09.
    commit = "d8474abfc1e7c3856b85b088f1133ae2e90da3d0",
    patch_cmds = ["echo \"module(name='llvm-raw')\" > MODULE.bazel"],
    patch_strip = 1,
    patches = [
        "//bazel/llvm_project:0001_Patch_for_mallinfo2_when_using_Bazel_build_system.patch",
        "//bazel/llvm_project:0002_Added_Bazel_build_for_compiler_rt_fuzzer.patch",
        "//bazel/llvm_project:0004_Introduce_basic_sources_exporting_for_libunwind.patch",
        "//bazel/llvm_project:0005_Introduce_basic_sources_exporting_for_libcxx_and_libcxxabi.patch",
        "//bazel/llvm_project:0009_Introduce_starlark_exporting_compiler-rt_build_information.patch",
    ],
    remote = "https://github.com/llvm/llvm-project.git",
)

# Apply the overlay to produce llvm-project.
llvm_project = use_extension(
    "//bazel/llvm_project:llvm_project.bzl",
    "llvm_project",
)
use_repo(llvm_project, "llvm-project")

###############################################################################
# Python
###############################################################################

bazel_dep(name = "rules_python", version = "1.9.0")

python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
    python_version = "3.11",
)
use_repo(python, "python_versions")

###############################################################################
# Bazel integration testing
###############################################################################

bazel_dep(
    name = "rules_bazel_integration_test",
    version = "0.37.1",
    dev_dependency = True,
)

# We test against our current Bazel version, the latest release, and the latest
# release candidate.
bazel_binaries = use_extension(
    "@rules_bazel_integration_test//:extensions.bzl",
    "bazel_binaries",
    dev_dependency = True,
)
bazel_binaries.download(version_file = "//:.bazelversion")
bazel_binaries.download(version = "latest")
bazel_binaries.download(version = "last_rc")
use_repo(
    bazel_binaries,
    "bazel_binaries",
    "bazel_binaries_bazelisk",
    "build_bazel_bazel_.bazelversion",
    "build_bazel_bazel_last_rc",
    "build_bazel_bazel_latest",
)


================================================
FILE: README.md
================================================
# Carbon Language: <br/> An experimental successor to C++

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

<p align="center">
  <a href="#why-build-carbon">Why?</a> |
  <a href="#language-goals">Goals</a> |
  <a href="#project-status">Status</a> |
  <a href="#getting-started">Getting started</a> |
  <a href="#join-us">Join us</a>
</p>

**See our [announcement video](https://youtu.be/omrY53kbVoA) from
[CppNorth](https://cppnorth.ca/).** Note that Carbon is
[not ready for use](#project-status).

<a href="docs/images/snippets.md#quicksort">
<!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
-->
<img src="docs/images/quicksort_snippet.svg" align="right" width="575"
     alt="Quicksort code in Carbon. Follow the link to read more.">
</a>

<!--
Don't let the text wrap too narrowly to the left of the above image.
The `div` reduces the vertical height. The `picture` prevents autolinking.
-->
<div><picture><img src="docs/images/bumper.png" alt=""></picture></div>

**Fast and works with C++**

-   Performance matching C++ using LLVM, with low-level access to bits and
    addresses
-   Interoperate with your existing C++ code, from inheritance to templates
-   Fast and scalable builds that work with your existing C++ build systems

**Modern and evolving**

-   Solid language foundations that are easy to learn, especially if you have
    used C++
-   Easy, tool-based upgrades between Carbon versions
-   Safer fundamentals, and an incremental path towards a memory-safe subset

**Welcoming open-source community**

-   Clear goals and priorities with robust governance
-   Community that works to be welcoming, inclusive, and friendly
-   Batteries-included approach: compiler, libraries, docs, tools, package
    manager, and more

## Why build Carbon?

C++ remains the dominant programming language for performance-critical software,
with massive and growing codebases and investments. However, it is struggling to
improve and meet developers' needs, as outlined above, in no small part due to
accumulating decades of technical debt. Incrementally improving C++ is
[extremely difficult](/docs/project/difficulties_improving_cpp.md), both due to
the technical debt itself and challenges with its evolution process. The best
way to address these problems is to avoid inheriting the legacy of C or C++
directly, and instead start with solid language foundations like
[modern generics system](#generics), modular code organization, and consistent,
simple syntax.

Existing modern languages already provide an excellent developer experience: Go,
Swift, Kotlin, Rust, and many more. **Developers that _can_ use one of these
existing languages _should_.** Unfortunately, the designs of these languages
present significant barriers to adoption and migration from C++. These barriers
range from changes in the idiomatic design of software to performance overhead.

Carbon is fundamentally **a successor language approach**, rather than an
attempt to incrementally evolve C++. It is designed around interoperability with
C++ as well as large-scale adoption and migration for existing C++ codebases and
developers. A successor language for C++ requires:

-   **Performance matching C++**, an essential property for our developers.
-   **Seamless, bidirectional interoperability with C++**, such that a library
    anywhere in an existing C++ stack can adopt Carbon without porting the rest.
-   **A gentle learning curve** with reasonable familiarity for C++ developers.
-   **Comparable expressivity** and support for existing software's design and
    architecture.
-   **Scalable migration**, with some level of source-to-source translation for
    idiomatic C++ code.

With this approach, we can build on top of C++'s existing ecosystem, and bring
along existing investments, codebases, and developer populations. There are a
few languages that have followed this model for other ecosystems, and Carbon
aims to fill an analogous role for C++:

-   JavaScript → TypeScript
-   Java → Kotlin
-   C++ → **_Carbon_**

## Language Goals

We are designing Carbon to support:

-   Performance-critical software
-   Software and language evolution
-   Code that is easy to read, understand, and write
-   Practical safety and testing mechanisms
-   Fast and scalable development
-   Modern OS platforms, hardware architectures, and environments
-   Interoperability with and migration from existing C++ code

While many languages share subsets of these goals, what distinguishes Carbon is
their combination.

We also have explicit _non-goals_ for Carbon, notably including:

-   A stable
    [application binary interface](https://en.wikipedia.org/wiki/Application_binary_interface)
    (ABI) for the entire language and library
-   Perfect backwards or forwards compatibility

Our detailed [goals](/docs/project/goals.md) document fleshes out these ideas
and provides a deeper view into our goals for the Carbon project and language.

## Project status

Carbon Language is currently an experimental project. We are hard at work on a
toolchain implementation with compiler and linker. You can try out the current
state at [compiler-explorer.com](http://carbon.compiler-explorer.com/).

We want to better understand whether we can build a language that meets our
successor language criteria, and whether the resulting language can gather a
critical mass of interest within the larger C++ industry and community.

Currently, we have fleshed out several core aspects of both Carbon the project
and the language:

-   The strategy of the Carbon Language and project.
-   An open-source project structure, governance model, and evolution process.
-   Critical and foundational aspects of the language design informed by our
    experience with C++ and the most difficult challenges we anticipate. This
    includes designs for:
    -   Generics
    -   Class types
    -   Inheritance
    -   Operator overloading
    -   Lexical and syntactic structure
    -   Code organization and modular structure
-   An under-development [compiler and toolchain](/toolchain/) that will compile
    Carbon (and eventually C++ code as well) into standard executable code. This
    is where most of our current implementation efforts are directed.
    -   Historically, there was also a prototype
        [explorer](https://github.com/carbon-language/explorer) interpreter that
        implemented an older version of the Carbon language design, but is no
        longer under development and has been archived.

If you're interested in contributing, we're currently focused on developing the
Carbon toolchain until it can
[support Carbon ↔ C++ interop](/docs/project/roadmap.md#access-most-non-template-c-apis-in-carbon).
Beyond that, we plan to continue developing the design and toolchain until we
can ship the
[0.1 language](/docs/project/milestones.md#milestone-01-a-minimum-viable-product-mvp-for-evaluation)
and support evaluating Carbon in more detail.

You can see our [full roadmap](/docs/project/roadmap.md) for more details.

## Carbon and C++

If you're already a C++ developer, Carbon should have a gentle learning curve.
It is built out of a consistent set of language constructs that should feel
familiar and be easy to read and understand.

The Carbon code here is hypothetical and meant to show the look and feel of the
language.

C++ code like this:

<a href="docs/images/snippets.md#c">
<!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
-->
<img src="docs/images/cpp_snippet.svg" width="600"
     alt="A snippet of C++ code. Follow the link to read it.">
</a>

corresponds to this Carbon code:

<a href="docs/images/snippets.md#carbon">
<!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
-->
<img src="docs/images/carbon_snippet.svg" width="600"
     alt="A snippet of converted Carbon code. Follow the link to read it.">
</a>

You can call Carbon from C++ without overhead and the other way around. This
means you migrate a single C++ library to Carbon within an application, or write
new Carbon on top of your existing C++ investment. For example:

<a href="docs/images/snippets.md#mixed">
<!--
Edit snippet in docs/images/snippets.md and:
https://drive.google.com/drive/folders/1QrBXiy_X74YsOueeC0IYlgyolWIhvusB
-->
<img src="docs/images/mixed_snippet.svg" width="600"
     alt="A snippet of mixed Carbon and C++ code. Follow the link to read it.">
</a>

Read more about
[C++ interop in Carbon](/docs/design/interoperability/philosophy_and_goals.md).

Beyond interoperability between Carbon and C++, we're also planning to support
migration tools that will mechanically translate idiomatic C++ code into Carbon
code to help you switch an existing C++ codebase to Carbon.

## Generics

Carbon provides a
**[modern generics system](/docs/design/generics/overview.md#what-are-generics)**
with checked definitions, while still **supporting opt-in
[templates](/docs/design/templates.md) for seamless C++ interop**. Checked
generics provide several advantages compared to C++ templates:

-   **Generic definitions are fully type-checked**, removing the need to
    instantiate to check for errors and giving greater confidence in code.
    -   Avoids the compile-time cost of re-checking the definition for every
        instantiation.
    -   When using a definition-checked generic, usage error messages are
        clearer, directly showing which requirements are not met.
-   **Enables automatic, opt-in type erasure and dynamic dispatch** without a
    separate implementation. This can reduce the binary size and enables
    constructs like heterogeneous containers.
-   **Strong, checked interfaces** mean fewer accidental dependencies on
    implementation details and a clearer contract for consumers.

Without sacrificing these advantages, **Carbon generics support
specialization**, ensuring it can fully address performance-critical use cases
of C++ templates. For more details about Carbon's generics, see their
[design](/docs/design/generics).

In addition to easy and powerful interop with C++, Carbon templates can be
constrained and incrementally migrated to checked generics at a fine granularity
and with a smooth evolutionary path.

## Memory safety

Safety, and especially
[memory safety](https://en.wikipedia.org/wiki/Memory_safety), remains a key
challenge for C++ and something a successor language needs to address.

We plan to support a two step migration process:

1. Highly automated, minimal supervision migration from C++ to a dialect of
   Carbon designed for C++ interop and migration.
2. Incremental refactoring of the Carbon code to adopt memory-safe designs,
   patterns, and APIs.

We also want to address important, low-hanging fruit in the safety space
immediately when migrating into Carbon:

-   Tracking uninitialized states better, increased enforcement of
    initialization, and hardening against initialization bugs when needed.
-   Designing fundamental APIs and idioms to support dynamic bounds checking.
-   Switching from undefined behavior to erroneous behavior wherever possible,
    and marking the remaining undefined behavior with visible `unsafe` syntax.
-   Having a default debug build mode that has less runtime overhead while being
    more comprehensive than existing C++ debug build modes combined with
    [Address Sanitizer](https://github.com/google/sanitizers/wiki/AddressSanitizer).

For more details, see our [safety design](/docs/design/safety).

## Getting started

To try out Carbon immediately in your browser, you can use the toolchain at:
[carbon.compiler-explorer.com](http://carbon.compiler-explorer.com/).

We are developing a traditional toolchain for Carbon that can compile and link
programs. However, Carbon is still an early, experimental project, and so we
only have very experimental nightly releases of the Carbon toolchain available
to download, and only on limited platforms. If you are using a recent Ubuntu
Linux or similar (Debian, WSL, etc.), you can try these out by going to our
[releases](https://github.com/carbon-language/carbon-lang/releases) page and
download the latest nightly toolchain tar file:
`carbon_toolchain-0.0.0-0.nightly.YYYY.MM.DD.tar.gz`. Then you can try it out:

```shell
# A variable with the nightly version from yesterday:
VERSION="$(date -d yesterday +0.0.0-0.nightly.%Y.%m.%d)"

# Get the release
wget https://github.com/carbon-language/carbon-lang/releases/download/v${VERSION}/carbon_toolchain-${VERSION}.tar.gz

# Unpack the toolchain:
tar -xvf carbon_toolchain-${VERSION}.tar.gz

# Create a simple Carbon source file:
echo "import Core library \"io\"; fn Run() { Core.Print(42); }" > forty_two.carbon

# Compile to an object file:
./carbon_toolchain-${VERSION}/bin/carbon compile \
  --output=forty_two.o forty_two.carbon

# Install minimal system libraries used for linking. Note that installing `gcc`
# or `g++` for compiling C/C++ code with GCC will also be sufficient, these are
# just the specific system libraries Carbon linking still uses.
sudo apt install libgcc-11-dev

# Link to an executable:
./carbon_toolchain-${VERSION}/bin/carbon link \
  --output=forty_two forty_two.o

# Run it:
./forty_two
```

As a reminder, the toolchain is still very early and many things don't yet work.
Please hold off on filing lots of bugs: we know many parts of this don't work
yet or may not work on all systems. We expect to have releases that are much
more robust and reliable that you can try out when we reach our
[0.1 milestone](/docs/project/milestones.md#milestone-01-a-minimum-viable-product-mvp-for-evaluation).

If you want to build Carbon's toolchain yourself or are thinking about
contributing fixes or improvements to Carbon, you'll need to install our
[build dependencies](/docs/project/contribution_tools.md#setup-commands) (Clang,
LLD, libc++) and check out the Carbon repository. For example, on Debian or
Ubuntu:

```shell
# Update apt.
sudo apt update

# Install tools.
sudo apt install \
  clang \
  libc++-dev \
  libc++abi-dev \
  lld

# Download Carbon's code.
$ git clone https://github.com/carbon-language/carbon-lang
$ cd carbon-lang
```

Then you can try out our toolchain which has a very early-stage compiler for
Carbon:

```shell
# Build and run the toolchain's help to get documentation on the command line.
$ ./scripts/run_bazelisk.py run //toolchain -- help
```

For complete instructions, including installing dependencies on various
different platforms, see our
[contribution tools documentation](/docs/project/contribution_tools.md).

Learn more about the Carbon project:

-   [Project goals](/docs/project/goals.md)
-   [Language design overview](/docs/design)
-   [Carbon Toolchain](/toolchain)
-   [FAQ](/docs/project/faq.md)

## Conference talks

Carbon focused talks from the community:

### 2026

-   Benchmarking and optimizing the Carbon compiler, NDC {Toronto} (May 5-8)
-   Carbon: graduating from the experiment, NDC {Toronto} (May 5-8)

### 2025

-   Carbon: from C++ to Memory Safety, REBASE - ICFP/SPLASH
    ([slides](https://chandlerc.blog/slides/2025-rebase-carbon))
-   Memory safety everywhere with both Carbon and Rust, RustConf
    ([video](https://youtu.be/FYLuom6gg_s),
    [slides](https://chandlerc.blog/slides/2025-rustconf-memory-safety-everywhere))

### 2024

-   Generic implementation strategies in Carbon and Clang, LLVM Developers'
    Meeting ([video](https://youtu.be/j0BL52NdjAU),
    [slides](https://chandlerc.blog/slides/2024-llvm-generic-implementation/#/))
-   The Carbon Language: Road to 0.1, NDC {TechTown}
    ([video](https://youtu.be/bBvLmDJrzvI),
    [slides](https://chandlerc.blog/slides/2024-ndc-techtown-carbon-road-to-0-dot-1))
-   How designing Carbon with C++ interop taught me about C++ variadics and
    overloads, CppNorth ([video](https://youtu.be/8SGMy9ENGz8),
    [slides](https://chandlerc.blog/slides/2024-cppnorth-design-stories))
-   Generic Arity: Definition-Checked Variadics in Carbon, C++Now
    ([video](https://youtu.be/Y_px536l_80),
    [slides](https://docs.google.com/presentation/d/10aM1mFMN6Cd5ZkE4OfeiZtSnkVNbo33N-V0et21umww/edit))
-   Carbon: An experiment in different tradeoffs, panel session, EuroLLVM
    ([video](https://youtu.be/Za_KWj5RMR8),
    [slides](https://llvm.org/devmtg/2024-04/slides/LightningTalks/Smith-Carbons-high-level-semanticIR.pdf))
    -   [Alex Bradbury's notes](https://muxup.com/2024q2/notes-from-the-carbon-panel-session-at-eurollvm)
-   Carbon's high-level semantic IR lightning talk, EuroLLVM
    ([video](https://youtu.be/vIWT4RhUcyw))

### 2023

-   Carbon’s Successor Strategy: From C++ interop to memory safety, C++Now
    ([video](https://youtu.be/1ZTJ9omXOQ0),
    [slides](https://chandlerc.blog/slides/2023-cppnow-carbon-strategy/index.html#/))
-   Definition-Checked Generics, C++Now
    -   Part 1 ([video](https://youtu.be/FKC8WACSMP0),
        [slides](https://chandlerc.blog/slides/2023-cppnow-generics-1/#/))
    -   Part 2 ([video](https://youtu.be/VxQ3PwxiSzk),
        [slides](https://chandlerc.blog/slides/2023-cppnow-generics-2/#/))
-   Modernizing Compiler Design for Carbon’s Toolchain, C++Now
    ([video](https://youtu.be/ZI198eFghJk),
    [slides](https://chandlerc.blog/slides/2023-cppnow-compiler/index.html#/))

### 2022

-   Carbon Language: Syntax and trade-offs, Core C++
    ([video](https://youtu.be/9Y2ivB8VaIs),
    [slides](https://docs.google.com/presentation/d/1znvL12xCuEfcsP6tpPdrQPnh-UoPFOLnC_RVXZteYaM/edit))
-   Carbon Language: An experimental successor to C++, CppNorth
    ([video](https://youtu.be/omrY53kbVoA),
    [slides](https://chandlerc.blog/slides/2022-07-19-cppnorth-keynote/#/))

### Other videos

We additionally have [toolchain videos](/toolchain/docs/README.md#videos).

## Join us

We'd love to have folks join us and contribute to the project. Carbon is
committed to a welcoming and inclusive environment where everyone can
contribute.

-   Most of Carbon's design discussions occur on
    [Discord](https://discord.gg/ZjVdShJDAs).
-   To watch for major release announcements, subscribe to our
    [Carbon release post on GitHub](https://github.com/carbon-language/carbon-lang/discussions/1020)
    and [star carbon-lang](https://github.com/carbon-language/carbon-lang).
-   See our [code of conduct](CODE_OF_CONDUCT.md) and
    [contributing guidelines](CONTRIBUTING.md) for information about the Carbon
    development community.

### Contributing

You can also directly:

-   [Contribute to the language design](CONTRIBUTING.md#contributing-to-the-language-design):
    feedback on design, new design proposal
-   [Contribute to the language implementation](CONTRIBUTING.md#contributing-to-the-language-implementation)
    -   [Carbon Toolchain](/toolchain/), and project infrastructure

You can **check out some
["good first issues"](https://github.com/carbon-language/carbon-lang/labels/good%20first%20issue)**,
or join the `#contributing-help` channel on
[Discord](https://discord.gg/ZjVdShJDAs). See our full
[`CONTRIBUTING`](CONTRIBUTING.md) documentation for more details.


================================================
FILE: SECURITY.md
================================================
# Security policy

<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

It's important to us that the Carbon Language provides a secure implementation.
Thank you for taking the time to report vulnerabilities.

The Carbon Language is still an
[experimental project](/README.md#project-status), so please be careful if using
it in security-sensitive environments.

## Reporting a vulnerability

Please use
<https://github.com/carbon-language/carbon-lang/security/advisories/new> to
report security vulnerabilities.

We use GitHub's vulnerability reporting for intake. We will respond to reports
within two weeks. For valid issues we will coordinate and disclose on GitHub.

If you haven't received a response, a couple steps to take are (in order):

1.  Contact individuals directly:
    -   [Chandler Carruth](mailto:chandlerc@gmail.com)
    -   [Richard Smith](mailto:richard@metafoo.co.uk)
    -   [Jon Ross-Perkins](mailto:jperkins@google.com)
2.  Reach out on
    [#infra](https://discord.com/channels/655572317891461132/707150492370862090)
    on Discord ([invite](https://discord.gg/ZjVdShJDAs))
    -   This is a public forum, so say you're asking for a security contact
        rather than talking about the security issue directly.


================================================
FILE: bazel/carbon_rules/BUILD
================================================
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")

package(default_visibility = ["//visibility:public"])

# Flag controlling whether the target config is used for the `carbon_*` Bazel
# rules. The default is to use the exec config as that is more correct in cases
# where the target config is not compatible with the exec (cross compiling), and
# for library users of Carbon likely the most efficient as it will provide an
# optimized toolchain.
#
# However, for building the Carbon project itself, this will roughly 
Download .txt
Showing preview only (238K chars total). Download the full file or copy to clipboard to get everything.
gitextract_q3vemk7y/

├── .agents/
│   └── skills/
│       ├── code_style/
│       │   └── SKILL.md
│       ├── summarize_testdata_changes/
│       │   ├── SKILL.md
│       │   └── scripts/
│       │       └── parse_diff.py
│       ├── tool_usage/
│       │   └── SKILL.md
│       └── toolchain_development/
│           └── SKILL.md
├── .bazelignore
├── .bazelrc
├── .bazelversion
├── .clang-format
├── .clang-tidy
├── .clangd
├── .codespell_ignore
├── .gdbinit
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── 01_toolchain_bug.yml
│   │   ├── 02_documentation_bug.yml
│   │   ├── 03_leads_question.yml
│   │   └── config.yml
│   ├── actions/
│   │   ├── build-setup-common/
│   │   │   └── action.yml
│   │   ├── build-setup-macos/
│   │   │   └── action.yml
│   │   ├── build-setup-ubuntu/
│   │   │   └── action.yml
│   │   └── test-setup/
│   │       └── action.yml
│   ├── pull_request_template.md
│   ├── release.yaml
│   └── workflows/
│       ├── README.md
│       ├── auto_label_prs.yaml
│       ├── clangd_tidy.yaml
│       ├── discord_wiki.yaml
│       ├── gh_pages_ci.yaml
│       ├── gh_pages_deploy.yaml
│       ├── nightly_release.yaml
│       ├── pre_commit.yaml
│       ├── pre_commit_suggestions.yaml
│       ├── proposal_labeled.yaml
│       ├── proposal_ready.yaml
│       ├── sync_repos.yaml
│       ├── tests.yaml
│       └── triage_inactive.yaml
├── .gitignore
├── .lldbinit
├── .pre-commit-config.yaml
├── .prettierrc.yaml
├── .python-version
├── .vscode/
│   ├── extensions.json
│   ├── gdb_launch.json
│   ├── lldb_launch.json
│   └── tasks.json
├── BUILD
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── GEMINI.md
├── LICENSE
├── MODULE.bazel
├── README.md
├── SECURITY.md
├── bazel/
│   ├── carbon_rules/
│   │   ├── BUILD
│   │   └── defs.bzl
│   ├── cc_rules/
│   │   ├── BUILD
│   │   └── defs.bzl
│   ├── cc_toolchains/
│   │   ├── BUILD
│   │   ├── cc_toolchain_actions.bzl
│   │   ├── cc_toolchain_base_features.bzl
│   │   ├── cc_toolchain_carbon_project_features.bzl
│   │   ├── cc_toolchain_config_features.bzl
│   │   ├── cc_toolchain_cpp_features.bzl
│   │   ├── cc_toolchain_debugging.bzl
│   │   ├── cc_toolchain_features.bzl
│   │   ├── cc_toolchain_linking.bzl
│   │   ├── cc_toolchain_modules.bzl
│   │   ├── cc_toolchain_optimization.bzl
│   │   ├── cc_toolchain_sanitizer_features.bzl
│   │   ├── cc_toolchain_tools.bzl
│   │   ├── clang_cc_toolchain_config.bzl
│   │   ├── clang_configuration.bzl
│   │   ├── clang_detected_variables.tpl.bzl
│   │   ├── clang_toolchain.BUILD
│   │   └── defs.bzl
│   ├── check_deps/
│   │   ├── BUILD
│   │   ├── check_non_test_cc_deps.py
│   │   └── update_roots.py
│   ├── llvm_project/
│   │   ├── 0001_Patch_for_mallinfo2_when_using_Bazel_build_system.patch
│   │   ├── 0002_Added_Bazel_build_for_compiler_rt_fuzzer.patch
│   │   ├── 0004_Introduce_basic_sources_exporting_for_libunwind.patch
│   │   ├── 0005_Introduce_basic_sources_exporting_for_libcxx_and_libcxxabi.patch
│   │   ├── 0009_Introduce_starlark_exporting_compiler-rt_build_information.patch
│   │   ├── BUILD
│   │   └── llvm_project.bzl
│   ├── malloc/
│   │   └── BUILD
│   ├── manifest/
│   │   ├── BUILD
│   │   └── defs.bzl
│   └── version/
│       ├── BUILD
│       ├── compute_version.bzl
│       ├── gen_tmpl.py
│       └── rules.bzl
├── common/
│   ├── BUILD
│   ├── all_llvm_targets.cpp
│   ├── array_stack.h
│   ├── array_stack_test.cpp
│   ├── bazel_working_dir.h
│   ├── build_data.cpp
│   ├── build_data.h
│   ├── build_data_linkstamp.cpp
│   ├── build_data_linkstamp.h
│   ├── build_data_test.cpp
│   ├── check.h
│   ├── check_internal.cpp
│   ├── check_internal.h
│   ├── check_test.cpp
│   ├── command_line.cpp
│   ├── command_line.h
│   ├── command_line_test.cpp
│   ├── concepts.h
│   ├── emplace_by_calling.h
│   ├── emplace_by_calling_test.cpp
│   ├── enum_base.h
│   ├── enum_base_test.cpp
│   ├── enum_base_test.def
│   ├── enum_mask_base.h
│   ├── enum_mask_base_test.cpp
│   ├── error.h
│   ├── error_test.cpp
│   ├── error_test_helpers.h
│   ├── exe_path.cpp
│   ├── exe_path.h
│   ├── exe_path_test.cpp
│   ├── filesystem.cpp
│   ├── filesystem.h
│   ├── filesystem_benchmark.cpp
│   ├── filesystem_test.cpp
│   ├── find.h
│   ├── find_test.cpp
│   ├── growing_range.h
│   ├── growing_range_test.cpp
│   ├── hashing.cpp
│   ├── hashing.h
│   ├── hashing_benchmark.cpp
│   ├── hashing_test.cpp
│   ├── hashtable_key_context.h
│   ├── hashtable_key_context_test.cpp
│   ├── init_llvm.cpp
│   ├── init_llvm.h
│   ├── latch.cpp
│   ├── latch.h
│   ├── latch_test.cpp
│   ├── map.h
│   ├── map_benchmark.cpp
│   ├── map_test.cpp
│   ├── move_only.h
│   ├── ostream.h
│   ├── pretty_stack_trace_function.h
│   ├── raw_hashtable.cpp
│   ├── raw_hashtable.h
│   ├── raw_hashtable_benchmark_helpers.cpp
│   ├── raw_hashtable_benchmark_helpers.h
│   ├── raw_hashtable_metadata_group.cpp
│   ├── raw_hashtable_metadata_group.h
│   ├── raw_hashtable_metadata_group_benchmark.cpp
│   ├── raw_hashtable_test_helpers.h
│   ├── raw_string_ostream.h
│   ├── raw_string_ostream_test.cpp
│   ├── set.h
│   ├── set_benchmark.cpp
│   ├── set_test.cpp
│   ├── string_helpers.cpp
│   ├── string_helpers.h
│   ├── string_helpers_test.cpp
│   ├── struct_reflection.h
│   ├── struct_reflection_test.cpp
│   ├── template_string.h
│   ├── template_string_test.cpp
│   ├── type_enum.h
│   ├── version.h
│   ├── version.tmpl.cpp
│   ├── version_stamp.tmpl.cpp
│   ├── vlog.h
│   └── vlog_test.cpp
├── core/
│   ├── BUILD
│   ├── io.carbon
│   ├── prelude/
│   │   ├── copy.carbon
│   │   ├── default.carbon
│   │   ├── destroy.carbon
│   │   ├── iterate.carbon
│   │   ├── operators/
│   │   │   ├── arithmetic.carbon
│   │   │   ├── as.carbon
│   │   │   ├── bitwise.carbon
│   │   │   ├── comparison.carbon
│   │   │   ├── deref.carbon
│   │   │   └── index.carbon
│   │   ├── operators.carbon
│   │   ├── types/
│   │   │   ├── bool.carbon
│   │   │   ├── char.carbon
│   │   │   ├── cpp/
│   │   │   │   ├── int.carbon
│   │   │   │   ├── nullptr.carbon
│   │   │   │   └── void.carbon
│   │   │   ├── float.carbon
│   │   │   ├── float_literal.carbon
│   │   │   ├── form.carbon
│   │   │   ├── int.carbon
│   │   │   ├── int_literal.carbon
│   │   │   ├── maybe_unformed.carbon
│   │   │   ├── optional.carbon
│   │   │   ├── string.carbon
│   │   │   └── uint.carbon
│   │   └── types.carbon
│   ├── prelude.carbon
│   └── range.carbon
├── docs/
│   ├── README.md
│   ├── design/
│   │   ├── README.md
│   │   ├── aliases.md
│   │   ├── assignment.md
│   │   ├── blocks_and_statements.md
│   │   ├── classes.md
│   │   ├── code_and_name_organization/
│   │   │   ├── README.md
│   │   │   └── source_files.md
│   │   ├── control_flow/
│   │   │   ├── README.md
│   │   │   ├── conditionals.md
│   │   │   ├── loops.md
│   │   │   └── return.md
│   │   ├── declaring_entities.md
│   │   ├── expressions/
│   │   │   ├── README.md
│   │   │   ├── arithmetic.md
│   │   │   ├── as_expressions.md
│   │   │   ├── bitwise.md
│   │   │   ├── comparison_operators.md
│   │   │   ├── if.md
│   │   │   ├── implicit_conversions.md
│   │   │   ├── indexing.md
│   │   │   ├── literals.md
│   │   │   ├── logical_operators.md
│   │   │   ├── member_access.md
│   │   │   ├── pointer_operators.md
│   │   │   └── type_operators.md
│   │   ├── functions.md
│   │   ├── generics/
│   │   │   ├── README.md
│   │   │   ├── appendix-coherence.md
│   │   │   ├── appendix-rewrite-constraints.md
│   │   │   ├── appendix-witness.md
│   │   │   ├── details.md
│   │   │   ├── goals.md
│   │   │   ├── overview.md
│   │   │   └── terminology.md
│   │   ├── interoperability/
│   │   │   ├── README.md
│   │   │   └── philosophy_and_goals.md
│   │   ├── lambdas.md
│   │   ├── lexical_conventions/
│   │   │   ├── README.md
│   │   │   ├── comments.md
│   │   │   ├── numeric_literals.md
│   │   │   ├── string_literals.md
│   │   │   ├── symbolic_tokens.md
│   │   │   ├── whitespace.md
│   │   │   └── words.md
│   │   ├── metaprogramming.md
│   │   ├── name_lookup.md
│   │   ├── naming_conventions.md
│   │   ├── pattern_matching.md
│   │   ├── safety/
│   │   │   ├── README.md
│   │   │   └── terminology.md
│   │   ├── sum_types.md
│   │   ├── templates.md
│   │   ├── tuples.md
│   │   ├── type_inference.md
│   │   ├── values.md
│   │   └── variadics.md
│   ├── guides/
│   │   ├── README.md
│   │   └── glossary.md
│   ├── images/
│   │   └── snippets.md
│   ├── project/
│   │   ├── README.md
│   │   ├── code_review.md
│   │   ├── commit_access.md
│   │   ├── contribution_tools.md
│   │   ├── cpp_style_guide.md
│   │   ├── design_style_guide.md
│   │   ├── difficulties_improving_cpp.md
│   │   ├── evolution.md
│   │   ├── faq.md
│   │   ├── goals.md
│   │   ├── groups.md
│   │   ├── milestones.md
│   │   ├── moderators.md
│   │   ├── principles/
│   │   │   ├── README.md
│   │   │   ├── error_handling.md
│   │   │   ├── information_accumulation.md
│   │   │   ├── library_apis_only.md
│   │   │   ├── low_context_sensitivity.md
│   │   │   ├── namespace_cleanliness.md
│   │   │   ├── one_way.md
│   │   │   ├── progressive_disclosure.md
│   │   │   ├── safety_strategy.md
│   │   │   ├── static_open_extension.md
│   │   │   └── success_criteria.md
│   │   ├── pull_request_workflow.md
│   │   ├── roadmap.md
│   │   ├── roadmap_process.md
│   │   ├── teams/
│   │   │   └── conduct_team.md
│   │   ├── transparency_reports.md
│   │   └── versioning.md
│   └── spec/
│       ├── README.md
│       ├── lang/
│       │   ├── README.md
│       │   ├── execution.md
│       │   ├── lex.md
│       │   ├── libs.md
│       │   ├── names.md
│       │   ├── parsing.md
│       │   └── semantics.md
│       └── lib/
│           └── README.md
├── examples/
│   ├── BUILD
│   ├── advent2024/
│   │   ├── BUILD
│   │   ├── README.md
│   │   ├── day10_common.carbon
│   │   ├── day10_part1.carbon
│   │   ├── day10_part2.carbon
│   │   ├── day11_common.carbon
│   │   ├── day11_part1.carbon
│   │   ├── day11_part2.carbon
│   │   ├── day12_common.carbon
│   │   ├── day12_part1.carbon
│   │   ├── day12_part2.carbon
│   │   ├── day13_common.carbon
│   │   ├── day13_part1.carbon
│   │   ├── day13_part2.carbon
│   │   ├── day14_common.carbon
│   │   ├── day14_part1.carbon
│   │   ├── day14_part2.carbon
│   │   ├── day15_common.carbon
│   │   ├── day15_part1.carbon
│   │   ├── day1_common.carbon
│   │   ├── day1_part1.carbon
│   │   ├── day1_part2.carbon
│   │   ├── day2_common.carbon
│   │   ├── day2_part1.carbon
│   │   ├── day2_part2.carbon
│   │   ├── day3_common.carbon
│   │   ├── day3_part1.carbon
│   │   ├── day3_part2.carbon
│   │   ├── day4_common.carbon
│   │   ├── day4_part1.carbon
│   │   ├── day4_part2.carbon
│   │   ├── day5_common.carbon
│   │   ├── day5_part1.carbon
│   │   ├── day5_part2.carbon
│   │   ├── day6_common.carbon
│   │   ├── day6_part1.carbon
│   │   ├── day6_part2.carbon
│   │   ├── day7_common.carbon
│   │   ├── day7_part1.carbon
│   │   ├── day7_part2.carbon
│   │   ├── day8_common.carbon
│   │   ├── day8_part1.carbon
│   │   ├── day8_part2.carbon
│   │   ├── day9_common.carbon
│   │   ├── day9_part1.carbon
│   │   ├── day9_part2.carbon
│   │   ├── io_utils.carbon
│   │   └── sort.carbon
│   ├── bazel/
│   │   ├── BUILD
│   │   ├── MODULE.bazel
│   │   ├── example.cpp
│   │   ├── example_lib.cpp
│   │   ├── example_lib.h
│   │   └── update_module_to_nightly.py
│   ├── bazel_test_runner.py
│   ├── hello_world.carbon
│   ├── interop/
│   │   └── cpp/
│   │       ├── BUILD
│   │       ├── hello_world.carbon
│   │       └── socket.carbon
│   ├── re2_playground/
│   │   ├── BUILD
│   │   └── re2_playground.carbon
│   └── sieve.carbon
├── github_tools/
│   ├── BUILD
│   ├── MODULE.bazel
│   ├── README.md
│   ├── WORKSPACE
│   ├── __init__.py
│   ├── github_helpers.py
│   ├── github_helpers_test.py
│   ├── pr_comments.py
│   ├── pr_comments_test.py
│   ├── requirements.in
│   └── requirements.txt
├── proposals/
│   ├── README.md
│   ├── __init__.py
│   ├── p0024.md
│   ├── p0029.md
│   ├── p0042.md
│   ├── p0044.md
│   ├── p0051.md
│   ├── p0063.md
│   ├── p0074.md
│   ├── p0083.md
│   ├── p0107.md
│   ├── p0113.md
│   ├── p0120.md
│   ├── p0140.md
│   ├── p0142.md
│   ├── p0143.md
│   ├── p0144.md
│   ├── p0149.md
│   ├── p0157.md
│   ├── p0162.md
│   ├── p0175.md
│   ├── p0179.md
│   ├── p0196.md
│   ├── p0198.md
│   ├── p0199.md
│   ├── p0253.md
│   ├── p0257.md
│   ├── p0285.md
│   ├── p0301.md
│   ├── p0339.md
│   ├── p0340.md
│   ├── p0353.md
│   ├── p0415.md
│   ├── p0426.md
│   ├── p0438.md
│   ├── p0444.md
│   ├── p0447.md
│   ├── p0524.md
│   ├── p0538.md
│   ├── p0540.md
│   ├── p0553.md
│   ├── p0555/
│   │   ├── figures.py
│   │   └── yacc-parser/
│   │       ├── Makefile
│   │       ├── example.l
│   │       └── example.y
│   ├── p0555.md
│   ├── p0561.md
│   ├── p0601.md
│   ├── p0618.md
│   ├── p0623.md
│   ├── p0646.md
│   ├── p0676.md
│   ├── p0680.md
│   ├── p0702.md
│   ├── p0720.md
│   ├── p0722.md
│   ├── p0731.md
│   ├── p0752.md
│   ├── p0777.md
│   ├── p0818/
│   │   └── regular_equivalence_classes.md
│   ├── p0818.md
│   ├── p0820.md
│   ├── p0826.md
│   ├── p0829.md
│   ├── p0845.md
│   ├── p0851.md
│   ├── p0861.md
│   ├── p0866.md
│   ├── p0875.md
│   ├── p0911.md
│   ├── p0920.md
│   ├── p0931.md
│   ├── p0950.md
│   ├── p0981.md
│   ├── p0983.md
│   ├── p0989.md
│   ├── p0990.md
│   ├── p0998.md
│   ├── p1013.md
│   ├── p1025.md
│   ├── p1083.md
│   ├── p1084.md
│   ├── p1088.md
│   ├── p1144.md
│   ├── p1146.md
│   ├── p1154.md
│   ├── p1178.md
│   ├── p1190.md
│   ├── p1191.md
│   ├── p1270.md
│   ├── p1280.md
│   ├── p1327.md
│   ├── p1344.md
│   ├── p1360.md
│   ├── p1363.md
│   ├── p1367.md
│   ├── p1382.md
│   ├── p1885.md
│   ├── p1891.md
│   ├── p1964.md
│   ├── p1983.md
│   ├── p2006.md
│   ├── p2015.md
│   ├── p2022.md
│   ├── p2040.md
│   ├── p2107.md
│   ├── p2138.md
│   ├── p2173.md
│   ├── p2187.md
│   ├── p2188.md
│   ├── p2200.md
│   ├── p2240.md
│   ├── p2274.md
│   ├── p2287.md
│   ├── p2295.md
│   ├── p2347.md
│   ├── p2360.md
│   ├── p2365.md
│   ├── p2376.md
│   ├── p2483.md
│   ├── p2511.md
│   ├── p2550.md
│   ├── p2551.md
│   ├── p2665.md
│   ├── p2687.md
│   ├── p2759.md
│   ├── p2760.md
│   ├── p2868.md
│   ├── p2875.md
│   ├── p2922.md
│   ├── p2964.md
│   ├── p3162.md
│   ├── p3403.md
│   ├── p3407.md
│   ├── p3532.md
│   ├── p3564.md
│   ├── p3646.md
│   ├── p3720.md
│   ├── p3762.md
│   ├── p3763.md
│   ├── p3797.md
│   ├── p3833.md
│   ├── p3848.md
│   ├── p3927.md
│   ├── p3938.md
│   ├── p3980.md
│   ├── p4075.md
│   ├── p4105.md
│   ├── p4246.md
│   ├── p4682.md
│   ├── p4864.md
│   ├── p4880.md
│   ├── p5017.md
│   ├── p5087.md
│   ├── p5164.md
│   ├── p5168.md
│   ├── p5233.md
│   ├── p5270.md
│   ├── p5337.md
│   ├── p5366.md
│   ├── p5434.md
│   ├── p5448.md
│   ├── p5545.md
│   ├── p5606.md
│   ├── p5661.md
│   ├── p5670.md
│   ├── p5689.md
│   ├── p5914.md
│   ├── p6008.md
│   ├── p6177.md
│   ├── p6231.md
│   ├── p6254.md
│   ├── p6333.md
│   ├── p6357.md
│   ├── p6358.md
│   ├── p6395.md
│   ├── p6641.md
│   ├── p6668.md
│   ├── p6676.md
│   ├── p6699.md
│   ├── p6710.md
│   ├── p6716.md
│   ├── p6910.md
│   └── scripts/
│       ├── BUILD
│       ├── README.md
│       ├── __init__.py
│       ├── new_proposal.py
│       ├── new_proposal_test.py
│       └── template.md
├── pyproject.toml
├── scripts/
│   ├── BUILD
│   ├── bazel_mod_deps.py
│   ├── bench_runner.py
│   ├── calculate_release_shas.py
│   ├── check_build_graph.py
│   ├── check_header_guards.py
│   ├── check_sha_filenames.py
│   ├── create_compdb.py
│   ├── deps_for_clangd_tidy.cpp
│   ├── fix_cc_deps.py
│   ├── forbid_llvm_googletest.py
│   ├── lldbinit.py
│   ├── no_op_test.py
│   ├── query_module_versions.py
│   ├── run_bazel.py
│   ├── run_bazelisk.py
│   ├── run_buildifier.py
│   ├── run_buildozer.py
│   ├── scripts_utils.py
│   ├── source_stats.py
│   ├── sync_repos.sh
│   ├── target_determinator.py
│   └── workspace_status.py
├── setup.cfg
├── testing/
│   ├── README.md
│   ├── base/
│   │   ├── BUILD
│   │   ├── benchmark_main.cpp
│   │   ├── capture_std_streams.cpp
│   │   ├── capture_std_streams.h
│   │   ├── file_helpers.cpp
│   │   ├── file_helpers.h
│   │   ├── global_exe_path.cpp
│   │   ├── global_exe_path.h
│   │   ├── global_exe_path_test.cpp
│   │   ├── gtest_main.cpp
│   │   ├── source_gen.cpp
│   │   ├── source_gen.h
│   │   ├── source_gen_main.cpp
│   │   ├── source_gen_test.cpp
│   │   ├── unified_diff_matcher.h
│   │   └── unified_diff_matcher_test.cpp
│   ├── file_test/
│   │   ├── BUILD
│   │   ├── README.md
│   │   ├── autoupdate.cpp
│   │   ├── autoupdate.h
│   │   ├── autoupdate_testdata.sh
│   │   ├── file_test_base.cpp
│   │   ├── file_test_base.h
│   │   ├── file_test_base_test.cpp
│   │   ├── line.h
│   │   ├── manifest.cpp
│   │   ├── manifest.h
│   │   ├── rules.bzl
│   │   ├── run_test.cpp
│   │   ├── run_test.h
│   │   ├── test_file.cpp
│   │   ├── test_file.h
│   │   ├── test_file_test.cpp
│   │   └── testdata/
│   │       ├── alternating_files.carbon
│   │       ├── args.carbon
│   │       ├── autoupdate_split.carbon
│   │       ├── autoupdate_split_standalone.carbon
│   │       ├── capture_console_output.carbon
│   │       ├── escaping.carbon
│   │       ├── example.carbon
│   │       ├── fail_example.carbon
│   │       ├── fail_multi_success_overall_fail.carbon
│   │       ├── file_only_re_multi_file.carbon
│   │       ├── file_only_re_one_file.carbon
│   │       ├── include_args.carbon
│   │       ├── include_args_and_extra_args.carbon
│   │       ├── include_empty.carbon
│   │       ├── include_extra_args.carbon
│   │       ├── include_files/
│   │       │   ├── args.carbon
│   │       │   ├── empty.carbon
│   │       │   ├── extra_args.carbon
│   │       │   ├── no_split.carbon
│   │       │   ├── recursive.carbon
│   │       │   └── split.carbon
│   │       ├── include_no_split.carbon
│   │       ├── include_recursive.carbon
│   │       ├── include_repeated.carbon
│   │       ├── include_split.carbon
│   │       ├── lsp_autofill.carbon
│   │       ├── lsp_keywords.carbon
│   │       ├── multi_success.carbon
│   │       ├── multi_success_and_fail.carbon
│   │       ├── multiple_file_refs_in_line.carbon
│   │       ├── no_line_number.carbon
│   │       ├── not_split.carbon
│   │       ├── replace_content.carbon
│   │       ├── replace_split_content.carbon
│   │       ├── stdin.carbon
│   │       ├── two_files.carbon
│   │       └── unattached_multi_file.carbon
│   └── fuzzing/
│       ├── BUILD
│       ├── libfuzzer.h
│       └── rules.bzl
├── third_party/
│   ├── README.md
│   ├── examples/
│   │   ├── README.md
│   │   └── re2/
│   │       ├── LICENSE
│   │       └── re2.carbon
│   └── llvm/
│       ├── BUILD
│       ├── README.md
│       ├── clang_cc1.cpp
│       └── clang_cc1.h
├── toolchain/
│   ├── BUILD
│   ├── README.md
│   ├── autoupdate_testdata.py
│   ├── base/
│   │   ├── BUILD
│   │   ├── block_value_store.h
│   │   ├── canonical_value_store.h
│   │   ├── canonical_value_store_test.cpp
│   │   ├── clang_invocation.cpp
│   │   ├── clang_invocation.h
│   │   ├── fixed_size_value_store.h
│   │   ├── for_each_macro.h
│   │   ├── id_tag.h
│   │   ├── index_base.h
│   │   ├── install_paths.cpp
│   │   ├── install_paths.h
│   │   ├── install_paths_test.cpp
│   │   ├── install_paths_test_helpers.cpp
│   │   ├── install_paths_test_helpers.h
│   │   ├── int.cpp
│   │   ├── int.h
│   │   ├── int_test.cpp
│   │   ├── kind_switch.h
│   │   ├── kind_switch_test.cpp
│   │   ├── llvm_tools.bzl
│   │   ├── llvm_tools.cpp
│   │   ├── llvm_tools.h
│   │   ├── mem_usage.h
│   │   ├── relational_value_store.h
│   │   ├── runtimes_build_info.bzl
│   │   ├── runtimes_build_info.tpl.h
│   │   ├── runtimes_build_vars.tpl.bzl
│   │   ├── shared_value_stores.h
│   │   ├── shared_value_stores_test.cpp
│   │   ├── test_binary.cpp
│   │   ├── timings.h
│   │   ├── value_ids.h
│   │   ├── value_store.h
│   │   ├── value_store_test.cpp
│   │   ├── value_store_types.h
│   │   └── yaml.h
│   ├── check/
│   │   ├── BUILD
│   │   ├── action.cpp
│   │   ├── action.h
│   │   ├── call.cpp
│   │   ├── call.h
│   │   ├── check.cpp
│   │   ├── check.h
│   │   ├── check_fuzzer.cpp
│   │   ├── check_unit.cpp
│   │   ├── check_unit.h
│   │   ├── class.cpp
│   │   ├── class.h
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── control_flow.cpp
│   │   ├── control_flow.h
│   │   ├── convert.cpp
│   │   ├── convert.h
│   │   ├── core_identifier.cpp
│   │   ├── core_identifier.def
│   │   ├── core_identifier.h
│   │   ├── cpp/
│   │   │   ├── access.cpp
│   │   │   ├── access.h
│   │   │   ├── call.cpp
│   │   │   ├── call.h
│   │   │   ├── constant.cpp
│   │   │   ├── constant.h
│   │   │   ├── context.cpp
│   │   │   ├── context.h
│   │   │   ├── custom_type_mapping.cpp
│   │   │   ├── custom_type_mapping.h
│   │   │   ├── generate_ast.cpp
│   │   │   ├── generate_ast.h
│   │   │   ├── impl_lookup.cpp
│   │   │   ├── impl_lookup.h
│   │   │   ├── import.cpp
│   │   │   ├── import.h
│   │   │   ├── location.cpp
│   │   │   ├── location.h
│   │   │   ├── macros.cpp
│   │   │   ├── macros.h
│   │   │   ├── operators.cpp
│   │   │   ├── operators.h
│   │   │   ├── overload_resolution.cpp
│   │   │   ├── overload_resolution.h
│   │   │   ├── thunk.cpp
│   │   │   ├── thunk.h
│   │   │   ├── type_mapping.cpp
│   │   │   └── type_mapping.h
│   │   ├── custom_witness.cpp
│   │   ├── custom_witness.h
│   │   ├── decl_introducer_state.h
│   │   ├── decl_name_stack.cpp
│   │   ├── decl_name_stack.h
│   │   ├── deduce.cpp
│   │   ├── deduce.h
│   │   ├── deferred_definition_worklist.cpp
│   │   ├── deferred_definition_worklist.h
│   │   ├── diagnostic_emitter.cpp
│   │   ├── diagnostic_emitter.h
│   │   ├── diagnostic_helpers.h
│   │   ├── dump.cpp
│   │   ├── eval.cpp
│   │   ├── eval.h
│   │   ├── eval_inst.cpp
│   │   ├── eval_inst.h
│   │   ├── facet_type.cpp
│   │   ├── facet_type.h
│   │   ├── full_pattern_stack.h
│   │   ├── function.cpp
│   │   ├── function.h
│   │   ├── fuzzer_corpus/
│   │   │   ├── 008cb7b685ac13c051abc8e778bb56c6be8c920d
│   │   │   ├── 016a8df42375f098eaf2bda8fa7ed1cdd322e51d
│   │   │   ├── 01b6283c2544cf135b8c219478e5b0f8da2325ed
│   │   │   ├── 02163cf92aea19e124c4a5838dae8f0ed340fbfa
│   │   │   ├── 0234ac9a0b945c8a32fc87ee33f9a6d8f9933019
│   │   │   ├── 023877f085e3eedd9a0f13951f04859de07944e9
│   │   │   ├── 0272d8c7b9a7495efe6a19e9e814ecbe55823213
│   │   │   ├── 03a61af13df6ab601a52a1784995ad7b84d04555
│   │   │   ├── 03f031da904f8bb48412e82acaa77957fde2445b
│   │   │   ├── 0444b366b646a800d860d362876dec36afb41e42
│   │   │   ├── 048e2bfcc725778f118b704acf2679b712bc6ded
│   │   │   ├── 068ac29021d30e21dc976177ae56f68096da6740
│   │   │   ├── 06c71952ad52d77790a1a5eb631eaa0759800fec
│   │   │   ├── 078ec0d032fa51fabffef18fc82712e9536b013e
│   │   │   ├── 07b0e6716d0adf617012146642d9cba39b9b006b
│   │   │   ├── 081d7c4effd1e9cc6129090e3c831e1af2633e62
│   │   │   ├── 0831e49d5a00cd7ae6512b7cd8f782c1ed305fa5
│   │   │   ├── 083cd63392060ddfbc062ce0ba14a7ac89441a1f
│   │   │   ├── 0900a9afaef22b798df75b576e8096343a98903a
│   │   │   ├── 09762ec95a5e7e5a232b735f95e808da510678fd
│   │   │   ├── 0c1db2e8ec3df9d6adf52c88ba67333e2059da97
│   │   │   ├── 0ce1b0382ddf1eaf0a21e39a1932936edd0c7b63
│   │   │   ├── 0d824e8e58e5a28b74bfde959ca83df292a33702
│   │   │   ├── 0d9b1f8863ca4b08680e246aeb58b12737afc902
│   │   │   ├── 0dc65251b81300d504287a2f7be97054bd22d386
│   │   │   ├── 0fc717e2905c26bce32a4591acdd0f46859765a2
│   │   │   ├── 10204d82b32ad9dc256b595048de9efabd93067f
│   │   │   ├── 11253cbc5df4b6b891cc68ac943599555d3e30dc
│   │   │   ├── 12b56f338f82115bc9733846f50bc5863ca3fd9c
│   │   │   ├── 12c9b3f16c56bbb271111f4bdc8a2401dab16154
│   │   │   ├── 138a0e4547e111ad5cc545e9b19a1e430348636b
│   │   │   ├── 13f9d954261112e0d9131eb97327515395550d00
│   │   │   ├── 1551a409e456b8102c5b44313303aad008b2a06d
│   │   │   ├── 155ec88a933f5a3ae411ee810eb89f5631bff2d5
│   │   │   ├── 15a7fdcf1eda6e722c03d2cccbc93ddf75681128
│   │   │   ├── 162348262c5e2797cf53a49adec2c1df056268d2
│   │   │   ├── 16fb4fcee5f2fbd4b5b4e65358ab00e800f67db9
│   │   │   ├── 17261c3182bd1de4382f0d3fef3917a949c36e32
│   │   │   ├── 17dc6eb1bbb8fd9671f46aa63924cf1a76837a2c
│   │   │   ├── 184c236354c35072383945d9e6bdf0c005b5d20e
│   │   │   ├── 18909d083c5867fc03a952211bd61ca688bb908e
│   │   │   ├── 1986b4fb3bc5c60ad5f4faa1b8003beb70a7ece8
│   │   │   ├── 1a5c8022aeb946ee3551e569dad4ed36cdbcd44f
│   │   │   ├── 1afe54e48b1e5bcdd7c8949513e0b2a3fbde1a65
│   │   │   ├── 1b85cf86024d9fcfe011f6998861b289aac97e60
│   │   │   ├── 1baac08b0dfe6bf0b1157757b14ad4a389ba4693
│   │   │   ├── 1be679f324846aca4379ea4939981410425b287f
│   │   │   ├── 1c56a65ba702fd27f5a72caf9c5e9170312db350
│   │   │   ├── 1c7eed351b92a87b8fd0c60d58e1916f3ae242d6
│   │   │   ├── 1d35c2bfb3606a1875a7d9218edc05b242cc75aa
│   │   │   ├── 1e1c015742738ddadeecb98baeb2988e9debfb6f
│   │   │   ├── 1e55c67e9a55008a70df08daf7964b04102f5dd7
│   │   │   ├── 1f6409865ff8ddad8bc5771a00d12932a67fb7dd
│   │   │   ├── 20e03ea11ed959b8d8c2815133dbf0b31e2164c2
│   │   │   ├── 2106211513dcb519a34bb65957c8fd0c85f75b16
│   │   │   ├── 219513dc72d769293ba33b019ebd2282b7833404
│   │   │   ├── 2268ee6ebd54f257f7fe853a15c6ef7785108cea
│   │   │   ├── 228ce64e3803e722ecf32dc43b499d6726756daf
│   │   │   ├── 2335a5e08cccb3045cf4b8bc8e68feb442d2324f
│   │   │   ├── 236e8e31b5787b58b23bb57e00b101f89e8535b0
│   │   │   ├── 2379517a82b1d7db9c20bb4922230d42bbffa68a
│   │   │   ├── 2394164e5f5c1d546a3da770f5b6e05994f3a30f
│   │   │   ├── 241b6bbd6226547b2428d4a5cb71fed63597659d
│   │   │   ├── 24a8948753be6ae079a443e207af49e88785fc27
│   │   │   ├── 24f96b44faf9d816c26ec36acd1f5c4562d0f1e9
│   │   │   ├── 2689f156236c25d70a265b1261f8bea8cfef527f
│   │   │   ├── 283a045fd6c041aa47df273da411d601e7dada48
│   │   │   ├── 291711a108e2ed04586d978f1ac4a730277ffbb8
│   │   │   ├── 2a9df05598f94d7fefa11dd1451237e8c7b99f60
│   │   │   ├── 2b504c78bc414daf63ba4618ebbd36bd92004d6e
│   │   │   ├── 2c05dbcf73a57af47793888b03384cdd43d5c594
│   │   │   ├── 2d316de15bbe6edbbbeb3bc65e9350a7b53e0abe
│   │   │   ├── 2df8a8f5865c0e813ed26a874c2ea0daf7421086
│   │   │   ├── 2e02f9befd32eac2983de14b6ac8cf6cef960b4c
│   │   │   ├── 2e05abea6fd46fc2b5315dca60d3b56e5b407fd4
│   │   │   ├── 2e1aea3071937c4307dd48ebb2b1df3bc9e8716f
│   │   │   ├── 300e45006b32eec72e90d33d3cd6685680448957
│   │   │   ├── 301dc6263f2a34b4630aa88e940f42acf020f160
│   │   │   ├── 3037fd1afeda607e889fe3e73fb1088d13c9f8bf
│   │   │   ├── 306f80d197d3d627368e752f1ad6aa42d2e89aa6
│   │   │   ├── 3082cf2a6045d00b6e81d3ae14a3a3d56314b988
│   │   │   ├── 310b6d61f64901b21169432ef6bbc13a2b602376
│   │   │   ├── 3116bbbb3bae537a09e62f5c8331a431d6c56b1e
│   │   │   ├── 3119cacb5f47007660225c4a63a934eff83091a2
│   │   │   ├── 317bdb0ba661c19d4be7dc1a9e0eb74529c80bba
│   │   │   ├── 31e5d9b3712744f0659429e330ba44958eadce7c
│   │   │   ├── 3292cacd15031b51dcfdd4d623e0ef30c66eb86b
│   │   │   ├── 32ffc355b444c61ccd2d80ca466aa47b4f5b4d4b
│   │   │   ├── 33358007d39274e780a256e497695c3fe46f1029
│   │   │   ├── 3476b8646b5b6b64fba9ab4b662850eff9312d41
│   │   │   ├── 358f451f412939d0e0863704128cbc4756839499
│   │   │   ├── 37934fb6e5e6d857d3227ea76872ce6a3bc4d630
│   │   │   ├── 37b6c00cc00d3ea562a9a67d365b1617be17cda4
│   │   │   ├── 396c9121839a9d9866282f987fb283fa86556474
│   │   │   ├── 3a414cdb79537ba6113eebe683a258098caebe9c
│   │   │   ├── 3abd6729fc8141ee2cf270432da6cfe0bc85c3b6
│   │   │   ├── 3ade1694dc4a9b14c34f03ad62b68872d22dee82
│   │   │   ├── 3c57cd00b20c65032e36beeae83dbc34da90d96a
│   │   │   ├── 3cf84352b479800d6fc3cf96f8493945c2211b0f
│   │   │   ├── 3d3543e880e8d01a5f3de62c8e5137fb6cddf741
│   │   │   ├── 3e2b7a2777680a17f8ee4fdc72e6e2eeccb06bbe
│   │   │   ├── 41de2a58a6891d68e779f2017ef063decc946cd4
│   │   │   ├── 423c611625411a3e7e1a514f78b3f56d4482852f
│   │   │   ├── 4250d5daad936e112c495fba82c027d68b64d5af
│   │   │   ├── 43403b1e7abd01b7c671e6defefd7531f5c6702e
│   │   │   ├── 4340b66cecbff7df2c6932cb03440a29e55bdfd3
│   │   │   ├── 4455db071205f7d5bdb9fc2fae623c64067b42d7
│   │   │   ├── 47afc3df9dd4fcdebc2c8a1ef7b0dc87435dc016
│   │   │   ├── 483ceff680765b8a2c582e18111fe71a754e1844
│   │   │   ├── 48b15c4b985c9b46b8e95e3c822ad1f65108ae39
│   │   │   ├── 48f161ebf1c515fbc92fc959814c40d6394b5360
│   │   │   ├── 498eecf3c6bcc6332b955ae5c2260a5451e73add
│   │   │   ├── 4a035921222f3bc29547b41d7ba8b6da0d6d1918
│   │   │   ├── 4a2b48d7a92dd98fe609be64224be82772f55d0b
│   │   │   ├── 4a53102a9f8003845552337ac998169e11d09d50
│   │   │   ├── 4ab72b4e37f3135ed58cbad67238c92072799757
│   │   │   ├── 4be506d3d29dbde616deda5b966e460b702d8078
│   │   │   ├── 4c74c032df7c917af8e4bc833b777bb2bec80211
│   │   │   ├── 4ce8273ccba8f2b4cf0d8b721bf35b100e19e0b2
│   │   │   ├── 4d2449569a2536b234828155b7449ee755d60a1c
│   │   │   ├── 4dd5200e6960e3538c180263762afa41dafd9e85
│   │   │   ├── 4f3bfc326a24c79bc61dd3f657879de3c4c92393
│   │   │   ├── 50fa09b0616f12e3550c8d8db69371cc2909a299
│   │   │   ├── 51be544495cddd6b63fa15569d1f9c15da88d404
│   │   │   ├── 52aef5e56788c511815ca05612341c56cf96bc7c
│   │   │   ├── 547ffea2b538ce83c02ff5e112290b3c72f944dc
│   │   │   ├── 54887e4d15dfaada3929936e0a970b82c1dfb62e
│   │   │   ├── 54dab9151ed3293f3aec67e58aa20e26aa632a98
│   │   │   ├── 54e697b7fd97a4ca280483aac15d69a1fe995994
│   │   │   ├── 55bafb0b85e56d740867aa2eced4270cee6022ec
│   │   │   ├── 55cffdb200c153f12a0b584d8f24754b6a5cdbca
│   │   │   ├── 56aa3535abaf9c5df81b685d1eb0a71f5d80f43c
│   │   │   ├── 5730670e62da8cb89476867288e21c654dcde6e5
│   │   │   ├── 5aa8d527e2f0f75c4013ddde704d0f7f6afa4ad5
│   │   │   ├── 5b0309128112c0a5ac3a2ffcd03a66d062224d48
│   │   │   ├── 5b19e864b0b73fde9f4ec0903239424fb6c036ca
│   │   │   ├── 5b3a56d8084b2c87582aa9cb7f0ff56cfde0f0b5
│   │   │   ├── 5bbdca0e72629685bfc1132d00e114960b2fcb82
│   │   │   ├── 5bd0c3c2901ec5b0052a7a9a76eb84cb611d1c42
│   │   │   ├── 5d0c180874af1a76aaa137f32b3eecedb408ceef
│   │   │   ├── 5d8390990020b1a44590ce1b13c484d1075dc50f
│   │   │   ├── 5da086526436d984a0e8b01ca482b178852084e5
│   │   │   ├── 5dce231f6950396fe0965788b6d8f24cf033b4b4
│   │   │   ├── 5e45e4e1b479e4388e38277605992ce44cea1e57
│   │   │   ├── 5e968b8fb1b7fa51cea34638d04c2b0c75b3c92f
│   │   │   ├── 5f89b222e699d47c8a41bb74abebc81f76578cf0
│   │   │   ├── 5f954e8ee1ace4e6a57d4defefc7d87c30deadbe
│   │   │   ├── 6003b3dcd82396edba816e537507a435839fe1f8
│   │   │   ├── 616631daa1b2f3fb44b606c331569f490f341778
│   │   │   ├── 631701015ee748a5c3d22fe34412f7b00c32a4af
│   │   │   ├── 6485f068351f2f9eb9124bc4032d5fdad43fc611
│   │   │   ├── 64cabff382c905a7598bdb67fdc450e7d675a22e
│   │   │   ├── 64d95aad6787b2388d89783f9f19de16ad3bf546
│   │   │   ├── 66400bd8514c00f6cf25eff62d2e48445f57182c
│   │   │   ├── 6771c2bd2677e585863903ea55026479ccd17870
│   │   │   ├── 67aaf0d5127285b5bc7f230c34abeb2f046cc18c
│   │   │   ├── 68adfc912ab9c22031735ea064b9abfb759e860b
│   │   │   ├── 68aebf293bd4ae573c514613325fcf490c8d98c4
│   │   │   ├── 69ae9f5b1bed179e5cccdfb4f7351a3fa7825d46
│   │   │   ├── 69bab187ee3bed045d1af0a1325d5daabbfebcb7
│   │   │   ├── 6b59783e9131166ae1396039351b8920c1532eda
│   │   │   ├── 6bcc2a0c19cfffb661acb141bc57e351b31fe545
│   │   │   ├── 6c0ade4e7511d55f3594435cbab260c61c6eb433
│   │   │   ├── 6c4ef5a1d954eca2c4076a9ab38c85ed546d7d78
│   │   │   ├── 6c7a321e86789ab26b7bdb3e5709364a0d4cd686
│   │   │   ├── 6d8712954da7301cf9eba612efb43217ff2c9c9d
│   │   │   ├── 6d9f91f6f40fb8ddf061ae76c5f2beaefe6c8bee
│   │   │   ├── 6e7b40cf5df2608cac7f3a034875623185812bdc
│   │   │   ├── 6ee7d990d6d84b254f8ff655a2a9061ff87df262
│   │   │   ├── 6f39466681bb52b19ab384450e0bbb67598fd2ce
│   │   │   ├── 6f97d913a4f39bd5e8501dec2cc7bcf87e23e9d0
│   │   │   ├── 70f5b6fb23691d532301ffb58ab24649f6454d8c
│   │   │   ├── 710cfbe95b3fc5a9bb53fce89ef1a0abe2e09e85
│   │   │   ├── 71a53f6b5ecb6b4368eee4224d614609f4ff4d56
│   │   │   ├── 723771f1826c803bbd50afe6e703268a89d6edab
│   │   │   ├── 72a4e959879e3eaffd79dc30af15cb2ada073648
│   │   │   ├── 73235c4067e2da4fc1dbfe403e2354fd0598b639
│   │   │   ├── 7405fcca02b54d584c14af5493adc45467b2fdd9
│   │   │   ├── 7471dc3d8630cf15ed61e384f95aeb80117b3e69
│   │   │   ├── 760ef78e2194d159e3160c5f1ed9c2d14461da19
│   │   │   ├── 78280fde00fc74d5293e1df394c1cf6012277f2c
│   │   │   ├── 79189aed1ece423113c07026aa1d7b2c9f79050c
│   │   │   ├── 79df4004383e0a52581c0b97ce9cf662e0032101
│   │   │   ├── 7a700c8e06316b9d48f34dcbdd6c79c9ca739570
│   │   │   ├── 7b1de3f5a9e1d40dbd7c4b342ec1da84cceb016f
│   │   │   ├── 7c27cb6aeaf045bb89f59207280218ae5712357d
│   │   │   ├── 7c829002e321ac8fbc1b7bcc46f58f3032646bfb
│   │   │   ├── 7ca9fe97a14160b8620cee481aba4f12ef5e239f
│   │   │   ├── 7cc77a9919de591289f6f01b7f3df2d2daa58297
│   │   │   ├── 7f5cf073e6e1bfe73c3256257aa83cffc3456ce5
│   │   │   ├── 80e834464c299e6fa3fed5551d31712d4ae0adc2
│   │   │   ├── 8232c8a2839a7671df6947987108ae25e6027767
│   │   │   ├── 82431aad891633c384f8e3dc8af548420cfc207a
│   │   │   ├── 827994a1d2fbe88e785e28ac7fe3dc2d8043e8ad
│   │   │   ├── 8308e1750041583282a6c913cc4e2c4fb9f48353
│   │   │   ├── 83941bf67b0cd2e4d3f7502b2bb40a83889bf78b
│   │   │   ├── 83e710c959e54010bceb9b0aad34ded746b6eb2a
│   │   │   ├── 842268df9223d721e951b5865fb9d9c684129679
│   │   │   ├── 85017c3fdc47972d87932e4089f349f6c324ece9
│   │   │   ├── 85cde7cf9e3e8e282a265f653b60cb0ef60b8b48
│   │   │   ├── 85f4667d9dee7230ec98fd7a1b1c7455a6a4ab5d
│   │   │   ├── 874eddf3ad6e08849a2214088ee525df154883c6
│   │   │   ├── 877257bc5b2b43345bd445518317b709596eac7c
│   │   │   ├── 88031d95585417463e2939d40ff53cc9c8a12221
│   │   │   ├── 89a6c64c03c3683482810e5362c2417be45ed07c
│   │   │   ├── 89af2ff0da3a9c42a04a7b2b3bbc05755060273d
│   │   │   ├── 89fab5bae29d8a674f37cce24cbedeff198cfb5d
│   │   │   ├── 8aed12f4aa27c3ac5d1b3703d202428777fe983b
│   │   │   ├── 8cbe098387a007f60eb4209259915d6d85532fa5
│   │   │   ├── 8e0b56d89ffc8caa0feaf38b36642aea4c1be601
│   │   │   ├── 8f27934a9f00dec469d67e7336b7d8f52ec4abd6
│   │   │   ├── 8fab0dc50d28280cdeab5def1ae75d70f860a1a7
│   │   │   ├── 90ce2617c868946d7fa04649195ab1ab5fff4b20
│   │   │   ├── 92904c2b09ee456d0d1a2cf3d69dfd26fd190641
│   │   │   ├── 92b290bf1d1d95e5a7e7813af2199781f92b350e
│   │   │   ├── 92b34177d4245d4172436708ba988ac171eb9eb2
│   │   │   ├── 932e6052bd882919514042cc953293cd63659b5e
│   │   │   ├── 94a3ce6126281beaf24a4595ac2f27a2c6e04b2d
│   │   │   ├── 964b65adb9c33d86539ec025f5cf745e1c4e61e1
│   │   │   ├── 96656d19f3e5b82f968f3b4282ba524a814595b3
│   │   │   ├── 968568fe7d320af2e8e6adfc30e3f81dd2f8818e
│   │   │   ├── 9706cab087de61b00158e0ac6d755f1352589bdd
│   │   │   ├── 9745b84a597bf13955fb7d208e94f2795aeb7813
│   │   │   ├── 9787ad2c566323a856a6225b91dbbfbf8e8d3ee8
│   │   │   ├── 979f63c217bbde19dd385c49d577dc3090d54317
│   │   │   ├── 98b45893e4f4c1b0a893d2562df5e8559555f223
│   │   │   ├── 9909b29e2f33447fa30b3b261cc7c672740e1236
│   │   │   ├── 9a3f71755e720ffdafd5d7112321c8796d46fc62
│   │   │   ├── 9af28460c915ac87c79b91ff233959dc031cf3cc
│   │   │   ├── 9bfc6a4a473aa74403e38910c8843a87cbee0dd9
│   │   │   ├── 9cadde2867b9fe7867d7d217139982632f640cc0
│   │   │   ├── 9f27297beea402d07125cf1bb0c7081ceb401bb5
│   │   │   ├── a01f53c98465a54636523de8f520a4a20bdd1403
│   │   │   ├── a091cfa270edff9d7192eeb8f594ea77b09bba3d
│   │   │   ├── a0c798f9f52432ff1f72f8aa1ba9f7830a105f09
│   │   │   ├── a13c6779bdbc457a609f9667267beed711896f6f
│   │   │   ├── a1786976927e1d3184a978427bc5bb1cfa7aefa4
│   │   │   ├── a1bba96a1c0e17301f64b08c70a3df48170bd730
│   │   │   ├── a1f193dcf4589332a9130b6551c1afa7fe79656a
│   │   │   ├── a2cfb003a0e59b4e421af3880c551363b8ff78f0
│   │   │   ├── a2de12dcf9c2df7a3ac23b82f802b3d076e6ad86
│   │   │   ├── a3cfd48c1f4a33aad9d1552ddbe46d44a2436384
│   │   │   ├── a6bf2f116b1e98f7546e9bce3b9d2946d8074aa2
│   │   │   ├── a780174f6f7b59148dbb023be4e3659a92541020
│   │   │   ├── a8a90bb993589759a112cf567143c47be5a89ac4
│   │   │   ├── a8a999063a872e7de8a55734e0f4a198efeeaafb
│   │   │   ├── a93b46ffd68cc67330744e0ed1099a14bdb56b47
│   │   │   ├── a9c4f7786b6b8ba23fa102e8ba2296752120ae84
│   │   │   ├── ab1d10a814f9068e09642a678671d76511342dd4
│   │   │   ├── ab97f0b738451b9e490d7cadaacc8081ae676240
│   │   │   ├── ac4a09688df096b7967d347059fe514b011a0c5e
│   │   │   ├── ad153a95127f656da230d82cdba152a50f871556
│   │   │   ├── aedf34fefa255ebc431491de0b68156a724221ae
│   │   │   ├── afd20d50d83e001bbd7f6db02ca1e2e0a6d1f309
│   │   │   ├── b08132223d41827e2b8cd8f849ffb7ac4af4e993
│   │   │   ├── b0a0c7b28dfac0b65bba3cf74ebd1100adf7c0b7
│   │   │   ├── b0e276497e7036c6b3c90deeff71a055256ed5e3
│   │   │   ├── b1f68671cb99a64e7c35d8453fd1f13759823e49
│   │   │   ├── b3738109fea51776656084b4904eb6161501f39e
│   │   │   ├── b39d93d15f5f9693f621391de119e616687fbfa3
│   │   │   ├── b3e6b065765987b63bb992656e202cd2753d579d
│   │   │   ├── b46338342e410d950a63cae90807b22ad2674468
│   │   │   ├── b4a3cec4308215fd5e3c772c7f3ce019c9c5b026
│   │   │   ├── b4e1923164eed688e64d926007d332b4d9a7bafb
│   │   │   ├── b5025c7140bdccbefb9823d5906815f7aea5f555
│   │   │   ├── b585c712c89adab1146766f73010d48b0a9d9de5
│   │   │   ├── b6b53ceb779903ab3b483786d48390423bbbe797
│   │   │   ├── b8695514d6502d5b1b9e09cc61711898dbe1e486
│   │   │   ├── b9d290495c4dce17305b5d9d29e2ae54c6242b54
│   │   │   ├── ba4fa6565defd5cc4b8921ed0d478be330350658
│   │   │   ├── ba5b59911968d39433b9003d02e3ff4fa7b4b177
│   │   │   ├── bab137edbdcbcf1220dc018b55d49066378523e9
│   │   │   ├── bb0ee9a7c7f604c41cfef744a974c6603df4b0db
│   │   │   ├── bc8de3dd156c3193c1a5209c7023499abe9bbdde
│   │   │   ├── bd4d126e58ef4f15642eeba1d41a830e217a4ad1
│   │   │   ├── bd5f439085bdf3ab0cbe796b3637cf9139fb1914
│   │   │   ├── bee65bde4d7da5558b60a5dacb8a5826486b1df2
│   │   │   ├── bff4337d7117fd0883b58ac02469d740648a8072
│   │   │   ├── c07f23f6980fe961e62413e101aa21f1696e3e41
│   │   │   ├── c294ac41a73adf8be9ed88cbc20458d7fad20f68
│   │   │   ├── c2efeeb24454e0da713af7391d28f6b1f1820d6c
│   │   │   ├── c3c888581796e961aed506d812407f76c99c1659
│   │   │   ├── c42ace6ddd8e547dced2e0ed23181b826788913d
│   │   │   ├── c4d643c7e8081d02c8467600200be7be29d58d8d
│   │   │   ├── c5cd5cb2197a889e003767ff5c0de2040094ac96
│   │   │   ├── c5ec8aaab0717d6b901c8bc42757700a342aaf32
│   │   │   ├── c6812fb07715a0206afeac4ac2275784a158cf63
│   │   │   ├── c855a3994277ba5408dbbadaa49d92b52f2467d2
│   │   │   ├── c86a4df5e4046b6cffb57a8563514e8ea459147a
│   │   │   ├── c8c23b0c0d7655f81ac96fdb089bcb7a82c25950
│   │   │   ├── ca5382377576c400f270660fcce6472e8664deb9
│   │   │   ├── ca69be54b8273f334ab8c7db0ad454c5ff0291c9
│   │   │   ├── cb2c2e620fb2192d723bcecff7a8cadd41775362
│   │   │   ├── cbd23efc1218cbf81ebdcb503cfeaaf6925c29d2
│   │   │   ├── cbe88d560d36df81f2d7ae7910a44e6926d46f7e
│   │   │   ├── cc055d77975b79cf9281d71e00182aaeef7ccf1b
│   │   │   ├── cc2d5a48c731ae4058d884411e7235b2ae4bf829
│   │   │   ├── cc774069d5739d66235983360e14f8740de6d975
│   │   │   ├── ccaf2f7ac19101566bddd7e0b4bcbb5434a38bf4
│   │   │   ├── cd940109a8870955e7eb8e03004304e9dc7fc808
│   │   │   ├── cded9327e7355942a46c8e25c8328275dbef50bf
│   │   │   ├── ce2080f786cedebec8a0147b450b3a9a85365258
│   │   │   ├── cff3eed86965820544d6454ed5d9cf0735a7bf48
│   │   │   ├── d0d95941336a7a4ac3202f363708dbc685900f64
│   │   │   ├── d1ec799a11b9190d5a39b84e45558cba93c31fdd
│   │   │   ├── d2a4af5c22209dd1503f38d0a36d75e9b21a8bd4
│   │   │   ├── d3fc2d9df6573461a1ea20c7997f27dfd9f1ee8f
│   │   │   ├── d533854f44af409027dfc8c1c288f90ebf111192
│   │   │   ├── d5a91fb15ac01afd500538b5679647289146045a
│   │   │   ├── d5af10d2b47f3859bcc15da85fa3d077b942f43a
│   │   │   ├── d5f20d0057317362bc92258e8c06f6b03c2926a4
│   │   │   ├── d60be9abac4bd2cb92b3432b7c10771def0c009e
│   │   │   ├── d698884570f5265a3cd5ab0b822ed28fba467d13
│   │   │   ├── d77e0fdacf1d3d9c711e24c8b088e2da26d98746
│   │   │   ├── d7de67b2375a361719d942f4cf49ea0a9cdf2c45
│   │   │   ├── d81e51e207bd2a4077a15890f337487a93060f7b
│   │   │   ├── d87e64cb8726f55d05773858cbe6979e550c0f5c
│   │   │   ├── d967a050c50d0b75e8f64611560b0f221bd9525f
│   │   │   ├── da795d40354dd38e3d00b82c7790eb4d6c8ec2b5
│   │   │   ├── db5937dfd7d8e43ea817fbcac0b83ad38ccae116
│   │   │   ├── dbd0b78b1bfd4878676ac3d882aee2b797d7af15
│   │   │   ├── dccc5c3818f328ee1fd500f899c37ac0af7b2182
│   │   │   ├── dcde55e2a4e60d6bf3dd574d15a425e30279d53c
│   │   │   ├── dd662568f4fe92a74f53b026f11638725f966e0b
│   │   │   ├── de46bc1199653f93b7db2c1c39e7ca61dfa6b810
│   │   │   ├── e028180f3ba177567c45f5149e96c0313d1b175f
│   │   │   ├── e03df3e0be45ac48d5ad2d59b67b677678a76de6
│   │   │   ├── e0afc6bd74d5718e01a5888df16600e8a4645f63
│   │   │   ├── e2c590fff5cd302d986f3fed578e45fa09836052
│   │   │   ├── e3895b1888cb48ad3ab9c9cd3b78debedb0ad5e9
│   │   │   ├── e45bda3cd3778f2372ce18cc0d9ff7bbf1f50ba5
│   │   │   ├── e48c19846a9d9a8418fbf4e363eb69d720fdab9d
│   │   │   ├── e4b64d16a5d43dc7e5bee135714611d2929364a6
│   │   │   ├── e657c790f4c10f0678e90dc52facef51920a94d3
│   │   │   ├── e673a37cb310aaa88cbc216044663eb2c49ae76f
│   │   │   ├── e6da0876675b17c319ea55bf19ecbc12b779d3df
│   │   │   ├── e77f7b118df2a85fa55e8798a40f343b59ceab88
│   │   │   ├── e78aa6328c0b365b87a34a2dd1cb8e5270e04a0b
│   │   │   ├── e9dff14915dda34282efb04147877d0fc83ba2a0
│   │   │   ├── ea454bd2c8e7219c267ca0b01e27c649999c1451
│   │   │   ├── ea82b6f22005103932231c0641c74b125fcc7fb0
│   │   │   ├── eaa7bb9e4dbf3576f9587cd88b29976ca2024fe6
│   │   │   ├── eaca8f02a5ca41d60a68be9186e5f79538ae2719
│   │   │   ├── ebb86c45027660ce57bbadede73ab1a5dbc43e35
│   │   │   ├── ecd12a6a72a7c5cdf93dd9bb7637cb35f65c1d00
│   │   │   ├── ecdb111d6c89a22189b961cb47ab1e73df8ed430
│   │   │   ├── ed0769767eea7a7e0ee58d52278417c698605719
│   │   │   ├── ed28ae6948896b9be69c556380b22f8c6fdee8d1
│   │   │   ├── ed306e9bbd8d275d000beb5cf551284765c97c23
│   │   │   ├── ee45e8d94544f8f79e7b6330365a9426715f47f9
│   │   │   ├── ee8db01890a0f9c520e30f1d75c44efabbbbdb01
│   │   │   ├── eed2aa2d6ca72b1972eaf2bb206a0591a2ce9a95
│   │   │   ├── eeea07311e1c93999ce139f71cc5e6be83ae938d
│   │   │   ├── ef87d1f2a1afcc05941ade6a5bd57c9fdea83b34
│   │   │   ├── f0122e82b0498ec11a6a9d68e6de8440d891b272
│   │   │   ├── f0457f1e27c67e8425559e6b753cca540cf69f65
│   │   │   ├── f0ddb293345e5013757ebfacd7769ef92acd41d4
│   │   │   ├── f1986481baa957b8dd977f8ca3e8c4107d492799
│   │   │   ├── f19c5bb5147295d791fb5d6899d93ed7a23c072f
│   │   │   ├── f1b24ed86c606cde53c498fc6411053d0ae22ced
│   │   │   ├── f1d88daac0be722a2a2e6bedd09b39e240043653
│   │   │   ├── f2b43d44db5dec0cca4bc6fc63f487fabae1b941
│   │   │   ├── f39ac0d9de634c2a723f879231e77ef600e036d9
│   │   │   ├── f4f4353df90e753e832eb974c782e27dbe6753d4
│   │   │   ├── f669b57c4be29746f06e2ad46b428769a791dd07
│   │   │   ├── f71cbd0475ddb41b78a0d439aa78ae1e2eec0df5
│   │   │   ├── f72b3c6b4ade452568f6834dd6e5896d1772ff2f
│   │   │   ├── f72fd742e291347d71ef000e002dc8e8baa13830
│   │   │   ├── f7b8bc9f4b18f013697267cc9c966ae65f4cd7e3
│   │   │   ├── f7c747dc5107c73b9c4bfe6f24267f04ba16d129
│   │   │   ├── f91e230199efd6367f8622f5a6eaa54d1d4d8e90
│   │   │   ├── fa056963c20a8a8dc279cb2e2a9b769338cc92da
│   │   │   ├── fa11a132da6f10be8e8aa10cbd25ea5d8107a614
│   │   │   ├── fb4504a84cc35d086689b9f93eb9f365331f4750
│   │   │   ├── fbd855380068533d0148c6011a302bf07cae0612
│   │   │   ├── fc2e6307261474cbadb9046919ff50710904d4d5
│   │   │   ├── fc927b8e82af4dcdaa2495e28ff7269c43456ff2
│   │   │   └── fdc040e7e474c3ec5da7044a80e2df6bfcb80917
│   │   ├── generic.cpp
│   │   ├── generic.h
│   │   ├── generic_region_stack.cpp
│   │   ├── generic_region_stack.h
│   │   ├── global_init.cpp
│   │   ├── global_init.h
│   │   ├── handle.h
│   │   ├── handle_alias.cpp
│   │   ├── handle_array.cpp
│   │   ├── handle_binding_pattern.cpp
│   │   ├── handle_call_expr.cpp
│   │   ├── handle_choice.cpp
│   │   ├── handle_class.cpp
│   │   ├── handle_codeblock.cpp
│   │   ├── handle_export.cpp
│   │   ├── handle_expr_statement.cpp
│   │   ├── handle_file.cpp
│   │   ├── handle_form_literal.cpp
│   │   ├── handle_function.cpp
│   │   ├── handle_if_expr.cpp
│   │   ├── handle_if_statement.cpp
│   │   ├── handle_impl.cpp
│   │   ├── handle_import_and_package.cpp
│   │   ├── handle_index.cpp
│   │   ├── handle_interface.cpp
│   │   ├── handle_lambda.cpp
│   │   ├── handle_let_and_var.cpp
│   │   ├── handle_literal.cpp
│   │   ├── handle_loop_statement.cpp
│   │   ├── handle_match.cpp
│   │   ├── handle_modifier.cpp
│   │   ├── handle_name.cpp
│   │   ├── handle_named_constraint.cpp
│   │   ├── handle_namespace.cpp
│   │   ├── handle_noop.cpp
│   │   ├── handle_observe.cpp
│   │   ├── handle_operator.cpp
│   │   ├── handle_paren_expr.cpp
│   │   ├── handle_pattern_list.cpp
│   │   ├── handle_require.cpp
│   │   ├── handle_return_statement.cpp
│   │   ├── handle_struct.cpp
│   │   ├── handle_tuple_literal.cpp
│   │   ├── handle_where.cpp
│   │   ├── impl.cpp
│   │   ├── impl.h
│   │   ├── impl_lookup.cpp
│   │   ├── impl_lookup.h
│   │   ├── impl_validation.cpp
│   │   ├── impl_validation.h
│   │   ├── import.cpp
│   │   ├── import.h
│   │   ├── import_ref.cpp
│   │   ├── import_ref.h
│   │   ├── inst.cpp
│   │   ├── inst.h
│   │   ├── inst_block_stack.cpp
│   │   ├── inst_block_stack.h
│   │   ├── interface.cpp
│   │   ├── interface.h
│   │   ├── keyword_modifier_set.cpp
│   │   ├── keyword_modifier_set.h
│   │   ├── lexical_lookup.h
│   │   ├── literal.cpp
│   │   ├── literal.h
│   │   ├── member_access.cpp
│   │   ├── member_access.h
│   │   ├── merge.cpp
│   │   ├── merge.h
│   │   ├── modifiers.cpp
│   │   ├── modifiers.h
│   │   ├── name_component.cpp
│   │   ├── name_component.h
│   │   ├── name_lookup.cpp
│   │   ├── name_lookup.h
│   │   ├── name_ref.cpp
│   │   ├── name_ref.h
│   │   ├── name_scope.cpp
│   │   ├── name_scope.h
│   │   ├── node_id_traversal.cpp
│   │   ├── node_id_traversal.h
│   │   ├── node_stack.cpp
│   │   ├── node_stack.h
│   │   ├── operator.cpp
│   │   ├── operator.h
│   │   ├── param_and_arg_refs_stack.h
│   │   ├── pattern.cpp
│   │   ├── pattern.h
│   │   ├── pattern_match.cpp
│   │   ├── pattern_match.h
│   │   ├── pending_block.h
│   │   ├── pointer_dereference.cpp
│   │   ├── pointer_dereference.h
│   │   ├── region_stack.h
│   │   ├── return.cpp
│   │   ├── return.h
│   │   ├── scope_index.h
│   │   ├── scope_stack.cpp
│   │   ├── scope_stack.h
│   │   ├── subst.cpp
│   │   ├── subst.h
│   │   ├── testdata/
│   │   │   ├── alias/
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── builtins.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── import_order.carbon
│   │   │   │   ├── in_namespace.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   └── preserve_in_type_printing.carbon
│   │   │   ├── array/
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── bound_values.carbon
│   │   │   │   ├── element_mismatches.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── index_not_literal.carbon
│   │   │   │   └── init_dependent_bound.carbon
│   │   │   ├── as/
│   │   │   │   ├── adapter_conversion.carbon
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── const.carbon
│   │   │   │   ├── maybe_unformed.carbon
│   │   │   │   ├── partial.carbon
│   │   │   │   ├── unsafe_as.carbon
│   │   │   │   └── var_init.carbon
│   │   │   ├── basics/
│   │   │   │   ├── dump_prelude.carbon
│   │   │   │   ├── dump_sem_ir_ranges.carbon
│   │   │   │   ├── dump_sem_ir_ranges_ignore.carbon
│   │   │   │   ├── dump_sem_ir_ranges_only.carbon
│   │   │   │   ├── duplicate_name_same_line.carbon
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── include_in_dumps.carbon
│   │   │   │   ├── multi_error.carbon
│   │   │   │   ├── name_lookup.carbon
│   │   │   │   ├── parens.carbon
│   │   │   │   ├── raw_identifier.carbon
│   │   │   │   ├── raw_sem_ir/
│   │   │   │   │   ├── builtins.carbon
│   │   │   │   │   ├── cpp_interop.carbon
│   │   │   │   │   ├── multifile.carbon
│   │   │   │   │   ├── multifile_with_textual_ir.carbon
│   │   │   │   │   ├── one_file.carbon
│   │   │   │   │   └── one_file_with_textual_ir.carbon
│   │   │   │   └── verbose.carbon
│   │   │   ├── builtins/
│   │   │   │   ├── bool/
│   │   │   │   │   ├── eq.carbon
│   │   │   │   │   ├── make_type.carbon
│   │   │   │   │   └── neq.carbon
│   │   │   │   ├── char/
│   │   │   │   │   └── convert_checked.carbon
│   │   │   │   ├── char_literal/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── cpp/
│   │   │   │   │   └── std/
│   │   │   │   │       └── initializer_list/
│   │   │   │   │           └── make.carbon
│   │   │   │   ├── float/
│   │   │   │   │   ├── add.carbon
│   │   │   │   │   ├── add_assign.carbon
│   │   │   │   │   ├── convert_checked.carbon
│   │   │   │   │   ├── div.carbon
│   │   │   │   │   ├── div_assign.carbon
│   │   │   │   │   ├── eq.carbon
│   │   │   │   │   ├── greater.carbon
│   │   │   │   │   ├── greater_eq.carbon
│   │   │   │   │   ├── less.carbon
│   │   │   │   │   ├── less_eq.carbon
│   │   │   │   │   ├── make_type.carbon
│   │   │   │   │   ├── mul.carbon
│   │   │   │   │   ├── mul_assign.carbon
│   │   │   │   │   ├── negate.carbon
│   │   │   │   │   ├── neq.carbon
│   │   │   │   │   ├── sub.carbon
│   │   │   │   │   └── sub_assign.carbon
│   │   │   │   ├── float_literal/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── form/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── int/
│   │   │   │   │   ├── and.carbon
│   │   │   │   │   ├── and_assign.carbon
│   │   │   │   │   ├── complement.carbon
│   │   │   │   │   ├── convert.carbon
│   │   │   │   │   ├── convert_checked.carbon
│   │   │   │   │   ├── eq.carbon
│   │   │   │   │   ├── greater.carbon
│   │   │   │   │   ├── greater_eq.carbon
│   │   │   │   │   ├── left_shift.carbon
│   │   │   │   │   ├── left_shift_assign.carbon
│   │   │   │   │   ├── less.carbon
│   │   │   │   │   ├── less_eq.carbon
│   │   │   │   │   ├── make_type_signed.carbon
│   │   │   │   │   ├── make_type_unsigned.carbon
│   │   │   │   │   ├── neq.carbon
│   │   │   │   │   ├── or.carbon
│   │   │   │   │   ├── or_assign.carbon
│   │   │   │   │   ├── right_shift.carbon
│   │   │   │   │   ├── right_shift_assign.carbon
│   │   │   │   │   ├── sadd.carbon
│   │   │   │   │   ├── sadd_assign.carbon
│   │   │   │   │   ├── sdiv.carbon
│   │   │   │   │   ├── sdiv_assign.carbon
│   │   │   │   │   ├── smod.carbon
│   │   │   │   │   ├── smod_assign.carbon
│   │   │   │   │   ├── smul.carbon
│   │   │   │   │   ├── smul_assign.carbon
│   │   │   │   │   ├── snegate.carbon
│   │   │   │   │   ├── ssub.carbon
│   │   │   │   │   ├── ssub_assign.carbon
│   │   │   │   │   ├── uadd.carbon
│   │   │   │   │   ├── uadd_assign.carbon
│   │   │   │   │   ├── udiv.carbon
│   │   │   │   │   ├── udiv_assign.carbon
│   │   │   │   │   ├── umod.carbon
│   │   │   │   │   ├── umod_assign.carbon
│   │   │   │   │   ├── umul.carbon
│   │   │   │   │   ├── umul_assign.carbon
│   │   │   │   │   ├── unegate.carbon
│   │   │   │   │   ├── usub.carbon
│   │   │   │   │   ├── usub_assign.carbon
│   │   │   │   │   ├── xor.carbon
│   │   │   │   │   └── xor_assign.carbon
│   │   │   │   ├── int_literal/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── maybe_unformed/
│   │   │   │   │   └── make_type.carbon
│   │   │   │   ├── no_op.carbon
│   │   │   │   ├── pointer/
│   │   │   │   │   ├── is_null.carbon
│   │   │   │   │   └── make_null.carbon
│   │   │   │   ├── print/
│   │   │   │   │   ├── char.carbon
│   │   │   │   │   └── int.carbon
│   │   │   │   ├── read/
│   │   │   │   │   └── char.carbon
│   │   │   │   └── type/
│   │   │   │       └── and.carbon
│   │   │   ├── choice/
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   └── params.carbon
│   │   │   ├── class/
│   │   │   │   ├── abstract/
│   │   │   │   │   ├── abstract.carbon
│   │   │   │   │   ├── fail_abstract_in_struct.carbon
│   │   │   │   │   └── fail_abstract_in_tuple.carbon
│   │   │   │   ├── access/
│   │   │   │   │   ├── access_modifers.carbon
│   │   │   │   │   ├── import_access.carbon
│   │   │   │   │   ├── inheritance_access.carbon
│   │   │   │   │   ├── method_access.carbon
│   │   │   │   │   └── todo_access_modifiers.carbon
│   │   │   │   ├── adapter/
│   │   │   │   │   ├── adapt.carbon
│   │   │   │   │   ├── adapt_copy.carbon
│   │   │   │   │   ├── convert_incomplete.carbon
│   │   │   │   │   ├── extend_adapt.carbon
│   │   │   │   │   ├── fail_adapt_bad_decl.carbon
│   │   │   │   │   ├── fail_adapt_bad_type.carbon
│   │   │   │   │   ├── fail_adapt_modifiers.carbon
│   │   │   │   │   ├── fail_adapt_with_base.carbon
│   │   │   │   │   ├── fail_adapt_with_subobjects.carbon
│   │   │   │   │   └── init_adapt.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── complete_in_member_fn.carbon
│   │   │   │   ├── cross_package_import.carbon
│   │   │   │   ├── destroy_calls.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── extern.carbon
│   │   │   │   ├── extern_library.carbon
│   │   │   │   ├── fail_compound_type_mismatch.carbon
│   │   │   │   ├── fail_convert_to_invalid.carbon
│   │   │   │   ├── fail_error_recovery.carbon
│   │   │   │   ├── fail_import_misuses.carbon
│   │   │   │   ├── fail_incomplete.carbon
│   │   │   │   ├── fail_init.carbon
│   │   │   │   ├── fail_memaccess_category.carbon
│   │   │   │   ├── fail_member_of_let.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_redeclaration_scope.carbon
│   │   │   │   ├── fail_redefinition.carbon
│   │   │   │   ├── fail_scope.carbon
│   │   │   │   ├── fail_unknown_member.carbon
│   │   │   │   ├── field/
│   │   │   │   │   ├── comp_time_field.carbon
│   │   │   │   │   ├── compound_field.carbon
│   │   │   │   │   ├── fail_field_modifiers.carbon
│   │   │   │   │   ├── fail_todo_field_initializer.carbon
│   │   │   │   │   ├── fail_unbound_field.carbon
│   │   │   │   │   ├── field_access.carbon
│   │   │   │   │   └── field_access_in_value.carbon
│   │   │   │   ├── forward_declared.carbon
│   │   │   │   ├── generic/
│   │   │   │   │   ├── adapt.carbon
│   │   │   │   │   ├── base_is_generic.carbon
│   │   │   │   │   ├── basic.carbon
│   │   │   │   │   ├── call.carbon
│   │   │   │   │   ├── complete_in_conversion.carbon
│   │   │   │   │   ├── empty_params.carbon
│   │   │   │   │   ├── field.carbon
│   │   │   │   │   ├── generic_vs_params.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── init.carbon
│   │   │   │   │   ├── member_access.carbon
│   │   │   │   │   ├── member_inline.carbon
│   │   │   │   │   ├── member_lookup.carbon
│   │   │   │   │   ├── member_out_of_line.carbon
│   │   │   │   │   ├── member_type.carbon
│   │   │   │   │   ├── method_deduce.carbon
│   │   │   │   │   ├── redeclare.carbon
│   │   │   │   │   ├── self.carbon
│   │   │   │   │   └── stringify.carbon
│   │   │   │   ├── implicit_import.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_forward_decl.carbon
│   │   │   │   ├── import_indirect.carbon
│   │   │   │   ├── import_member_cycle.carbon
│   │   │   │   ├── import_struct_cycle.carbon
│   │   │   │   ├── incomplete_ref.carbon
│   │   │   │   ├── indirect_import_member.carbon
│   │   │   │   ├── inheritance/
│   │   │   │   │   ├── base.carbon
│   │   │   │   │   ├── base_field.carbon
│   │   │   │   │   ├── base_function_unqualified.carbon
│   │   │   │   │   ├── base_method.carbon
│   │   │   │   │   ├── base_method_qualified.carbon
│   │   │   │   │   ├── base_method_shadow.carbon
│   │   │   │   │   ├── derived_to_base.carbon
│   │   │   │   │   ├── fail_base_as_declared_name.carbon
│   │   │   │   │   ├── fail_base_bad_type.carbon
│   │   │   │   │   ├── fail_base_method_define.carbon
│   │   │   │   │   ├── fail_base_misplaced.carbon
│   │   │   │   │   ├── fail_base_modifiers.carbon
│   │   │   │   │   ├── fail_base_no_extend.carbon
│   │   │   │   │   ├── fail_base_repeated.carbon
│   │   │   │   │   ├── fail_base_unbound.carbon
│   │   │   │   │   ├── fail_derived_to_base.carbon
│   │   │   │   │   ├── fail_extend_cycle.carbon
│   │   │   │   │   ├── import_base.carbon
│   │   │   │   │   └── self_conversion.carbon
│   │   │   │   ├── init.carbon
│   │   │   │   ├── init_as.carbon
│   │   │   │   ├── init_nested.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── method/
│   │   │   │   │   ├── fail_generic_method.carbon
│   │   │   │   │   ├── fail_method.carbon
│   │   │   │   │   ├── fail_method_modifiers.carbon
│   │   │   │   │   ├── fail_method_redefinition.carbon
│   │   │   │   │   ├── fail_out_of_line_decl.carbon
│   │   │   │   │   ├── generic_method.carbon
│   │   │   │   │   ├── method.carbon
│   │   │   │   │   └── static_method.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── nested.carbon
│   │   │   │   ├── nested_name.carbon
│   │   │   │   ├── no_definition_in_impl_file.carbon
│   │   │   │   ├── partial/
│   │   │   │   │   ├── init.carbon
│   │   │   │   │   └── qualifier.carbon
│   │   │   │   ├── redeclaration.carbon
│   │   │   │   ├── redeclaration_introducer.carbon
│   │   │   │   ├── reenter_scope.carbon
│   │   │   │   ├── reorder.carbon
│   │   │   │   ├── reorder_qualified.carbon
│   │   │   │   ├── scope.carbon
│   │   │   │   ├── self/
│   │   │   │   │   ├── fail_ref_self.carbon
│   │   │   │   │   ├── fail_self.carbon
│   │   │   │   │   ├── fail_self_param.carbon
│   │   │   │   │   ├── fail_self_type_member.carbon
│   │   │   │   │   ├── raw_self.carbon
│   │   │   │   │   ├── raw_self_type.carbon
│   │   │   │   │   ├── self.carbon
│   │   │   │   │   └── self_type.carbon
│   │   │   │   ├── syntactic_merge.carbon
│   │   │   │   ├── syntactic_merge_literal.carbon
│   │   │   │   └── virtual_modifiers.carbon
│   │   │   ├── const/
│   │   │   │   ├── basics.carbon
│   │   │   │   └── import.carbon
│   │   │   ├── deduce/
│   │   │   │   ├── array.carbon
│   │   │   │   ├── binding_pattern.carbon
│   │   │   │   ├── generic_type.carbon
│   │   │   │   ├── int_float.carbon
│   │   │   │   ├── symbolic_facets.carbon
│   │   │   │   ├── tuple.carbon
│   │   │   │   ├── type_operator.carbon
│   │   │   │   ├── value_with_type_through_access.carbon
│   │   │   │   └── where.carbon
│   │   │   ├── eval/
│   │   │   │   ├── aggregates.carbon
│   │   │   │   ├── binding.carbon
│   │   │   │   ├── branch.carbon
│   │   │   │   ├── call.carbon
│   │   │   │   ├── recursion.carbon
│   │   │   │   ├── symbolic.carbon
│   │   │   │   └── unexpected_runtime.carbon
│   │   │   ├── facet/
│   │   │   │   ├── access.carbon
│   │   │   │   ├── aggregate_through_access.carbon
│   │   │   │   ├── call_combined_impl_witness.carbon
│   │   │   │   ├── combine.carbon
│   │   │   │   ├── convert_class_type_to_facet_type.carbon
│   │   │   │   ├── convert_class_type_to_generic_facet_value.carbon
│   │   │   │   ├── convert_class_value_to_facet_value_value.carbon
│   │   │   │   ├── convert_class_value_to_generic_facet_value_value.carbon
│   │   │   │   ├── convert_facet_type_to_facet_value.carbon
│   │   │   │   ├── convert_facet_value_as_type_knows_original_type.carbon
│   │   │   │   ├── convert_facet_value_to_facet_value.carbon
│   │   │   │   ├── convert_facet_value_to_itself.carbon
│   │   │   │   ├── convert_facet_value_to_narrowed_facet_type.carbon
│   │   │   │   ├── convert_facet_value_value_to_blanket_impl.carbon
│   │   │   │   ├── convert_facet_value_value_to_generic_facet_value_value.carbon
│   │   │   │   ├── convert_facet_value_value_to_itself.carbon
│   │   │   │   ├── convert_interface.carbon
│   │   │   │   ├── early_rewrites.carbon
│   │   │   │   ├── facet_assoc_const.carbon
│   │   │   │   ├── fail_convert_class_type_to_generic_facet_value.carbon
│   │   │   │   ├── fail_convert_facet_value_to_missing_impl.carbon
│   │   │   │   ├── fail_convert_type_erased_type_to_facet.carbon
│   │   │   │   ├── fail_deduction_uses_runtime_type_conversion.carbon
│   │   │   │   ├── fail_incomplete.carbon
│   │   │   │   ├── fail_namespace_type.carbon
│   │   │   │   ├── identify_self_canonicalized.carbon
│   │   │   │   ├── named_constant.carbon
│   │   │   │   ├── nested_facet_types.carbon
│   │   │   │   ├── period_self.carbon
│   │   │   │   ├── require_constrains_self.carbon
│   │   │   │   ├── require_import.carbon
│   │   │   │   ├── require_invalid.carbon
│   │   │   │   ├── require_satisified.carbon
│   │   │   │   ├── runtime_value.carbon
│   │   │   │   ├── self_in_interface_param.carbon
│   │   │   │   ├── tuple_and_struct_type_literal.carbon
│   │   │   │   ├── tuple_and_struct_type_value.carbon
│   │   │   │   ├── validate_impl_constraints.carbon
│   │   │   │   └── validate_rewrite_constraints.carbon
│   │   │   ├── for/
│   │   │   │   ├── actual.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   └── pattern.carbon
│   │   │   ├── function/
│   │   │   │   ├── builtin/
│   │   │   │   │   ├── adapted_type.carbon
│   │   │   │   │   ├── call.carbon
│   │   │   │   │   ├── call_from_operator.carbon
│   │   │   │   │   ├── definition.carbon
│   │   │   │   │   ├── fail_redefined.carbon
│   │   │   │   │   ├── fail_unknown.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── method.carbon
│   │   │   │   │   └── positional.carbon
│   │   │   │   ├── call/
│   │   │   │   │   ├── alias.carbon
│   │   │   │   │   ├── empty_struct.carbon
│   │   │   │   │   ├── empty_tuple.carbon
│   │   │   │   │   ├── eval_musteval.carbon
│   │   │   │   │   ├── fail_explicit_self_param.carbon
│   │   │   │   │   ├── fail_not_callable.carbon
│   │   │   │   │   ├── fail_param_count.carbon
│   │   │   │   │   ├── fail_param_type.carbon
│   │   │   │   │   ├── fail_return_type_mismatch.carbon
│   │   │   │   │   ├── fail_runtime_implicit_param.carbon
│   │   │   │   │   ├── form.carbon
│   │   │   │   │   ├── i32.carbon
│   │   │   │   │   ├── more_param_ir.carbon
│   │   │   │   │   ├── params_one.carbon
│   │   │   │   │   ├── params_one_comma.carbon
│   │   │   │   │   ├── params_two.carbon
│   │   │   │   │   ├── params_two_comma.carbon
│   │   │   │   │   ├── params_zero.carbon
│   │   │   │   │   ├── prefer_unqualified_lookup.carbon
│   │   │   │   │   ├── ref.carbon
│   │   │   │   │   └── return_implicit.carbon
│   │   │   │   ├── declaration/
│   │   │   │   │   ├── eval_musteval.carbon
│   │   │   │   │   ├── export_name.carbon
│   │   │   │   │   ├── extern.carbon
│   │   │   │   │   ├── extern_library.carbon
│   │   │   │   │   ├── extern_library_for_default.carbon
│   │   │   │   │   ├── extern_library_from_default.carbon
│   │   │   │   │   ├── fail_import_incomplete_return.carbon
│   │   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   │   ├── fail_param_in_type.carbon
│   │   │   │   │   ├── fail_param_redecl.carbon
│   │   │   │   │   ├── fail_redecl.carbon
│   │   │   │   │   ├── fail_todo_no_params.carbon
│   │   │   │   │   ├── implicit_import.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── name_poisoning.carbon
│   │   │   │   │   ├── no_definition_in_impl_file.carbon
│   │   │   │   │   ├── param_same_name.carbon
│   │   │   │   │   ├── pattern_in_signature.carbon
│   │   │   │   │   ├── ref.carbon
│   │   │   │   │   └── simple.carbon
│   │   │   │   ├── definition/
│   │   │   │   │   ├── basics.carbon
│   │   │   │   │   ├── extern.carbon
│   │   │   │   │   ├── extern_library.carbon
│   │   │   │   │   ├── fail_decl_param_mismatch.carbon
│   │   │   │   │   ├── fail_local_decl.carbon
│   │   │   │   │   ├── fail_redef.carbon
│   │   │   │   │   ├── forward_decl.carbon
│   │   │   │   │   ├── implicit_import.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── import_access.carbon
│   │   │   │   │   ├── order.carbon
│   │   │   │   │   ├── params_one.carbon
│   │   │   │   │   ├── params_one_comma.carbon
│   │   │   │   │   ├── params_two.carbon
│   │   │   │   │   ├── params_two_comma.carbon
│   │   │   │   │   ├── params_zero.carbon
│   │   │   │   │   └── syntactic_merge.carbon
│   │   │   │   └── generic/
│   │   │   │       ├── call.carbon
│   │   │   │       ├── call_method_on_generic_facet.carbon
│   │   │   │       ├── deduce.carbon
│   │   │   │       ├── deduce_nested_facet_value.carbon
│   │   │   │       ├── fail_deduce_imported_function.carbon
│   │   │   │       ├── fail_type_param_mismatch.carbon
│   │   │   │       ├── forward_decl.carbon
│   │   │   │       ├── import_specific.carbon
│   │   │   │       ├── indirect_generic_type.carbon
│   │   │   │       ├── param_in_type.carbon
│   │   │   │       ├── redeclare.carbon
│   │   │   │       ├── resolve_used.carbon
│   │   │   │       ├── return_slot.carbon
│   │   │   │       ├── template_param.carbon
│   │   │   │       ├── type_param.carbon
│   │   │   │       ├── type_param_scope.carbon
│   │   │   │       └── undefined.carbon
│   │   │   ├── generic/
│   │   │   │   ├── call_basic_depth.carbon
│   │   │   │   ├── complete_type.carbon
│   │   │   │   ├── dependent_param.carbon
│   │   │   │   ├── dot_self_symbolic_type.carbon
│   │   │   │   ├── extend_type_completion.carbon
│   │   │   │   ├── fail_generic_copy.carbon
│   │   │   │   ├── forward_decl.carbon
│   │   │   │   ├── identify_specific_facet_type.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── template/
│   │   │   │   │   ├── convert.carbon
│   │   │   │   │   ├── fail_todo_template_access_assoc_const.carbon
│   │   │   │   │   ├── member_access.carbon
│   │   │   │   │   └── unimplemented.carbon
│   │   │   │   └── template_dependence.carbon
│   │   │   ├── global/
│   │   │   │   └── basics.carbon
│   │   │   ├── if/
│   │   │   │   └── basics.carbon
│   │   │   ├── if_expr/
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── constant_condition.carbon
│   │   │   │   ├── control_flow.carbon
│   │   │   │   ├── fail_not_in_function.carbon
│   │   │   │   ├── fail_partial_constant.carbon
│   │   │   │   ├── nested.carbon
│   │   │   │   └── struct.carbon
│   │   │   ├── impl/
│   │   │   │   ├── assoc_const_self.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── compound.carbon
│   │   │   │   ├── custom_witness/
│   │   │   │   │   └── int_fits_in.carbon
│   │   │   │   ├── declaration.carbon
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── error_recovery.carbon
│   │   │   │   ├── eval_musteval.carbon
│   │   │   │   ├── extend_final.carbon
│   │   │   │   ├── extend_impl.carbon
│   │   │   │   ├── extend_impl_generic.carbon
│   │   │   │   ├── fail_alias.carbon
│   │   │   │   ├── fail_call_invalid.carbon
│   │   │   │   ├── fail_extend_impl_forall.carbon
│   │   │   │   ├── fail_extend_impl_scope.carbon
│   │   │   │   ├── fail_extend_impl_type_as.carbon
│   │   │   │   ├── fail_extend_non_interface.carbon
│   │   │   │   ├── fail_extend_partially_defined_interface.carbon
│   │   │   │   ├── fail_extend_undefined_interface.carbon
│   │   │   │   ├── fail_impl_as_scope.carbon
│   │   │   │   ├── fail_impl_bad_assoc_const.carbon
│   │   │   │   ├── fail_impl_bad_assoc_fn.carbon
│   │   │   │   ├── fail_impl_bad_interface.carbon
│   │   │   │   ├── fail_impl_bad_type.carbon
│   │   │   │   ├── fail_redefinition.carbon
│   │   │   │   ├── fail_self_type_mismatch.carbon
│   │   │   │   ├── fail_todo_form_thunk.carbon
│   │   │   │   ├── forward_decls.carbon
│   │   │   │   ├── generic_redeclaration.carbon
│   │   │   │   ├── impl_as.carbon
│   │   │   │   ├── impl_as_named_constraint.carbon
│   │   │   │   ├── impl_assoc_const.carbon
│   │   │   │   ├── impl_assoc_const_with_prelude.carbon
│   │   │   │   ├── impl_forall.carbon
│   │   │   │   ├── impl_self_as.carbon
│   │   │   │   ├── impl_thunk.carbon
│   │   │   │   ├── impl_thunk_min_prelude.carbon
│   │   │   │   ├── impl_where_redecl.carbon
│   │   │   │   ├── import_builtin_call.carbon
│   │   │   │   ├── import_canonical_witnesses.carbon
│   │   │   │   ├── import_compound.carbon
│   │   │   │   ├── import_extend_impl.carbon
│   │   │   │   ├── import_generic.carbon
│   │   │   │   ├── import_impl_with_no_interface.carbon
│   │   │   │   ├── import_interface_assoc_const.carbon
│   │   │   │   ├── import_self.carbon
│   │   │   │   ├── import_self_specific.carbon
│   │   │   │   ├── import_thunk.carbon
│   │   │   │   ├── import_use_generic.carbon
│   │   │   │   ├── incomplete.carbon
│   │   │   │   ├── interface_args.carbon
│   │   │   │   ├── lookup/
│   │   │   │   │   ├── alias.carbon
│   │   │   │   │   ├── canonical_query_self.carbon
│   │   │   │   │   ├── fail_alias_impl_not_found.carbon
│   │   │   │   │   ├── fail_function_types.carbon
│   │   │   │   │   ├── fail_todo_undefined_impl.carbon
│   │   │   │   │   ├── find_in_final.carbon
│   │   │   │   │   ├── generic.carbon
│   │   │   │   │   ├── impl_cycle.carbon
│   │   │   │   │   ├── impl_forall.carbon
│   │   │   │   │   ├── impl_overlap.carbon
│   │   │   │   │   ├── impl_overlap_wrapped_types.carbon
│   │   │   │   │   ├── import.carbon
│   │   │   │   │   ├── import_error.carbon
│   │   │   │   │   ├── import_final.carbon
│   │   │   │   │   ├── instance_method.carbon
│   │   │   │   │   ├── lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon
│   │   │   │   │   ├── overlap_with_non_types.carbon
│   │   │   │   │   ├── specialization.carbon
│   │   │   │   │   ├── specialization_poison.carbon
│   │   │   │   │   ├── specialization_with_symbolic_rewrite.carbon
│   │   │   │   │   ├── specific_args.carbon
│   │   │   │   │   ├── struct.carbon
│   │   │   │   │   ├── symbolic_lookup.carbon
│   │   │   │   │   ├── transitive.carbon
│   │   │   │   │   └── unused_generic_binding.carbon
│   │   │   │   ├── multiple_extend.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── no_definition_in_impl_file.carbon
│   │   │   │   ├── orphan.carbon
│   │   │   │   ├── redeclaration.carbon
│   │   │   │   ├── self_in_class.carbon
│   │   │   │   ├── self_in_signature.carbon
│   │   │   │   ├── todo_impl_with_unrelated_fn.carbon
│   │   │   │   ├── use_assoc_entity.carbon
│   │   │   │   └── using_invalid_interface.carbon
│   │   │   ├── index/
│   │   │   │   ├── array_element_access.carbon
│   │   │   │   ├── expr_category.carbon
│   │   │   │   ├── fail_array_large_index.carbon
│   │   │   │   ├── fail_array_non_int_indexing.carbon
│   │   │   │   ├── fail_array_out_of_bound_access.carbon
│   │   │   │   ├── fail_expr_category.carbon
│   │   │   │   ├── fail_invalid_base.carbon
│   │   │   │   ├── fail_name_not_found.carbon
│   │   │   │   ├── fail_negative_indexing.carbon
│   │   │   │   └── fail_non_tuple_access.carbon
│   │   │   ├── interface/
│   │   │   │   ├── as_type.carbon
│   │   │   │   ├── as_type_of_type.carbon
│   │   │   │   ├── assoc_const.carbon
│   │   │   │   ├── assoc_const_in_generic.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── compound_member_access.carbon
│   │   │   │   ├── default_fn.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── fail_add_member_outside_definition.carbon
│   │   │   │   ├── fail_assoc_const_alias.carbon
│   │   │   │   ├── fail_assoc_const_bad_default.carbon
│   │   │   │   ├── fail_assoc_fn_invalid_use.carbon
│   │   │   │   ├── fail_definition_imported.carbon
│   │   │   │   ├── fail_duplicate.carbon
│   │   │   │   ├── fail_generic_redeclaration.carbon
│   │   │   │   ├── fail_lookup_in_type_type.carbon
│   │   │   │   ├── fail_lookup_undefined.carbon
│   │   │   │   ├── fail_member_lookup.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_redeclare_member.carbon
│   │   │   │   ├── fail_todo_assoc_const_default.carbon
│   │   │   │   ├── fail_todo_define_default_fn_inline.carbon
│   │   │   │   ├── fail_todo_define_default_fn_out_of_line.carbon
│   │   │   │   ├── fail_todo_modifiers.carbon
│   │   │   │   ├── fail_type_as_facet.carbon
│   │   │   │   ├── final.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   ├── generic_binding_after_assoc_const.carbon
│   │   │   │   ├── generic_default_fn.carbon
│   │   │   │   ├── generic_import.carbon
│   │   │   │   ├── generic_method.carbon
│   │   │   │   ├── generic_vs_params.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── import_interface_decl.carbon
│   │   │   │   ├── incomplete.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── member_lookup.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── require.carbon
│   │   │   │   ├── require_invalid_modifiers.carbon
│   │   │   │   ├── self.carbon
│   │   │   │   ├── syntactic_merge.carbon
│   │   │   │   └── todo_define_not_default.carbon
│   │   │   ├── interop/
│   │   │   │   └── cpp/
│   │   │   │       ├── bad_flags.carbon
│   │   │   │       ├── bad_import.carbon
│   │   │   │       ├── builtins.carbon
│   │   │   │       ├── builtins.llp64.carbon
│   │   │   │       ├── builtins.lp64.carbon
│   │   │   │       ├── class/
│   │   │   │       │   ├── abstract.carbon
│   │   │   │       │   ├── access.carbon
│   │   │   │       │   ├── base.carbon
│   │   │   │       │   ├── class.carbon
│   │   │   │       │   ├── constructor.carbon
│   │   │   │       │   ├── field.carbon
│   │   │   │       │   ├── invalid.carbon
│   │   │   │       │   ├── method.carbon
│   │   │   │       │   ├── nested.carbon
│   │   │   │       │   ├── non_aggregate_init.carbon
│   │   │   │       │   ├── struct.carbon
│   │   │   │       │   ├── template.carbon
│   │   │   │       │   └── union.carbon
│   │   │   │       ├── constexpr.carbon
│   │   │   │       ├── cpp_diagnostics.carbon
│   │   │   │       ├── cpp_namespace.carbon
│   │   │   │       ├── deref.carbon
│   │   │   │       ├── enum/
│   │   │   │       │   ├── anonymous.carbon
│   │   │   │       │   ├── convert.carbon
│   │   │   │       │   ├── copy.carbon
│   │   │   │       │   ├── fixed.carbon
│   │   │   │       │   ├── incomplete.carbon
│   │   │   │       │   ├── invalid.carbon
│   │   │   │       │   ├── member.carbon
│   │   │   │       │   ├── scoped.carbon
│   │   │   │       │   ├── unscoped.carbon
│   │   │   │       │   └── using.carbon
│   │   │   │       ├── fail_fuzzing.carbon
│   │   │   │       ├── fail_todo_arithmetic_types_unmapped.carbon
│   │   │   │       ├── file_not_found.carbon
│   │   │   │       ├── function/
│   │   │   │       │   ├── arithmetic_types_bridged.carbon
│   │   │   │       │   ├── arithmetic_types_direct.carbon
│   │   │   │       │   ├── class.carbon
│   │   │   │       │   ├── decayed_param.carbon
│   │   │   │       │   ├── default_arg.carbon
│   │   │   │       │   ├── extern_c.carbon
│   │   │   │       │   ├── full_semir.carbon
│   │   │   │       │   ├── function.carbon
│   │   │   │       │   ├── in_template.carbon
│   │   │   │       │   ├── inline.carbon
│   │   │   │       │   ├── multiple_too_few_args_calls.carbon
│   │   │   │       │   ├── operators.carbon
│   │   │   │       │   ├── overloads.carbon
│   │   │   │       │   ├── param_unsupported.carbon
│   │   │   │       │   ├── pointer.carbon
│   │   │   │       │   ├── qualified_param.carbon
│   │   │   │       │   ├── reference.carbon
│   │   │   │       │   ├── return.carbon
│   │   │   │       │   ├── struct.carbon
│   │   │   │       │   ├── template.carbon
│   │   │   │       │   ├── thunk_ast.carbon
│   │   │   │       │   ├── union.carbon
│   │   │   │       │   ├── variadic.carbon
│   │   │   │       │   └── void_pointer.carbon
│   │   │   │       ├── impls/
│   │   │   │       │   ├── as.carbon
│   │   │   │       │   ├── copy.carbon
│   │   │   │       │   ├── destroy.carbon
│   │   │   │       │   └── implicit_as.carbon
│   │   │   │       ├── import.carbon
│   │   │   │       ├── include.carbon
│   │   │   │       ├── include_paths.carbon
│   │   │   │       ├── inline.carbon
│   │   │   │       ├── macros.carbon
│   │   │   │       ├── modules.carbon
│   │   │   │       ├── multiple_imports.carbon
│   │   │   │       ├── namespace.carbon
│   │   │   │       ├── reverse/
│   │   │   │       │   └── simple.carbon
│   │   │   │       ├── stdlib/
│   │   │   │       │   ├── initializer_list.carbon
│   │   │   │       │   └── string_view.carbon
│   │   │   │       ├── template/
│   │   │   │       │   ├── alias_template.carbon
│   │   │   │       │   ├── argument_count.carbon
│   │   │   │       │   ├── class_template.carbon
│   │   │   │       │   ├── concept.carbon
│   │   │   │       │   ├── generic_call.carbon
│   │   │   │       │   ├── non_type_param.carbon
│   │   │   │       │   ├── template_template_param.carbon
│   │   │   │       │   ├── type_param.carbon
│   │   │   │       │   └── var_template.carbon
│   │   │   │       ├── typedef.carbon
│   │   │   │       ├── unsupported_decl_type.carbon
│   │   │   │       ├── unused_internal.carbon
│   │   │   │       ├── var/
│   │   │   │       │   ├── global.carbon
│   │   │   │       │   └── namespace.carbon
│   │   │   │       ├── void.carbon
│   │   │   │       └── void_pointer.carbon
│   │   │   ├── let/
│   │   │   │   ├── compile_time_bindings.carbon
│   │   │   │   ├── convert.carbon
│   │   │   │   ├── fail_duplicate_decl.carbon
│   │   │   │   ├── fail_generic.carbon
│   │   │   │   ├── fail_generic_import.carbon
│   │   │   │   ├── fail_missing_value.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_use_in_init.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   ├── generic_import.carbon
│   │   │   │   ├── global.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── local.carbon
│   │   │   │   ├── ref.carbon
│   │   │   │   └── shadowed_decl.carbon
│   │   │   ├── main_run/
│   │   │   │   ├── README.md
│   │   │   │   ├── fail_mismatch_params.carbon
│   │   │   │   ├── fail_mismatch_return.carbon
│   │   │   │   ├── no_return.carbon
│   │   │   │   └── return_i32.carbon
│   │   │   ├── named_constraint/
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── convert.carbon
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── empty_generic.carbon
│   │   │   │   ├── generic.carbon
│   │   │   │   ├── import_constraint_decl.carbon
│   │   │   │   ├── incomplete.carbon
│   │   │   │   ├── invalid_members.carbon
│   │   │   │   ├── require.carbon
│   │   │   │   └── require_invalid_modifiers.carbon
│   │   │   ├── namespace/
│   │   │   │   ├── add_to_import.carbon
│   │   │   │   ├── alias.carbon
│   │   │   │   ├── fail_conflict_after_merge.carbon
│   │   │   │   ├── fail_conflict_imported_namespace_first.carbon
│   │   │   │   ├── fail_conflict_imported_namespace_nested.carbon
│   │   │   │   ├── fail_conflict_imported_namespace_second.carbon
│   │   │   │   ├── fail_conflict_in_imports_namespace_first.carbon
│   │   │   │   ├── fail_conflict_in_imports_namespace_second.carbon
│   │   │   │   ├── fail_decl_in_alias.carbon
│   │   │   │   ├── fail_duplicate.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_not_top_level.carbon
│   │   │   │   ├── fail_params.carbon
│   │   │   │   ├── fail_unresolved_scope.carbon
│   │   │   │   ├── function.carbon
│   │   │   │   ├── imported.carbon
│   │   │   │   ├── imported_indirect.carbon
│   │   │   │   ├── merging.carbon
│   │   │   │   ├── merging_with_indirections.carbon
│   │   │   │   ├── name_poisoning.carbon
│   │   │   │   ├── nested.carbon
│   │   │   │   ├── shadow.carbon
│   │   │   │   └── unqualified_lookup.carbon
│   │   │   ├── operators/
│   │   │   │   ├── builtin/
│   │   │   │   │   ├── and.carbon
│   │   │   │   │   ├── assignment.carbon
│   │   │   │   │   ├── bit_and.carbon
│   │   │   │   │   ├── fail_and_or_not_in_function.carbon
│   │   │   │   │   ├── fail_and_or_partial_constant.carbon
│   │   │   │   │   ├── fail_assignment_to_error.carbon
│   │   │   │   │   ├── fail_assignment_to_non_assignable.carbon
│   │   │   │   │   ├── fail_redundant_compound_access.carbon
│   │   │   │   │   ├── fail_type_mismatch.carbon
│   │   │   │   │   ├── fail_type_mismatch_assignment.carbon
│   │   │   │   │   ├── fail_type_mismatch_once.carbon
│   │   │   │   │   ├── fail_unimplemented_op.carbon
│   │   │   │   │   ├── or.carbon
│   │   │   │   │   ├── ref.carbon
│   │   │   │   │   └── unary_op.carbon
│   │   │   │   └── overloaded/
│   │   │   │       ├── add.carbon
│   │   │   │       ├── binary_op.carbon.tmpl
│   │   │   │       ├── bit_and.carbon
│   │   │   │       ├── bit_complement.carbon
│   │   │   │       ├── bit_or.carbon
│   │   │   │       ├── bit_xor.carbon
│   │   │   │       ├── dec.carbon
│   │   │   │       ├── div.carbon
│   │   │   │       ├── eq.carbon
│   │   │   │       ├── fail_assign_non_ref.carbon
│   │   │   │       ├── fail_error_recovery.carbon
│   │   │   │       ├── fail_no_impl.carbon
│   │   │   │       ├── fail_no_impl_for_arg.carbon
│   │   │   │       ├── implicit_as.carbon
│   │   │   │       ├── inc.carbon
│   │   │   │       ├── index.carbon
│   │   │   │       ├── index_with_prelude.carbon
│   │   │   │       ├── left_shift.carbon
│   │   │   │       ├── make_tests.sh
│   │   │   │       ├── mod.carbon
│   │   │   │       ├── mul.carbon
│   │   │   │       ├── negate.carbon
│   │   │   │       ├── ordered.carbon
│   │   │   │       ├── right_shift.carbon
│   │   │   │       ├── string_indexing.carbon
│   │   │   │       ├── sub.carbon
│   │   │   │       ├── unary_op.carbon.tmpl
│   │   │   │       └── unary_stmt.carbon.tmpl
│   │   │   ├── package_expr/
│   │   │   │   ├── fail_not_found.carbon
│   │   │   │   └── syntax.carbon
│   │   │   ├── packages/
│   │   │   │   ├── core_name_poisoning.carbon
│   │   │   │   ├── cross_package_export.carbon
│   │   │   │   ├── cross_package_import.carbon
│   │   │   │   ├── explicit_imports.carbon
│   │   │   │   ├── export_import.carbon
│   │   │   │   ├── export_mixed.carbon
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── fail_api_not_found.carbon
│   │   │   │   ├── fail_conflict_no_namespaces.carbon
│   │   │   │   ├── fail_cycle.carbon
│   │   │   │   ├── fail_duplicate_api.carbon
│   │   │   │   ├── fail_export_name_member.carbon
│   │   │   │   ├── fail_export_name_params.carbon
│   │   │   │   ├── fail_extension.carbon
│   │   │   │   ├── fail_import_default.carbon
│   │   │   │   ├── fail_import_inline_not_cpp.carbon
│   │   │   │   ├── fail_import_invalid.carbon
│   │   │   │   ├── fail_import_repeat.carbon
│   │   │   │   ├── fail_import_type_error.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_name_with_import_failure.carbon
│   │   │   │   ├── implicit_imports_empty.carbon
│   │   │   │   ├── implicit_imports_entities.carbon
│   │   │   │   ├── implicit_imports_prelude.carbon
│   │   │   │   ├── loaded_global.carbon
│   │   │   │   ├── missing_prelude.carbon
│   │   │   │   ├── raw_core.carbon
│   │   │   │   ├── restricted_package_names.carbon
│   │   │   │   └── unused_lazy_import.carbon
│   │   │   ├── patterns/
│   │   │   │   ├── tuple.carbon
│   │   │   │   ├── underscore.carbon
│   │   │   │   ├── unused.carbon
│   │   │   │   └── unused_underscore.carbon
│   │   │   ├── pointer/
│   │   │   │   ├── address_of_deref.carbon
│   │   │   │   ├── address_of_lvalue.carbon
│   │   │   │   ├── arrow.carbon
│   │   │   │   ├── basic.carbon
│   │   │   │   ├── convert_qualifiers.carbon
│   │   │   │   ├── fail_address_of_error.carbon
│   │   │   │   ├── fail_address_of_value.carbon
│   │   │   │   ├── fail_deref_error.carbon
│   │   │   │   ├── fail_deref_function.carbon
│   │   │   │   ├── fail_deref_namespace.carbon
│   │   │   │   ├── fail_deref_not_pointer.carbon
│   │   │   │   ├── fail_deref_type.carbon
│   │   │   │   ├── fail_type_mismatch.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── nested_const.carbon
│   │   │   │   └── types.carbon
│   │   │   ├── primitives/
│   │   │   │   ├── import_symbolic.carbon
│   │   │   │   ├── int_conversions.carbon
│   │   │   │   ├── numeric_literals.carbon
│   │   │   │   ├── string_literals.carbon
│   │   │   │   └── type_literals.carbon
│   │   │   ├── return/
│   │   │   │   ├── code_after_return.carbon
│   │   │   │   ├── code_after_return_value.carbon
│   │   │   │   ├── fail_call_in_type.carbon
│   │   │   │   ├── fail_error_in_type.carbon
│   │   │   │   ├── fail_let_in_type.carbon
│   │   │   │   ├── fail_missing_return.carbon
│   │   │   │   ├── fail_missing_return_empty_tuple.carbon
│   │   │   │   ├── fail_return_var_no_returned_var.carbon
│   │   │   │   ├── fail_return_with_returned_var.carbon
│   │   │   │   ├── fail_returned_var_form.carbon
│   │   │   │   ├── fail_returned_var_no_return_type.carbon
│   │   │   │   ├── fail_returned_var_shadow.carbon
│   │   │   │   ├── fail_returned_var_type.carbon
│   │   │   │   ├── fail_type_mismatch.carbon
│   │   │   │   ├── fail_value_disallowed.carbon
│   │   │   │   ├── fail_value_missing.carbon
│   │   │   │   ├── fail_var_in_type.carbon
│   │   │   │   ├── import_convert_function.carbon
│   │   │   │   ├── missing_return_no_return_type.carbon
│   │   │   │   ├── no_value.carbon
│   │   │   │   ├── returned_var.carbon
│   │   │   │   ├── returned_var_scope.carbon
│   │   │   │   ├── struct.carbon
│   │   │   │   ├── tuple.carbon
│   │   │   │   └── value.carbon
│   │   │   ├── struct/
│   │   │   │   ├── empty.carbon
│   │   │   │   ├── fail_access_into_invalid.carbon
│   │   │   │   ├── fail_assign_empty.carbon
│   │   │   │   ├── fail_assign_nested.carbon
│   │   │   │   ├── fail_assign_to_empty.carbon
│   │   │   │   ├── fail_duplicate_name.carbon
│   │   │   │   ├── fail_field_name_mismatch.carbon
│   │   │   │   ├── fail_field_type_mismatch.carbon
│   │   │   │   ├── fail_keyword_name.carbon
│   │   │   │   ├── fail_member_access_type.carbon
│   │   │   │   ├── fail_member_of_function.carbon
│   │   │   │   ├── fail_nested_incomplete.carbon
│   │   │   │   ├── fail_non_member_access.carbon
│   │   │   │   ├── fail_too_few_values.carbon
│   │   │   │   ├── fail_type_assign.carbon
│   │   │   │   ├── fail_value_as_type.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── literal_member_access.carbon
│   │   │   │   ├── member_access.carbon
│   │   │   │   ├── nested_struct_in_place.carbon
│   │   │   │   ├── one_entry.carbon
│   │   │   │   ├── partially_const.carbon
│   │   │   │   ├── reorder_fields.carbon
│   │   │   │   ├── tuple_as_element.carbon
│   │   │   │   └── two_entries.carbon
│   │   │   ├── tuple/
│   │   │   │   ├── basics.carbon
│   │   │   │   ├── class_tuples.carbon
│   │   │   │   ├── element_access.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── in_place_tuple_init.carbon
│   │   │   │   ├── size_mismatch.carbon
│   │   │   │   └── tuple_pattern.carbon
│   │   │   ├── var/
│   │   │   │   ├── export_name.carbon
│   │   │   │   ├── fail_duplicate_decl.carbon
│   │   │   │   ├── fail_generic.carbon
│   │   │   │   ├── fail_init_type_mismatch.carbon
│   │   │   │   ├── fail_init_with_self.carbon
│   │   │   │   ├── fail_lookup_outside_scope.carbon
│   │   │   │   ├── fail_modifiers.carbon
│   │   │   │   ├── fail_namespace_conflict.carbon
│   │   │   │   ├── fail_not_copyable.carbon
│   │   │   │   ├── fail_storage_is_literal.carbon
│   │   │   │   ├── fail_todo_control_flow_init.carbon
│   │   │   │   ├── global_decl.carbon
│   │   │   │   ├── global_decl_import.carbon
│   │   │   │   ├── global_decl_with_init.carbon
│   │   │   │   ├── global_lookup.carbon
│   │   │   │   ├── global_lookup_in_scope.carbon
│   │   │   │   ├── import.carbon
│   │   │   │   ├── import_access.carbon
│   │   │   │   ├── initialization.carbon
│   │   │   │   ├── lookup.carbon
│   │   │   │   ├── shadowing.carbon
│   │   │   │   └── var_pattern.carbon
│   │   │   ├── where_expr/
│   │   │   │   ├── constraints.carbon
│   │   │   │   ├── designator.carbon
│   │   │   │   ├── dot_self_impls.carbon
│   │   │   │   ├── dot_self_index.carbon
│   │   │   │   ├── equal_rewrite.carbon
│   │   │   │   ├── fail_not_facet.carbon
│   │   │   │   └── non_generic.carbon
│   │   │   └── while/
│   │   │       └── while.carbon
│   │   ├── thunk.cpp
│   │   ├── thunk.h
│   │   ├── type.cpp
│   │   ├── type.h
│   │   ├── type_completion.cpp
│   │   ├── type_completion.h
│   │   ├── type_structure.cpp
│   │   ├── type_structure.h
│   │   ├── unused.cpp
│   │   └── unused.h
│   ├── codegen/
│   │   ├── BUILD
│   │   ├── codegen.cpp
│   │   ├── codegen.h
│   │   └── testdata/
│   │       ├── assembly/
│   │       │   └── basic.carbon
│   │       ├── fail_target_triple.carbon
│   │       └── objcode/
│   │           └── basic.carbon
│   ├── diagnostics/
│   │   ├── BUILD
│   │   ├── check_diagnostics.py
│   │   ├── consumer.cpp
│   │   ├── consumer.h
│   │   ├── coverage_test.cpp
│   │   ├── diagnostic.cpp
│   │   ├── diagnostic.h
│   │   ├── emitter.h
│   │   ├── emitter_test.cpp
│   │   ├── file_diagnostics.h
│   │   ├── format_providers.cpp
│   │   ├── format_providers.h
│   │   ├── format_providers_test.cpp
│   │   ├── kind.cpp
│   │   ├── kind.def
│   │   ├── kind.h
│   │   ├── mocks.cpp
│   │   ├── mocks.h
│   │   ├── null_diagnostics.h
│   │   ├── sorting_consumer.h
│   │   └── sorting_consumer_test.cpp
│   ├── docs/
│   │   ├── README.md
│   │   ├── adding_features.md
│   │   ├── check/
│   │   │   ├── README.md
│   │   │   ├── associated_constant.md
│   │   │   └── pattern_matching.md
│   │   ├── coalesce_generic_lowering.md
│   │   ├── debugging.md
│   │   ├── design/
│   │   │   ├── README.md
│   │   │   └── clang_api.md
│   │   ├── diagnostics.md
│   │   ├── driver.md
│   │   ├── idioms.md
│   │   ├── lex.md
│   │   ├── lower.md
│   │   └── parse.md
│   ├── driver/
│   │   ├── BUILD
│   │   ├── bazel_build_clang_runtimes.cpp
│   │   ├── build_runtimes_subcommand.cpp
│   │   ├── build_runtimes_subcommand.h
│   │   ├── clang_runner.cpp
│   │   ├── clang_runner.h
│   │   ├── clang_runner_test.cpp
│   │   ├── clang_runtimes.cpp
│   │   ├── clang_runtimes.h
│   │   ├── clang_runtimes_test.cpp
│   │   ├── clang_subcommand.cpp
│   │   ├── clang_subcommand.h
│   │   ├── codegen_options.cpp
│   │   ├── codegen_options.h
│   │   ├── compile_benchmark.cpp
│   │   ├── compile_subcommand.cpp
│   │   ├── compile_subcommand.h
│   │   ├── config_subcommand.cpp
│   │   ├── config_subcommand.h
│   │   ├── driver.cpp
│   │   ├── driver.h
│   │   ├── driver_env.h
│   │   ├── driver_fuzzer.cpp
│   │   ├── driver_subcommand.cpp
│   │   ├── driver_subcommand.h
│   │   ├── driver_test.cpp
│   │   ├── flags.def
│   │   ├── format_subcommand.cpp
│   │   ├── format_subcommand.h
│   │   ├── fuzzer_corpus/
│   │   │   ├── 019dd4030b151d2c67da557bf3d56d96dc7839c1
│   │   │   ├── 02c83534aab9233198863881aa7d82dde0a5b980
│   │   │   ├── 059a104f98f5658171c48a4d6b0d39036f953264
│   │   │   ├── 0ab2969c765b7dfd5a132f93c87d60f700089d26
│   │   │   ├── 11780e1967cb34483305ee0ce43df22b498db8de
│   │   │   ├── 140803cdfca738e7d23521f13ecf6d87d0bd8980
│   │   │   ├── 1b65c7f425af22130c7c3aa117961873a194a8ef
│   │   │   ├── 2251142ebdcd99890424c932de502d094925ad98
│   │   │   ├── 256dbb574b157de6b00c720c6e123de5d3129e56
│   │   │   ├── 26305a3c41da25872752f99d86ba0cff5c96c15a
│   │   │   ├── 285ad940d4ba382b1ca2698edae0f48a132d3f4c
│   │   │   ├── 2d8c6aebe55a5df4c61804509d3ff1c14978c578
│   │   │   ├── 2f99d3b7e96de13b21d1b33aa77d5d48fc6e6f88
│   │   │   ├── 2fd2a7b121a56fdc1e623de01dc1678414adc5dc
│   │   │   ├── 300ba8e152fe095fcd1f88d18bc64d5b100059e6
│   │   │   ├── 34c0284640cf11c78b5802ecaf21802ebc83df04
│   │   │   ├── 3519a9e1095165b91c5d4ba9824d32227da30bd6
│   │   │   ├── 39294db001ba643d5353c8f418f754c6352c8485
│   │   │   ├── 3c4c33f72a9ff968e60adf7a2db5206d6375b7c5
│   │   │   ├── 3c585604e87f855973731fea83e21fab9392d2fc
│   │   │   ├── 3da89ee273be13437e7ecf760f3fbd4dc0e8d1fe
│   │   │   ├── 3dbc1b67cab9a71bac41d7ee17fa31a8b32a9904
│   │   │   ├── 4148ee13ed2c74d0f5ce52c46ebd0983c26beb64
│   │   │   ├── 45f063671e63a4a29f2b05bdd3b6731568119e38
│   │   │   ├── 4c6f81cf8a9546cd87d1fce006bbe64abd47697b
│   │   │   ├── 4e0f684219dcb4518aaf4166bd2b51c957ef36de
│   │   │   ├── 508abb20ddc995fe9e72b69216fd46c24c966358
│   │   │   ├── 58607edfe3d6ae988025bc9062e244d4c47f54dc
│   │   │   ├── 58aaf472c4ed651739b9b6debf73437e4eaafb0e
│   │   │   ├── 596cf9d9a653583c4753d4f51b95e679b63f7c71
│   │   │   ├── 5dab5e799f3875176eeaa35987db34271c1067a0
│   │   │   ├── 64e1cd6e55c120c9f2fb329773f345ee6406b74a
│   │   │   ├── 67cba3df1acabd24c9b66e3c02b819f25f3fcf57
│   │   │   ├── 6854bbf33c0126b61050dd5fc0ef0126a9701ff0
│   │   │   ├── 6b03ca7a6835a17b1077f1b98f43c63efd3cac13
│   │   │   ├── 6ba597db92a7d33adb74499c15e5034ee57cd41b
│   │   │   ├── 6cd45830db903347e26c3e114ba494052a4a42bd
│   │   │   ├── 6f3f7dcc0a69d64ed2d99bcee0c0fbb81f970fc6
│   │   │   ├── 74a21fca37339bc7223b8963473dff771ae964f5
│   │   │   ├── 78d5bd054d5f82b116ac00b834314d4e24f6c21b
│   │   │   ├── 79119613c827b0d5bea100613dcd8aa8765c31f6
│   │   │   ├── 798bd7bd8e4d8d1835ffe6f02fbeb6319f4f106e
│   │   │   ├── 7bc4f9278deaa7046a5f512c89eac67ebf3ba0d3
│   │   │   ├── 86179d08482c27dab51fe8a8ea5d8324ef2461e9
│   │   │   ├── 8b0653417087d3d7fd049166a72cd7bcbc5f6dd1
│   │   │   ├── 8cabec887fe80b7d9f8b28e989db65a6d72dd22b
│   │   │   ├── 8eda19d8bfbc4dbd6070bf626cd2f33160ff88a0
│   │   │   ├── 9069ca78e7450a285173431b3e52c5c25299e473
│   │   │   ├── 922b5a97efaa1a3ecba58234ad8d01f41d36d313
│   │   │   ├── 9d47be29ac84966acf09290f8a7df5ba0ac4ea4e
│   │   │   ├── a2ae2a7db83b33dc95396607258f553114c9183c
│   │   │   ├── a454ca483b4a66b83826d061be2859dd79ff0d6c
│   │   │   ├── a5bbebbdf11c537a22a3a9dab4b83498ceb441ca
│   │   │   ├── a69f09257d9cd8f5edd9a87b728ab3d75d4352c4
│   │   │   ├── a8502f9cfc7efd4ddb3cb771ae00364f60bc279f
│   │   │   ├── adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
│   │   │   ├── aecfd3909eadc5707dd46249f6239cad4a2d8618
│   │   │   ├── af0fb9fda0e123b97ba7be099545a02b8c21a058
│   │   │   ├── af1ec8ae5cda07dc979bd68e45d67ffe0d7ffed6
│   │   │   ├── b36251f56081e4735b65b1c9d3d765f25ce67a66
│   │   │   ├── b62c8e9630f2bb2106ce5717ecf7f10c1b89b958
│   │   │   ├── b74fd0148ec8333ad7ce831dd7caa6bc4eff73a9
│   │   │   ├── b82f012f0ede708c493207a1eeee577e3c0f884c
│   │   │   ├── bb709bdd1d83c039d5c2f02313009030a4f73e0f
│   │   │   ├── bc75eaba7c2f73ce991969295463f6af70bfbf1a
│   │   │   ├── be0ef7b40ed46b91af0482ce0eb7ad38042b5659
│   │   │   ├── beacd06c224890fcf6d9b09b771e1248e241ab4b
│   │   │   ├── c349a8a58eb9c57bf1c97e5af483db5144482772
│   │   │   ├── c673fa568bbd98569d347b44306c46b50cc2e53f
│   │   │   ├── c949526372921c8c5a75ed9e1b198f44fb7a96a1
│   │   │   ├── cf294d20a4419644a7716bc1e1783a770c5e2e33
│   │   │   ├── cfa74701753e8c5eda1d7364b63b26b667c71bb2
│   │   │   ├── d25a8e16325922f85262deec08e77c04acf69f8e
│   │   │   ├── d5ebc4110136110c161d48f2d8e53cd1b4edfc0d
│   │   │   ├── d6e1cfb07890f99e8e5142c9868cf0a7d07b97ab
│   │   │   ├── d97e2e42e26d865d34f68bc92cf8bfe6a40f2eb4
│   │   │   ├── e3d8d13265fdbea01751381344b1a7466fb0cdfb
│   │   │   ├── e4cd6da031338746e34eb86e8a931d3b589e3d50
│   │   │   ├── e8e9adab43ade785323869812e73201de7abf7ad
│   │   │   ├── ea21645db01d3810168f14c8dfa601d54d7a52f5
│   │   │   ├── ed301991137b18831e72c6a6045fac64e5c010c9
│   │   │   ├── efa312d99ad0a086577dfb243164f522aa921b86
│   │   │   ├── f488a972b82d572833fccb4600a74d8d4a33ff84
│   │   │   ├── f4d6728f4d7cb31739d3ed633a564e4f0015d7cf
│   │   │   ├── fb80d614f998904a2fcee5f4ac25ce3e71787364
│   │   │   ├── fbd4c32be3552f308d7b77155fe35dab861cf45c
│   │   │   ├── fd354923ab6a356b717147ef68e51581e81ec8c8
│   │   │   └── fe0ff78dd1420db832b271cc868019e9945f5f79
│   │   ├── language_server_subcommand.cpp
│   │   ├── language_server_subcommand.h
│   │   ├── link_subcommand.cpp
│   │   ├── link_subcommand.h
│   │   ├── lld_runner.cpp
│   │   ├── lld_runner.h
│   │   ├── lld_runner_test.cpp
│   │   ├── lld_subcommand.cpp
│   │   ├── lld_subcommand.h
│   │   ├── llvm_runner.cpp
│   │   ├── llvm_runner.h
│   │   ├── llvm_runner_test.cpp
│   │   ├── llvm_subcommand.cpp
│   │   ├── llvm_subcommand.h
│   │   ├── prebuilt_runtimes.bzl
│   │   ├── runtimes_cache.cpp
│   │   ├── runtimes_cache.h
│   │   ├── runtimes_cache_test.cpp
│   │   ├── testdata/
│   │   │   ├── compile/
│   │   │   │   ├── clang_args_warning.carbon
│   │   │   │   ├── fail_clang_arg_extra_input.carbon
│   │   │   │   ├── fail_clang_args.carbon
│   │   │   │   ├── fail_clang_args_error.carbon
│   │   │   │   ├── init_array.carbon
│   │   │   │   ├── no_init_array.carbon
│   │   │   │   └── optimize/
│   │   │   │       ├── clang_no_optimize_twice.carbon
│   │   │   │       ├── fail_clang_forward_optimize_size.carbon
│   │   │   │       ├── fail_clang_forward_optimize_speed.carbon
│   │   │   │       ├── fail_clang_no_optimize_arg.carbon
│   │   │   │       ├── fail_clang_override_optimize_arg.carbon
│   │   │   │       ├── optimize_debug.carbon
│   │   │   │       ├── optimize_default.carbon
│   │   │   │       ├── optimize_none.carbon
│   │   │   │       ├── optimize_size.carbon
│   │   │   │       └── optimize_speed.carbon
│   │   │   ├── dump_mem_usage.carbon
│   │   │   ├── dump_shared_values.carbon
│   │   │   ├── dump_timings.carbon
│   │   │   ├── fail_bad_prebuilt_runtimes.carbon
│   │   │   ├── fail_bad_runtimes_cache.carbon
│   │   │   ├── fail_clang_fuzzing.cpp
│   │   │   ├── fail_clang_no_args.cpp
│   │   │   ├── fail_config.carbon
│   │   │   ├── fail_dump_phase_conflict.carbon
│   │   │   ├── fail_errors_in_two_files.carbon
│   │   │   ├── fail_errors_sorted.carbon
│   │   │   ├── fail_errors_streamed.carbon
│   │   │   ├── fail_flag.carbon
│   │   │   ├── fail_flush_errors.carbon
│   │   │   ├── fail_fuzzing_invalid_clang_arg.carbon
│   │   │   ├── fail_fuzzing_invalid_target.carbon
│   │   │   ├── fail_input_is_directory.carbon
│   │   │   ├── fail_lld_fuzzing.carbon
│   │   │   ├── fail_llvm_fuzzing.carbon
│   │   │   ├── fail_missing_file.carbon
│   │   │   ├── fail_missing_stdin_output.carbon
│   │   │   ├── fail_output_is_directory.carbon
│   │   │   ├── link/
│   │   │   │   ├── fail_object_files_missing.carbon
│   │   │   │   └── fail_output_missing.carbon
│   │   │   ├── multi_input_with_output.carbon
│   │   │   ├── stdin.carbon
│   │   │   └── verbose.carbon
│   │   ├── tool_runner_base.cpp
│   │   └── tool_runner_base.h
│   ├── format/
│   │   ├── BUILD
│   │   ├── format.cpp
│   │   ├── format.h
│   │   ├── formatter.cpp
│   │   ├── formatter.h
│   │   └── testdata/
│   │       └── basics/
│   │           ├── braces.carbon
│   │           ├── comments.carbon
│   │           ├── empty.carbon
│   │           ├── fail_invalid_comment.carbon
│   │           ├── fail_multi_file_one_output.carbon
│   │           ├── fail_nonexistent.carbon
│   │           └── simple.carbon
│   ├── install/
│   │   ├── BUILD
│   │   ├── bazel/
│   │   │   ├── carbon_cc_toolchain_config.bzl
│   │   │   ├── carbon_detected_variables.tpl.bzl
│   │   │   ├── carbon_runtimes.bzl
│   │   │   ├── carbon_toolchain.bzl
│   │   │   ├── clang_resource_dir.BUILD
│   │   │   ├── empty.BUILD
│   │   │   ├── install.BUILD
│   │   │   ├── install.MODULE.bazel
│   │   │   ├── make_include_copts.bzl
│   │   │   └── runtimes.BUILD
│   │   ├── busybox_info.cpp
│   │   ├── busybox_info.h
│   │   ├── busybox_info_test.cpp
│   │   ├── busybox_main.cpp
│   │   ├── carbon_install.txt
│   │   ├── configure_cmake_file.bzl
│   │   ├── configure_cmake_file_impl.py
│   │   ├── install_filegroups.bzl
│   │   ├── llvm_symlinks_test.py
│   │   ├── make_installation_digest.cpp
│   │   ├── pkg_helpers.bzl
│   │   ├── symlink_helpers.bzl
│   │   └── toolchain_tar_test.py
│   ├── language_server/
│   │   ├── BUILD
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── handle.h
│   │   ├── handle_document_symbol.cpp
│   │   ├── handle_initialize.cpp
│   │   ├── handle_shutdown.cpp
│   │   ├── handle_text_document.cpp
│   │   ├── incoming_messages.cpp
│   │   ├── incoming_messages.h
│   │   ├── language_server.cpp
│   │   ├── language_server.h
│   │   ├── outgoing_messages.h
│   │   └── testdata/
│   │       ├── basics/
│   │       │   ├── exit.carbon
│   │       │   ├── fail_empty_stdin.carbon
│   │       │   ├── fail_no_stdin.carbon
│   │       │   ├── fail_shutdown_without_exit.carbon
│   │       │   ├── initialize.carbon
│   │       │   ├── notify_parse_error.carbon
│   │       │   ├── unexpected_reply.carbon
│   │       │   ├── unsupported_call.carbon
│   │       │   ├── unsupported_notification.carbon
│   │       │   └── verbose.carbon
│   │       ├── document_symbol/
│   │       │   ├── basics.carbon
│   │       │   ├── language.carbon
│   │       │   ├── nested.carbon
│   │       │   └── unknown.carbon
│   │       └── text_document/
│   │           ├── change_unknown.carbon
│   │           ├── close_unknown.carbon
│   │           ├── diagnostics.carbon
│   │           ├── incremental_sync.carbon
│   │           ├── incremental_sync_multiline.carbon
│   │           ├── open_change_close.carbon
│   │           ├── open_duplicate.carbon
│   │           └── open_with_cpp_nonexistent.carbon
│   ├── lex/
│   │   ├── BUILD
│   │   ├── character_set.h
│   │   ├── dump.cpp
│   │   ├── dump.h
│   │   ├── fuzzer_corpus/
│   │   │   ├── numeric_literal/
│   │   │   │   ├── 00b8cd836c457801a27431b2fae14dc889e3e92a
│   │   │   │   ├── 020bf8374f78631e3832c436818bc4a077464c9f
│   │   │   │   ├── 046ea6e92945727581cc0d3550754bf545fbcce3
│   │   │   │   ├── 048ca7783b27c2f9ffa11a6e415df2821de767e3
│   │   │   │   ├── 04cc6041841507c0e7513b38e31ca3f7e63851d7
│   │   │   │   ├── 0523a3cf13b055ebe6d16f0edfe7cd1c54802372
│   │   │   │   ├── 0699989c219e1d7b336851c646e88a651859d081
│   │   │   │   ├── 06be63f8a856b3c2ff1e4f6456ae2a598dcdfe59
│   │   │   │   ├── 0733e1eab32796fc80c49e6a1b83b767d9728825
│   │   │   │   ├── 082fb8b49e412ef6a8c8946b149c9b19cd6e2837
│   │   │   │   ├── 0842360c9209267aefbc4bcafc6a14821257f942
│   │   │   │   ├── 08b69222e0a6ac6dd67d1c91719d3f89149bbf3f
│   │   │   │   ├── 0b7093469bb6c349a4a730b484bc99f8755a3cb5
│   │   │   │   ├── 0bbd8b6c814360f7eb032d8e921fb916f3af643a
│   │   │   │   ├── 0c2730c2230eb2beaf907d1feb4b754a1d9fa322
│   │   │   │   ├── 111f083d72dc69da5c2df23c8142b96fde044fc3
│   │   │   │   ├── 1213ea480fd8224227d3016271c7dd8c96d839cc
│   │   │   │   ├── 1245401b55dbe86b0881a84e17b7ad5424557a6c
│   │   │   │   ├── 13c1daecff92125665a018520dbd23f495f7d21b
│   │   │   │   ├── 14892954f44819d5064f3b2efeef3d59877956b1
│   │   │   │   ├── 1496a76414a61fd6d77fb52acf040b2176890a9c
│   │   │   │   ├── 14a9830e5443add35bee80d7b59e56ed2ed58231
│   │   │   │   ├── 156aee9179b8f39e73332a9b59336a97d1526c97
│   │   │   │   ├── 164585b5e3297b62f49428fc82661b3d1a6bd524
│   │   │   │   ├── 17675e27a67f6ed960be339c6784fa902ffb568c
│   │   │   │   ├── 181bd138b714c47c705d218938274a6ff2c0315a
│   │   │   │   ├── 1a349dcc540a3978584510d982075f838b17cd6d
│   │   │   │   ├── 1d5872c3a5cc3ac317e3611c7167eaa142f2d63c
│   │   │   │   ├── 1d6b5255a8715ae63cd18e2b238f889f5a6a3dab
│   │   │   │   ├── 1ddd636055b4b62ed55bd9c5406b98508df65094
│   │   │   │   ├── 1e9be73c8fc8acf59e2fd87e8a659b77fb8e1420
│   │   │   │   ├── 2047371f2b0343b6e64f40fb260c09b2037847e2
│   │   │   │   ├── 20602f5b4440f20ea21ced88bddcf8ba073ddac3
│   │   │   │   ├── 22cf82b68b95049bffb91128349ccc312a460b10
│   │   │   │   ├── 2368a873bce5809ef902426b152742363bc21800
│   │   │   │   ├── 259b09861744d6d77d8d2d4c25d43cafd4d9a003
│   │   │   │   ├── 25cc5d59a72a1c274cf218d947dafcde63c6c7b6
│   │   │   │   ├── 25f06d4d4f5e0a73147b3b758bf85754b40bd6f8
│   │   │   │   ├── 2b991489843e1d4b3960a9c905cc5e63dcb98768
│   │   │   │   ├── 2c4224570fe8a21dec1bafe6520a7ec5619b7511
│   │   │   │   ├── 2d1e7879ec3e332fe432986620d4f4648378473d
│   │   │   │   ├── 2d7bd1ddf796ff4bbb5efed75ad66e55489780fd
│   │   │   │   ├── 2fa6402156da7aed557f89e02fb9b8bd0a8bfb6a
│   │   │   │   ├── 2fcefe6a06ecee3472758a9f259b7456da40cc8d
│   │   │   │   ├── 2fd76b1e86feae72db5813fa27e0760a607a13f2
│   │   │   │   ├── 320cc080c41a4f5846cd740e82f007645010bfa1
│   │   │   │   ├── 3286cf588786f87fef481c7ee465dc60eee4391e
│   │   │   │   ├── 32bb601f3f3aa9a3ac30ee4ad2138c5143251714
│   │   │   │   ├── 334200ab9eb04bd01cb44a21e16306f3e8de12be
│   │   │   │   ├── 356a192b7913b04c54574d18c28d46e6395428ab
│   │   │   │   ├── 36076c28fff33bea1867304432420ed685d27b91
│   │   │   │   ├── 362091df7a6a4b38be6f958d21f4cadc6fea5e8a
│   │   │   │   ├── 37251be083d7f99af9e1c7a4f11936f2935f0b17
│   │   │   │   ├── 38d829e423d480cd24a1b83513ea6d9424627212
│   │   │   │   ├── 38f6d7875e3195bdaee448d2cb6917f3ae4994af
│   │   │   │   ├── 392d029d257986310089d500b1d4521818f45cd5
│   │   │   │   ├── 3939dac890fba2eb21814e82eb539d6f7de9da07
│   │   │   │   ├── 3bfd922772e61d1c51ad7a3c0d6db7e686b70859
│   │   │   │   ├── 3c79ec3deaaa87395a6955a8f39be784643d52ea
│   │   │   │   ├── 3cf5e1f649a73e69b4ee05c62da8e0d5252823df
│   │   │   │   ├── 3e140e6d8d719ce82a88adbcbf3668e890b8d025
│   │   │   │   ├── 3e754b50d7ed4402123e6ee1351344d67b834918
│   │   │   │   ├── 3e9be1b258c67169e262e993f89656cb27c3da9c
│   │   │   │   ├── 3ed54accbc161980c788a8951426f1d5931db238
│   │   │   │   ├── 3f675324a715fc02cf00afb8c485eadfba257aa3
│   │   │   │   ├── 3f9f95592f43e9c035a6a53f0c32026eed0d299d
│   │   │   │   ├── 3ff2c6b37ae1c0fcc3cdd04a35f9d8e532fa7d20
│   │   │   │   ├── 41901ac30f9e7e68c32ba753436e9c5bc668d3c5
│   │   │   │   ├── 41add85724d3b9bff3d877a949acb2fc93fd76fc
│   │   │   │   ├── 41ff53703fa8231deadc00322805ee78f793b5da
│   │   │   │   ├── 449812e74454e863ea558e7ab9e17cbe64572e97
│   │   │   │   ├── 45c1e6525e6d1b2496ac19b3064245b6473a49fc
│   │   │   │   ├── 46448068fa6276bb5f7c4f56066fb34ece186c66
│   │   │   │   ├── 489a73b15ac1c4dffab102dfe6c109792a7e1dfa
│   │   │   │   ├── 49237f66b40eaad2c23d8be346fead4c2a004636
│   │   │   │   ├── 4a095aef5824cd0a13c8706ff870a6ef2f3dd399
│   │   │   │   ├── 4e52ef8facabaeead3d4e12b91b0f4a4ec102732
│   │   │   │   ├── 4ff447b8ef42ca51fa6fb287bed8d40f49be58f1
│   │   │   │   ├── 51711e08538ddc6d50e7c3978cb2a00f50a5a305
│   │   │   │   ├── 52cfe1fb5fda21b7f088d637a41e5de1592fb2e0
│   │   │   │   ├── 550312ca5140e036ac9d728db3d44df0991a4d88
│   │   │   │   ├── 55cab295e6fb717b173702eed50ffbead9de2957
│   │   │   │   ├── 5667a766c3d9fdf13333fd6c5b6fdafd3cebb442
│   │   │   │   ├── 57c1c5becc3cf566581f06378dfe1987172dad7d
│   │   │   │   ├── 58409e6b84395163cdbf63ba09ad2231527adedb
│   │   │   │   ├── 58c748af73c955937a1dc9e25733cb8b0f9eae3e
│   │   │   │   ├── 5941347f0af754e5f70069077c4e87509cefde58
│   │   │   │   ├── 5cc4fc2171135fefc805291872a391ee7e35c015
│   │   │   │   ├── 5d870fa1cb981790514473e2a688fc61f0150307
│   │   │   │   ├── 5dfa4702490bf06ce54b742ebab131c459e21e8f
│   │   │   │   ├── 5e0218964ab8a1d04b56e9b4e798729ce5499909
│   │   │   │   ├── 5e4d4905d69735de1b7fb0101dde0f8e4d17d536
│   │   │   │   ├── 5eb55dea99ee665801b7e3725a784a11ed846372
│   │   │   │   ├── 5efd0f0af5b1f1e870f78a2192c5f03bdca52d25
│   │   │   │   ├── 5f773135f0a7c8209d25b3297730293d3e238753
│   │   │   │   ├── 5fc5e3ad16ffb81cd87a08e3ab245390e6eb94e2
│   │   │   │   ├── 613cf0e439d1968b62526744b596b6cd832e3443
│   │   │   │   ├── 61b9f39ee191e759ef0ad6fd735396bfddb2cbf2
│   │   │   │   ├── 6240d35f66f3994f2007b36a162283da33bdf0b4
│   │   │   │   ├── 62db736f788068332552999e2042e8df794b798d
│   │   │   │   ├── 6330f177b9d4ffc57bacb9009083de56d3a9fdf1
│   │   │   │   ├── 637a6f32cb071a302042abe613d71f135baf0c5e
│   │   │   │   ├── 6417ac8b13eaa831f05ca81c8b289a4627d0635f
│   │   │   │   ├── 6422d887d7ff4e44e59a0b28c92a65130b9c2d12
│   │   │   │   ├── 6477186c0f869c7a5b1c91e08010767ecf61c68e
│   │   │   │   ├── 666d79489b330d37cd5360ce87f3378a19c368d4
│   │   │   │   ├── 66c382031cc45a841fc9284e1c29b46ef4b7d8e6
│   │   │   │   ├── 66cf30ceb3ebffae51ec04fe54d14f0e1da764d0
│   │   │   │   ├── 684a3fef4c5504bd7c8ee2bb7d417e93d2ad80d8
│   │   │   │   ├── 6afec1f1f70abcf1cbae35977b37c2bc048b4f17
│   │   │   │   ├── 6b453b65ac16f51d4166e1bc52c24281a945385e
│   │   │   │   ├── 6bec19b44bcdac7bca8bc9b10925d2cdc754175b
│   │   │   │   ├── 6d45ff4bfda8922cdbd9117551d7479ef3bd9adb
│   │   │   │   ├── 6e1eec8ed109fbdf7c12458769ea0c002cdeac56
│   │   │   │   ├── 6ef7576d39b7bc259e00aafe441718f698e3cd87
│   │   │   │   ├── 70384f05c971ac3ff0f4ebd9fa2d2f3d82b4993d
│   │   │   │   ├── 718fce6b8f3937863dd947bc9c188136d05d7130
│   │   │   │   ├── 7343e86dc760c4b6e623d1646c6e82b378ba24b0
│   │   │   │   ├── 739d7debab4eb975e3b5aa91ed2b965948caf457
│   │   │   │   ├── 7540797d21454f5609272245c05b3981be33b7aa
│   │   │   │   ├── 759ce3343927be93883bb26ea5540ea21e5aa386
│   │   │   │   ├── 75e22f6c35544f9a4760dd136ee93d7c5f2518d4
│   │   │   │   ├── 76a6acc2af2d920a632b7addec28fbb42d6227f8
│   │   │   │   ├── 7715d946c6d57bc306d04052c49369f0afb2ac32
│   │   │   │   ├── 7744609c9961fca0f8d55e9c7616509e9e3df808
│   │   │   │   ├── 77a99713d7aa3100c9c0680c9cbeba67d4f30ce9
│   │   │   │   ├── 77c782bdb9521dbe6eb7682493fcde89ce762f44
│   │   │   │   ├── 7ae756e9681dcdb739fb1ae0e30a3bf8043fe60c
│   │   │   │   ├── 7b41852284e3035d7a807d1769524a4514295373
│   │   │   │   ├── 7bdb26daf76ed012b61a65e0b6d521f0b34e55f6
│   │   │   │   ├── 7dcc9c53752ca6a800dc7dda472a0bd2ed09e7c4
│   │   │   │   ├── 7ef0a8d8149342fa93469f228609bc52508e4396
│   │   │   │   ├── 8021f51a3efe8bc03538901a5d07a2f20a39b701
│   │   │   │   ├── 81304e0dcfb8fb2fd1ba2309d416ffe1f38f2a3d
│   │   │   │   ├── 8149371e9bcb20ef99f926fe20c176cafa676285
│   │   │   │   ├── 814a3876b8285a2bcbecd99a201cf1af49e6b11a
│   │   │   │   ├── 832dcee787c4ff526198f707d0d8e16b129767c2
│   │   │   │   ├── 83f542ffb794bd569945866aaf8e37228669a701
│   │   │   │   ├── 849af41229745fd6e9840d69bf6edd7079a311fd
│   │   │   │   ├── 84b1ef034e51a5082e8218e85975c1bf4337bc59
│   │   │   │   ├── 8500486975fcce132a3ba3e1a20f8de7b29508a7
│   │   │   │   ├── 85eef37d8dc68b042afa0b50e172897464034a74
│   │   │   │   ├── 85f3830484d7409a99017e899e2399f7985af94e
│   │   │   │   ├── 87a2b80f9272583517c0207af176fc40ea55022c
│   │   │   │   ├── 89608cabe045206c25384b6785aa92daf7c171bb
│   │   │   │   ├── 8c954006e2cb2f5ffbc20dfbcbb7fe404be4ba5c
│   │   │   │   ├── 8d5c212a40a328da7565d7bbd5fbe7517538ee3d
│   │   │   │   ├── 8dceb2a8bb9a98ee0fcfe9a89d3a3ff3fdce414a
│   │   │   │   ├── 8de1f2c13c48532f772061efda9edb38fe26c0a3
│   │   │   │   ├── 93221a7273be83763f9dd883946978eb0935e762
│   │   │   │   ├── 93b713025575996366c633ef8cea8fbdc737d8d8
│   │   │   │   ├── 950b8c9dd09799288af9d11ff958ed2e63d72005
│   │   │   │   ├── 95d9c8b6e3bf3de68dd56743596c43f819e818de
│   │   │   │   ├── 99ce00d43f9fc7818a4f3423b7b8289d0bb87234
│   │   │   │   ├── 99df4151dcd9f163434a0b284c10936af0f4e5fb
│   │   │   │   ├── 9ac784b1c686635d12495b0ed4a25029f0baaa9a
│   │   │   │   ├── 9ae0a713e4c39c47492f77de7102534a7b96aab6
│   │   │   │   ├── 9b4e655a5683ce75fba463fa880b257be3ffa8f8
│   │   │   │   ├── 9bcb018977812159c15a834f373ac135b782a10a
│   │   │   │   ├── 9d27e500ee25dbdecb9fc4680812eb96e48f1d2d
│   │   │   │   ├── 9d41a9818e211ee98ac596495c1124f6696d09fc
│   │   │   │   ├── 9d51f1423722c5e8aa4d107865e10d293a1fa140
│   │   │   │   ├── 9df9f3ac537c579ad5b0aceef46a2dcce31037de
│   │   │   │   ├── 9ffdd9130c8e506c54bb4631080871fc1c7ba88f
│   │   │   │   ├── a1422e6a168630cdd214ac5e31ca01ae1bee8d92
│   │   │   │   ├── a2eea62736951c8d78626f741bfbfc51bc6c9bd2
│   │   │   │   ├── a41c607d984aec3d796569da2b55dda8f0048b0c
│   │   │   │   ├── a574380880b8038ee74cdb44cb7aa7f2b6617186
│   │   │   │   ├── a5c4ec5775088e87a334b664e6e8e86dd7e10130
│   │   │   │   ├── a6c9027065d9ae3dc8f1b1b880d5f1775240ca0c
│   │   │   │   ├── aa8250319828b4163695c726ea6e69cf4c140e30
│   │   │   │   ├── aae7c0fb777f220875f1fe54665d0fda9b03890e
│   │   │   │   ├── aaf78b268bc0226a03e73e2bf184a61734c8aa0b
│   │   │   │   ├── ab3baefd06064b7a6137cb2893456835abcaa118
│   │   │   │   ├── ae367cc8cabac896debece6700e842aa85c40b78
│   │   │   │   ├── ae80bd232c1ebf8afacc37405c2a4505f475e2aa
│   │   │   │   ├── aeced42b612c49741b262e34706c1de01eaf97e4
│   │   │   │   ├── af31568f6b0df0b3338588f29c0eb4460a99b69c
│   │   │   │   ├── af8720cb64bd570dc7e6d9c68481efe81aed22e0
│   │   │   │   ├── b108a36270fd0835a7be248d5fd4a85a5250a7dd
│   │   │   │   ├── b13b57aa1c98d3a129e0dd718a604dac3c65770a
│   │   │   │   ├── b419ff42ac4a0f2b5d3bc8979d5aba98d79798e8
│   │   │   │   ├── b49182a7be9de06418c6af2c3f09a79e4ec4197a
│   │   │   │   ├── b61f36e968b85c99a3dfd19b9932595e782b8913
│   │   │   │   ├── b6589fc6ab0dc82cf12099d1c2d40ab994e8410c
│   │   │   │   ├── b70cfeaa4a7ef5329e8ee37c5015ca3b648c450c
│   │   │   │   ├── b86fb9c87e493ea5af6004126150feb9bdb825c9
│   │   │   │   ├── b8983fc9befbd305e19d529db1c66ad18320ac69
│   │   │   │   ├── b8d80dd9af3eb7eb136f1d14a07b1c528f13e911
│   │   │   │   ├── bab0d1528dc42ded1936a436f20afba10014f891
│   │   │   │   ├── bc1ac6a8f86333e9fd372331e6d3f444be735402
│   │   │   │   ├── bc977149aaf6eb3a51c1769e8cb19901b1829e92
│   │   │   │   ├── bceea7f1cd74bebe2ce08e43dac9d261dbf18f91
│   │   │   │   ├── bdb5dc3199e5448ada3fbdfe4c8af7943cbd235a
│   │   │   │   ├── bebc59f212a559756b4bbc3faba4ae10d315d497
│   │   │   │   ├── c23f7da7070511444ebc75875fd9d202b5dd13cf
│   │   │   │   ├── c2e6e1aee1616fa868685dfabbcf5291438f9747
│   │   │   │   ├── c2e71fd65bf2dd7fdfc5c0690c27b7fcd7ad1194
│   │   │   │   ├── c2fb7620971c2d676b0aa62c0e1bbecd80b2d9be
│   │   │   │   ├── c368c154d2fbc8d41e38012e9a506bdc6cb36b3c
│   │   │   │   ├── c3d43e895d5403308b1f5d20ac68089f278f58bb
│   │   │   │   ├── c4d9aa3c1b056db569ee53f2a8576eee1648a803
│   │   │   │   ├── c596925beec028955b43a195888e284ac19f62a1
│   │   │   │   ├── c98cd4991b593a1979150edef362454ba06bc5a5
│   │   │   │   ├── c9d3ec0e53562b12d9b1e081ed9511ff14dc7925
│   │   │   │   ├── cb7064c4c88c44784df84f6babb078c0f8804741
│   │   │   │   ├── cd949405982c4dc60814478e4aa7d4a3f0428479
│   │   │   │   ├── ce201031c9ef369ba2bfe7d52b0fcc1dca0b13b2
│   │   │   │   ├── d0d3d231e7108e8fa61e4e591fa559ecf2792a94
│   │   │   │   ├── d1188e7f3438ba7c3ff7191398ecc2efa9470957
│   │   │   │   ├── d1c2104e3492dc81240c303b52b64fdb0aa8f827
│   │   │   │   ├── d208b7c3d0653df162f4ccbbadb15ec7dae74ab8
│   │   │   │   ├── d48c09534c35bf5ce0cc6c64a6031723d0906bdd
│   │   │   │   ├── d48edc137f3088ed35681ccab30161061b3feb90
│   │   │   │   ├── d5b7f37a21c4af8b3c102f969881e4ee39cc6a8f
│   │   │   │   ├── d625fc319a744dd916251e56a472cfef5a98f0b2
│   │   │   │   ├── d650151dbb711eab8630ceaa36a4f8b1a9e39df0
│   │   │   │   ├── d69e58e80c7e82f3fdb59db0191087c54f79089f
│   │   │   │   ├── d7f82bce8bd35cf64667f447a2138afdb496da3b
│   │   │   │   ├── d9ac7b8dc973d67c518cf931bdf42ad08cf561a4
│   │   │   │   ├── da3293ce5d82067c6f11257981823849169f3403
│   │   │   │   ├── dab0d12291e4cbd77a94f279ba1cbb1672d55c1c
│   │   │   │   ├── daf7d7d2c624233ed78b89b6b6684f74dd1c0c04
│   │   │   │   ├── dbb93daa94c24b650e09cc72a7e56097e22fff84
│   │   │   │   ├── dbd01297d254f7fa305219e2aa1a369ea7a22527
│   │   │   │   ├── dc400bc8f31a8bb2593d4c28112e785e29d0f38f
│   │   │   │   ├── df984f06ec102745c15edefd29f33eda2a1c85a0
│   │   │   │   ├── e38b56ceb12230a32054d611e0d1f7c056eedf6b
│   │   │   │   ├── e526dcac9c6b2eab2ef2ca472a99963347e2f87e
│   │   │   │   ├── e57269fa24e5a40f2292b37089d4366cec35c35d
│   │   │   │   ├── e57c8da00d97212eea169f7dadd281722334acd0
│   │   │   │   ├── e6e85f599f4562e2d1397d023628b65965fa14d7
│   │   │   │   ├── e79e527bbcef0c4e5e267131063d6866232cec3a
│   │   │   │   ├── e860ae2a7d700d40bd3bdeb7caca2b446ee824ef
│   │   │   │   ├── e889b88d53a1a45d01232047189825a7747e8c45
│   │   │   │   ├── e8a863ef5127ed01bbba73449a6c9de20125812e
│   │   │   │   ├── e8b113846dd4cbe61e80e5f750280a16dd37c863
│   │   │   │   ├── e922ba00132e742d435c6caafed22be03024e3dc
│   │   │   │   ├── e9a20a4af61c91b0232679bc583058b278fb2926
│   │   │   │   ├── eb111d98d9cc8e8f4589864319f6c67c0da320d1
│   │   │   │   ├── eb393579a5c6d84365c6c3e95d2de9ed10054d31
│   │   │   │   ├── eb8edaf4c4c13ac51d85c39ff93366be8e4be7cb
│   │   │   │   ├── ec7f371c0fb5c2faaaaa23dc6fcdc99283489ba7
│   │   │   │   ├── ee5f2d15733b40d12b0774af406c78a45ebe6148
│   │   │   │   ├── eee6b2d3ea106e614f0491d195c8c8c192c85bf8
│   │   │   │   ├── efba95a85c4192602fa2c3659143c92b571a5c94
│   │   │   │   ├── eff4911030d04500307ffe2e0fded422fe1ae75b
│   │   │   │   ├── f08ed337a7f1ab963f1209b7848d84221b563f08
│   │   │   │   ├── f0983d0151f1e21eef6430bbc8547242a477416e
│   │   │   │   ├── f197ac3297a72d1413edee2426e7f38917b45423
│   │   │   │   ├── f1abd670358e036c31296e66b3b66c382ac00812
│   │   │   │   ├── f1e14bac6731ce7bd468043a41efdf7b7254305e
│   │   │   │   ├── f25de8b0eaf377a3d96af8469ecd618aedd0cf9e
│   │   │   │   ├── f53f19616fe3d835283bfd6d318c604991b66c26
│   │   │   │   ├── f57c45a511ae9289677ef448b07003946db78212
│   │   │   │   ├── f5a1859ae6b51feea5a485d0d8143439f1a9991e
│   │   │   │   ├── f5df3991f088f7a6710535dcae3250052b786763
│   │   │   │   ├── f5e4d64b7ba71c108572d4f0785e91bbe427512e
│   │   │   │   ├── f633db7e95d71992c0d246a910b6ef0c4f848dc0
│   │   │   │   ├── f7185e0cf7f84c726e60c907e24f28954b68b8b3
│   │   │   │   ├── f7486ae138c2b85cb854545476d92e7a0373ef83
│   │   │   │   ├── f79cc4c8d9f8f447188eb98a03b6941c4c84947d
│   │   │   │   ├── f7a2155a1adc314c9df71252e9b5f6a6f750ecd6
│   │   │   │   ├── f8de2e14b709554c407425de229e30296a529b80
│   │   │   │   ├── f9610fa79c299e70839877aee63f39e96972a16d
│   │   │   │   ├── fa1d66dd261334900916180b83c948551f52275e
│   │   │   │   ├── fae00ad0f90febb0e1f8862e3b72edcf30be61b8
│   │   │   │   ├── fb96549631c835eb239cd614cc6b5cb7d295121a
│   │   │   │   ├── fbd4a4ffc26cdf139663aed3057eedf51ce790f6
│   │   │   │   ├── fcfe7aa00d7b88df2566fb89ac0d93e5b95f1251
│   │   │   │   ├── fd08016e47acfabcb0032079b3243a3ba8aeec41
│   │   │   │   └── fe34eec4627bd91b7c585b6f4be9561fafd9b3f3
│   │   │   ├── string_literal/
│   │   │   │   ├── 0000c663aecfb5630f9cdaade3002e875ff652d8
│   │   │   │   ├── 019d3a61f8243c016c02a5608b6976d3c070a792
│   │   │   │   ├── 03116a305890a94abc5e1ddc1f414f05a894a8c6
│   │   │   │   ├── 0376b433f55d2717b9d41f2b8138c50c46b2aae8
│   │   │   │   ├── 03b96cd9dc4f7f012bb55d2028e23522b3182cb0
│   │   │   │   ├── 04c810f17ef88440680ff21b94aa2f8700f3bf1a
│   │   │   │   ├── 04f36296f1af72207b79d1a9bccad3c0cc12495e
│   │   │   │   ├── 06b234fddbe40ffc81affde9f21a7e5bb85958dd
│   │   │   │   ├── 06fc68871d6c253e93ed33c7490417567a5397cc
│   │   │   │   ├── 07b3fc6b794ea7593e8107ad9885666eb3d8a2aa
│   │   │   │   ├── 0891ef166a76ed8fae0d965e822ffbd16c80cbde
│   │   │   │   ├── 0915fb5ee1694089eeb6e50b8df17675e53c818a
│   │   │   │   ├── 096d488c0e9abe2cd0e12bd2c39fb44301c8be8e
│   │   │   │   ├── 099f3667fe4a3a217aa1dd17de0925690fb78bec
│   │   │   │   ├── 0a98d217558ac2d3a8092b2aa0f5b95bbdea0c07
│   │   │   │   ├── 0aa91ba10de9207476869788f14113120bbcd217
│   │   │   │   ├── 0ab6c929e37c33fb225d50e69e02f3f8505aabf6
│   │   │   │   ├── 0ad3a8f69b5a9026b01b7fac7ee57b79eb75e09e
│   │   │   │   ├── 0b262e8f731e0757184f3d79722b87a0698c41a0
│   │   │   │   ├── 0b8ef897460cd34ddb05e34db985ce877f3d644a
│   │   │   │   ├── 0b9d95b97b5cb13a1ab508375616d2c7ca98642a
│   │   │   │   ├── 0cac1ad1af736bc8b5ce0aa69bf70286102930a1
│   │   │   │   ├── 0ce49d624305931085b2fe24c6504245611b17b5
│   │   │   │   ├── 0d285e68641514a5238342fd7474c04d70e9abc7
│   │   │   │   ├── 0d48eef2e43ee941fd2a921b1ffc2c9a960a03b1
│   │   │   │   ├── 0d8a52a207c1d24dada33edbf6c4c002a3bb5162
│   │   │   │   ├── 0e0f56266d53af7193855295e4474252bddd42b2
│   │   │   │   ├── 0eb2f4cd2ffb648daab824ed5b30e23c6b114ca8
│   │   │   │   ├── 0eca3f968964de26bb7fdbc86b620e467510cb3e
│   │   │   │   ├── 1072f52aed5634ffc5461ccfde141e612e1c8101
│   │   │   │   ├── 110be2627bce9c69711bb92db6e1b4f3563472d0
│   │   │   │   ├── 1144a2cfdfd3882ae4a12453ae570ed5ba9d68bc
│   │   │   │   ├── 11823356e0d93c50ab5165897d16322b08e41ecb
│   │   │   │   ├── 118bca83c4556dba2b8aa7eb11775454d99c7f52
│   │   │   │   ├── 1202a87fd052064983e01e897b34808f3ff6e7cd
│   │   │   │   ├── 1207d0aceee2266d0619757d2c21bcde11b3ed61
│   │   │   │   ├── 121e0dd50daa2712ac60c7a7ad75a3a96c8058c2
│   │   │   │   ├── 128d834f107c1a29ac1bb616a3c9420c461eb4ed
│   │   │   │   ├── 12c6e768a24fae7af97517b5b7b6ad45451e8afd
│   │   │   │   ├── 14321e2ca435f16798a6c7b0ada316d4c298328d
│   │   │   │   ├── 156f8635b11c9313551c85d49e008478e42dcce1
│   │   │   │   ├── 1580d4c19a6fbcdaf475fff8a4a5b7b007f1dd45
│   │   │   │   ├── 168b94a27056b46bb49207944a088ea147b01875
│   │   │   │   ├── 18020898aa2f970510835e93a646055faf3151f0
│   │   │   │   ├── 19ed681682ad5f130c19b58afcf93cd51ba6681b
│   │   │   │   ├── 1aa5479826030cdf5e87225bf7abe744ded8aa7f
│   │   │   │   ├── 1baba5d163df4121850aa75bfb65b9eec1e0339a
│   │   │   │   ├── 1d693296a54fa1e51183aa60a86fa56dd1c5abe3
│   │   │   │   ├── 1dec96b1cc5b85730ef22ef6746bfccf6a285e54
│   │   │   │   ├── 1e7add2f35b6f74817a36dffade4d52d0a783e92
│   │   │   │   ├── 1eafed7ea98652650f95f073f49d6664ebdcb3a1
│   │   │   │   ├── 1f012f5338605e81d19806071950625522855c1d
│   │   │   │   ├── 1f26d0df21008fefad883dbd3fdb7c32a68f4b3e
│   │   │   │   ├── 1f59243b72386dc9ab6601e63f15e540acef9f39
│   │   │   │   ├── 202d546ab2df1c12c5e463cfd5d52357d27ee56f
│   │   │   │   ├── 20b40ff2624a56b681d03737e2cfea7ed545726b
│   │   │   │   ├── 20f5eb26a89cd1c5d84e325d17e8200f9692ef74
│   │   │   │   ├── 21b5c5652f169812f0294cc35933b1852d3b0b2b
│   │   │   │   ├── 2266623c81f7b52bc5f3310e2258de6260d5bd25
│   │   │   │   ├── 23b95eb9f83d222e121afeaba7eee05e33ea8128
│   │   │   │   ├── 23e20b367426915a863b50cd639e2d6ed6581a9f
│   │   │   │   ├── 25b94b337518f8634eb71e7bbb2997de9d1cdb94
│   │   │   │   ├── 2660cec736ab868f3af22f5a38d83b46f4ec9a2f
│   │   │   │   ├── 26b41bb63bac10df5e71a0ff1dcafd60e3ddd470
│   │   │   │   ├── 2744b033daab57eab64e4a13c08b42508bfe7f61
│   │   │   │   ├── 2795191870e070dfac97a76ab2225078d9d39e4a
│   │   │   │   ├── 2956bece562048144fe63b675cd74d8dc16749b6
│   │   │   │   ├── 2a6db340a61cb534f3db621b68674bd28deb7bac
│   │   │   │   ├── 2ace62c1befa19e3ea37dd52be9f6d508c5163e6
│   │   │   │   ├── 2c13849cdce15524155c078531f0596e28942f91
│   │   │   │   ├── 2d75f23163d702e30d7f75642e72e5ebe35f66dd
│   │   │   │   ├── 2dad69592eaf5c29fb6f946ea30345b94d4f0f46
│   │   │   │   ├── 2dc0d48e579bdf90ab944f87745559511e8330dd
│   │   │   │   ├── 2de4b5c5bd2776262e8c1ebf3995baad9eb144f9
│   │   │   │   ├── 2e70dec62a5c168328c578d4825633017c792c27
│   │   │   │   ├── 2f381733d9cddec878047164d26e926e22a9da9a
│   │   │   │   ├── 2fa1f8eb4a7ad1ef0de818edf2ee3a36a5c8a6e2
│   │   │   │   ├── 2fa32e589ca12d6de0a0fd22934ecc1f365804bc
│   │   │   │   ├── 2fc29f8b41ce47eff1e4b93ffd68b69ced392d1c
│   │   │   │   ├── 30f77ae1d04529b675c4f3e93f859315b60631c0
│   │   │   │   ├── 30fd329fecda454f9dd37560dec0debd9aa29c6f
│   │   │   │   ├── 316e54e58b49f9caddf88ad506e9123828c5c974
│   │   │   │   ├── 3206a6a100fd709e5bfd6938b604f539089a6947
│   │   │   │   ├── 322ebc5473609e5e6f494d567bc026ff72348a1f
│   │   │   │   ├── 32b92c4a39dd4919ea65e6c8f6e797a38d6d2261
│   │   │   │   ├── 33b21ecc4cf191463b613684e4c3aa5f94f421b4
│   │   │   │   ├── 3417353f392588851b3b4a5556ff33630fa90cf7
│   │   │   │   ├── 36436a22ce2c601dc2c13366fe59735c7ac36dba
│   │   │   │   ├── 365a8cbdb459515eb8e623755fd17521aaa52990
│   │   │   │   ├── 36973b3723dd44ff93e859fa66f7d91b80890fae
│   │   │   │   ├── 37684258bd1cf52151a72e51593b4377bfb5a41d
│   │   │   │   ├── 37a69b77459452d038efc3817a2fbcdb60367f82
│   │   │   │   ├── 37b42d00eca8685ea439d865c02cb6d5f6d11924
│   │   │   │   ├── 37dcc3879b12d50e7a7b33f0fb825662a291ccc4
│   │   │   │   ├── 38eee8ead800a4f44d308c1f38d3505e2b7243c1
│   │   │   │   ├── 394dca45032ba109ccb1eb22c0d75dca6433a1c3
│   │   │   │   ├── 39a5f7060eab5629e4dd20e76658480b860ce284
│   │   │   │   ├── 39e3c2ba0c4f5d65edc00e30f3ab308456e9fb6b
│   │   │   │   ├── 3af7aaa16a9328b8d00a75d2dd515fa7ac444502
│   │   │   │   ├── 3b32af2a2a317a9b204764bf221cc83b05665e7f
│   │   │   │   ├── 3b7a06bb1102f7d788e3167ff05a9b20da93212e
│   │   │   │   ├── 3b9535ea11e068bf92fc4bfc7ff57c47b815b9c0
│   │   │   │   ├── 3bca58822768446e54453af8ec624c4b48dc5095
│   │   │   │   ├── 3c05ef50a60513cedd1842a06c01bcfdc0323b1a
│   │   │   │   ├── 3c92cdfb0db748189f34876fb32b66aa1d584a51
│   │   │   │   ├── 3da0f12b5b913d2a8ac137cc917f0e73b9f59976
│   │   │   │   ├── 3e6fff494bd0b1b0e2a7cdc5dc6fa8cc7cbaed60
│   │   │   │   ├── 3eee55022df10643b2e79632fb724ffa891e3d91
│   │   │   │   ├── 4087566889f6007e2e8770c94e1ebff6ad32bf5f
│   │   │   │   ├── 413300f2a1d4692c7fab0112511a2411f465bc4e
│   │   │   │   ├── 414120154dcdcacd4a92863fbcfb1e3e3991a406
│   │   │   │   ├── 4150c8dc06ecb3f620577622b439d38425d51c78
│   │   │   │   ├── 44cd53e8e58df6df2fbc9a46f4a3c13ff8f09200
│   │   │   │   ├── 45369e2121a4e20b3b57f28fe9a4319d7b16af54
│   │   │   │   ├── 4561b622b4f9a8bc970a677ca191c16c19737ec2
│   │   │   │   ├── 456ed7542e7eec5ebba7517e1b435578c32e2aff
│   │   │   │   ├── 484640d261434a02a5091ebe283a9aaa2bc6bb95
│   │   │   │   ├── 499108a16874f242f9341089cad86162b8c03072
│   │   │   │   ├── 4b12ed448db88ad4c3d2f0d0737cb665b5b824b7
│   │   │   │   ├── 4b8430148ace414db66ff719d791a53aaf5462ac
│   │   │   │   ├── 4bb117d9155a3957bab90af9e84a0d5847ff04c1
│   │   │   │   ├── 4c132146c393971d805e60f366c366fa9da523ee
│   │   │   │   ├── 4d9f2c473f4d4a9a081a7b44c18b970c50bc32fc
│   │   │   │   ├── 4dab43cb12e13a7224adf4dba343bdbab887f74b
│   │   │   │   ├── 4fc5bf5ca2b3a5a9e5ec6bbd53f7a99e941129d5
│   │   │   │   ├── 4fdff4cb139acc2c25fd2dfdd0dc19f5afbe42ab
│   │   │   │   ├── 5056c7a8bcedf92a1b27c07c813dc282bca1d06c
│   │   │   │   ├── 506825d4376c705a90d5811c7cac100db436efd8
│   │   │   │   ├── 510fb3639791c534198374f7423bfa9791774d28
│   │   │   │   ├── 5132c55dc1641aaab606231181d9896bf0154f7f
│   │   │   │   ├── 51866c8db22d6668abb60fed4bfcb21052f0d00a
│   │   │   │   ├── 52973603cf5c835ea4da789097d252eb42305468
│   │   │   │   ├── 531edc565c3e984aa9320a413dc471e68aebfee8
│   │   │   │   ├── 541f135097e6a2669e43af326e53d70c327ec629
│   │   │   │   ├── 55e65784b6e7a55c2a8a46bb7e06e2bda659e629
│   │   │   │   ├── 560927416d9f52ac4c2cd4704c79f3595eb75dba
│   │   │   │   ├── 56e3911b87b48bd7c3c6598b97272bcdfbee399c
│   │   │   │   ├── 574bc1c47024caad6e4bb4bee2df4a0a0a83ceba
│   │   │   │   ├── 57d56fa9e0d9b6a145cbf08d92d1ec905357682f
│   │   │   │   ├── 589c697128b915888509ea62fc5947c6b02d24f9
│   │   │   │   ├── 589f003fe9c3b5cbb6abc3e262b1ebcd43f2c7eb
│   │   │   │   ├── 58e1b119f4bb9801fc6e5e89460030def82601dd
│   │   │   │   ├── 595bd3da9cb8c029f3a7848eef7a2b8164f3cf3b
│   │   │   │   ├── 59d6888e8e389be5174eb7269b457824da4521ef
│   │   │   │   ├── 5b6672c68afdb254668f6e9b859e7ddba5471288
│   │   │   │   ├── 5bb17a6271cb4025a28572954d30145f4521ba82
│   │   │   │   ├── 5bbf3bfcd7c31e9285dd2324fac77e0d7322e452
│   │   │   │   ├── 5cf45e86559b80c5d4e049bd737613e477654ec3
│   │   │   │   ├── 5e7a76d4a38b352010c4a8c8ad4aa461f6218793
│   │   │   │   ├── 5eb47faba454a8187890675ee243eeeba073fb0e
│   │   │   │   ├── 5f28eb629ea31547978309b712407cf5f6538095
│   │   │   │   ├── 5f422d74bc3008c571d0abe58eeaf7ba3feda93b
│   │   │   │   ├── 60b668789254f2427fd51d1bc30da5b31416ff59
│   │   │   │   ├── 60bb7d18180cfa0c90783c4340344ea193045a27
│   │   │   │   ├── 615220b2a3800a887f14f42f5f642f1e524ea7b5
│   │   │   │   ├── 64ef2895f91f5aab5b6c228534e7cdc94a57c731
│   │   │   │   ├── 65a052f77e6f5dc2ad248320f241e7932b18f4aa
│   │   │   │   ├── 65d1bf6f2e113d4cd74bd512898dc0be3d850598
│   │   │   │   ├── 670d6b2808d9ae0e710bf7426069d9ec5573fdd3
│   │   │   │   ├── 6750e65dfe53985ea620b25b74690e9adb912580
│   │   │   │   ├── 677ce415ea13b040def8c70a4b224920d4b7558c
│   │   │   │   ├── 678b1652c59a1becf5eb8660b992e5ef3504f3ef
│   │   │   │   ├── 6974aa9946f3f4710d3c8269af99f159f3d33b0e
│   │   │   │   ├── 6a3f865363698dc8eb11d530c234e830a30af5a0
│   │   │   │   ├── 6c706d640239c2175c875a26a9c1baf1634ce26b
│   │   │   │   ├── 6cf13d3995b0b218a5c0c0fdce5a0cec9089f850
│   │   │   │   ├── 6d19d3b77b3be81f82feeb998ffd7725fd701fd0
│   │   │   │   ├── 6db98d2f4080d7279fe56f669bf11fdefa97a50c
│   │   │   │   ├── 6def6e6cff73ce5d27104d5891dce3090e14ecf3
│   │   │   │   ├── 6e195d1aae39e27a34f7bc7a325066b675b5678b
│   │   │   │   ├── 6e1f5e5722e7877bb4c3054c7f6be4a3a2c36d8c
│   │   │   │   ├── 7124d84b33d82906d70c6bef3fdc65994b5291b8
│   │   │   │   ├── 71d1a859ee6be79eab5856d3215a820c35e0c52b
│   │   │   │   ├── 71f5d8f973ad94d40e91577cb62fc838dd61700e
│   │   │   │   ├── 73008346249a9885bcf8bd6e6824d77267ab4639
│   │   │   │   ├── 731222f561fe7b81db8f55d086f5befef2160961
│   │   │   │   ├── 73688477f15db57f6169386d10b85e552f86d561
│   │   │   │   ├── 753889c6d4cd0e89717dccc0ff50ebd30415ac22
│   │   │   │   ├── 75b706660b62c7aaa9c11552320fe581f39c6820
│   │   │   │   ├── 764062a8bb71380cbb1ce81d8c7d331f738b804a
│   │   │   │   ├── 77aa6fc67ffbab1ee2961d33c0ef55dc29f0f766
│   │   │   │   ├── 781ac37c9f8222af3404840604c0d4559d4089c6
│   │   │   │   ├── 78a7fb5dbfef4da9d0da838dbf594a3ad91cea5b
│   │   │   │   ├── 78df962da98901882f2530945e54bb62c7ec22b9
│   │   │   │   ├── 79099ff6620cb6d92fd51f7f46fa274b58dd3173
│   │   │   │   ├── 794622981056b9f89a08e8ab5e1a00c38b1fa562
│   │   │   │   ├── 7950d568f4d548cc3304e877969a55a0b997bcf9
│   │   │   │   ├── 799e94b786fa81e26772bc5db0a71e94c5020da6
│   │   │   │   ├── 79d23363b6d0dea7ca3e03350d21ca3d24bede9b
│   │   │   │   ├── 7ac82c42433bc4ca35742ecb8083deddd965efcb
│   │   │   │   ├── 7b22b1953b1864ce50a5adfe6019716b19371f72
│   │   │   │   ├── 7bf6d56d723dec165ca1da8b089bb4403b992eb7
│   │   │   │   ├── 7c135e14fa77b5eb9b9e70eac7b9b629be1aeb80
│   │   │   │   ├── 7cbf6e6a1b2a43d310d2c69d0a772b34e794bd72
│   │   │   │   ├── 7cd55ada85ac33da68ea075c7b86cc45402dbf4c
│   │   │   │   ├── 7d1c19a209ccb08910c4c60bf0fb6e6b38f48bec
│   │   │   │   ├── 7e3aa07547c90a0d597c824ba84ae097ac479e72
│   │   │   │   ├── 7f4fbaa57b3d81a406ad55f452e61d3192b0a91c
│   │   │   │   ├── 8087a1e31c52972200c4a536a5192cbcda9fc2a0
│   │   │   │   ├── 80cb08da094850c934d89e75b20fd2ad366247ef
│   │   │   │   ├── 80cdc41e66d2a7f513c53257610737234662cce5
│   │   │   │   ├── 831af40692156be859277cb8332cf5b3b575f4e0
│   │   │   │   ├── 8365cd0e25f4ee55757dead2fc50e5b89317896a
│   │   │   │   ├── 83bfe4a8ee18369a2ce07741955a0aa80df20c4a
│   │   │   │   ├── 84b2ec838d54669b11af47a63909e0511d59d80b
│   │   │   │   ├── 857ffafcb227e709435d591d083a07cd61d9f9db
│   │   │   │   ├── 85e4ed0582d0e1814bc2a4c28be4f51c677ea645
│   │   │   │   ├── 85ec3d48177403439495300df0b885709a3a01df
│   │   │   │   ├── 86b84eeb82fa5888a890da0a35ff8c75d8d6eea6
│   │   │   │   ├── 874000f9bb3f8caca4e38317ef3bf70dccd1fc45
│   │   │   │   ├── 8839992e511880e6b62ce435a2baadaf0754adfc
│   │   │   │   ├── 89a9d6fbce967e64793c29f69bdec1dac15d4cb1
│   │   │   │   ├── 89c672b6b84f976b8ecd05d7221e535d9a2a3b0a
│   │   │   │   ├── 8a57af39652be7bebe49059056452c57ebf29fad
│   │   │   │   ├── 8a5ba0066b9a54f67372a861e0d181ac159d4c78
│   │   │   │   ├── 8ac23ef53588d00ec6eb2b23568399cb6b921897
│   │   │   │   ├── 8c3ed6d5c089b598cee0d1433d8b528a33b2e58a
│   │   │   │   ├── 8ddcc5903761d3bb3d938bbfe494c3205e6b9879
│   │   │   │   ├── 8fc905873a9165d927a1d8ba4805042155137d0c
│   │   │   │   ├── 900ed842e35028aec93f6bca38c7505b839b22a6
│   │   │   │   ├── 905564fb4e2123756c27b597a449b9463ebfc0a8
│   │   │   │   ├── 91ab872f72d2bbc7185649dc9b7289813b16234c
│   │   │   │   ├── 9204651ab3fa893d6ab8783902e989df92d17fda
│   │   │   │   ├── 924856b767fd44a9660764543d0a40361a96a30b
│   │   │   │   ├── 926d91f7ec3005dda6c8dddeeb050dc3f160869d
│   │   │   │   ├── 92b065254b2251dcd339dc32ac90deae8b474716
│   │   │   │   ├── 934738f8a075948429a076e2bc2957011a6589d1
│   │   │   │   ├── 93ac8946882128457cd9e283b30ca851945e6690
│   │   │   │   ├── 940e6cc96bf5fa825ee5d68a092a2d9fbf9a29a9
│   │   │   │   ├── 955b9053d403db2ccec289c7fe7bc3f852acd9e1
│   │   │   │   ├── 9575dfa681de3bab7d00776eb882133deaef3929
│   │   │   │   ├── 95ce5b9a9edd09853e12884f214bebafd40fa46a
│   │   │   │   ├── 96a149083217f06ec7b7805e2767d0f62ef90480
│   │   │   │   ├── 96b76b8f2d822cdb61467273c8a3c212f51a47b5
│   │   │   │   ├── 970edf01dbe20c4c0356cf71a62559b7144baa27
│   │   │   │   ├── 972ae0f520c71fbde536db4f1c9e7d8d3062eb71
│   │   │   │   ├── 9730916030311413bb1d2a4e9d93223612d49e94
│   │   │   │   ├── 98356a8902ab5ea28b79329449aa5c10ec4f2cf3
│   │   │   │   ├── 986cc7b9818415e1fb08575a978aac57299ac5fb
│   │   │   │   ├── 992e61e336c4635bc1830a40c86846b8feeb0ab9
│   │   │   │   ├── 9a135d30087fdbb82c95afc4f4aba5d12cf2d410
│   │   │   │   ├── 9b1cc3376be668975eb18581a771e3d3b4634040
│   │   │   │   ├── 9b6f95fa0f731632af30d58a9538dbe7e27e103d
│   │   │   │   ├── 9bba8c359dfe58cbc7043fa9a375d1d08ca3c62d
│   │   │   │   ├── 9bccc112d628b0dc50a865fe841a5aa99ee37a51
│   │   │   │   ├── 9be0df2f364c213dafee965ae895ac70b54067f8
│   │   │   │   ├── 9c0dc6d4503a8f66596713a60ff5d101cce59430
│   │   │   │   ├── 9db8975828684dde7a36aee4ba72610c36f0083b
│   │   │   │   ├── 9f0309cd3690c0a3c1f4b27f46a6621ad7444280
│   │   │   │   ├── 9f4a4b6693ec585370525949dec5cd76552c7462
│   │   │   │   ├── 9f4d2eaf7bc680cf3c03404884d8c7e083388f5c
│   │   │   │   ├── a08513fd362c0631d1c2831ddf398c89f5a1b271
│   │   │   │   ├── a0852c2b59e4ca5bfaa98c528aa74e850c2bd6d4
│   │   │   │   ├── a12745c8f9d50c3c8c2e66930fb658125da3b93c
│   │   │   │   ├── a1bb38f60c9abc335ffbc40b5aa2f47428671698
│   │   │   │   ├── a2029c2c7b5657f63e650eee9e893a4487edb348
│   │   │   │   ├── a27a8c08834306d201a0cddb84bf9a2ee9878d08
│   │   │   │   ├── a35cbfbcea5f87ac7fd604e9b7a67780a12a7cc0
│   │   │   │   ├── a41e604d8008993286621596c98fc7eec69d994f
│   │   │   │   ├── a448aecc0b639fab71f42982e20a00102756cdb9
│   │   │   │   ├── a4e438338444c3fd3acf87b2988acb575095ea96
│   │   │   │   ├── a510865a683d3e320591d15c54520918498dcb76
│   │   │   │   ├── a5360c092ad19b8e542361a7f89e3b370dd83634
│   │   │   │   ├── a5a195b3c9fcbc991bd83f5cbe4fb029bd63ea56
│   │   │   │   ├── a5cfcffcce577a5f7ba7ac535474ecc3c07c49ff
│   │   │   │   ├── a5ec120dfe381e7d433153a2cbf634e5d527bcf7
│   │   │   │   ├── a65d6b36db17585ada3f0852359fbadeb37378c3
│   │   │   │   ├── a70e328a8f8b1e4309e944b5f6d79e9e31909484
│   │   │   │   ├── a7a348b219303e69cee1d69c72434615c7ef181b
│   │   │   │   ├── a7a4917ae72b218ed27ae83f1e0c49b479e7f72f
│   │   │   │   ├── a7b765b566d7b56672dc8faa7338248730f2132d
│   │   │   │   ├── a80b93977a5192c9b2455afd07361f19a2fd3492
│   │   │   │   ├── a86beff470353262447e79cae5d041e1e87eade0
│   │   │   │   ├── a8cd5e96f3aad050f75998476ff342cff0eca57d
│   │   │   │   ├── a8e45c402e1556bf48369f1218e80e243d590f2b
│   │   │   │   ├── aa2fd1f81adc4acc33409235ccae56393db1aced
│   │   │   │   ├── abd02fcd74bd62e86f8b6580181df41017c8a72d
│   │   │   │   ├── ac0c97b629fc32f60d6dcc5751cb95bda0602940
│   │   │   │   ├── ad29df63a3d387eaba14735348e2a5150e00b925
│   │   │   │   ├── ad53af03a37abd62993924b889738c01efcf6541
│   │   │   │   ├── b055ba7c474ec23a2831f583338145959041d016
│   │   │   │   ├── b08faa33bffa2203ba1a124367e2618949408850
│   │   │   │   ├── b0d1d2c07a3538c670883fcc3380af3232794071
│   │   │   │   ├── b179c14764f907b6b0459172bcca0bc917c0aa65
│   │   │   │   ├── b1b69bcbd372f00aaa8225547a1502327a0da00e
│   │   │   │   ├── b204ac127143968fdb1858d15009767c604afdf6
│   │   │   │   ├── b301bb54860d6352587dc4e824a6a22a1de86ad6
│   │   │   │   ├── b38c1b6d767d0cf2023fbfb6b2e8d816eb65e6c6
│   │   │   │   ├── b442231af8d19c70c66bd2254b2a3d12e9f809ee
│   │   │   │   ├── b55d87d33a3bd7df1ad15276f9acc87d88cbfec4
│   │   │   │   ├── b62877512feaca935f7e50bdf5e233f5ab465b59
│   │   │   │   ├── b75101049a878bc14368997b4828521e2fe112e3
│   │   │   │   ├── b75b1ed7c86e1a2cb36df7553056fd0d51a9327e
│   │   │   │   ├── b7ada01ce7839e0a5bfe6b3a093b28dd23c902a5
│   │   │   │   ├── b818b239ef45f737cfd97008f3990ea01817451e
│   │   │   │   ├── b9ab2b22f14b92e094ffdc16d9873d8d800469cc
│   │   │   │   ├── ba009751c34ea9bcc3d4c62cfa2cb56ed9931e14
│   │   │   │   ├── ba0bc0a9b4cb282d386e50fecffc6afe47db39c1
│   │   │   │   ├── bb0cbbb21041bff11c4ed846705dcbbff52512ce
│   │   │   │   ├── bb98284f0e271c119cc2bb1663aec03d70f7ab56
│   │   │   │   ├── bb9cb3d055953180b2c1a49b082a57014b63d46f
│   │   │   │   ├── be9a63dad81f730cc6d159e0f872bff27621a343
│   │   │   │   ├── bf3797cd98ce8ccdb14feed4bb34f1a927bdeee2
│   │   │   │   ├── c0159cb389c964f20c91b1e38177cbb0ad23848f
│   │   │   │   ├── c04130b0a29dc211df8af640a902cb56b3505ba3
│   │   │   │   ├── c0d83e56b82082e617d31cd7f25064ce8a9fec1f
│   │   │   │   ├── c0eeec57dfa448064cc21a9648188b50baf012e9
│   │   │   │   ├── c2547ecf3ca4d877bc6f0b80172beda4f04853b0
│   │   │   │   ├── c3949f3b731c8df590e4488d7a5f1a285be50d18
│   │   │   │   ├── c54c99aae6a6ca7191b0d42e59fade69ad2c27f7
│   │   │   │   ├── c634dd4cae2349adb2706b90b4506a804bc09ede
│   │   │   │   ├── c672382d2badada3d2a86ac6dd9ffcd9bd3617d8
│   │   │   │   ├── c7126eb2a28a325ddf89f4ebb30ecf59908eed73
│   │   │   │   ├── c773a17398b3951946a39579573e37acdfb5040f
│   │   │   │   ├── c958f0fbe4055c05d206111bd85dd9ecd7197f8d
│   │   │   │   ├── c9842a53949e66f67ad11c22e005635ccefa5f36
│   │   │   │   ├── ca31449ca638806490a2e083b763b28df489dd71
│   │   │   │   ├── cc365a16b17bed8b3cd9ad02e26b8acf0a568e49
│   │   │   │   ├── cd0046da5f05badbdc471fc58bc5291b44f34a55
│   │   │   │   ├── cda85ebcba806561741c36fc7de6d06b5e66e819
│   │   │   │   ├── cef5be5ba6726a3e91a233982201223c63efcae0
│   │   │   │   ├── cf173e484a8e02c5caad461d592e84ab2d5ac5ef
│   │   │   │   ├── cf1adcfef9425c515d37f5a0f1f1832939f85d4b
│   │   │   │   ├── cf9e22eb2c602b04741195274add0e478a1056dc
│   │   │   │   ├── cfaf498d71ae8a79ba6fc76b1d87fee1731fb350
│   │   │   │   ├── d00959fdc962b5a78aa29b9c46824c9c45119fd8
│   │   │   │   ├── d07f2c22aadf537098267e5a43d83de86ada11be
│   │   │   │   ├── d08f88df745fa7950b104e4a707a31cfce7b5841
│   │   │   │   ├── d1dc5ad2e9555716fbe9f8e64294ff5d46741b6a
│   │   │   │   ├── d227b7881c8e348194c02e6cb878ada56e9d23b7
│   │   │   │   ├── d441e69fb96bc945e42bbdfe9dd1aabe68df0996
│   │   │   │   ├── d57440c5b07c1dd1d0372d532e2cfcc30ef6821c
│   │   │   │   ├── d58cff7c05b067edbb74b784e468527ebebb6d08
│   │   │   │   ├── d5d5a633db9e2a5c3926ce3698e36042955e20b3
│   │   │   │   ├── d690f51b5f6d3cbb1121c1c5b0a2d8035e7f9656
│   │   │   │   ├── d696853b0a7dd15ba25337fb4bfbac3568fa55e7
│   │   │   │   ├── d6d070ba545de29d35a476af9d5b09bd612cda5b
│   │   │   │   ├── d7bb954c2b4013a367a287096dddd8cb9ea3e948
│   │   │   │   ├── d878897ed681351eb52f76b458616e19e5481e0e
│   │   │   │   ├── d879caca8bf6c854b3fccec2f25daea6a448b73c
│   │   │   │   ├── d8d9c2938593eef2a82b28ccd953d15fc0663799
│   │   │   │   ├── d94cd0abecdad5f3a080bf6d192c26f84607177e
│   │   │   │   ├── da53fcc5738a1305cb30ea27fbd2782df8d3e045
│   │   │   │   ├── da60ae57e2b87ce1988e49c9af5bfcc92e7067b4
│   │   │   │   ├── daca17e1af88467ac5c66749941b5dc016c60941
│   │   │   │   ├── dad8fef81affc1d18b9a0bd6a01e574300c87e2d
│   │   │   │   ├── db207d11d0f18aca083f2dea4a124ee740bbc7a9
│   │   │   │   ├── db5efb7768292614e872abd9c7d8f4ef1d5e0b4e
│   │   │   │   ├── dc64cc322fd899dc5ef9ab53d05ed1d13ba673ce
│   │   │   │   ├── dc6aa8f6168e5275f05edb96035e3c6c68f3e4a2
│   │   │   │   ├── dd79c8cfb8beeacd0460429944b4ecbe95a31561
│   │   │   │   ├── ddb4452ebd9245936764cd90aecd16a46a8ac6cd
│   │   │   │   ├── df3098b65fcd256ccd6668326a75ffaa80041365
│   │   │   │   ├── e185a2958e6b101f75b2aeb47d7451ea9003cba4
│   │   │   │   ├── e3667ad3bfbf4b30367bcbe31c58e55aae0d62e9
│   │   │   │   ├── e36f0fd33d8f4f1469a9a28ff9c4932f3bcbc05d
│   │   │   │   ├── e3f7be8f63c58239a2dedaf66661259615cb472d
│   │   │   │   ├── e42598c27eeebdbb66e08f13863d1dba279f2b2f
│   │   │   │   ├── e4dd444751a857cd6b8fe0ed1dc42e75f2461e0d
│   │   │   │   ├── e5df18ef3c2495af7234c67fe82a211e10395b5b
│   │   │   │   ├── e6faee615498be2fa19d84dcd18f49c83650c4a0
│   │   │   │   ├── e6fed90453a5dfe8ea1fb4088ef46b54cf7d7b77
│   │   │   │   ├── e710f92e9fe937088ca313f6313ae910581d0d3f
│   │   │   │   ├── e7d9a36b62671ea6854f896b1afb922d85312fbb
│   │   │   │   ├── e985bfabaa93f41797aed1abf9bca44e329115e7
│   │   │   │   ├── e992a0e2045ae3f5a0f6d0c21581f8c2f2a3f2b9
│   │   │   │   ├── e9d9ad12fa588bcadc74e461a1fba393bdc3776d
│   │   │   │   ├── eb43923537146440042f13e5fd99f2aff7aaf999
│   │   │   │   ├── ebcaff5d54d618e7ad6ecc88666b419226f9c348
│   │   │   │   ├── ebd5655c445e1f38830b665aaa1ffdb5f5a47ac6
│   │   │   │   ├── ebdf72b482bfc5f88cdca5e3dc545d0b3a2f8b5f
│   │   │   │   ├── ed33909c916d6c0e9768d4979c22216654e82a6a
│   │   │   │   ├── ed93811452ee834cd32299a271da63e9b4590cb0
│   │   │   │   ├── ee093801766e997f07bfb180f35ef3699b0fb80f
│   │   │   │   ├── eefa09859330cf646185816670083875bbf4ae7a
│   │   │   │   ├── ef50648b50f757b9ec4961debacd4241f41bef46
│   │   │   │   ├── efe384f984e9f8ecd515dd742dd21e6cc1f05e41
│   │   │   │   ├── f08af995f85e8ce36b328093c935e88c120ddb1d
│   │   │   │   ├── f1bd9dc7634fdae830ee5354d92d177ef78ac0b7
│   │   │   │   ├── f1cc201552471c06746ac9e9750dfea3f9d96e4c
│   │   │   │   ├── f220d53bd7bd65026c20c376c81b447b65df63da
│   │   │   │   ├── f28e5554399d43c668850c65c82a303c86f31e3b
│   │   │   │   ├── f34ee07d8776fcd466cb565a724c361bcef329dd
│   │   │   │   ├── f36d731e7bbe857f35061f2532fd988054388f7d
│   │   │   │   ├── f3707064c68f565ec82ccc011de1692708610447
│   │   │   │   ├── f372e11022b04fb607f4065d55532c34a91770be
│   │   │   │   ├── f389edf5218f5aacbdc12d538ec1d71b1023ddf9
│   │   │   │   ├── f3c35ce004d52c58bcab57d684ae96b6b21781a0
│   │   │   │   ├── f48036032784e45d48a1a8bc44a77c15f8eb022b
│   │   │   │   ├── f49b5e134ef410edf1a82d50b8932e797beb2419
│   │   │   │   ├── f56c4bc9276d9f47b3c20524825ab5ea3dd2284a
│   │   │   │   ├── f58c53a691f1a57bc71af24e3584a4bcee1ce69f
│   │   │   │   ├── f6141693bfc695906fe8271fce1b8b68fe599713
│   │   │   │   ├── f6cb218e3fc60c5b47dddf25c790f1f334a06c45
│   │   │   │   ├── f7012a12dc520aa6d962300120f793feec6b2ea0
│   │   │   │   ├── f7ed109685abbf92bcb50a847c4d3861a246b743
│   │   │   │   ├── f86e634d1f56afeeb500bdfcb3aec9d2a0b65588
│   │   │   │   ├── f8b0241f1563b284d95042e1aa3041dfc0b4cb8e
│   │   │   │   ├── f8b9b2f8b56139461b8e522bf482532fccc112d4
│   │   │   │   ├── f8f498840b2a48396467a5b6f87bfb1cb74a39ca
│   │   │   │   ├── f92e3d66c814deb02ccd8fa344c51f515b692c8a
│   │   │   │   ├── f9702b2cf1a92261780a39aececfc85c22232caa
│   │   │   │   ├── fb9ea91a7cc23f9f5a28417ad63822670a8fbb5c
│   │   │   │   ├── ff007be7d293751393b31ac05181ce4f9d01171f
│   │   │   │   └── ff546a9b073eefef4541c06b70c57ce5a7517aaf
│   │   │   └── tokenized_buffer/
│   │   │       ├── 00b9598434d1cb0aca2446e5d8059f955898661b
│   │   │       ├── 01096186d4e1347ff16a01491d6ef629f5f5fd42
│   │   │       ├── 011f63c979b2de6c44a0f974437ff176fb309cf7
│   │   │       ├── 013a89a4caf353b43c203a2cbd270857c46863c8
│   │   │       ├── 02ddec8b4855127d5616e521bc826659cb04a796
│   │   │       ├── 0327df1d12e0abf8a355b7ed09e0228dc396d787
│   │   │       ├── 037dc35353d675c9f4d2f03c9db8186422050b2d
│   │   │       ├── 04030ac2f55537459994c38435a6b7d00ae264bf
│   │   │       ├── 0543ca422553bae7a2e8b46a81c8fee7eb12c9a7
│   │   │       ├── 0555830a8ac12955924bf235d97792583fb8d6da
│   │   │       ├── 05666d20f461b2d4a93030744abd619ce0f25fe7
│   │   │       ├── 058baf2eca3ac04d3382c94dc213af644b547796
│   │   │       ├── 05910a7c99851cbb657cfbf8850e1e67e98408b1
│   │   │       ├── 062fe100147aaaf3a5f3f0a67c64991480597cfc
│   │   │       ├── 0685140d284f7c98815eb844fe6445ac2e4d25da
│   │   │       ├── 06b6c1a09f2ec62f93b7a3f1b03a2188700c8117
│   │   │       ├── 075e66efafa8882c10f46de45be654ad1f930c1f
│   │   │       ├── 07f95640a7ba78bebf24bea549bd129d81d03f14
│   │   │       ├── 085e5e94c0193bc313159a1aac208bc7232fa24b
│   │   │       ├── 08988f30662dbfc7a95bee73cef111dafbcd64af
│   │   │       ├── 08a189c1daec7835d24c69454657ea460add9e57
│   │   │       ├── 0928b559c298c803b98e59564c8b6b5443ec1697
│   │   │       ├── 09de090fce19575b878349e5b08e44774cf901b3
│   │   │       ├── 0a44775851faa48a0293c03c5823526a05432a41
│   │   │       ├── 0a73a50a6c6470643bc6ac4731df70e168a1d72a
│   │   │       ├── 0b02094a3c9673c0ca1a0f0ebb8a2a1cd334bd5d
│   │   │       ├── 0b50b447ee13e7ea31515670dee9cfe0159182a3
│   │   │       ├── 0b656451855e16143574319c2c02c7278916e53d
│   │   │       ├── 0b7b607b163793a78dd80383f3dfc1283ae77822
│   │   │       ├── 0b832ffe11d2337ca3efd79aa32140076d90dc67
│   │   │       ├── 0b9b08eca9652ba3a3e389f051e0d19e5e46fd3c
│   │   │       ├── 0beed1e9ae76d37f24c30c22c0b254f8efb30744
│   │   │       ├── 0c38e5795a262ad27f8130c77a4bc34ffe7eaa82
│   │   │       ├── 0c5a294e646b32fc10624947911d167a7b550cf4
│   │   │       ├── 0ccd028acb41f2d1902f9ce943084cf855977282
│   │   │       ├── 0ce0d735a0d8e0c637030b8bed3bbcc3a3864866
│   │   │       ├── 0d16aa665e382f2118a4788ac09401f0de985a00
│   │   │       ├── 0d968cc12e55af8d4306e667c5c817b16b8e1b79
│   │   │       ├── 0dfaf14bb1c6bbaf15c4840df4bbcba70727fb2f
│   │   │       ├── 0e3efc3ff89fc9956def38fa002510e8f408e4e4
│   │   │       ├── 0ea6b54fd89072271de9d6db7291db91e412ba0c
│   │   │       ├── 0eb01abf75b501eab2e9f8cf7c0a46d150e8035e
│   │   │       ├── 0ec0f5fdb11fb62a0552c7e13a49c164b757b049
│   │   │       ├── 0f1ba78b09883fc942f3108c0d0238e5bbba7261
│   │   │       ├── 0f88a6fcd8459f99ca2009cc17572e4ee6c57949
│   │   │       ├── 0fa6870ba61bffbcf4331293a0c36abf2a53745d
│   │   │       ├── 0fb249d887ffa905f90fe43c97cb0dea4277f682
│   │   │       ├── 0ff985bb50cd92e0904ae0c3bf562a665a9761c8
│   │   │       ├── 107c59baea92d5aa0b7daf7acc49d20b6a25d180
│   │   │       ├── 108fb5fc2033bcad402775791f7d3a83a434d402
│   │   │       ├── 10d4b9dc18446170ba10afb28ca65744f9010ed1
│   │   │       ├── 11c0e4ea13d10a785b7298b416b5d1ec70cb9097
│   │   │       ├── 11d6f314e0ee9b6b319c3e4961ad4b2c041e01f1
│   │   │       ├── 12033d109a3ab4a4068fb4f5283aa8ef2b4b2939
│   │   │       ├── 1388ff1c64cf1523471677300bcc78f2cb057178
│   │   │       ├── 139cf5f51919c2f88794b3d6afecd894d3795bc4
│   │   │       ├── 13a567de304d3293826a5915b124c898d905c533
│   │   │       ├── 13a7d12471b67d795eeb620fd9bcd23e611716b4
│   │   │       ├── 143df8b19029156bef78ed64f99f6a29847fd707
│   │   │       ├── 1489f923c4dca729178b3e3233458550d8dddf29
│   │   │       ├── 14b4cd2980fd137c24ea87f505d3ee4cadfde097
│   │   │       ├── 14c55494f5bfead510993f7aa6b19f2a99d78e64
│   │   │       ├── 15d136091465e9311ea3fff6a81f3a16cd472b9a
│   │   │       ├── 15f060997fb0309d15af20cf592235d47e6653cc
│   │   │       ├── 167feb1fda57dac588688aa0d0b7a50683620144
│   │   │       ├── 1941ef6ffb0e99428fec8f63ce04c9eac4953bf4
│   │   │       ├── 19c2134264582d9b56d13f26eb96e92d374574c6
│   │   │       ├── 1a51e55c866f939f2d132aef8ff5e600242ec29a
│   │   │       ├── 1a7d939aee936be5d25799c3a57f8e8f3c851c89
│   │   │       ├── 1a9160bf021e36d9c2bf8f783e5b24211dbc3a28
│   │   │       ├── 1abb3bd834e95e4044a7eeca6e54a49d3c6ef802
│   │   │       ├── 1af2d87f0c834bdfe46af5d5f18f014c3294c466
│   │   │       ├── 1afe41bb4bfe01753e61e7aac1449e6fa2e96fe6
│   │   │       ├── 1bb9f4d20b726e743eb6af284a699ce4afa36583
│   │   │       ├── 1c62dba4b7e1567683b1824278e7686e26d52834
│   │   │       ├── 1da4e90919ecbf001b876a4972845144cf042f3a
│   │   │       ├── 1ec7532018f463cad2ba3d6928fb3c6b46df398a
│   │   │       ├── 1f1e84248afa238a7417b29be35fee5af6ba57cc
│   │   │       ├── 1ff7f0b20cb7d2be88fe82f1779f71a9b860b7b8
│   │   │       ├── 20e233dd43706cd6dff2c7b774cdc47ead78de71
│   │   │       ├── 213764f0401b8e8a9040c21bc153edff9286d315
│   │   │       ├── 213be3df2b6b577edcbb6f913298974fbb8d7324
│   │   │       ├── 21ae4af22c4c258550b92d3cea9ce479a88c12a2
│   │   │       ├── 21c85dd996a874a885825773fe3ae6f66272ae77
│   │   │       ├── 21d6931263d831c0aed540fd1bab0b60799af038
│   │   │       ├── 21dc828f45d060ee0455004297b50d2b64d17e02
│   │   │       ├── 221c22da6c2c0fd71d5ebc21876fd57cb77b1b00
│   │   │       ├── 22812a981f0458f49a0cae159de66a24631464a3
│   │   │       ├── 22854bee28c089600335e2c16d6c6adad03fba54
│   │   │       ├── 234563c77ded0c75e0583be09a1f4a8a016b8024
│   │   │       ├── 236e3801dd0cf62a835705da142af1587e498516
│   │   │       ├── 24426f52ba7ad6d178e9e20cb28cf9182d51871f
│   │   │       ├── 24586a887ef47d547a4bea0a89972fcf3c19c454
│   │   │       ├── 2600c18db42bde973e72b07f0dadf5d32fbfc48a
│   │   │       ├── 26514fd3aa2e7d09114d7b5c971e9cbc96e49aba
│   │   │       ├── 26ffdd8987ca20c37b2e8b30866e534342d1c175
│   │   │       ├── 274399a85ea96a507d87d6199c58ea701113ec73
│   │   │       ├── 28135abd5f66044cb0fd6f82a3b0dd81b2059593
│   │   │       ├── 281bc1b2b4a20d112c7ea17951397b5a789b5ee8
│   │   │       ├── 28434409ed42ff7b5f6cf4c0731765f70aae12ba
│   │   │       ├── 29b8dee814dce4d94d388d035c10d4f6149b934b
│   │   │       ├── 29c07937042029d42ded435734bb17a9da1a13ef
│   │   │       ├── 29dd4eab6410e5cad789f8ad21b564f5ff580b62
│   │   │       ├── 2a6775c7917e01ee00754918264977fdd60f15ea
│   │   │       ├── 2ad3087a982396bd302d9d445d6c5423c248d3c2
│   │   │       ├── 2b58f8d18c8ddfb98618711a7da2afd0efc9bcf8
│   │   │       ├── 2bea1061181244323cdf95ad6a489b72ee38d225
│   │   │       ├── 2cce2108f1d888fdecf0c406fd5fb2ab0448d88d
│   │   │       ├── 2d1f6ee26e62965c25a2540c47cda839e86cbc9d
│   │   │       ├── 2e047eb1a04b386c558490f7634175199fb86d2b
│   │   │       ├── 2eca067d0407b2ce79b7fe3aa0abf38b48178e16
│   │   │       ├── 2eca430ce72ba8cfe14a36dae22c3af594455d78
│   │   │       ├── 300268d606563a63b1fa078deedf83afcaaae4f0
│   │   │       ├── 30122a51022d504d0bd883ec9083db0ebc122f3a
│   │   │       ├── 3055e6fc37e2846c56a0a7ef9c910807325c2df1
│   │   │       ├── 30a79f74923a4a0450c38b8d78c32dd0ec49fb1e
│   │   │       ├── 30d2affb78dce801693964e7aa7a776e46764142
│   │   │       ├── 33970181a654f47a1b7350a040f66460573c2b37
│   │   │       ├── 33fbd678677fdcc9ff26ce50d77282550ed7b152
│   │   │       ├── 3410eb3f248569d94b015591f12cf76034f8c64d
│   │   │       ├── 34c37b9bcc5ca133876f590f4225bd361357eb13
│   │   │       ├── 36388f570f44f86bc535dc8e510721d1c28a0637
│   │   │       ├── 36444b4480602bbc82c421d3a5dca926ee56f17d
│   │   │       ├── 378f7e36a287439cdbcb171241c946981517e6b7
│   │   │       ├── 37d5919815fa0c3579c90f5882bc78d2175f2658
│   │   │       ├── 37d7800daba869cfb014eb10e5f46a67fbbbf14d
│   │   │       ├── 38197ad1d6330f1836fecfc754c19dcfe8d8da6d
│   │   │       ├── 383ecf2dd4fee1f6fad7a2fc6a1014ea612cc705
│   │   │       ├── 38aae1be66ab0f6d35121b4372baa54f3a734cd1
│   │   │       ├── 38d2de4fb4421617c287855ede415e253edf27fc
│   │   │       ├── 39cbaf1cff432636f99ae2086461c48f081f3608
│   │   │       ├── 39fbf7272789a966efbe93fc511b64c764d89513
│   │   │       ├── 3a33064962ff92045a47b9409449cf1552d685d7
│   │   │       ├── 3a3fc43f4c64d0305c0d697a33acb209e48971af
│   │   │       ├── 3a85b6e409d6180559bbaf0282fe374734ac8ab7
│   │   │       ├── 3aef9b8111cb335c85a241d9f59929e11707730f
│   │   │       ├── 3d6d742aaaea3abffa078fd4c03af3cd03c5bb94
│   │   │       ├── 3e21eed3aab591d3aab15d975b2660648ce7bc9e
│   │   │       ├── 3e23582c9fe275a17897308f4529ce965ef26639
│   │   │       ├── 3f0c682d7231780f496758f26a19dea90eb0a63f
│   │   │       ├── 3f128a449c26d99e65f137b08835072d0f4fa93a
│   │   │       ├── 3f5305709a3b6e105cf4b8c1368a8d5c0540a2da
│   │   │       ├── 3ffa1177da8e5aa9fe3d071384f8958da89d40a6
│   │   │       ├── 401b5ffa27fd9bcc9c4c99acc3294b51b7ab5435
│   │   │       ├── 403d7b69e46cde2a0c35e051dc0343b283943a6a
│   │   │       ├── 419ccf5d9e7c1a163b62230196e1154953a91f9f
│   │   │       ├── 42880c44925ec18e3a69b2274b05e0aeff25e454
│   │   │       ├── 434337b14da4a5fb3cdc96cdf47f17517583815c
│   │   │       ├── 4351e9a0bb6b53c76164f05125a112cb283cfd81
│   │   │       ├── 4480089669b1f8da9065f5eb9491687d9e31e9da
│   │   │       ├── 4487fe428cf14de470fa39e874acece46fcfcbe8
│   │   │       ├── 44df8bdb51a76972b66deb94dfdf5783de99a64e
│   │   │       ├── 467d884be458d07e7fd5bdda5fff78c9133a1212
│   │   │       ├── 4852364d47db4ef47740f9184a39e0631aa69cd0
│   │   │       ├── 487b9de35feaf3e349a411438344e46c870120d5
│   │   │       ├── 48ba5eedfbf3c64e54d39fb78dcef8081d4cafc2
│   │   │       ├── 49af95277336d8c0ed0d7a7522e73f8c87d89020
│   │   │       ├── 49d400fc7de4b5392935638c26ce2e62778d416e
│   │   │       ├── 4a0034191d5d0e629583d8b06b6a4a81ce024bee
│   │   │       ├── 4b32fa9e7beb0500c4f76cdf27a4d1be933ddc68
│   │   │       ├── 4b53f47724ca22ac2b26e7b2191779c9fe74fc4c
│   │   │       ├── 4c5e150ebdd825a7ad25ac960eed57c54838c614
│   │   │       ├── 4cb14c262491d3c0e6d47cef077c5ff05353e43d
│   │   │       ├── 4d042b03473298b5ef025639d90062272204d6b9
│   │   │       ├── 4dd2cd4a75976db57d91729517748dc8f1e9eb39
│   │   │       ├── 4df44f90bc0f13fb557f109e46647b4d91a5014e
│   │   │       ├── 4e5560d451aa505e253511657c115baf69d8e6f8
│   │   │       ├── 4e6876ea3989c69057b0a81a029f83e5246f70dc
│   │   │       ├── 4fbc30b7354b6bd455608e7fb5bb7f6feb37941e
│   │   │       ├── 532fd1978e5444b41c97d1639fe7b8efc8da14e9
│   │   │       ├── 5378a1d0f6db372c2e26926f3ab692aaff281d5d
│   │   │       ├── 53f0d72af41e99e951722231524ec437759422f2
│   │   │       ├── 5458cc3caca58cf412198f6d5085f370b7d1cb97
│   │   │       ├── 5577956e2ca1e38f1ece81a6c2190490c3273f20
│   │   │       ├── 568e139f25140400eefdf6d4e2a38bc21e61d4c0
│   │   │       ├── 56bc35408f7d618b0b2ad0cc28738fa9d38a0bd2
│   │   │       ├── 57e42e4edb7e862c38e24209fea0d89c06034e4d
│   │   │       ├── 59837c18261ef4bf33c51437a98d25cebf414840
│   │   │       ├── 598b22649052ab5cf9c8f2d9e43c97c0ca1ecb6f
│   │   │       ├── 59f33d4f075c2cf6448f94f623fac85834bdb2cf
│   │   │       ├── 59fe75149f202f3e7920a1fd87959628855929a8
│   │   │       ├── 5a02c95e0a7d591f275f196eb5274f1b2209e244
│   │   │       ├── 5aa449aa73c5c05cf57a957914e47a4d2adbd4c9
│   │   │       ├── 5adf5dd22c409ad57c9f6b29eeb92aaafdf5372c
│   │   │       ├── 5b6e66c2980a4e9eae54c9996bd413b58e564150
│   │   │       ├── 5bfebbdbbfb4f41a5d5d388504bd062d7a99c3e0
│   │   │       ├── 5c3a3ba5513cfcdc49f76b2009d806141588f85f
│   │   │       ├── 5d31e2a814a923c713cd3533f1cf397c902d304e
│   │   │       ├── 5d6c6fa498ecdef22875bdb7b8d212f146cc387b
│   │   │       ├── 5e05747916bcae6d1d14627260fa82de4caea0d7
│   │   │       ├── 5e399a625d3bb3c6447dafe42e4553fc16950f6e
│   │   │       ├── 5eb107e4dc5d78891aac3f0c1e83883b7a663fdf
│   │   │       ├── 6015eb2c2f9da9ac11698c60c65c0bb094a66657
│   │   │       ├── 603588985367299d4b4e56c81186715fc8ab5298
│   │   │       ├── 60603d960234eaa4cf2748d2f8b43e1303171ec7
│   │   │       ├── 6235a1b078cf86f65be51d3e4d952688c0cf4027
│   │   │       ├── 62618378c0f30271418e65d9642b681cf5445c1e
│   │   │       ├── 62d8ba9122d4a19be633439c04f949e0683f417d
│   │   │       ├── 63fbf21dc690999b09177bf4ac4216676ed26b6e
│   │   │       ├── 64ea37e683f8f7ad3eb0a9c4ad19d82cfbdc9774
│   │   │       ├── 658886802343686540cb41c5499a46f1705b9d5c
│   │   │       ├── 6614bca5723ef48592ebb2efee5bc73e17760aee
│   │   │       ├── 664bd1be9730de5ce106f7b2d87774e6549c6ada
│   │   │       ├── 66a6d4bff6fa7a62ec7a16d9bf5adf706efea00f
│   │   │       ├── 66b622ca15899fc16af4040369d852faf77fd604
│   │   │       ├── 66cee929f075d88bfa46887e565b5d3d148f9154
│   │   │       ├── 6a8a9d4ec0485d6a585db4b56ecfc8779e7888fd
│   │   │       ├── 6af377722221a297079f87c07a93c2189ac24fb1
│   │   │       ├── 6b557d729ebff7f4da9b746da200980115618627
│   │   │       ├── 6c4fb24e430367960280c066b72fb107b1c424ab
│   │   │       ├── 6c6e255ee96eef814112752fe189fae0dfe78743
│   │   │       ├── 6d44e5997f87b024c53eab22f5912e1988cb66f3
│   │   │       ├── 6d512f956c75ca835d38cbcb6e26e1a2473abd08
│   │   │       ├── 6d72ae632ce79e9c197f5ca799f667d61d2a3df8
│   │   │       ├── 6e62c2d775c1c825125cab26e5a4b004a06a4ba7
│   │   │       ├── 6fcdcf3781990fdceb9b08ba304283f1fd8f9b4e
│   │   │       ├── 7016224c7c5f50c8e8aeb6e43851f5e958aa36da
│   │   │       ├── 709dcef4bfe4c6162c6a983a3d12eb20ac5cbed7
│   │   │       ├── 70aed57684596e5887c493a5a79dc1d6bcb5eb43
│   │   │       ├── 716d1769833e864f111085008d8322d53a4daf30
│   │   │       ├── 7194db810c5947f300d6035d2a4a743090210e21
│   │   │       ├── 71a5590952fd84047c6d6e9be45bf1f045355625
│   │   │       ├── 73a854c8805585f984236fa44232cb965b9083ae
│   │   │       ├── 74bd0a894550c238cee609bb561591118137bc37
│   │   │       ├── 75977e3e56167889e781b65443e91eb49902cfbf
│   │   │       ├── 767654d5cbd98934fc45a7ba38f606c4efe7e359
│   │   │       ├── 7737f7fabd55d3fff123dbc65fee826311c2580d
│   │   │       ├── 77453d8dc39b44fdf3c80a0ca80c7ead9149de84
│   │   │       ├── 788e547a1eb3cab3960e638885457a0fe112904c
│   │   │       ├── 7897d38321a88305b14831654cdb32ba40665cfd
│   │   │       ├── 799ee6b016fe616eec6ee67f1977744aee58aee0
│   │   │       ├── 7a0cf48bba4dafb8f490124a89977a93c73988b4
│   │   │       ├── 7a26e6bcc857b6e9b797b3c918f2bcb1a569ddde
│   │   │       ├── 7a34b6c09a1ec38856874d086cf899709fa20650
│   │   │       ├── 7ae9e827c496473c836ad4de36f8b029cbb005c8
│   │   │       ├── 7bc478ddfb9efcd7b4650c00e27da372d2cbee86
│   │   │       ├── 7c9291251d2b1628c0bf6b31e2074445408df3e9
│   │   │       ├── 7d7bcfb836b397d537c2b3649c86e9a9c48303e0
│   │   │       ├── 7dcb764405ae26b71cb127b30336b45fd802640a
│   │   │       ├── 7dde4f40a01dfa3b917b86b8bd035929132f32db
│   │   │       ├── 7e01c8cdc6b1904415e575240588c4759047692d
│   │   │       ├── 7e10b31e7041e9432b39bb1ae327355d96dfd62c
│   │   │       ├── 7e479935227c90be28bb8a6261fe2141a12821e5
│   │   │       ├── 7e6775e595a452e61552a68facb7aa884fc579e5
│   │   │       ├── 7fbd42707b95e15ea0584236b080b01a86041f0a
│   │   │       ├── 80347f920096695efda11b33e2c2d06024c0c82a
│   │   │       ├── 808863bfb504bd1a7ba89b4f8eb8c118a9125798
│   │   │       ├── 80a0247ebe3fd2aceff058d956c1c921ed7681a4
│   │   │       ├── 80d94c313466452d7b50fd144838a527809f2c7f
│   │   │       ├── 80f348579a9a803a72d4a4cccd54824488b55aac
│   │   │       ├── 8211bb03478a5a26c1fb40236780cbee8da45a06
│   │   │       ├── 833ca5a7d4cdf2c1867491c242ece799a01d77a9
│   │   │       ├── 83a58c921e3f326f742c80f8b885c6c6dcc68803
│   │   │       ├── 83a9bf595bc7dea203b912007f70743b88f7af95
│   │   │       ├── 83cd63c7765c3f1d6f7f4f1f9b032f8efd46b3ef
│   │   │       ├── 8476e6af7e75aa144bad68b33b499cdac5da2bf4
│   │   │       ├── 8477039b36c6e7e796ce4036aa78d32e00ce0103
│   │   │       ├── 85232cbda473f24e2195b75d84e387f25956a358
│   │   │       ├── 860f19159238baa82dd6680e5f00cd818d869fca
│   │   │       ├── 86c5f1d7668cd16af68c6901ef37d10a929b937e
│   │   │       ├── 875d260c6259b312bf7adc25aa6d37de04cacef9
│   │   │       ├── 87870c833802ae370b72ded06d6b5466283e5189
│   │   │       ├── 882f2aaac218ec0d84736ac2c55910a4594a1eae
│   │   │       ├── 8840b9e11ea5d3aea427c815ebfe1896dc3b765e
│   │   │       ├── 8873098a4246f81ee6e5576070d0a7244b3ac9f3
│   │   │       ├── 8904890ebc3c9798fabda724359e14379698ebd4
│   │   │       ├── 891f275cd08dde2776d7140e46cb047faf9f0f8d
│   │   │       ├── 89371ce91fe1a6d01ba115e5bf54bf577340b8eb
│   │   │       ├── 895e8fd679feb6a39068aba3d31fb206089a064b
│   │   │       ├── 8a00c440fa5a60b20d2c8085a38baeaaf3c5670c
│   │   │       ├── 8a88097f625c33cc9cbe29343feb52ab248b5c1b
│   │   │       ├── 8b0a819cd3fc4d68cf3e0e0855f7ebcd89a20317
│   │   │       ├── 8b98620ebbf7bab27f5ca3fc0ec663cc58c76db9
│   │   │       ├── 8c623105d5f0f8ac252343c858286d65b992687c
│   │   │       ├── 8c74dc0dc68a7e61878314355623c887ace5eefe
│   │   │       ├── 8d19aefc358ee1284e3a594474f26015586dd9e9
│   │   │       ├── 8dc12bb4d6f47bdce0349d159084f7a90ab432a4
│   │   │       ├── 8df1c55d2c899a91d4de757ad55abeaee00718e5
│   │   │       ├── 8ea0ce1a9c4c228095a13e76e7c43657f8bd6e23
│   │   │       ├── 8eeef9f346f4ffdc8e3e6456301cf775d164c42d
│   │   │       ├── 8f1f1bdd61e03a0432e1425982bc95d4eed1dc8f
│   │   │       ├── 8fc80309676fc4e9b457cba583e09623e3a50e8b
│   │   │       ├── 9032685281013329ab00123038a24e88ee87e99f
│   │   │       ├── 903b7c38e142f05daeefa445f48a7da5630e1efe
│   │   │       ├── 90fb17406d6d1e431223bda418dc24452cd47cbd
│   │   │       ├── 910a4cd86e2bdc41e8e4ae4e06e918ec0bc91b61
│   │   │       ├── 92180b5585dde95b54512c0aa418844642cfbf1c
│   │   │       ├── 92a9994a35a5751f87ec0261a50c46f6cac276c1
│   │   │       ├── 932d2c4206b09575f98aba174b4ae7eeecf9dd87
│   │   │       ├── 936b204683d9aace88edec6916348263f8845bd2
│   │   │       ├── 94992041a722e9461cb4da61dc3ca6b1c807fc52
│   │   │       ├── 94f232a0e1b64975bc82dc84a484907795dd3c9a
│   │   │       ├── 94f5a62a7150c24701f9b0ccc4f003afaf33b04b
│   │   │       ├── 951cfc17803941388dcb27de4933bcf3cfa4e308
│   │   │       ├── 96080c9605fcf493be8852845bc14430217f7f10
│   │   │       ├── 9623152b8ee14d7d2be5fd3ca2eef2085125a009
│   │   │       ├── 965d67a89f658ebc162f41d13880ceb53878398a
│   │   │       ├── 969a5335de7a36dab4b48601f83e8289d1e24e14
│   │   │       ├── 971e03f3b57ac29e3328d70fb6a901e50cc1e3c3
│   │   │       ├── 976127759e62f70d02f40d83a2ed5b7951571ceb
│   │   │       ├── 97846c394ced714617a96b8b35b582e232a9e7b3
│   │   │       ├── 9888bb78613415dc88bd114be3f2633e747ae22f
│   │   │       ├── 991945983caa4499432036384514d356d791b3be
│   │   │       ├── 99a14a1d0ef9a631b975d4e3d898f1fc28634572
│   │   │       ├── 99c0f2d3879cc32cf8f28dbe298b8f51780b0691
│   │   │       ├── 99c58901dd5b578c26d9f06a680cd1586d884d0b
│   │   │       ├── 99d75bc6a864abd29d7531565e692e87cd78ea7f
│   │   │       ├── 9af095b9240a4b086859755798d38cd676803dd2
│   │   │       ├── 9bef829363a2ea30f044c9521dc187bac9e518e8
│   │   │       ├── 9c098fec348d1fb7ebd8f71dc3253896efec0698
│   │   │       ├── 9c5122ab103de543630bc727b76bd7b21839c073
│   │   │       ├── 9d89da8664157ea1b5faa5bde8caf9f31d85b4a4
│   │   │       ├── 9da97ed219829e31b2b2a551b3ba371c7d7ab7f7
│   │   │       ├── 9e1bf8c243c01b2c171f28550c25b974eb3fc910
│   │   │       ├── 9f915817eadb6a53e1ba53785c9e39d3addfb7a7
│   │   │       ├── a019adfa6af044c1f3102fd4eb35f3883eed7767
│   │   │       ├── a03d6067a14043eca56172c64d9d734bbc6d3453
│   │   │       ├── a0c3025c93be787b318b0a0915efce0568f29fb4
│   │   │       ├── a0e3646d2ccccb4a16225b1c4995d6053b4bdd4e
│   │   │       ├── a0edc24b3d17348f5cb80d2b6b002ee58db6b035
│   │   │       ├── a101443f19af96e9408021094d007f3da407fb7f
│   │   │       ├── a116527e7791e8cfe660a8c53382415e74b1634e
│   │   │       ├── a1ca34f30d867511c5071bd62a0ec9532226a626
│   │   │       ├── a204e6fc1dd252eb72786637ece539fc8ccb08be
│   │   │       ├── a208cbe77067c1b6f065b09fc05a11f79843e4cf
│   │   │       ├── a24bab38ef7386f98fc7f93be8d07c3f6ceb3ece
│   │   │       ├── a24c8bbc68f5bbc75f9e4125919196e52f3b3419
│   │   │       ├── a259e1a662bcc421d6834afeab3a47dc344eedba
│   │   │       ├── a2967df1f22ff6eb94dc4837d98507c543aae3cb
│   │   │       ├── a29d6d6337656a0bd738e477cdd90231050f37cd
│   │   │       ├── a2c6ea965e4b89873c59972ad24de3521f5ec565
│   │   │       ├── a3be9919f350dff90746d5bbd335e9c13e075c6b
│   │   │       ├── a45e530738453fbacd12389fc0b7c6bb0b5908b5
│   │   │       ├── a4fdd8e51e18577132e9b1d5d9e8504e4d3c96dc
│   │   │       ├── a5091dc3125fa52413368b176e86a49738c917a3
│   │   │       ├── a5bd5b33d21e9a221872d7ea360f18433d3f3be1
│   │   │       ├── a6a2deed0d75339e09924b0f19655f6656a15f4f
│   │   │       ├── a81a394ce3ae2d25c0ee201c6578069a1b174e55
│   │   │       ├── a9bcae8634ddb628111c2eedd0fcb768f85ff9f5
│   │   │       ├── aa19f2bf66f2268aca0d9eca37dbc685625342a8
│   │   │       ├── aa597b4fbdaf9c8d1c9a17426569c76134ff0fb9
│   │   │       ├── ab437c655c7ad4f2d048b93a9bb3306d0d560e0f
│   │   │       ├── ab7ec188984da88b4ab1fb8082a95165d2341dd1
│   │   │       ├── ac0b4253921b9410c5dc7fb082cedf8836ccbcf6
│   │   │       ├── ac15ecf3a7ca5b032a266d1e9e008ee0aa60df50
│   │   │       ├── ac20951ae95689b3ead13a8095570c9a2ed30e5e
│   │   │       ├── ac7e926bb0bd586f189a08bd9887dd903b7ca7ab
│   │   │       ├── aca10067e6738a677ea8f18c501d1078bc89586b
│   │   │       ├── acd71bf955344d94564db8a7d3ab6ed13f5f30e5
│   │   │       ├── ad121b61847802cec3b334da80f661e215dd16d3
│   │   │       ├── adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
│   │   │       ├── adcb06d68c467bc49a484a781f3645f2e0fce25d
│   │   │       ├── ae4efce72909d7c1fc095fa47f3cf98f4a7ffb34
│   │   │       ├── ae9c533353214d987cef18fd97d4fbaa24c39c09
│   │   │       ├── afeb1f561aa265b0793c0cf08ffbe986ba95cccd
│   │   │       ├── b02b1b59c1aaf66b44b15dfc215b921a276f23e9
│   │   │       ├── b071ec550ba1741734797a724d10985838abe3f0
│   │   │       ├── b1256a6b51fe7e4af001152847a41e23822312fd
│   │   │       ├── b1898734ba5a8617c5535e2ec02feb33764c5da7
│   │   │       ├── b1ac04528499a30c79bb5a6a887c7f093ffd3d7b
│   │   │       ├── b27345719ecf784b471e96fdc2407baaac45ecd0
│   │   │       ├── b378c4f7a72199ec1da13bd6756d4487ac1a9fa3
│   │   │       ├── b399c00c30a1356525d5d39e7cfeb99b2f878bee
│   │   │       ├── b41ca4c43c7c6700e337d07a188f3f1a8c13fe46
│   │   │       ├── b41da924198c3920fdaa0b0ff572615dae93f7dd
│   │   │       ├── b4899afd21a1c4c6eb7459bf91ed43689919798e
│   │   │       ├── b49b6c4ec35af87447943af9acb1a14a637ba4ae
│   │   │       ├── b49dddf68a09edcb754e5d95cadc35e2683df728
│   │   │       ├── b4c66e7c06855671e747f3100c9d5072b79cf83a
│   │   │       ├── b52f85fe855438edbb3177ba64ea88040c5068c3
│   │   │       ├── b5945b57aad75381e3a3545542330957d8af699b
│   │   │       ├── b5eefc1ac36df7e12eaf561ea2198bd05650348f
│   │   │       ├── b68b13e7dbf523d3850bfb4ee1879ee267ce1309
│   │   │       ├── b6f15ce61e23d12e16ac972ece7ecb71a1f4c87a
│   │   │       ├── b7294356ab92ecb2a8f35f0b61cb2f3fc68af2f7
│   │   │       ├── b7719b430c03af92aef14110ee2fbf3abba0de5d
│   │   │       ├── b7cd4bb8ad5ec4e73e07a3cda397faa3f19e4286
│   │   │       ├── b8e9125a0ae565f71d1d93249e347d56068d42bf
│   │   │       ├── b9a93efe3d76aecec38a121521ae64810a0769c2
│   │   │       ├── bb1e5e53f6a1253fe1e896b50e9edc0095e2932b
│   │   │       ├── bd7c4c25399bf8f278eb615f58b75b8f72349bf6
│   │   │       ├── be7f31b717f86fda96b3148fb706908303e17f8f
│   │   │       ├── bee6d10492fd61954b05c5108f958c5406b30fc9
│   │   │       ├── befde2b724d2370f61d7dc2da95d1be21a9c862b
│   │   │       ├── c02bf5d08db57f3aae88172e17cad08ebd076c22
│   │   │       ├── c18fefd5d4d05d1ee9f162801aa6e17f428ba8da
│   │   │       ├── c1b2bcb63da8041ce87b328132217ba70d920fca
│   │   │       ├── c1df12a64dd8abefb0e6590527cb10ed692cf324
│   │   │       ├── c21a4d67d547c0845676886c6892c8c6827d75e2
│   │   │       ├── c2bec5c726a06b456cdd88f28a32f48831044a11
│   │   │       ├── c32505224c93f972f500f44afb188d3889dfa159
│   │   │       ├── c3670cccd1b3582fb1ec1b742f6e2898cfe26555
│   │   │       ├── c3ed53cf882409c54cc6c988aae34deacecf057a
│   │   │       ├── c63072e6cf44fde5c8ec3e7ea1a5328497ea5479
│   │   │       ├── c6435d401d81e17e25e273719e4f1fa7fe1b53b7
│   │   │       ├── c70643d26ec7090724a54c6e87ea68c89d4c4e91
│   │   │       ├── c7fb3f5be75a6dacfc3e28abbf73fe5e58495d30
│   │   │       ├── ca576072e488152f50e6f1158a1396f73ddd2c07
│   │   │       ├── cb2edb9e0c977a705a6f29fae0934079a1b60c92
│   │   │       ├── cb864d68d0b90ecc000956495f457f2da8cc0181
│   │   │       ├── cbe9914a17fe70a1883c2dab7491fd0211a5ee38
│   │   │       ├── cc34b4cfee9dc462dcc95d7560a21cbf4adcf7b0
│   │   │       ├── cc652bd0ebdb4b1726182372be30c691099f7e8c
│   │   │       ├── ccaac59aa2a93544b76f073311b350dcf65fbf5e
│   │   │       ├── ccc73c223aabaa38c58624ea80eb778c645346f2
│   │   │       ├── cd04f9a383899d9640ff1e9707e47e77afdd9562
│   │   │       ├── cd2ef6d312ee80a3d4c377361fddbb793889f4c8
│   │   │       ├── ce010e3e4729a79b9793c64a4532b53c54c9430c
│   │   │       ├── ce3e985cb8f77fcd48e3ea06f922260a2dd36fda
│   │   │       ├── cf7e04eb0562f842999ecc3f4ec6877fa4f1e342
│   │   │       ├── d1020364827748c3a6e1bf09c6e75a5edf44079e
│   │   │       ├── d19cd0207ab449752da6b55a82975be7f056a70b
│   │   │       ├── d1ee881e19534be9fc12fd862bb3f2269a09bdd7
│   │   │       ├── d26ba8c01b80dbb3ea1a50d429b832a33b6af614
│   │   │       ├── d2b69ab4a6972e182cdef5c319be940062388300
│   │   │       ├── d38a79abc527773b20840f0ac21b618049746c32
│   │   │       ├── d3ae4114281302b6810c02cee903e2f05aea79ce
│   │   │       ├── d3c908f06f91576b96d60c7b165811e69993ae78
│   │   │       ├── d42d277470474b4dbf7a5181f298b299d3028a1a
│   │   │       ├── d488eca7d059c07b0f9e8ad7d7206ace887cda85
│   │   │       ├── d51ab1559f11d168cd4cdf123602113f60732e79
│   │   │       ├── d8130b7018da880f1090b166df7bb13810f101bd
│   │   │       ├── d8e267ac5306c3dae043f15df37dae5b76a44a52
│   │   │       ├── d9437de0ae53e80a335a15a00ec9e622f2fb89d3
│   │   │       ├── da5dc3160083ac54ec11a162d23293ffef7029c8
│   │   │       ├── daa6495ffb6c5cbf5cd3dbf3b7b8bfc42803d1d2
│   │   │       ├── daed34b7f0f3a2f9b0716b14514473d6efa38c3f
│   │   │       ├── dba6c808eafe79949543a1f50ee39f82de48ccee
│   │   │       ├── dbb41d9522e68d0faf7f5a03f41aed64e7b9d7ee
│   │   │       ├── dc119760a36e1c532dc48cf83cb4ff18cbef6c15
│   │   │       ├── dcc6432dae6ed005aaa9f060c4909bb89c1d98d8
│   │   │       ├── dcf81fe92865368756d9729c63739c37b38f037b
│   │   │       ├── dd0da9f51f2783d95680664efb3f5a322ee885b5
│   │   │       ├── dd3f58c65c86aea5827d99b4fe213b183fc79107
│   │   │       ├── de676ef0bc27e3411664f351ea13ee0f2901a8f1
│   │   │       ├── df9bc143232105f71dbc4cd6f29f1faf40adc348
│   │   │       ├── e01aeb76d2ded444ad0373a68f2c784db09ca0bd
│   │   │       ├── e0938f8484d9bc11fc2e6c6a95b95bcda639c25a
│   │   │       ├── e0db3d59e7b298f022cace1fd52d3875e5fc9694
│   │   │       ├── e255f1112e76bf142d77ee3c42cda90853fefeaf
│   │   │       ├── e26caaba5987ef0e4c8e8960a65d163eb739b2a2
│   │   │       ├── e27d3a4fd0455fcd2766c39bf0c71431549a65cb
│   │   │       ├── e2ca6c74ac95f6b766e427545f297fa1df3e7ae8
│   │   │       ├── e358ad9b805d394bdc48b7258e0c3b8becb2513b
│   │   │       ├── e36e20af158c5a94704e98e0ee695eca5c85d557
│   │   │       ├── e4faefa4502eaf582fb184a2300122f40de097af
│   │   │       ├── e5f2b058f54b45dc07f3b9d6e4637e8b7af2c5a7
│   │   │       ├── e72cc6d41d020b5c579ab185b34447ec9520f86c
│   │   │       ├── e82759d6621dc86de4cf5033868a3673e74053dd
│   │   │       ├── e8546e69f53ac69e138b8a739d321f629be57164
│   │   │       ├── e8d8ab82dea469e3e3c7a536df5a77e3ad899129
│   │   │       ├── e8e793189ab4cce6a062fa09c0740693b6ce1e19
│   │   │       ├── e8ec7cc1ca98820ae6e98c1354ec2d6bece46ef2
│   │   │       ├── e91c47ea25efbbfb60ba17d786caa9659bbab6d2
│   │   │       ├── ea17e12d2e985a026980a016b72acacb30244a76
│   │   │       ├── ea69aad1620b5025cc85f415080cd799b66ebc68
│   │   │       ├── ea6da9d77a360c4826d1a29c2bf40e9209bc1c0b
│   │   │       ├── eb2f5a2dd2fee2ef20a54406427e10043b345485
│   │   │       ├── eb6be60b4aa6b17f16953f6095b6ea7efa92f6d4
│   │   │       ├── ec34b45a65e9bad07d332490983b305e6f1d358b
│   │   │       ├── ec6905048c1682c644f01e41531ab3d87e0a2247
│   │   │       ├── ed2df06c65bbfdf156d4afc88bdc66d9d3290613
│   │   │       ├── ed93b3caa649c0dc8d2e7bc2fa885ecd7ad0ba36
│   │   │       ├── edd491a75e971973bd4cd9dc84a0023cebd62f92
│   │   │       ├── edf2f1a4740661b72760a302a261518fa842bde0
│   │   │       ├── eec540334e2254864e033353ec23daa556fadcd0
│   │   │       ├── eee58a61a1959843405fb465464ec698f6181a6f
│   │   │       ├── ef6721b59164581f5525e2e2f16bbdb626de6ba7
│   │   │       ├── f05b2bd236751d7863172a380f5ab4315344968e
│   │   │       ├── f0c16a24aba99a02eb9924dd4a4725ab8e92ffad
│   │   │       ├── f10576d1e2fb48314b8dfbfbeb5d708defe6097b
│   │   │       ├── f17479189c9591f3c73906ed84b33b87ac6e8e1f
│   │   │       ├── f1778e9e69871a38d2ce4d8b7c4a3e0b35ece46a
│   │   │       ├── f2e3dc7f73104b527baf917360356e7994267cdd
│   │   │       ├── f3b6007923c6e42984caf9c5fb239cf38815e841
│   │   │       ├── f3da8335de7de651461ad28357d506e940d18bdf
│   │   │       ├── f40831624c06f31927bd2af861887ad578246010
│   │   │       ├── f4ddda0ae8524f4f632d5d03291b59acc1952a74
│   │   │       ├── f53e9d74f34d349f856d8aba3f40712bcfe8d916
│   │   │       ├── f5581adcf52c7acfd5fa26cbb317231aff1d9ed7
│   │   │       ├── f57bb62ad6d29b8f4d1fb3baa4474f3af4e0cbab
│   │   │       ├── f6117176339050e85b72129ff118f2713b118931
│   │   │       ├── f66e211bfde320bf50efe03fde1cbbbf5df440c6
│   │   │       ├── f6a16230ec874c52b6c1cd73ccc0b9dee2dd5574
│   │   │       ├── f7014162c0e7c8229146243ca875cec5757f6b39
│   │   │       ├── f7e31e99e09ddb661dc4a5f639f48baa48e233fb
│   │   │       ├── f9373536de828c70789357df4be4069df64d5dc2
│   │   │       ├── f9a0b5a03a08526b1622f57bf3cefae54eb49abd
│   │   │       ├── f9a6502095aa770e7213f96511a3d63f33757674
│   │   │       ├── f9b7f4ad29450f6bdf1baf2663c7b86a7ec39cfc
│   │   │       ├── faa689e2f7b3c3877c1581ae943cffa5c037ffbf
│   │   │       ├── facca3ae362b2fab961eb9e724b3790b1977d0a8
│   │   │       ├── fbe65ad556a0f0fe9b8215385e70da5555a3fba1
│   │   │       ├── fc880c8c473a9d0b14bb5827260c1170e8ca9535
│   │   │       ├── fc96ab8937b4d16598d2831e4d1f89df4b720d72
│   │   │       ├── fcc91d6415ebf086ccc8b84ef729d5099cc19a84
│   │   │       ├── fd958cb8a73d5d70d0be71a387c7973c3b1df2e9
│   │   │       ├── fdce145b982b47c9598cfe55883672e86727d5b8
│   │   │       ├── fe9a584f5c7c5d9eb5e4b15f85960ca7f1079a2e
│   │   │       ├── fecd4b2d80be6971216cd554f44793b3b8adaba6
│   │   │       ├── fef279c42c269b2a38ccfbf781f73897284ec2b2
│   │   │       ├── ff5f77350f4850c12dc9576ea268de27bb55ade1
│   │   │       └── ffcfd70e30e22415a17a3152c0ba1cc0f9f756a3
│   │   ├── helpers.cpp
│   │   ├── helpers.h
│   │   ├── lex.cpp
│   │   ├── lex.h
│   │   ├── numeric_literal.cpp
│   │   ├── numeric_literal.h
│   │   ├── numeric_literal_benchmark.cpp
│   │   ├── numeric_literal_fuzzer.cpp
│   │   ├── numeric_literal_test.cpp
│   │   ├── string_literal.cpp
│   │   ├── string_literal.h
│   │   ├── string_literal_benchmark.cpp
│   │   ├── string_literal_fuzzer.cpp
│   │   ├── string_literal_test.cpp
│   │   ├── test_helpers.h
│   │   ├── testdata/
│   │   │   ├── basic_syntax.carbon
│   │   │   ├── char_literals.carbon
│   │   │   ├── dump_sem_ir_range.carbon
│   │   │   ├── fail_bad_comment_introducers.carbon
│   │   │   ├── fail_bad_comment_introducers_mid_block_indent_change.carbon
│   │   │   ├── fail_bad_raw_identifier.carbon
│   │   │   ├── fail_block_string_second_line.carbon
│   │   │   ├── fail_char_literals_bad_encoding.carbon
│   │   │   ├── fail_mismatched_brackets.carbon
│   │   │   ├── fail_mismatched_brackets_2.carbon
│   │   │   ├── fail_multifile.carbon
│   │   │   ├── fail_trailing_comments.carbon
│   │   │   ├── include_in_dumps.carbon
│   │   │   ├── keywords.carbon
│   │   │   ├── multifile.carbon
│   │   │   ├── multiline_string_literals.carbon
│   │   │   ├── numeric_literals.carbon
│   │   │   ├── printing_digit_padding.carbon
│   │   │   ├── printing_integer_literal.carbon
│   │   │   ├── printing_real_literal.carbon
│   │   │   ├── printing_token.carbon
│   │   │   ├── raw_identifier.carbon
│   │   │   ├── repeated_tuple_index.carbon
│   │   │   └── string_literals.carbon
│   │   ├── token_index.h
│   │   ├── token_info.h
│   │   ├── token_kind.cpp
│   │   ├── token_kind.def
│   │   ├── token_kind.h
│   │   ├── token_kind_test.cpp
│   │   ├── tokenized_buffer.cpp
│   │   ├── tokenized_buffer.h
│   │   ├── tokenized_buffer_benchmark.cpp
│   │   ├── tokenized_buffer_fuzzer.cpp
│   │   ├── tokenized_buffer_test.cpp
│   │   └── tokenized_buffer_test_helpers.h
│   ├── lower/
│   │   ├── BUILD
│   │   ├── aggregate.cpp
│   │   ├── aggregate.h
│   │   ├── clang_global_decl.cpp
│   │   ├── clang_global_decl.h
│   │   ├── constant.cpp
│   │   ├── constant.h
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── file_context.cpp
│   │   ├── file_context.h
│   │   ├── function_context.cpp
│   │   ├── function_context.h
│   │   ├── handle.cpp
│   │   ├── handle_aggregates.cpp
│   │   ├── handle_call.cpp
│   │   ├── handle_expr_category.cpp
│   │   ├── lower.cpp
│   │   ├── lower.h
│   │   ├── mangler.cpp
│   │   ├── mangler.h
│   │   ├── options.h
│   │   ├── specific_coalescer.cpp
│   │   ├── specific_coalescer.h
│   │   └── testdata/
│   │       ├── alias/
│   │       │   └── local.carbon
│   │       ├── array/
│   │       │   ├── array_in_place.carbon
│   │       │   ├── assign_return_value.carbon
│   │       │   ├── base.carbon
│   │       │   ├── field.carbon
│   │       │   ├── function_param.carbon
│   │       │   └── iterate.carbon
│   │       ├── basics/
│   │       │   ├── empty.carbon
│   │       │   └── fail_before_lowering.carbon
│   │       ├── builtins/
│   │       │   ├── bool.carbon
│   │       │   ├── char.carbon
│   │       │   ├── cpp.carbon
│   │       │   ├── float.carbon
│   │       │   ├── int.carbon
│   │       │   ├── int_literal.carbon
│   │       │   ├── maybe_unformed.carbon
│   │       │   ├── method_vs_nonmethod.carbon
│   │       │   ├── no_op.carbon
│   │       │   ├── overloaded_operator.carbon
│   │       │   ├── pointer.carbon
│   │       │   ├── print_read.carbon
│   │       │   ├── types.carbon
│   │       │   └── uint.carbon
│   │       ├── class/
│   │       │   ├── adapt.carbon
│   │       │   ├── base.carbon
│   │       │   ├── basic.carbon
│   │       │   ├── convert.carbon
│   │       │   ├── field.carbon
│   │       │   ├── generic.carbon
│   │       │   ├── import.carbon
│   │       │   ├── method.carbon
│   │       │   ├── self.carbon
│   │       │   ├── value_access.carbon
│   │       │   └── virtual.carbon
│   │       ├── debug/
│   │       │   └── nodebug.carbon
│   │       ├── for/
│   │       │   ├── bindings.carbon
│   │       │   ├── break_continue.carbon
│   │       │   └── for.carbon
│   │       ├── function/
│   │       │   ├── call/
│   │       │   │   ├── empty_struct.carbon
│   │       │   │   ├── empty_tuple.carbon
│   │       │   │   ├── form.carbon
│   │       │   │   ├── i32.carbon
│   │       │   │   ├── implicit_empty_tuple_as_arg.carbon
│   │       │   │   ├── params_one.carbon
│   │       │   │   ├── params_one_comma.carbon
│   │       │   │   ├── params_two.carbon
│   │       │   │   ├── params_two_comma.carbon
│   │       │   │   ├── params_zero.carbon
│   │       │   │   ├── ref_param.carbon
│   │       │   │   ├── ref_return.carbon
│   │       │   │   ├── return_implicit.carbon
│   │       │   │   ├── struct_param.carbon
│   │       │   │   ├── tuple_param.carbon
│   │       │   │   ├── tuple_param_with_return_slot.carbon
│   │       │   │   └── var_param.carbon
│   │       │   ├── declaration/
│   │       │   │   └── simple.carbon
│   │       │   ├── definition/
│   │       │   │   ├── destroy.carbon
│   │       │   │   ├── empty_struct.carbon
│   │       │   │   ├── eval_musteval.carbon
│   │       │   │   ├── params_one.carbon
│   │       │   │   ├── params_two.carbon
│   │       │   │   ├── params_zero.carbon
│   │       │   │   ├── raw_name.carbon
│   │       │   │   └── var_param.carbon
│   │       │   └── generic/
│   │       │       ├── call.carbon
│   │       │       ├── call_basic.carbon
│   │       │       ├── call_basic_depth.carbon
│   │       │       ├── call_dedup_ptr.carbon
│   │       │       ├── call_deref_ptr.carbon
│   │       │       ├── call_different_associated_const.carbon
│   │       │       ├── call_different_impls.carbon
│   │       │       ├── call_different_impls_with_const.carbon
│   │       │       ├── call_different_specific.carbon
│   │       │       ├── call_impl_function.carbon
│   │       │       ├── call_method.carbon
│   │       │       ├── call_recursive_basic.carbon
│   │       │       ├── call_recursive_diamond.carbon
│   │       │       ├── call_recursive_impl.carbon
│   │       │       ├── call_recursive_mutual.carbon
│   │       │       ├── call_recursive_reorder.carbon
│   │       │       ├── call_recursive_reorder_more.carbon
│   │       │       ├── call_recursive_sccs_deep.carbon
│   │       │       ├── call_specific_in_class.carbon
│   │       │       ├── cross_library_name_collision_private.carbon
│   │       │       ├── import.carbon
│   │       │       ├── local_function.carbon
│   │       │       ├── reverse_canonical.carbon
│   │       │       ├── self_canonical.carbon
│   │       │       ├── type_param.carbon
│   │       │       └── type_representation.carbon
│   │       ├── global/
│   │       │   ├── class_obj.carbon
│   │       │   ├── class_with_fun.carbon
│   │       │   ├── decl.carbon
│   │       │   ├── simple_init.carbon
│   │       │   ├── simple_with_fun.carbon
│   │       │   └── use.carbon
│   │       ├── if/
│   │       │   ├── else.carbon
│   │       │   └── no_else.carbon
│   │       ├── if_expr/
│   │       │   ├── basic.carbon
│   │       │   └── empty_block.carbon
│   │       ├── impl/
│   │       │   ├── assoc_fn_alias.carbon
│   │       │   ├── extend_impl.carbon
│   │       │   ├── impl.carbon
│   │       │   ├── import.carbon
│   │       │   ├── import_facet.carbon
│   │       │   ├── import_thunk.carbon
│   │       │   ├── instance_method.carbon
│   │       │   └── thunk.carbon
│   │       ├── index/
│   │       │   └── array_element_access.carbon
│   │       ├── interface/
│   │       │   ├── assoc.carbon
│   │       │   ├── basic.carbon
│   │       │   ├── mangle_declared_class.carbon
│   │       │   └── where.carbon
│   │       ├── interop/
│   │       │   └── cpp/
│   │       │       ├── base.carbon
│   │       │       ├── clang_code_generator_callbacks.carbon
│   │       │       ├── constructor.carbon
│   │       │       ├── cpp_compat_int.carbon
│   │       │       ├── cpp_run.carbon
│   │       │       ├── enum.carbon
│   │       │       ├── extern_c.carbon
│   │       │       ├── field.carbon
│   │       │       ├── function_decl.carbon
│   │       │       ├── function_in_template.carbon
│   │       │       ├── globals.carbon
│   │       │       ├── import_inline.carbon
│   │       │       ├── method.carbon
│   │       │       ├── nullptr.carbon
│   │       │       ├── parameters.carbon
│   │       │       ├── pointer.carbon
│   │       │       ├── reference.carbon
│   │       │       ├── return.carbon
│   │       │       ├── std_initializer_list.carbon
│   │       │       ├── template.carbon
│   │       │       ├── virtual_base.carbon
│   │       │       └── void.carbon
│   │       ├── let/
│   │       │   ├── copy_value_rep.carbon
│   │       │   ├── local.carbon
│   │       │   └── tuple.carbon
│   │       ├── namespace/
│   │       │   ├── function.carbon
│   │       │   ├── namespace_run.carbon
│   │       │   └── nested.carbon
│   │       ├── operators/
│   │       │   ├── and.carbon
│   │       │   ├── and_empty_block.carbon
│   │       │   ├── arithmetic.carbon
│   │       │   ├── assignment.carbon
│   │       │   ├── increment.carbon
│   │       │   ├── not.carbon
│   │       │   ├── or.carbon
│   │       │   ├── or_empty_block.carbon
│   │       │   ├── overloaded.carbon
│   │       │   └── string_indexing.carbon
│   │       ├── packages/
│   │       │   ├── cross_package_call.carbon
│   │       │   └── imported_package_mangle.carbon
│   │       ├── pointer/
│   │       │   ├── address_of_field.carbon
│   │       │   ├── address_of_unused.carbon
│   │       │   ├── basic.carbon
│   │       │   ├── convert.carbon
│   │       │   └── pointer_to_pointer.carbon
│   │       ├── primitives/
│   │       │   ├── bool.carbon
│   │       │   ├── int_types.carbon
│   │       │   ├── numeric_literals.carbon
│   │       │   ├── optional.carbon
│   │       │   ├── string.carbon
│   │       │   ├── type_values.carbon
│   │       │   └── zero.carbon
│   │       ├── return/
│   │       │   ├── code_after_return.carbon
│   │       │   ├── no_value.carbon
│   │       │   ├── return_var.carbon
│   │       │   ├── return_var_byval.carbon
│   │       │   ├── value.carbon
│   │       │   └── var.carbon
│   │       ├── struct/
│   │       │   ├── empty.carbon
│   │       │   ├── member_access.carbon
│   │       │   ├── nested_struct.carbon
│   │       │   ├── nested_struct_in_place.carbon
│   │       │   ├── one_entry.carbon
│   │       │   ├── partially_const.carbon
│   │       │   └── two_entries.carbon
│   │       ├── tuple/
│   │       │   ├── access/
│   │       │   │   ├── element_access.carbon
│   │       │   │   └── return_value_access.carbon
│   │       │   ├── empty.carbon
│   │       │   ├── nested_tuple.carbon
│   │       │   ├── nested_tuple_in_place.carbon
│   │       │   ├── one_entry.carbon
│   │       │   ├── two_entries.carbon
│   │       │   ├── value_formation.carbon
│   │       │   └── value_forwarding.carbon
│   │       ├── var/
│   │       │   ├── global.carbon
│   │       │   ├── import.carbon
│   │       │   ├── local.carbon
│   │       │   ├── nested.carbon
│   │       │   └── uninitialized.carbon
│   │       └── while/
│   │           ├── break_continue.carbon
│   │           ├── preheader.carbon
│   │           ├── unreachable_end.carbon
│   │           └── while.carbon
│   ├── parse/
│   │   ├── BUILD
│   │   ├── context.cpp
│   │   ├── context.h
│   │   ├── coverage_test.cpp
│   │   ├── dump.cpp
│   │   ├── dump.h
│   │   ├── extract.cpp
│   │   ├── fuzzer_corpus/
│   │   │   ├── 0070c4b257a5d62735b72ecbd27831689e0f741a
│   │   │   ├── 00983b0026fb2dae8de02df8c2bf4d25ad9d2957
│   │   │   ├── 00f54312e38b5706db8c824c9c52c495d2283a82
│   │   │   ├── 01ecec351990aceb79096662578dbcebef530266
│   │   │   ├── 02081880688a5ba27e5382e4989d62f71bffe7d2
│   │   │   ├── 02927414c09a1e0ebc8728d6e2e3507d297720e0
│   │   │   ├── 02ddec8b4855127d5616e521bc826659cb04a796
│   │   │   ├── 0388b2df0537639ff948074ce9f67c8b5ec81724
│   │   │   ├── 039a35c0b5788e58d490e6170c5e2a3ca93126b7
│   │   │   ├── 04001c5feb6d32510ea2dac4a7e3b2782178d233
│   │   │   ├── 043f9a99b06b50b4f72d7d64785c9f6aed8955be
│   │   │   ├── 044b47fa071d1a9a649f6929df2a86a602316739
│   │   │   ├── 049cb040706926a43a72ba2eed2293fde16ee4f7
│   │   │   ├── 04e69659919613110074c6b55a2535005628624b
│   │   │   ├── 062300fe49127d478e279f2c8c6624cf921e761b
│   │   │   ├── 073fa4c84b38942fe8294893b1d8ee760c824f37
│   │   │   ├── 076affaa4c46bf4b9b399969094dc72a9df8d775
│   │   │   ├── 07872cd439777dea0917e53c4070c4e2f5499c34
│   │   │   ├── 0847ff144a8a5fd6df2efc24062333302de31d8a
│   │   │   ├── 08de8afe0f4b1a7482f82b4483ed8e67ff9d3950
│   │   │   ├── 09010764cf42320a71f4ef9f9f4b07aa9ff3fb28
│   │   │   ├── 0927368a50716a0cf040472d656fadaaf03355de
│   │   │   ├── 09943ce3320190181bc98edd7a8f25b342a4717a
│   │   │   ├── 09f51bfa00ad03af42fbf220cdfe078cb86eba82
│   │   │   ├── 09f88ffa07c965dec16c66e720ca192c8c069375
│   │   │   ├── 0a7ef04e3f3e44d0ecc02728a5b2e7766b961983
│   │   │   ├── 0aa3cf02285b3dc71f066761840882453a7b2206
│   │   │   ├── 0ad8d7ffe749474f00b83fdc0ab63fd0efe4be17
│   │   │   ├── 0b656451855e16143574319c2c02c7278916e53d
│   │   │   ├── 0ba5482c447a7032f934f443de5577fe83169fcd
│   │   │   ├── 0d75c206d438f55ffb3055aafa6ece4dc0b1d8c2
│   │   │   ├── 0d968cc12e55af8d4306e667c5c817b16b8e1b79
│   │   │   ├── 0db8178cf99d00340ad773ad8cbd9559037707f3
│   │   │   ├── 0e39781318c2c288f8b50d2599e5db584ca6403c
│   │   │   ├── 0e7ed085031d14c75de885a43f8055de2f3771c5
│   │   │   ├── 0ee1b55e445f4a407f08dbc3bbf8c19b11d1d56c
│   │   │   ├── 0f3abe6df8abad7e60c636a1b55987e10596a9a8
│   │   │   ├── 0fcf0bd2e6e6735804be2e231844f4b0035c6658
│   │   │   ├── 0fe5a6a76aaaf81ee9456d3c7316edec7e8d0767
│   │   │   ├── 10de165e3456bde804899c08a8b74b6a490f1eba
│   │   │   ├── 114f91b835c2b13afc7c92dc7c98eabbc7c4c3a5
│   │   │   ├── 12033d109a3ab4a4068fb4f5283aa8ef2b4b2939
│   │   │   ├── 1208be067b482d13dffa6e84244371f7266c8160
│   │   │   ├── 128fa7deaa928f1d747d86062e5d3d213c25c726
│   │   │   ├── 12b4b334134a4d960f633e6c4099056d6254cf51
│   │   │   ├── 12ec48cdf6b94105e7ade03f1c2963d13ac0d77c
│   │   │   ├── 139cf5f51919c2f88794b3d6afecd894d3795bc4
│   │   │   ├── 13da308a93caa154fd268cb66ff9350d5e001308
│   │   │   ├── 143e2326892e723c0b68722b1e4b58a44e61e839
│   │   │   ├── 1489f923c4dca729178b3e3233458550d8dddf29
│   │   │   ├── 150b1dea9b203b242440628e55aa9962d328e970
│   │   │   ├── 1518eddffd2ea99c2db347e4b07bbb9c2e148616
│   │   │   ├── 15457429ccbc4ced908ec8d06f103c2c98bbbdb3
│   │   │   ├── 155662963cb5f19922dab58838168228b1e014c3
│   │   │   ├── 1571c4355b51fd1956088954d879c57afc5163ff
│   │   │   ├── 168dc21309d61fe1e063df68c2a5f149311cfcdc
│   │   │   ├── 16b64cf94678e34113f9455ed7800c90a0027dec
│   │   │   ├── 176afca999aa82b2b71ea72c3240ba7776079f15
│   │   │   ├── 17bbee402bd8cdd6e386a039cb0023ceee7c21b0
│   │   │   ├── 18be96b3ef011defa68c04113354445d6677fadf
│   │   │   ├── 191074e33f978a2a8d63c9e1e34bb17077a9a588
│   │   │   ├── 19693216f273f9aff7108346e4bcd2f8c966f4ae
│   │   │   ├── 1a1c812723cfc99c0d1950586bf64a8a0bd8dd21
│   │   │   ├── 1b39bdf9057eb34a7ce083c976d91beaff9243a2
│   │   │   ├── 1c049c5e2792a5a37dd9b381673d185ab4f0f9ee
│   │   │   ├── 1cf7234e1ba7123b380fc9bdb1be2e3f01dac04d
│   │   │   ├── 1e6d3c3b55ccb0d68d53c73a555b846e6cf8186c
│   │   │   ├── 1fa756fd20f8cdf9686442489978b5c949f03c94
│   │   │   ├── 2075398620e9ece84ba45696102d607461d3013e
│   │   │   ├── 207a33e16f5a0d38333804850baa752141048077
│   │   │   ├── 2185caa3a086573629b49f7030abfbc5cb164a05
│   │   │   ├── 21ab82bcdb73cef5c88faccf2930439a80f6aa2a
│   │   │   ├── 2380c194a3cf4ebd90289510bd36d3237c4eff90
│   │   │   ├── 2405a901ebd782565915e40a9c7175af077da320
│   │   │   ├── 2431f06ad2f7e5a00c3edcf50bd8df35ad2d213a
│   │   │   ├── 248e15cac0d0566b32ee1de84f1a97258c808048
│   │   │   ├── 2494a52ac3fd2d281018a9de8d8b99a96d23b755
│   │   │   ├── 24f09b8f67911a60fb76b0787a3aa5c51b9e4aa7
│   │   │   ├── 259f67ed1c6eddaf7ff1b7a57354e8e05b1764b7
│   │   │   ├── 25eb49052f569f2b6224ec69827bb0559c6266ce
│   │   │   ├── 25f17147065a7604fe02ff52c22d77d55f46aec0
│   │   │   ├── 26375a214ff72dcec3d99a0e8c3e12f48c174f91
│   │   │   ├── 26ffdd8987ca20c37b2e8b30866e534342d1c175
│   │   │   ├── 27b24837f9fb8b231882aba80241a51a732d7080
│   │   │   ├── 285fc11d7f2b301050dad1055ae07ae8ea434fa7
│   │   │   ├── 29189967d00b3cbd0bec6d3ba7a0ba53593d68b0
│   │   │   ├── 298d9fd041f4045e8a6f51395cb9b1f12f84740c
│   │   │   ├── 29c07937042029d42ded435734bb17a9da1a13ef
│   │   │   ├── 2a02e597d1a05281f3438aa56e604af5ea226391
│   │   │   ├── 2a632a8af327465dfa149e5e36f761e0c3ed9cbb
│   │   │   ├── 2adee695b16f21579babe698c46496bc7888d515
│   │   │   ├── 2b54b86a7a03996193e2a16e2dedc7bc3c4fdcf8
│   │   │   ├── 2b5d3b133ba8094e7e96c18bbb5750320af115b7
│   │   │   ├── 2bb15c06e73edf03fe6da1d344054e7629da174e
│   │   │   ├── 2bd5448f636ce587c431dcafc751d97bc6ad184e
│   │   │   ├── 2c5052fa044a9adda5adc2c63bb504f021b94ce0
│   │   │   ├── 2cb15df85cd18a7c7a5c0a6144c52898f33b85b1
│   │   │   ├── 2d43a65482c23c269139ef944a7bc83c7cef365d
│   │   │   ├── 2e14812407ae3bbcc0897edec4dd60a23cc24362
│   │   │   ├── 2f02a7cf2f97d748af0c7a5ea9b08709497f5a46
│   │   │   ├── 2f5199b8dbb288d7772573dfd072a01ab6c5ee0d
│   │   │   ├── 31285759f36b7a75479ca9b1df982ce5f97548a1
│   │   │   ├── 31d33fa3b66c317fea1bf723e0f18e17778b8189
│   │   │   ├── 320a9de88d971d897339ca8a03fa0f6249115c85
│   │   │   ├── 32726187689ba9e51e68aeba228d3675fce9b0ce
│   │   │   ├── 339850af6f14c8ce8d036c13c2a0e3e5425bce6a
│   │   │   ├── 341f7c736b9635585cc9c3eba7a778c2c0b630d4
│   │   │   ├── 34792f34f593fa3f456d026fa9ffe1503cac1b77
│   │   │   ├── 34ad684f808d905e7cb4f1206fb0f2379276a591
│   │   │   ├── 35756112846aec20c0ea410e4e176bdc7aa6d088
│   │   │   ├── 36444b4480602bbc82c421d3a5dca926ee56f17d
│   │   │   ├── 3715d976d21ae2a2c15495c4a763394e990b90a8
│   │   │   ├── 386740becc4c02670666928a4699c330b2fe1152
│   │   │   ├── 394792793e4f314d0886cbfb89fb8049792482a9
│   │   │   ├── 39c9ae18a99bb14ac71c8f5113b02ab12ff236ac
│   │   │   ├── 3a4eed561f8fc8abaf6593a20b4edac297cc5e15
│   │   │   ├── 3aa943b6c35628b187f138aba548df6f3be5da12
│   │   │   ├── 3ac768f61dc4ed8422f9e2711bd6a3aadeb38445
│   │   │   ├── 3aef2c0da68c5632f15f479387b81e934198703f
│   │   │   ├── 3b1085b86f86d2d88196b9d5262217e756bf728b
│   │   │   ├── 3b71bf232208afeffcf15d4ff2cc8730896ea865
│   │   │   ├── 3be5b44a1721c738786cf72588b08d2b9e390075
│   │   │   ├── 3c0a2660b7288f8308256c7e8546818303b71997
│   │   │   ├── 3d5fdc6616ba35966fbcf6838eb05f6de07aade1
│   │   │   ├── 3d8dccaeb75743323a9a529f87a66d0c484c5c2b
│   │   │   ├── 3ed68a2ece43b2bd7718aefc0a4fd7db5c5de056
│   │   │   ├── 3f128a449c26d99e65f137b08835072d0f4fa93a
│   │   │   ├── 3f879a2ddc7c450bebbbf1d8e18b3d13be9e97fe
│   │   │   ├── 3fbd2427a77b6f19ffc4221553f72ed0b9e853ed
│   │   │   ├── 4030af13b66be0e6cc87eac9cf6cc0230124b7e6
│   │   │   ├── 403b12429ad7509a098202162534c621ea84e22d
│   │   │   ├── 40aeb8233ec6ec0956a073258b493a6f3f109ad0
│   │   │   ├── 412005dc4d8c236fc60dc39355e9e671dbe09d8e
│   │   │   ├── 41483173f64fb2b10b0fc410ec367e48af3258e6
│   │   │   ├── 418dccb65acf0f27d9ad4f66844bfb900fd341e5
│   │   │   ├── 41a18a6da2101d4fc073f881774d365cac9df69f
│   │   │   ├── 41ff90328e5650588c247848d651f0390237b795
│   │   │   ├── 422a2a4de398a58124633a31c4e52902ce85444a
│   │   │   ├── 42c8f8111af667130b9d5672d007bdc125827020
│   │   │   ├── 42e59128df90545517099afd0b604dfa56bc05b5
│   │   │   ├── 43142a391a23602f37adb8e58795e413b2f930f4
│   │   │   ├── 43620674069e40000726f5201bb470a56686c3b2
│   │   │   ├── 4384398a7160f0d94ddf9800823d26654b8ba494
│   │   │   ├── 43e8770e73be69be07a92b1158a81872d064983c
│   │   │   ├── 458805c494b025b1429890e1b1f4d21e20c9f24f
│   │   │   ├── 46e2ab94f4eda80788a6b78e7d918b91cb0cc5ec
│   │   │   ├── 46f15ec0a8f3b58021a71695b9d74bb7320eab7a
│   │   │   ├── 47bff9ffccc62e338cd602ebc8a6949328c714c8
│   │   │   ├── 47ed2ecb2adafaaf3e20f6c8244d2e2ea58cf53d
│   │   │   ├── 47feacb6748ff05002f098417c384c819a65b97e
│   │   │   ├── 482704ffe5691bcddb334b81517b3a05f87fbe5a
│   │   │   ├── 484a39ded2bc25ee5377a01c8cda97ddeafc87ef
│   │   │   ├── 48526c21334aa86c0df6320d510a1fed8dc09b35
│   │   │   ├── 486a8f55e4b44564c3223c1b38ed06971606e9a3
│   │   │   ├── 49f6c92b4735986f2daa0863462d6add05422e37
│   │   │   ├── 4b72a9874e77ce171cf3f60eff7beede65c5563a
│   │   │   ├── 4b7c0cbad40165a88b1da6e4f393cb83be84ae57
│   │   │   ├── 4ba74383259bd616e28171d92c9435f3f09ea019
│   │   │   ├── 4ba75e317ec2959faa02620eb79057f59bfe53f0
│   │   │   ├── 4bacddbb420583304d54e49585c719868272e744
│   │   │   ├── 4c5a8c6a90fce1e1b56ee77115a5259354f7df5c
│   │   │   ├── 4c6b39b374d9de57f377c0a756df6cf2a1674773
│   │   │   ├── 4c7d9b1e8380cbc69d7f0bbe49d50c5c669a48b5
│   │   │   ├── 4c883bcf149e3ab24ed690c491d8c5f4760101c2
│   │   │   ├── 4cecf81e69c4eb64195f388d82fbbcc0b9f713f8
│   │   │   ├── 4d32ab98d9d1b052654c6c2b105449dfd058f91c
│   │   │   ├── 4dc7cba8ab34945620d27a03d92294d46a68036e
│   │   │   ├── 4e324a84b2aefab1344cbb5f18b0a4a8d0d03019
│   │   │   ├── 4e6377c22a1909fc40f3ea947039cec500b3296d
│   │   │   ├── 4ea6b7ccec37ce161208bc3c99206d9fd1060daf
│   │   │   ├── 4f3097e7856d45dfc5eeb4c0c9477bdb04579a40
│   │   │   ├── 4f68aae1dca08eb2eb96530414b3078ec89483f2
│   │   │   ├── 4fbec82e43616db68d8a12887e4c3db1f6aa9c02
│   │   │   ├── 501f1b1a10740d5e2dcfc32e17409afea7962f78
│   │   │   ├── 5059e627bb1e0fb3e5ddb2d5ca6a596a99f0fc2c
│   │   │   ├── 507d4024b8b9a86c644ce870f701410d19023113
│   │   │   ├── 5092f70c135b0380dbe0b55e18c8fce52626a3f7
│   │   │   ├── 51f640c8579d64801a7f7452d90b656abc2859e2
│   │   │   ├── 52d8d1ca1212f03ee060addf4380c352030b2782
│   │   │   ├── 533d06fe6d276f71a662e6ba523af66ec36ab06d
│   │   │   ├── 53523b19ecd547e517a668769fa18afcd4405bfd
│   │   │   ├── 53a3208136364aa265d253bf1b3e3d0579a6eecd
│   │   │   ├── 53ba1ae3c5eee31d03ebd31270c7a01ed598443d
│   │   │   ├── 5442a6bf03fea8e6b9618456cd6efedf30020e10
│   │   │   ├── 54540d6a17ccd28d75f912f4ad8ffb37c0eb1680
│   │   │   ├── 561347acc32cf000a7e4f51d531ed8637c913758
│   │   │   ├── 561c786c543a6fa8a1a7fdc928a90ee41b70ca1f
│   │   │   ├── 56bd15b8f00812bb08d4c603f503ba7c1b042736
│   │   │   ├── 5709a1d9daa62e4493a7f2cb2bae56cd0ea6d20d
│   │   │   ├── 5868c42e7020defa91726147111426f28c4ad601
│   │   │   ├── 595383d60c2dccbb80138f6e74cbc21123513166
│   │   │   ├── 59ba33d9c4f408b15f5d76c77d0e52fde0c8aff4
│   │   │   ├── 59bd17e3d305e245d49cf2b99d571a581e2a9579
│   │   │   ├── 5a19572e3bddde76bf59bac3c0fdbd03f32dc5c1
│   │   │   ├── 5a73876feaa1e31e90034e567d1b4dc0960ba846
│   │   │   ├── 5c24e633494a599e4aa0289ec722ad493de7eb13
│   │   │   ├── 5c352187269ff84470f2849818ec955a3f59910f
│   │   │   ├── 5ca6f35474513dd58a090036631eb25b957418c1
│   │   │   ├── 5ce0499d80c7189d349f18e7765892cc2dcf8ace
│   │   │   ├── 5d0bde7baad969eafc39495e67f39a8fb3e6dd8b
│   │   │   ├── 5d3c510266c1c9f2ecb98a00acd9e7217b9d93fa
│   │   │   ├── 5d813d4a0ae116b287ef263033018205895f24c5
│   │   │   ├── 5de18561c4791d508bbf0b45805a55ca79fbeb7b
│   │   │   ├── 607e885f7fa26b683aa0344525798e08b15aa872
│   │   │   ├── 61414938295dca0deb7506125c48a85604f107c7
│   │   │   ├── 614ee8b49211c0b8a3c88990c543f091f8fb408c
│   │   │   ├── 61661c063e9ac7c1dcd449d0e0d724bf170d4fdb
│   │   │   ├── 616b3ef4f8bb602faf5121b9b7e422244ac7f6e9
│   │   │   ├── 61fde34cab597f13e4cf1482625f83a4234720a2
│   │   │   ├── 626ceef156893d7b4bc6fffd1a6934d9668e7f3d
│   │   │   ├── 629c0641de83ea88b3d5485b3080ad2e0c9b7cb4
│   │   │   ├── 62a2efa3f7538a5f612c13067692e87b0c6f6bc0
│   │   │   ├── 63424cf928c03d1635a685f728a7223705ac063c
│   │   │   ├── 641a81137df780f10842b14c6b8ad0213ca173b6
│   │   │   ├── 6485c5ea97a83c96121a5f34199c551ecb7cccdd
│   │   │   ├── 6546f482ba1e853e5fbd2314d3d49e6b49ee9d9b
│   │   │   ├── 65aa83012a63f2d24042b716ab92a782a6db002c
│   │   │   ├── 66a9200e2a8cba2bba66cd672f2fd63bf5bbaac5
│   │   │   ├── 671f30b13fd9d75b380b1e9dd3a442853fa25747
│   │   │   ├── 675bdd56c7ed46abb4a9bb858ba9a9bf4ec5605d
│   │   │   ├── 67c49783d3f8db96c294736133a27a9fa237274e
│   │   │   ├── 688dd153a4d138d983be5cc34ba6652ef8541fb7
│   │   │   ├── 690bf49502dbf01976bc66ca2c3ac06c97642db2
│   │   │   ├── 692bb335794be9a7b844feb443757fbb179d85b0
│   │   │   ├── 6956d350ad4779b9744928e979b9b87ac7b2d799
│   │   │   ├── 69760227f602e7a7523a5e0297bd205fa37e9e02
│   │   │   ├── 6a00fb86f8727e0a4708359954fa811737e83d8f
│   │   │   ├── 6b4768a78f5353cb4dd4d30aee22449460892e5b
│   │   │   ├── 6d08d22c417beb30e21ce3e0f1e1ed97cc130330
│   │   │   ├── 6dfbc2d1a3ac19c3ae9e77bc510d0f639b974f10
│   │   │   ├── 70ecda93edeab49006cc4f58324a8384c2009a19
│   │   │   ├── 7200f4fc3115ac14a4ba74243e8b8d72bdb14104
│   │   │   ├── 72449ed710356adfffc12ec768423cb0784a9b2b
│   │   │   ├── 72de9fee019f22dc1492a2c8b83ad3879a74a388
│   │   │   ├── 72eb7a6416e719d3ec3d9ffade194370c8f2802e
│   │   │   ├── 7312fa4feada84b033ea67cd4371956466e6aeb0
│   │   │   ├── 732d0c57994b9ce22f94966ebab4a5e40c4bec2a
│   │   │   ├── 7368f496a342780f4bd2d5492aeff9bd64ac7da4
│   │   │   ├── 74b426917d84eac125ffc0699c11ade39fe28b01
│   │   │   ├── 74ed87a7698e8be34163a772b40065f65eeb66b3
│   │   │   ├── 750964224488b2703992ceb45ce5eac74a904c98
│   │   │   ├── 7526dbb8bd908dbb53d6caf0f1dc652c0c5d62f8
│   │   │   ├── 758cfe7990237eeaaf3c0cdeca65a888b98db0e8
│   │   │   ├── 76fd1253a98007fce566d49869a659409f895b1a
│   │   │   ├── 779dd6f1a4b6c6bb052d3b2b8e4e061d56c7b493
│   │   │   ├── 77f353c7e4d8862e77f0d385751c4953bb850562
│   │   │   ├── 77f6b1e3b42ca7acbb891938ec281d9f5bf18ac5
│   │   │   ├── 7941c33ccfdd7084a6ec19a807302319ee6249c9
│   │   │   ├── 79ec607348296778e4ccf0890e8d5704e6226776
│   │   │   ├── 7a26e6bcc857b6e9b797b3c918f2bcb1a569ddde
│   │   │   ├── 7ad4070a7a504f1b7045720b5c9333b20be5937d
│   │   │   ├── 7b0758cf04d7fcbc1a504005eeb64921b132e5b4
│   │   │   ├── 7bbe3489b3fff6f2455d83beaefdd468b2bec93f
│   │   │   ├── 7bc1889b0d60824bf64af54a98efd9b4a331332a
│   │   │   ├── 7d51b95219a1ff6a9f6d15fbcfff36da556c4f84
│   │   │   ├── 7d59f86c9b72019b592378b0eb7c5f482333854d
│   │   │   ├── 7d9a836850cfaf6af1ae3b19b996f6735e5ccb4d
│   │   │   ├── 7e0f5d7b3d4448157b7df1c2aea9bea6462e498e
│   │   │   ├── 7e48a254a435955e508905e9c94311f17b0ec2ad
│   │   │   ├── 7e82c0cc2c6fe005354e6ae51ff7825c430fbdad
│   │   │   ├── 7ed77cc3b9b1e08614f0d5dfe79433605267052d
│   │   │   ├── 7f684c
Download .txt
Showing preview only (255K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2623 symbols across 345 files)

FILE: .agents/skills/summarize_testdata_changes/scripts/parse_diff.py
  function parse_diff (line 12) | def parse_diff(stream: TextIO) -> None:

FILE: bazel/version/gen_tmpl.py
  function main (line 43) | def main() -> None:

FILE: common/all_llvm_targets.cpp
  type Carbon (line 8) | namespace Carbon {
    function InitLLVMTargets (line 10) | static auto InitLLVMTargets() -> void {

FILE: common/array_stack.h
  function namespace (line 12) | namespace Carbon {

FILE: common/array_stack_test.cpp
  type Carbon::Testing (line 10) | namespace Carbon::Testing {
    function TEST (line 16) | TEST(ArrayStack, Basics) {
    function TEST (line 76) | TEST(ArrayStack, AppendArray) {
    function TEST (line 86) | TEST(ArrayStack, PeekArrayAt) {

FILE: common/bazel_working_dir.h
  function namespace (line 16) | namespace Carbon {

FILE: common/build_data.cpp
  type Carbon::BuildData (line 7) | namespace Carbon::BuildData {

FILE: common/build_data.h
  function namespace (line 11) | namespace Carbon::BuildData {

FILE: common/build_data_linkstamp.cpp
  type Carbon::BuildData::Internal (line 7) | namespace Carbon::BuildData::Internal {

FILE: common/build_data_linkstamp.h
  function namespace (line 8) | namespace Carbon::BuildData::Internal {

FILE: common/build_data_test.cpp
  type Carbon (line 11) | namespace Carbon {
    function TEST (line 17) | TEST(BuildDataTest, Values) {

FILE: common/check.h
  function namespace (line 10) | namespace Carbon {

FILE: common/check_internal.cpp
  type Carbon::Internal (line 13) | namespace Carbon::Internal {
    function CheckFailImpl (line 15) | auto CheckFailImpl(const char* kind, const char* file, int line,

FILE: common/check_internal.h
  function namespace (line 11) | namespace Carbon::Internal {

FILE: common/check_test.cpp
  type Carbon (line 11) | namespace Carbon {
    function AlwaysTrue (line 16) | auto AlwaysTrue() -> bool { return true; }
    function AlwaysFalse (line 17) | auto AlwaysFalse() -> bool { return false; }
    function TEST (line 19) | TEST(CheckTest, CheckTrue) { CARBON_CHECK(AlwaysTrue()); }
    function TEST (line 21) | TEST(CheckTest, CheckFalse) {
    function TEST (line 29) | TEST(CheckTest, CheckFalseHasStackDump) {
    function TEST (line 33) | TEST(CheckTest, CheckTrueCallbackNotUsed) {
    function TEST (line 43) | TEST(CheckTest, CheckFalseMessage) {
    function TEST (line 51) | TEST(CheckTest, CheckFalseFormattedMessage) {
    function TEST (line 62) | TEST(CheckTest, CheckOutputForms) {
    function TEST (line 69) | TEST(CheckTest, Fatal) {
    function TEST (line 75) | TEST(CheckTest, FatalHasStackDump) {
    function FatalNoReturnRequired (line 79) | auto FatalNoReturnRequired() -> int { CARBON_FATAL("msg"); }
    function TEST (line 81) | TEST(ErrorTest, FatalNoReturnRequired) {
    function TEST (line 91) | TEST(CheckTest, CheckConstantCondition) {

FILE: common/command_line.cpp
  type Carbon::CommandLine (line 22) | namespace Carbon::CommandLine {
    function PrintListOfAlternatives (line 69) | static auto PrintListOfAlternatives(llvm::raw_ostream& output,
    class MetaPrinter (line 106) | class MetaPrinter {
      method MetaPrinter (line 109) | explicit MetaPrinter(llvm::raw_ostream* out) : out_(out) {}
    class Parser (line 740) | class Parser {
    function IsValidName (line 1365) | static auto IsValidName(llvm::StringRef name) -> bool {
    function Parse (line 1539) | auto Parse(llvm::ArrayRef<llvm::StringRef> unparsed_args,

FILE: common/command_line.h
  type Arg (line 218) | struct Arg
  type Command (line 219) | struct Command
  type class (line 225) | enum class
  type ArgInfo (line 245) | struct ArgInfo {
  function ArgKind (line 282) | enum class ArgKind : int8_t {

FILE: common/command_line_test.cpp
  type Carbon::CommandLine (line 16) | namespace Carbon::CommandLine {
    type TestEnum (line 31) | enum class TestEnum : int8_t {
    type TestSubcommand (line 36) | enum class TestSubcommand : int8_t {
    function TEST (line 41) | TEST(ArgParserTest, BasicCommand) {
    function TEST (line 63) | TEST(ArgParserTest, BooleanFlags) {
    function TEST (line 108) | TEST(ArgParserTest, ArgDefaults) {
    function TEST (line 156) | TEST(ArgParserTest, ShortArgs) {
    function TEST (line 213) | TEST(ArgParserTest, PositionalArgs) {
    function TEST (line 259) | TEST(ArgParserTest, PositionalAppendArgs) {
    function TEST (line 313) | TEST(ArgParserTest, BasicSubcommands) {
    function TEST (line 379) | TEST(ArgParserTest, Appending) {
    function TEST (line 413) | TEST(ArgParserTest, PositionalAppending) {
    function ParseOneOfOption (line 442) | static auto ParseOneOfOption(
    function TEST (line 452) | TEST(ArgParserTest, OneOfOption) {
    function TEST (line 504) | TEST(ArgParserTest, OneOfOptionWithTwoOptions) {
    function TEST (line 520) | TEST(ArgParserTest, OneOfOptionWithOneOption) {
    function TEST (line 535) | TEST(ArgParserTest, OneOfOptionAppending) {
    function TEST (line 561) | TEST(ArgParserTest, RequiredArgs) {
    function TEST (line 652) | TEST(ArgParserTest, HelpAndVersion) {
    function TEST (line 907) | TEST(ArgParserTest, HelpMarkdownLike) {

FILE: common/concepts.h
  function namespace (line 10) | namespace Carbon {

FILE: common/emplace_by_calling.h
  function namespace (line 11) | namespace Carbon {

FILE: common/emplace_by_calling_test.cpp
  type Carbon (line 11) | namespace Carbon {
    type NoncopyableType (line 14) | struct NoncopyableType {
      method NoncopyableType (line 15) | NoncopyableType() = default;
      method NoncopyableType (line 16) | NoncopyableType(const NoncopyableType&) = delete;
    function Make (line 20) | auto Make() -> NoncopyableType { return NoncopyableType(); }
    function TEST (line 22) | TEST(EmplaceByCalling, Noncopyable) {
    function TEST (line 28) | TEST(EmplaceByCalling, NoncopyableInAggregate) {
    class CopyCounter (line 40) | class CopyCounter {
      method CopyCounter (line 42) | explicit CopyCounter(int* counter) : counter_(counter) {}
      method CopyCounter (line 43) | CopyCounter(const CopyCounter& other) : counter_(other.counter_) {
    function TEST (line 51) | TEST(EmplaceByCalling, NoCopies) {

FILE: common/enum_base.h
  function namespace (line 14) | namespace Carbon::Internal {

FILE: common/enum_base_test.cpp
  type Carbon (line 11) | namespace Carbon {
    function CARBON_DEFINE_RAW_ENUM_CLASS (line 15) | CARBON_DEFINE_RAW_ENUM_CLASS(TestKind, uint8_t) {
    class TestKind (line 20) | class TestKind
    function CARBON_DEFINE_ENUM_CLASS_NAMES (line 33) | CARBON_DEFINE_ENUM_CLASS_NAMES(TestKind) {
    function TEST (line 41) | TEST(EnumBaseTest, NamesAndConstants) {
    function TEST (line 47) | TEST(EnumBaseTest, Printing) {
    function TEST (line 60) | TEST(EnumBaseTest, Switch) {
    function TEST (line 79) | TEST(EnumBaseTest, Comparison) {
    function TEST (line 93) | TEST(EnumBaseTest, IntConversion) {

FILE: common/enum_mask_base.h
  function namespace (line 13) | namespace Carbon::Internal {
  function operator (line 75) | constexpr auto operator|(DerivedT other) const -> DerivedT {
  function operator (line 79) | constexpr auto operator&(DerivedT other) const -> DerivedT {
  function operator (line 83) | constexpr auto operator~() const -> DerivedT {
  type class (line 125) | enum class
  type class (line 128) | enum class

FILE: common/enum_mask_base_test.cpp
  type Carbon (line 11) | namespace Carbon {
    function CARBON_DEFINE_RAW_ENUM_MASK (line 19) | CARBON_DEFINE_RAW_ENUM_MASK(TestKind, uint8_t) {

FILE: common/error.h
  function namespace (line 20) | namespace Carbon {
  function operator (line 169) | [[nodiscard]] auto operator*() const& -> const ValueT& {
  function operator (line 183) | auto operator->() -> ValueT* { return &**this; }
  function operator (line 187) | auto operator->() const -> const ValueT* { return &**this; }
  function class (line 199) | class ErrorBuilder {
  function Error (line 222) | explicit(false) operator Error() { return Error(out_->TakeStr()); }

FILE: common/error_test.cpp
  type Carbon (line 15) | namespace Carbon {
    function TEST (line 24) | TEST(ErrorTest, Error) {
    function TEST (line 29) | TEST(ErrorTest, ErrorEmptyString) {
    function IndirectError (line 33) | auto IndirectError() -> Error { return Error("test"); }
    function TEST (line 35) | TEST(ErrorTest, IndirectError) { EXPECT_EQ(IndirectError().message(), ...
    function TEST (line 37) | TEST(ErrorTest, ErrorBuilderOperatorImplicitCast) {
    class CustomError (line 44) | class CustomError
      method Print (line 49) | auto Print(llvm::raw_ostream& os) const -> void {
    class CustomError (line 47) | class CustomError : public ErrorBase<CustomError> {
      method Print (line 49) | auto Print(llvm::raw_ostream& os) const -> void {
    function TestFunction (line 54) | auto TestFunction() -> ErrorOr<int, CustomError> { return CustomError(...
    function TEST (line 56) | TEST(ErrorTest, UseErrorOrWithCustomError) {
    class ErrorOrTest (line 63) | class ErrorOrTest : public ::testing::Test {
      method ErrorStr (line 65) | auto ErrorStr() -> std::string {
      method MakeError (line 75) | auto MakeError() -> ErrorT {
    function TYPED_TEST (line 89) | TYPED_TEST(ErrorOrTest, ErrorOr) {
    function TYPED_TEST (line 96) | TYPED_TEST(ErrorOrTest, ErrorOrValue) {
    function IndirectErrorOrTest (line 102) | auto IndirectErrorOrTest(Fixture& fixture) -> ErrorOr<int, ErrorT> {
    function TYPED_TEST (line 106) | TYPED_TEST(ErrorOrTest, IndirectErrorOr) {
    type Val (line 110) | struct Val {
    function TYPED_TEST (line 114) | TYPED_TEST(ErrorOrTest, ErrorOrArrowOp) {
    function TYPED_TEST (line 120) | TYPED_TEST(ErrorOrTest, ErrorOrReference) {
    function IndirectErrorOrSuccessTest (line 128) | auto IndirectErrorOrSuccessTest() -> ErrorOr<Success, ErrorT> {
    function TYPED_TEST (line 132) | TYPED_TEST(ErrorOrTest, IndirectErrorOrSuccess) {
    function TYPED_TEST (line 136) | TYPED_TEST(ErrorOrTest, MoveValue) {
    function TYPED_TEST (line 149) | TYPED_TEST(ErrorOrTest, UnprintableValue) {
    function TYPED_TEST (line 163) | TYPED_TEST(ErrorOrTest, NestedMatching) {
    function TYPED_TEST (line 173) | TYPED_TEST(ErrorOrTest, ReturnIfErrorNoError) {
    function TYPED_TEST (line 183) | TYPED_TEST(ErrorOrTest, ReturnIfErrorHasError) {
    function TYPED_TEST (line 193) | TYPED_TEST(ErrorOrTest, AssignOrReturnNoError) {
    function TYPED_TEST (line 205) | TYPED_TEST(ErrorOrTest, AssignOrReturnHasDirectError) {
    function TYPED_TEST (line 214) | TYPED_TEST(ErrorOrTest, AssignOrReturnHasErrorInExpected) {
    class AnotherCustomError (line 223) | class AnotherCustomError : public ErrorBase<AnotherCustomError> {
      method Print (line 225) | auto Print(llvm::raw_ostream& os) const -> void {
    function TYPED_TEST (line 232) | TYPED_TEST(ErrorOrTest, AssignOrReturnNoErrorAcrossErrorTypes) {
    function TYPED_TEST (line 247) | TYPED_TEST(ErrorOrTest, AssignOrReturnErrorAcrossErrorTypes) {

FILE: common/error_test_helpers.h
  function namespace (line 15) | namespace Carbon::Testing {
  function namespace (line 124) | namespace Carbon {

FILE: common/exe_path.cpp
  type Carbon (line 15) | namespace Carbon {
    function RealPathMatches (line 18) | static auto RealPathMatches(const char* found_path, llvm::StringRef ex...
    function FindExecutablePath (line 29) | auto FindExecutablePath(const char* argv0) -> std::string {

FILE: common/exe_path.h
  function namespace (line 10) | namespace Carbon {

FILE: common/exe_path_test.cpp
  type Carbon (line 16) | namespace Carbon {
    function TEST (line 19) | TEST(ExePath, FailureFallback) {
    function TEST (line 30) | TEST(ExePath, Symlink) {
    function TEST (line 45) | TEST(ExePath, PathLookup) {

FILE: common/filesystem.cpp
  type Carbon::Filesystem (line 16) | namespace Carbon::Filesystem {
    function PrintErrorNumber (line 20) | static auto PrintErrorNumber(llvm::raw_ostream& out, int errnum) -> vo...
    function SleepMacos (line 123) | [[maybe_unused]]
    function Sleep (line 155) | static auto Sleep(Duration sleep) -> void {
    type DirAndIterator (line 522) | struct DirAndIterator {
    function MakeTmpDir (line 680) | auto MakeTmpDir() -> ErrorOr<RemovingDir, Error> {
    function MakeTmpDirWithPrefix (line 700) | auto MakeTmpDirWithPrefix(std::filesystem::path prefix)

FILE: common/filesystem.h
  function namespace (line 79) | namespace Carbon::Filesystem {
  function FileType (line 177) | enum class FileType : ModeType {
  function class (line 344) | class Internal::FileRefBase {
  function class (line 650) | class DirRef {
  function class (line 970) | class Dir : public DirRef {
  function explicit (line 1003) | explicit constexpr Dir(int dfd) : DirRef(dfd) {}
  function Dir (line 1011) | constexpr auto Destroy() -> void;
  function class (line 1061) | class DirRef::Entry {
  function explicit (line 1089) | explicit Entry(dirent* dent) : dent_(dent) {}
  function operator (line 1113) | auto operator*() const [[clang::lifetimebound]] -> const Entry& {
  function explicit (line 1122) | explicit Iterator(DIR* dirp) : dirp_(dirp) {
  function class (line 1148) | class DirRef::Reader : public DirRef {
  function explicit (line 1174) | explicit Reader(DIR* dirp) : DirRef(dirfd(dirp)), dirp_(dirp) {}
  function namespace (line 1180) | namespace Internal {
  function namespace (line 1311) | namespace Internal {
  function consteval (line 1323) | consteval auto Cwd() -> Dir { return Dir(AT_FDCWD); }
  function Internal (line 1342) | inline auto Internal::FileRefBase::Stat() -> ErrorOr<FileStatus, FdError> {
  function Internal (line 1350) | inline auto Internal::FileRefBase::UpdateTimes(
  function Internal (line 1368) | inline auto Internal::FileRefBase::Seek(int64_t delta)
  function Internal (line 1377) | inline auto Internal::FileRefBase::SeekFromBeginning(
  function Internal (line 1386) | inline auto Internal::FileRefBase::SeekFromEnd(int64_t delta_from_end)
  function Internal (line 1395) | inline auto Internal::FileRefBase::Truncate(int64_t new_size)
  function Internal (line 1404) | inline auto Internal::FileRefBase::ReadToBuffer(
  function Internal (line 1419) | inline auto Internal::FileRefBase::WriteFromBuffer(
  function Internal (line 1434) | inline auto Internal::FileRefBase::WriteStream() -> llvm::raw_fd_ostream {
  function Internal (line 1451) | inline auto Internal::FileRefBase::ReadOnlyDestroy() -> void {
  function requires (line 1500) | requires Writeable
  function DirRef (line 1522) | inline auto DirRef::Read() -> ErrorOr<Reader, FdError> {
  function DirRef (line 1541) | inline auto DirRef::Access(const std::filesystem::path& path,
  function DirRef (line 1550) | inline auto DirRef::Stat() -> ErrorOr<FileStatus, FdError> {
  function DirRef (line 1558) | inline auto DirRef::Stat(const std::filesystem::path& path)
  function DirRef (line 1567) | inline auto DirRef::Lstat(const std::filesystem::path& path)
  function DirRef (line 1577) | inline auto DirRef::UpdateTimes(const std::filesystem::path& path,
  function DirRef (line 1600) | inline auto DirRef::Readlink(const std::filesystem::path& path)
  function DirRef (line 1620) | inline auto DirRef::OpenReadOnly(const std::filesystem::path& path,
  function DirRef (line 1628) | inline auto DirRef::OpenWriteOnly(const std::filesystem::path& path,
  function DirRef (line 1636) | inline auto DirRef::OpenReadWrite(const std::filesystem::path& path,
  function DirRef (line 1644) | inline auto DirRef::Rename(const std::filesystem::path& path, DirRef tar...
  function DirRef (line 1655) | inline auto DirRef::Chdir() -> ErrorOr<Success, FdError> {
  function DirRef (line 1681) | inline auto DirRef::Symlink(const std::filesystem::path& path,
  function DirRef (line 1691) | inline auto DirRef::Unlink(const std::filesystem::path& path)
  function DirRef (line 1700) | inline auto DirRef::Rmdir(const std::filesystem::path& path)
  function DirRef (line 1710) | auto DirRef::OpenImpl(const std::filesystem::path& path,
  function Dir (line 1731) | constexpr Dir::~Dir() { Destroy(); }
  function Dir (line 1733) | inline auto Dir::TakeAndRead() && -> ErrorOr<Reader, FdError> {
  function Dir (line 1744) | inline Dir::Dir(RemovingDir&& arg) noexcept : Dir(static_cast<Dir&&>(arg...
  function Dir (line 1821) | inline auto Dir::Reader::end() -> Iterator { return Iterator(); }

FILE: common/filesystem_benchmark.cpp
  type Carbon::Filesystem (line 15) | namespace Carbon::Filesystem {
    type BenchmarkComparables (line 25) | enum BenchmarkComparables {
    function GetText (line 41) | static auto GetText(int length) -> std::string {
    type BenchContext (line 68) | struct BenchContext {
      method BenchContext (line 74) | BenchContext() : tmpdir(*MakeTmpDir()) {
      method ShuffleFilePaths (line 85) | auto ShuffleFilePaths() -> void {
      method ShuffleMissingPaths (line 89) | auto ShuffleMissingPaths() -> void {
      method CreateTree (line 97) | auto CreateTree(std::filesystem::path base, int entries, int entries...
    function BM_Access (line 153) | auto BM_Access(benchmark::State& state) -> void {
    function BM_AccessMissing (line 176) | auto BM_AccessMissing(benchmark::State& state) -> void {
    function BM_Stat (line 199) | auto BM_Stat(benchmark::State& state) -> void {
    function BM_StatMissing (line 223) | auto BM_StatMissing(benchmark::State& state) -> void {
    function BM_OpenMissing (line 245) | auto BM_OpenMissing(benchmark::State& state) -> void {
    function BM_OpenClose (line 265) | auto BM_OpenClose(benchmark::State& state) -> void {
    function BM_CreateRemove (line 287) | auto BM_CreateRemove(benchmark::State& state) -> void {
    function BM_Read (line 323) | auto BM_Read(benchmark::State& state) -> void {
    function BM_Write (line 365) | auto BM_Write(benchmark::State& state) -> void {
    function BM_Rmtree (line 396) | auto BM_Rmtree(benchmark::State& state) -> void {
    function BM_CreateDirectories (line 440) | auto BM_CreateDirectories(benchmark::State& state) -> void {
    function CreateDirectoriesBenchArgs (line 523) | static auto CreateDirectoriesBenchArgs(benchmark::Benchmark* b) {

FILE: common/filesystem_test.cpp
  type Carbon::Filesystem (line 17) | namespace Carbon::Filesystem {
    class FilesystemTest (line 27) | class FilesystemTest : public ::testing::Test {
      method FilesystemTest (line 29) | explicit FilesystemTest() {
      method path (line 40) | auto path() const -> const std::filesystem::path& { return dir_.path...
    function TEST_F (line 46) | TEST_F(FilesystemTest, CreateOpenCloseAndUnlink) {
    function TEST_F (line 101) | TEST_F(FilesystemTest, BasicWriteAndRead) {
    function TEST_F (line 122) | TEST_F(FilesystemTest, SeekReadAndWrite) {
    function TEST_F (line 190) | TEST_F(FilesystemTest, CreateAndRemoveDirecotries) {
    function TEST_F (line 235) | TEST_F(FilesystemTest, StatAndAccess) {
    function TEST_F (line 309) | TEST_F(FilesystemTest, Symlinks) {
    function TEST_F (line 350) | TEST_F(FilesystemTest, Chdir) {
    function TEST_F (line 400) | TEST_F(FilesystemTest, WriteStream) {
    function TEST_F (line 414) | TEST_F(FilesystemTest, Rename) {
    function TEST_F (line 465) | TEST_F(FilesystemTest, TryLock) {
    function TEST_F (line 520) | TEST_F(FilesystemTest, ReadAndAppendEntries) {
    function TEST_F (line 578) | TEST_F(FilesystemTest, MtimeAndUpdateTimes) {

FILE: common/find.h
  function namespace (line 15) | namespace Internal {

FILE: common/find_test.cpp
  type Carbon (line 11) | namespace Carbon {
    type NoneType (line 14) | struct NoneType {
    function TEST (line 23) | TEST(FindTest, ReturnType) {
    function TEST (line 32) | TEST(FindTest, FindIfOrNull) {
    function TEST (line 48) | TEST(FindTest, FindIfOrNone) {
    function TEST (line 63) | TEST(FindTest, Contains) {

FILE: common/growing_range.h
  function namespace (line 10) | namespace Carbon {
  function explicit (line 47) | explicit Iterator(const ContainerT* container)
  function explicit (line 54) | explicit GrowingRange(const ContainerT& container) : container_(&contain...

FILE: common/growing_range_test.cpp
  type Carbon (line 11) | namespace Carbon {
    function TEST (line 14) | TEST(GrowingRangeTest, TestUnchanged) {
    function TEST (line 22) | TEST(GrowingRangeTest, TestGrowWithRealloc) {
    function TEST (line 38) | TEST(GrowingRangeTest, TestNoReference) {

FILE: common/hashing.cpp
  type Carbon (line 9) | namespace Carbon {

FILE: common/hashing.h
  function namespace (line 27) | namespace Carbon {
  function ExtractIndexAndTag (line 55) | constexpr auto ExtractIndex() -> ssize_t;
  function class (line 226) | class Hasher {
  function namespace (line 465) | namespace InternalHashDispatch {
  function HashCode (line 501) | auto CarbonHashValue(const llvm::SmallString<Length>& value,
  function HashCode (line 511) | auto CarbonHashValue(const std::vector<T>& arg, uint64_t seed)
  function HashCode (line 516) | auto CarbonHashValue(const llvm::SmallVectorImpl<T>& arg, uint64_t seed)
  function HashCode (line 521) | auto CarbonHashValue(const std::array<T, N>& arg, uint64_t seed)
  function HashCode (line 526) | auto CarbonHashValue(const T (&arg)[N], uint64_t seed) -> HashCode {
  function HashCode (line 555) | auto CarbonHashValue(const std::tuple<Ts...>& value, uint64_t seed)
  function HashCode (line 563) | auto CarbonHashValue(const std::pair<T, U>& value, uint64_t seed)
  function T (line 598) | auto MapToRawDataType(const T& value) -> const T& {
  function void (line 605) | inline auto MapToRawDataType(std::nullptr_t /*value*/) -> const void* {
  function HashCode (line 620) | auto DispatchImpl(const T& value, uint64_t seed) -> HashCode {

FILE: common/hashing_benchmark.cpp
  type Carbon (line 17) | namespace Carbon {
    type RandValues (line 86) | struct RandValues {
      method Get (line 92) | auto Get(ssize_t /*i*/, uint64_t x) -> T {
    type RandValues<std::pair<T, U>> (line 107) | struct RandValues<std::pair<T, U>> {
      method Get (line 110) | auto Get(ssize_t /*i*/, uint64_t x) -> std::pair<T, U> {
    type RandStrings (line 132) | struct RandStrings {
      method Get (line 139) | auto Get(ssize_t i, uint64_t x) -> llvm::StringRef {
    type HashBenchBase (line 156) | struct HashBenchBase {
      method HashBenchBase (line 159) | HashBenchBase() {
    type CarbonHashBench (line 173) | struct CarbonHashBench : HashBenchBase {
    type AbseilHashBench (line 180) | struct AbseilHashBench : HashBenchBase {
    type LLVMHashBench (line 189) | struct LLVMHashBench : HashBenchBase {
    function BM_LatencyHash (line 199) | auto BM_LatencyHash(benchmark::State& state) -> void {

FILE: common/hashing_test.cpp
  type Carbon (line 22) | namespace Carbon {
    function TEST (line 29) | TEST(HashingTest, HashCodeApi) {
    function TEST (line 69) | TEST(HashingTest, Integers) {
    function TEST (line 100) | TEST(HashingTest, BasicSeeding) {
    function TEST (line 109) | TEST(HashingTest, Pointers) {
    function TEST (line 139) | TEST(HashingTest, PairsAndTuples) {
    function TEST (line 268) | TEST(HashingTest, BasicStrings) {
    function TEST (line 291) | TEST(HashingTest, ArrayLike) {
    function TEST (line 300) | TEST(HashingTest, HashAPInt) {
    function TEST (line 318) | TEST(HashingTest, HashAPFloat) {
    type HashableType (line 358) | struct HashableType {
      method CarbonHashValue (line 368) | auto CarbonHashValue(const T& value, uint64_t seed) -> HashCode {
    function TEST (line 376) | TEST(HashingTest, CustomType) {
    function TEST (line 388) | TEST(HashingTest, ArrayRecursion) {
    function TEST (line 424) | TEST(HashingTest, TupleRecursion) {
    function ToHexBytes (line 475) | auto ToHexBytes(llvm::StringRef s) -> std::string {
    type HashedValue (line 487) | struct HashedValue {
    function PrintFullWidthHex (line 495) | auto PrintFullWidthHex(llvm::raw_ostream& os, T value) {
    type Collisions (line 529) | struct Collisions {
    function FindBitRangeCollisions (line 548) | auto FindBitRangeCollisions(llvm::ArrayRef<HashedValue<T>> hashes)
    function CheckNoDuplicateValues (line 655) | auto CheckNoDuplicateValues(llvm::ArrayRef<HashedString> hashes) -> vo...
    function AllByteStringsHashedAndSorted (line 663) | auto AllByteStringsHashedAndSorted() {
    function ExpectNoHashCollisions (line 685) | auto ExpectNoHashCollisions(llvm::ArrayRef<HashedString> hashes) -> vo...
    function TEST (line 700) | TEST(HashingTest, Collisions1ByteSized) {
    function TEST (line 725) | TEST(HashingTest, Collisions2ByteSized) {
    type SparseHashTestParamRanges (line 751) | struct SparseHashTestParamRanges {
      type ByteCount (line 761) | struct ByteCount {
      type SetBitCount (line 765) | struct SetBitCount {
    type SparseHashTest (line 772) | struct SparseHashTest : ::testing::Test {
      method GetHashedByteStrings (line 776) | static auto GetHashedByteStrings() {
    function TYPED_TEST (line 853) | TYPED_TEST(SparseHashTest, Collisions) {

FILE: common/hashtable_key_context.h
  function namespace (line 14) | namespace Carbon {

FILE: common/hashtable_key_context_test.cpp
  type Carbon (line 10) | namespace Carbon {
    type DefaultEq (line 16) | struct DefaultEq {
    type CustomEq (line 23) | struct CustomEq {
    type CustomExtEq (line 31) | struct CustomExtEq {
      method CarbonHashtableEq (line 34) | auto CarbonHashtableEq(const CustomExtEq& lhs, const CustomExtEq& rhs)
    function TEST (line 40) | TEST(HashtableKeyContextTest, HashtableEq) {
    function TEST (line 61) | TEST(HashtableKeyContextTest, HashtableEqAPInt) {
    function TEST (line 79) | TEST(HashtableKeyContextTest, HashtableEqAPFloat) {
    type CustomHash (line 119) | struct CustomHash {
      method CarbonHashValue (line 122) | auto CarbonHashValue(const CustomHash& value, uint64_t seed)
    function TEST (line 128) | TEST(HashtableKeyContextTest, DefaultKeyContext) {
    type TestTranslatingKeyContext (line 172) | struct TestTranslatingKeyContext
      method TranslateKey (line 174) | auto TranslateKey(int index) const -> const llvm::APInt& {
    function TEST (line 181) | TEST(HashtableKeyContextTest, TranslatingKeyContext) {

FILE: common/init_llvm.cpp
  type Carbon (line 10) | namespace Carbon {

FILE: common/init_llvm.h
  function namespace (line 11) | namespace Carbon {

FILE: common/latch.cpp
  type Carbon (line 9) | namespace Carbon {

FILE: common/latch.h
  function namespace (line 12) | namespace Carbon {

FILE: common/latch_test.cpp
  type Carbon (line 13) | namespace Carbon {
    function TEST (line 17) | TEST(LatchTest, Basic) {
    function TEST (line 31) | TEST(LatchTest, OnZeroCallback) {
    function TEST (line 48) | TEST(LatchTest, MoveHandle) {
    function TEST (line 61) | TEST(LatchTest, Destructor) {
    function TEST (line 76) | TEST(LatchTest, Reuse) {
    function TEST (line 101) | TEST(LatchTest, MultiThreaded) {

FILE: common/map.h
  function namespace (line 18) | namespace Carbon {

FILE: common/map_benchmark.cpp
  type Carbon (line 15) | namespace Carbon {
    function MakeValue (line 30) | auto MakeValue() -> T {
    function MakeValue2 (line 41) | auto MakeValue2() -> T {
    type IsCarbonMapImpl (line 53) | struct IsCarbonMapImpl : std::false_type {}
    type IsCarbonMapImpl<Map<KT, VT, MinSmallSize>> (line 55) | struct IsCarbonMapImpl<Map<KT, VT, MinSmallSize>> : std::true_type {}
    type MapWrapperImpl (line 67) | struct MapWrapperImpl {
      method BenchContains (line 74) | auto BenchContains(KeyT k) -> bool { return m.find(k) != m.end(); }
      method BenchLookup (line 76) | auto BenchLookup(KeyT k) -> bool {
      method BenchInsert (line 84) | auto BenchInsert(KeyT k, ValueT v) -> bool {
      method BenchUpdate (line 89) | auto BenchUpdate(KeyT k, ValueT v) -> bool {
      method BenchErase (line 95) | auto BenchErase(KeyT k) -> bool { return m.erase(k) != 0; }
    type MapWrapperImpl<Map<KT, VT, MinSmallSize>> (line 101) | struct MapWrapperImpl<Map<KT, VT, MinSmallSize>> {
      method BenchContains (line 108) | auto BenchContains(KeyT k) -> bool { return m.Contains(k); }
      method BenchLookup (line 110) | auto BenchLookup(KeyT k) -> bool {
      method BenchInsert (line 118) | auto BenchInsert(KeyT k, ValueT v) -> bool {
      method BenchUpdate (line 123) | auto BenchUpdate(KeyT k, ValueT v) -> bool {
      method BenchErase (line 128) | auto BenchErase(KeyT k) -> bool { return m.Erase(k); }
    type MapOverride (line 137) | enum class MapOverride : uint8_t {
    type MapWrapperOverride (line 149) | struct MapWrapperOverride : MapWrapperImpl<MapT> {}
    type MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>, MapOverride::Abseil> (line 152) | struct MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>, MapOverride...
    type MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>, MapOverride::Boost> (line 156) | struct MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>, MapOverride...
    type MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>, MapOverride::LLVM> (line 160) | struct MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>, MapOverride...
    type MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>,
                          MapOverride::LLVMAndCarbonHash> (line 164) | struct MapWrapperOverride<Map<KeyT, ValueT, MinSmallSize>,
    function ReportMetrics (line 173) | auto ReportMetrics(const MapWrapper<MapT>& m_wrapper, benchmark::State...
    function BM_MapContainsHit (line 219) | static void BM_MapContainsHit(benchmark::State& state) {
    function BM_MapContainsMiss (line 255) | static void BM_MapContainsMiss(benchmark::State& state) {
    function BM_MapLookupHit (line 308) | static void BM_MapLookupHit(benchmark::State& state) {
    function BM_MapUpdateHit (line 364) | static void BM_MapUpdateHit(benchmark::State& state) {
    function BM_MapEraseUpdateHit (line 406) | static void BM_MapEraseUpdateHit(benchmark::State& state) {
    function BM_MapInsertSeq (line 464) | static void BM_MapInsertSeq(benchmark::State& state) {

FILE: common/map_test.cpp
  type std (line 19) | namespace std {
  type Carbon::Testing (line 31) | namespace Carbon::Testing {
    function ExpectMapElementsAre (line 43) | auto ExpectMapElementsAre(MapT&& m, MatcherRangeT element_matchers) ->...
    function ExpectMapElementsAre (line 61) | auto ExpectMapElementsAre(MapT&& m,
    function MakeKeyValues (line 69) | auto MakeKeyValues(ValueCB value_cb, RangeT&& range, RangeTs&&... ranges)
    class MapTest (line 86) | class MapTest : public ::testing::Test {}
    class MoveOnlyMapTest (line 89) | class MoveOnlyMapTest : public ::testing::Test {}
    function TYPED_TEST (line 107) | TYPED_TEST(MapTest, Basic) {
    function TYPED_TEST (line 155) | TYPED_TEST(MapTest, FactoryApi) {
    function TYPED_TEST (line 171) | TYPED_TEST(MapTest, Copy) {
    function TYPED_TEST (line 223) | TYPED_TEST(MapTest, Move) {
    function TYPED_TEST (line 286) | TYPED_TEST(MoveOnlyMapTest, MoveOnlyTypes) {
    function TYPED_TEST (line 344) | TYPED_TEST(MapTest, Conversions) {
    function TYPED_TEST (line 371) | TYPED_TEST(MapTest, GrowToAllocSize) {
    function TYPED_TEST (line 431) | TYPED_TEST(MapTest, GrowForInsert) {
    function TYPED_TEST (line 479) | TYPED_TEST(MapTest, ComplexOpSequence) {
    class MapCollisionTest (line 709) | class MapCollisionTest : public ::testing::Test {}
    function TYPED_TEST (line 723) | TYPED_TEST(MapCollisionTest, Basic) {
    function TEST (line 811) | TEST(MapContextTest, Basic) {

FILE: common/move_only.h
  function namespace (line 8) | namespace Carbon {

FILE: common/ostream.h
  function namespace (line 18) | namespace Carbon {
  function class (line 66) | class FormatEscaped : public Printable<FormatEscaped> {
  function string (line 83) | auto PrintToString(const T& val) -> std::string {
  function namespace (line 92) | namespace llvm {

FILE: common/pretty_stack_trace_function.h
  function namespace (line 12) | namespace Carbon {

FILE: common/raw_hashtable.cpp
  type Carbon::RawHashtable (line 9) | namespace Carbon::RawHashtable {

FILE: common/raw_hashtable.h
  function namespace (line 129) | namespace Carbon::RawHashtable {
  function requires (line 263) | auto CopyFrom(const StorageEntry& entry) -> void
  type Metrics (line 285) | struct Metrics {
  type Storage (line 327) | struct Storage {}
  function EntriesOffset (line 421) | static constexpr auto AllocByteSize(ssize_t alloc_size) -> ssize_t {
  function EntriesOffset (line 428) | auto entries() const -> EntryT* {

FILE: common/raw_hashtable_benchmark_helpers.cpp
  type Carbon::RawHashtable (line 13) | namespace Carbon::RawHashtable {
    function Shuffle (line 18) | static auto Shuffle(llvm::MutableArrayRef<T> data, absl::BitGen& gen) {
    function MakeChars (line 34) | static auto MakeChars() -> llvm::SmallVector<char> {
    function MakeFourCharStrs (line 56) | static auto MakeFourCharStrs(llvm::ArrayRef<char> characters, absl::Bi...
    function MakeRandomChars (line 83) | static auto MakeRandomChars(llvm::ArrayRef<char> characters, int max_l...
    function MakeRawStrKeys (line 98) | static auto MakeRawStrKeys(ssize_t length, ssize_t key_count,
    function GetRawKeys (line 219) | auto GetRawKeys() -> llvm::ArrayRef<T> {
    function GetShuffledLookupKeys (line 252) | auto GetShuffledLookupKeys(ssize_t table_keys_size, ssize_t lookup_key...
    function GetKeysAndMissKeys (line 281) | auto GetKeysAndMissKeys(ssize_t table_keys_size)
    function GetKeysAndHitKeys (line 315) | auto GetKeysAndHitKeys(ssize_t table_keys_size, ssize_t lookup_keys_size)
    function DumpHashStatistics (line 344) | auto DumpHashStatistics(llvm::ArrayRef<T> keys) -> void {

FILE: common/raw_hashtable_benchmark_helpers.h
  function namespace (line 27) | namespace Carbon::RawHashtable {
  function friend (line 90) | friend auto hash_value(const LowZeroBitInt& value) -> size_t {
  function StringRef (line 231) | struct CarbonHashDI<llvm::StringRef> {
  function getHashValue (line 238) | static auto getTombstoneKey() -> llvm::StringRef {
  function namespace (line 292) | namespace llvm {

FILE: common/raw_hashtable_metadata_group.cpp
  type Carbon::RawHashtable (line 9) | namespace Carbon::RawHashtable {

FILE: common/raw_hashtable_metadata_group.h
  function namespace (line 41) | namespace Carbon::RawHashtable {
  function explicit (line 193) | explicit Iterator(BitsT bits) : bits_(bits) {}
  function operator (line 213) | auto operator++() -> Iterator& {
  function explicit (line 235) | explicit BitIndexRange(BitsT bits) : bits_(bits) {}
  function class (line 316) | class MetadataGroup : public Printable<MetadataGroup> {
  function ClearDeleted (line 448) | auto ClearDeleted() -> void;
  function PortableClearDeleted (line 537) | auto PortableClearDeleted() -> void;
  function MetadataGroup (line 606) | auto MetadataGroup::ClearByte(ssize_t byte_index) -> void {
  function MetadataGroup (line 631) | inline auto MetadataGroup::Match(uint8_t tag) const -> MatchRange {
  function MetadataGroup (line 652) | inline auto MetadataGroup::MatchPresent() const -> MatchPresentRange {
  function MetadataGroup (line 683) | inline auto MetadataGroup::MatchDeleted() const -> MatchIndex {
  function MetadataGroup (line 712) | inline auto MetadataGroup::VerifyIndexBits(
  function MetadataGroup (line 983) | inline auto MetadataGroup::PortableCompareEqual(MetadataGroup lhs,
  function MetadataGroup (line 988) | inline auto MetadataGroup::SimdLoad(const uint8_t* metadata, ssize_t index)
  function MetadataGroup (line 1005) | inline auto MetadataGroup::SimdStore(uint8_t* metadata, ssize_t index) c...
  function MetadataGroup (line 1018) | inline auto MetadataGroup::SimdClearDeleted() -> void {
  function MetadataGroup (line 1056) | inline auto MetadataGroup::SimdMatchPresent() const -> SimdMatchPresentR...
  function MetadataGroup (line 1099) | inline auto MetadataGroup::SimdMatchDeleted() const -> MatchIndex {

FILE: common/raw_hashtable_metadata_group_benchmark.cpp
  type Carbon::RawHashtable (line 14) | namespace Carbon::RawHashtable {
    class BenchmarkPortableMetadataGroup (line 20) | class BenchmarkPortableMetadataGroup : public MetadataGroup {
      method BenchmarkPortableMetadataGroup (line 22) | explicit BenchmarkPortableMetadataGroup(MetadataGroup g) : MetadataG...
      method Load (line 24) | static auto Load(uint8_t* metadata, ssize_t index)
      method Store (line 28) | auto Store(uint8_t* metadata, ssize_t index) const -> void {
      method ClearDeleted (line 32) | auto ClearDeleted() -> void { PortableClearDeleted(); }
      method Match (line 34) | auto Match(uint8_t present_byte) const -> PortableMatchRange {
      method MatchPresent (line 37) | auto MatchPresent() const -> PortableMatchRange {
      method MatchEmpty (line 41) | auto MatchEmpty() const -> MatchIndex { return PortableMatchEmpty(); }
      method MatchDeleted (line 42) | auto MatchDeleted() const -> MatchIndex { return PortableMatchDelete...
    class BenchmarkSimdMetadataGroup (line 46) | class BenchmarkSimdMetadataGroup : public MetadataGroup {
      method BenchmarkSimdMetadataGroup (line 48) | explicit BenchmarkSimdMetadataGroup(MetadataGroup g) : MetadataGroup...
      method Load (line 50) | static auto Load(uint8_t* metadata, ssize_t index)
      method Store (line 54) | auto Store(uint8_t* metadata, ssize_t index) const -> void {
      method ClearDeleted (line 58) | auto ClearDeleted() -> void { SimdClearDeleted(); }
      method Match (line 60) | auto Match(uint8_t present_byte) const -> SimdMatchRange {
      method MatchPresent (line 63) | auto MatchPresent() const -> SimdMatchPresentRange {
      method MatchEmpty (line 67) | auto MatchEmpty() const -> MatchIndex { return SimdMatchEmpty(); }
      method MatchDeleted (line 68) | auto MatchDeleted() const -> MatchIndex { return SimdMatchDeleted(); }
    type BenchMetadata (line 83) | struct BenchMetadata {
    type BenchKind (line 96) | enum class BenchKind : uint8_t {
    function BuildBenchMetadata (line 111) | static auto BuildBenchMetadata() -> llvm::ArrayRef<BenchMetadata> {
    function BM_LoadMatch (line 197) | static void BM_LoadMatch(benchmark::State& s) {
    function BM_LoadMatchMissSteps (line 266) | static void BM_LoadMatchMissSteps(benchmark::State& s) {

FILE: common/raw_hashtable_test_helpers.h
  function namespace (line 15) | namespace Carbon::RawHashtable {
  function TestData (line 49) | struct MoveOnlyTestData : Printable<TestData> {
  function friend (line 79) | friend auto CarbonHashValue(const MoveOnlyTestData& data, uint64_t seed)
  function DefaultKeyContext (line 91) | struct TestKeyContext : DefaultKeyContext {
  function array_ (line 135) | array_(array) {}
  function T (line 137) | auto TranslateKey(ssize_t index) const -> const T& { return array_[index...

FILE: common/raw_string_ostream.h
  function namespace (line 11) | namespace Carbon {
  function override (line 50) | void override {
  function override (line 54) | auto reserveExtraSpace(uint64_t extra_size) -> void override {

FILE: common/raw_string_ostream_test.cpp
  type Carbon::Testing (line 10) | namespace Carbon::Testing {
    function TEST (line 16) | TEST(RawStringOstreamTest, Basics) {
    function TEST (line 33) | TEST(RawStringOstreamTest, MultipleStreams) {
    function TEST (line 44) | TEST(RawStringOstreamTest, MultipleLines) {
    function TEST (line 53) | TEST(RawStringOstreamTest, Substring) {
    function TEST (line 62) | TEST(RawStringOstreamTest, Pwrite) {

FILE: common/set.h
  function namespace (line 16) | namespace Carbon {

FILE: common/set_benchmark.cpp
  type Carbon (line 14) | namespace Carbon {
    type IsCarbonSetImpl (line 26) | struct IsCarbonSetImpl : std::false_type {}
    type IsCarbonSetImpl<Set<KT, MinSmallSize>> (line 28) | struct IsCarbonSetImpl<Set<KT, MinSmallSize>> : std::true_type {}
    type SetWrapperImpl (line 39) | struct SetWrapperImpl {
      method BenchContains (line 44) | auto BenchContains(KeyT k) -> bool { return s.find(k) != s.end(); }
      method BenchLookup (line 46) | auto BenchLookup(KeyT k) -> bool {
      method BenchInsert (line 55) | auto BenchInsert(KeyT k) -> bool {
      method BenchErase (line 60) | auto BenchErase(KeyT k) -> bool { return s.erase(k) != 0; }
    type SetWrapperImpl<Set<KT, MinSmallSize>> (line 66) | struct SetWrapperImpl<Set<KT, MinSmallSize>> {
      method BenchContains (line 72) | auto BenchContains(KeyT k) -> bool { return s.Contains(k); }
      method BenchLookup (line 74) | auto BenchLookup(KeyT k) -> bool {
      method BenchInsert (line 82) | auto BenchInsert(KeyT k) -> bool {
      method BenchErase (line 87) | auto BenchErase(KeyT k) -> bool { return s.Erase(k); }
    type SetOverride (line 96) | enum class SetOverride : uint8_t {
    type SetWrapperOverride (line 102) | struct SetWrapperOverride : SetWrapperImpl<SetT> {}
    type SetWrapperOverride<Set<KeyT, MinSmallSize>, SetOverride::Abseil> (line 105) | struct SetWrapperOverride<Set<KeyT, MinSmallSize>, SetOverride::Abseil>
    type SetWrapperOverride<Set<KeyT, MinSmallSize>, SetOverride::LLVM> (line 109) | struct SetWrapperOverride<Set<KeyT, MinSmallSize>, SetOverride::LLVM>
    type SetWrapperOverride<Set<KeyT, MinSmallSize>,
                          SetOverride::LLVMAndCarbonHash> (line 113) | struct SetWrapperOverride<Set<KeyT, MinSmallSize>,
    function BM_SetContainsHitPtr (line 159) | static void BM_SetContainsHitPtr(benchmark::State& state) {
    function BM_SetContainsMissPtr (line 191) | static void BM_SetContainsMissPtr(benchmark::State& state) {
    function BM_SetLookupHitPtr (line 226) | static void BM_SetLookupHitPtr(benchmark::State& state) {
    function BM_SetEraseInsertHitPtr (line 266) | static void BM_SetEraseInsertHitPtr(benchmark::State& state) {
    function BM_SetInsertSeq (line 325) | static void BM_SetInsertSeq(benchmark::State& state) {

FILE: common/set_test.cpp
  type Carbon (line 16) | namespace Carbon {
    function ExpectSetElementsAre (line 25) | auto ExpectSetElementsAre(SetT&& s, MatcherRangeT element_matchers) ->...
    function ExpectSetElementsAre (line 38) | auto ExpectSetElementsAre(SetT&& s,
    function MakeElements (line 46) | auto MakeElements(RangeT&& range, RangeTs&&... ranges) {
    class SetTest (line 60) | class SetTest : public ::testing::Test {}
    class MoveOnlySetTest (line 63) | class MoveOnlySetTest : public ::testing::Test {}
    function TYPED_TEST (line 74) | TYPED_TEST(SetTest, Basic) {
    function TYPED_TEST (line 107) | TYPED_TEST(SetTest, FactoryApi) {
    function TYPED_TEST (line 120) | TYPED_TEST(SetTest, Copy) {
    function TYPED_TEST (line 165) | TYPED_TEST(SetTest, Move) {
    function TYPED_TEST (line 221) | TYPED_TEST(MoveOnlySetTest, Move) {
    function TYPED_TEST (line 273) | TYPED_TEST(SetTest, Conversions) {
    function TYPED_TEST (line 290) | TYPED_TEST(SetTest, GrowToAllocSize) {
    function TYPED_TEST (line 348) | TYPED_TEST(SetTest, GrowForInsert) {
    function TEST (line 391) | TEST(SetContextTest, Basic) {

FILE: common/string_helpers.cpp
  type Carbon (line 24) | namespace Carbon {
    function FromHex (line 30) | static auto FromHex(char c) -> std::optional<char> {
    function UnescapeStringLiteral (line 40) | auto UnescapeStringLiteral(llvm::StringRef source, const int hashtag_num,
    function ParseBlockStringLiteral (line 150) | auto ParseBlockStringLiteral(llvm::StringRef source, const int hashtag...
    function StringRefContainsPointer (line 208) | auto StringRefContainsPointer(llvm::StringRef ref, const char* ptr) ->...
    function BuildCStrArgs (line 213) | auto BuildCStrArgs(llvm::StringRef tool_path,
    function BuildCStrArgs (line 220) | auto BuildCStrArgs(llvm::StringRef tool_path,

FILE: common/string_helpers.h
  function namespace (line 17) | namespace Carbon {

FILE: common/string_helpers_test.cpp
  type Carbon (line 21) | namespace Carbon {
    function TEST (line 24) | TEST(UnescapeStringLiteral, Valid) {
    function TEST (line 41) | TEST(UnescapeStringLiteral, Invalid) {
    function TEST (line 57) | TEST(UnescapeStringLiteral, InvalidUnicodes) {
    function TEST (line 81) | TEST(UnescapeStringLiteral, Nul) {
    function TEST (line 91) | TEST(ParseBlockStringLiteral, FailTooFewLines) {
    function TEST (line 96) | TEST(ParseBlockStringLiteral, FailNoLeadingTripleQuotes) {
    function TEST (line 101) | TEST(ParseBlockStringLiteral, FailInvalideFiletypeIndicator) {
    function TEST (line 106) | TEST(ParseBlockStringLiteral, FailEndingTripleQuotes) {
    function TEST (line 111) | TEST(ParseBlockStringLiteral, FailWrongIndent) {
    function TEST (line 120) | TEST(ParseBlockStringLiteral, FailInvalidEscaping) {
    function TEST (line 133) | TEST(ParseBlockStringLiteral, OkEmptyString) {
    function TEST (line 139) | TEST(ParseBlockStringLiteral, OkOneLineString) {
    function TEST (line 148) | TEST(ParseBlockStringLiteral, OkTwoLineString) {
    function TEST (line 159) | TEST(ParseBlockStringLiteral, OkWithFileTypeIndicator) {
    function TEST (line 170) | TEST(ParseBlockStringLiteral, OkWhitespaceAfterOpeningQuotes) {
    function TEST (line 179) | TEST(ParseBlockStringLiteral, OkWithEmptyLines) {
    function TEST (line 200) | TEST(ParseBlockStringLiteral, OkWithSlashNewlineEscape) {
    function TEST (line 208) | TEST(ParseBlockStringLiteral, OkWithDoubleSlashNewline) {
    function TEST (line 217) | TEST(ParseBlockStringLiteral, OkWithTripleSlashNewline) {
    function TEST (line 225) | TEST(ParseBlockStringLiteral, OkMultipleSlashes) {
    function TEST (line 236) | TEST(BuildCStrArgs, NoArgs) {
    function TEST (line 243) | TEST(BuildCStrArgs, OneArg) {
    function TEST (line 251) | TEST(BuildCStrArgs, MultipleArgs) {
    function TEST (line 260) | TEST(BuildCStrArgsWithPrefix, NoArgs) {
    function TEST (line 267) | TEST(BuildCStrArgsWithPrefix, PrefixOnly) {
    function TEST (line 277) | TEST(BuildCStrArgsWithPrefix, ArgsOnly) {
    function TEST (line 286) | TEST(BuildCStrArgsWithPrefix, BothPrefixAndArgs) {

FILE: common/struct_reflection.h
  function namespace (line 31) | namespace Carbon::StructReflection {

FILE: common/struct_reflection_test.cpp
  type Carbon::StructReflection (line 11) | namespace Carbon::StructReflection {
    type ZeroFields (line 14) | struct ZeroFields {}
    type OneField (line 16) | struct OneField {
    type TwoFields (line 20) | struct TwoFields {
    type SixFields (line 25) | struct SixFields {
    type ReferenceField (line 34) | struct ReferenceField {
    type NoDefaultConstructor (line 38) | struct NoDefaultConstructor {
      method NoDefaultConstructor (line 39) | explicit NoDefaultConstructor(int n) : v(n) {}
    type OneFieldNoDefaultConstructor (line 43) | struct OneFieldNoDefaultConstructor {
    type TwoFieldsNoDefaultConstructor (line 47) | struct TwoFieldsNoDefaultConstructor {
    function TEST (line 52) | TEST(StructReflectionTest, CanListInitialize) {
    function TEST (line 70) | TEST(StructReflectionTest, CountFields) {
    function TEST (line 79) | TEST(StructReflectionTest, EmptyStruct) {
    function TEST (line 84) | TEST(StructReflectionTest, OneField) {
    function TEST (line 89) | TEST(StructReflectionTest, TwoFields) {
    function TEST (line 95) | TEST(StructReflectionTest, SixFields) {
    function TEST (line 106) | TEST(StructReflectionTest, NoDefaultConstructor) {
    function TEST (line 114) | TEST(StructReflectionTest, ReferenceField) {

FILE: common/template_string.h
  function namespace (line 10) | namespace Carbon {

FILE: common/template_string_test.cpp
  type Carbon (line 12) | namespace Carbon {
    function TemplateAsStringRef (line 18) | constexpr auto TemplateAsStringRef() -> llvm::StringRef {
    function TemplateAsStringLiteral (line 23) | constexpr auto TemplateAsStringLiteral() -> llvm::StringLiteral {
    function TemplateAsCStr (line 28) | constexpr auto TemplateAsCStr() -> const char* {
    function IsValidTemplateString (line 35) | constexpr auto IsValidTemplateString(int /*unused*/) -> std::true_type {
    type AnythingAsTemplateArg (line 40) | struct AnythingAsTemplateArg {
      method AnythingAsTemplateArg (line 44) | explicit(false) constexpr AnythingAsTemplateArg(T&& /*unused*/) {}
    function IsValidTemplateString (line 51) | constexpr auto IsValidTemplateString(...) -> std::false_type {
    function TEST (line 72) | TEST(TemplateStringTest, Test) {

FILE: common/type_enum.h
  function namespace (line 12) | namespace Carbon {

FILE: common/version.h
  function namespace (line 10) | namespace Carbon {

FILE: common/version.tmpl.cpp
  type Carbon (line 9) | namespace Carbon {
    function ToInt (line 14) | static consteval auto ToInt(std::string_view str) -> int {
    function MajorVersion (line 27) | static consteval auto MajorVersion(std::string_view str) -> int {
    function MinorVersion (line 31) | static consteval auto MinorVersion(std::string_view str) -> int {
    function PatchVersion (line 36) | static consteval auto PatchVersion(std::string_view str) -> int {

FILE: common/version_stamp.tmpl.cpp
  type Carbon (line 7) | namespace Carbon {

FILE: common/vlog.h
  function namespace (line 12) | namespace Carbon::Internal {

FILE: common/vlog_test.cpp
  type Carbon::Testing (line 14) | namespace Carbon::Testing {
    class VLogger (line 21) | class VLogger {
      method VLogger (line 23) | explicit VLogger(bool enable) {
      method VLog (line 29) | auto VLog() -> void { CARBON_VLOG("Test\n"); }
      method VLogFormatArgs (line 30) | auto VLogFormatArgs() -> void { CARBON_VLOG("Test {0} {1} {2}\n", 1,...
      method TakeStr (line 32) | auto TakeStr() -> std::string { return buffer_.TakeStr(); }
    function TEST (line 40) | TEST(VLogTest, Enabled) {
    function TEST (line 48) | TEST(VLogTest, Disabled) {
    function TEST (line 54) | TEST(VLogTest, To) {
    function TEST (line 60) | TEST(VLogTest, ToNull) { CARBON_VLOG_TO(nullptr, "Unused"); }

FILE: examples/bazel/example.cpp
  function main (line 9) | auto main() -> int {

FILE: examples/bazel/example_lib.cpp
  function HelloWorld (line 9) | auto HelloWorld() -> void { std::cout << "Hello World!\n"; }

FILE: examples/bazel/update_module_to_nightly.py
  function log (line 58) | def log(msg: str) -> None:
  function get_latest_version (line 62) | def get_latest_version() -> str:
  function get_digest (line 96) | def get_digest(version: str, filename: str) -> str:
  function generate_override (line 128) | def generate_override(version: str) -> str:
  function main (line 141) | def main() -> None:

FILE: examples/bazel_test_runner.py
  class BazelExampleTest (line 19) | class BazelExampleTest(test_base.TestBase):
    method setUp (line 20) | def setUp(self) -> None:
    method _run_bazel (line 34) | def _run_bazel(self, command: list[str]) -> str:
    method test_compile_lib (line 67) | def test_compile_lib(self) -> None:
    method test_run (line 76) | def test_run(self) -> None:

FILE: github_tools/github_helpers.py
  function add_access_token_arg (line 31) | def add_access_token_arg(
  class Client (line 47) | class Client:
    method __init__ (line 50) | def __init__(self, parsed_args: argparse.Namespace):
    method execute (line 58) | def execute(self, query: str) -> dict:
    method execute_and_paginate (line 62) | def execute_and_paginate(

FILE: github_tools/github_helpers_test.py
  class TestGithubHelpers (line 64) | class TestGithubHelpers(unittest.TestCase):
    method setUp (line 65) | def setUp(self):
    method mock_result (line 74) | def mock_result(nodes, total_count=None, has_next_page=False):
    method test_execute_and_paginate_empty (line 93) | def test_execute_and_paginate_empty(self):
    method test_execute_and_paginate_one_page (line 103) | def test_execute_and_paginate_one_page(self):
    method test_execute_and_paginate_one_page_count_mismatch (line 115) | def test_execute_and_paginate_one_page_count_mismatch(self):
    method test_execute_and_paginate_two_page (line 126) | def test_execute_and_paginate_two_page(self):
    method test_execute_and_paginate_first_page_done (line 146) | def test_execute_and_paginate_first_page_done(self):
    method test_execute_and_paginate_first_page_continue (line 160) | def test_execute_and_paginate_first_page_continue(self):

FILE: github_tools/pr_comments.py
  class _Comment (line 112) | class _Comment:
    method __init__ (line 115) | def __init__(self, author: str, timestamp: str, body: str):
    method from_raw_comment (line 123) | def from_raw_comment(raw_comment: dict) -> "_Comment":
    method _rewrap (line 132) | def _rewrap(content: str) -> str:
    method format (line 149) | def format(self, long: bool) -> str:
  class _PRComment (line 167) | class _PRComment(_Comment):
    method __init__ (line 170) | def __init__(self, raw_comment: dict):
    method __lt__ (line 178) | def __lt__(self, other: "_PRComment") -> bool:
    method format (line 181) | def format(self, long: bool) -> str:
  class _Thread (line 185) | class _Thread:
    method __init__ (line 188) | def __init__(self, parsed_args: argparse.Namespace, thread: dict):
    method __lt__ (line 233) | def __lt__(self, other: "_Thread") -> bool:
    method format (line 239) | def format(self, long: bool) -> str:
    method has_comment_from (line 255) | def has_comment_from(self, comments_from: str) -> bool:
  function _parse_args (line 263) | def _parse_args(args: Optional[list[str]] = None) -> argparse.Namespace:
  function _query (line 306) | def _query(
  function _accumulate_pr_comment (line 337) | def _accumulate_pr_comment(
  function _accumulate_thread (line 348) | def _accumulate_thread(
  function _paginate (line 378) | def _paginate(
  function _fetch_comments (line 395) | def _fetch_comments(
  function main (line 453) | def main() -> None:

FILE: github_tools/pr_comments_test.py
  class TestPRComments (line 17) | class TestPRComments(unittest.TestCase):
    method setUp (line 18) | def setUp(self):
    method test_format_comment_short (line 22) | def test_format_comment_short(self):
    method test_format_comment_long (line 61) | def test_format_comment_long(self):
    method fake_thread (line 90) | def fake_thread(**kwargs):
    method fake_thread_dict (line 98) | def fake_thread_dict(
    method test_thread_format (line 132) | def test_thread_format(self):
    method test_thread_lt (line 182) | def test_thread_lt(self):
    method test_accumulate_thread (line 195) | def test_accumulate_thread(self):
    method fake_pr_comment (line 220) | def fake_pr_comment(**kwargs):
    method fake_pr_comment_dict (line 226) | def fake_pr_comment_dict(
    method test_pr_comment_format (line 238) | def test_pr_comment_format(self):
    method test_pr_comment_lt (line 248) | def test_pr_comment_lt(self):
    method test_accumulate_pr_comment (line 257) | def test_accumulate_pr_comment(self):

FILE: proposals/p0555/figures.py
  function escape (line 12) | def escape(s):
  function tablejoin (line 22) | def tablejoin(items, separator):
  function code (line 29) | def code(s):
  function math (line 47) | def math(s):
  function raw (line 52) | def raw(s):
  function group (line 64) | def group(ops, assoc=NonAssoc, style=code):
  function edge (line 80) | def edge(a, b):
  function combine (line 84) | def combine(name, items):
  function graph (line 94) | def graph(f):
  function example (line 127) | def example():

FILE: proposals/scripts/new_proposal.py
  function _parse_args (line 42) | def _parse_args(args: Optional[List[str]] = None) -> argparse.Namespace:
  function _calculate_branch (line 83) | def _calculate_branch(parsed_args: argparse.Namespace) -> str:
  function _find_tool (line 92) | def _find_tool(tool: str) -> str:
  function _fill_template (line 100) | def _fill_template(template_path: str, title: str, pr_num: int) -> str:
  function _run (line 114) | def _run(
  function _run_pr_create (line 137) | def _run_pr_create(argv: List[str]) -> int:
  function main (line 149) | def main() -> None:

FILE: proposals/scripts/new_proposal_test.py
  class TestNewProposal (line 17) | class TestNewProposal(unittest.TestCase):
    method test_calculate_branch_short (line 18) | def test_calculate_branch_short(self):
    method test_calculate_branch_long (line 24) | def test_calculate_branch_long(self):
    method test_calculate_branch_flag (line 33) | def test_calculate_branch_flag(self):
    method test_fill_template (line 37) | def test_fill_template(self):
    method test_run_success (line 57) | def test_run_success(self):
    method test_run_failure (line 60) | def test_run_failure(self):

FILE: scripts/bazel_mod_deps.py
  function main (line 16) | def main() -> None:

FILE: scripts/bench_runner.py
  function parse_args (line 88) | def parse_args(args: Optional[list[str]] = None) -> argparse.Namespace:
  class DeltaKind (line 282) | class DeltaKind(Enum):
    method __str__ (line 290) | def __str__(self) -> str:
  class RenderedDelta (line 295) | class RenderedDelta:
  class RenderedMetric (line 304) | class RenderedMetric:
  class BenchmarkRunMetrics (line 312) | class BenchmarkRunMetrics:
  class ComparableBenchmarkMapping (line 339) | class ComparableBenchmarkMapping:
    method __init__ (line 364) | def __init__(
  function float_ratio (line 440) | def float_ratio(nom: float, denom: float) -> float:
  function render_fixed_width_float (line 452) | def render_fixed_width_float(x: float) -> str:
  function render_ratio (line 462) | def render_ratio(ratio: float) -> str:
  function render_metric (line 475) | def render_metric(
  function render_delta (line 523) | def render_delta(
  function render_metric_column (line 599) | def render_metric_column(
  function run_benchmark_binary (line 682) | def run_benchmark_binary(
  function print_run_context (line 739) | def print_run_context(
  function get_benchmark_names_and_metrics (line 776) | def get_benchmark_names_and_metrics(
  function collect_benchmark_metrics (line 851) | def collect_benchmark_metrics(
  function print_metric_key (line 924) | def print_metric_key(
  function print_results_table (line 974) | def print_results_table(
  function main (line 1057) | def main() -> None:

FILE: scripts/calculate_release_shas.py
  function main (line 14) | def main() -> None:

FILE: scripts/check_build_graph.py
  function main (line 16) | def main() -> None:

FILE: scripts/check_header_guards.py
  class Guard (line 18) | class Guard(NamedTuple):
  function find_guard (line 25) | def find_guard(
  function maybe_replace (line 41) | def maybe_replace(
  function check_path (line 51) | def check_path(path: Path) -> bool:
  function main (line 104) | def main() -> None:

FILE: scripts/check_sha_filenames.py
  function main (line 23) | def main() -> None:

FILE: scripts/create_compdb.py
  function _build_generated_files (line 35) | def _build_generated_files(
  function _get_config_for_entry (line 84) | def _get_config_for_entry(entry: Dict[str, Any]) -> str:
  function _filter_compilation_database (line 100) | def _filter_compilation_database(file_path: str) -> None:
  function main (line 138) | def main() -> None:

FILE: scripts/fix_cc_deps.py
  class ExternalRepo (line 25) | class ExternalRepo(NamedTuple):
  class RuleChoice (line 34) | class RuleChoice(NamedTuple):
  class Rule (line 77) | class Rule(NamedTuple):
  function remap_file (line 91) | def remap_file(label: str) -> str:
  function get_bazel_list (line 102) | def get_bazel_list(list_child: ElementTree.Element, is_file: bool) -> se...
  function get_rules (line 118) | def get_rules(bazel: str, targets: str, keep_going: bool) -> dict[str, R...
  function map_headers (line 173) | def map_headers(
  function get_missing_deps (line 202) | def get_missing_deps(
  function main (line 272) | def main() -> None:

FILE: scripts/forbid_llvm_googletest.py
  function main (line 36) | def main() -> None:

FILE: scripts/lldbinit.py
  function RunCommand (line 23) | def RunCommand(cmd: str, print_command: bool = True) -> Any:
  function cmd_dump (line 40) | def cmd_dump(debugger: Any, command: Any, result: Any, dict: Any) -> None:
  function __lldb_init_module (line 149) | def __lldb_init_module(debugger: Any, internal_dict: Any) -> None:

FILE: scripts/query_module_versions.py
  function _query_bazel_deps (line 18) | def _query_bazel_deps(module_text: str) -> None:
  function _query_git_overrides (line 36) | def _query_git_overrides(module_text: str) -> None:
  function main (line 57) | def main() -> None:

FILE: scripts/run_bazel.py
  function main (line 23) | def main() -> None:

FILE: scripts/run_bazelisk.py
  function main (line 17) | def main() -> None:

FILE: scripts/run_buildifier.py
  function main (line 17) | def main() -> None:

FILE: scripts/run_buildozer.py
  function main (line 21) | def main() -> None:

FILE: scripts/scripts_utils.py
  class Release (line 23) | class Release(Enum):
  class ReleaseInfo (line 30) | class ReleaseInfo(NamedTuple):
  function chdir_repo_root (line 92) | def chdir_repo_root() -> None:
  function _get_hash (line 100) | def _get_hash(file: Path) -> str:
  function _download (line 112) | def _download(url: str, local_path: Path) -> Optional[int]:
  function _get_cached_binary (line 122) | def _get_cached_binary(name: str, url: str, want_hash: str) -> str:
  function _get_machine (line 166) | def _get_machine() -> str:
  function _get_platform_ext (line 175) | def _get_platform_ext() -> str:
  function _select_hash (line 182) | def _select_hash(hashes: dict[str, str], version: str) -> str:
  function get_release (line 190) | def get_release(release: Release) -> str:
  function calculate_release_shas (line 209) | def calculate_release_shas() -> None:
  function locate_bazel (line 227) | def locate_bazel() -> str:

FILE: scripts/source_stats.py
  class Stats (line 44) | class Stats:
    method accumulate (line 78) | def accumulate(self, other: Stats) -> None:
  function scan_file (line 103) | def scan_file(file: Path) -> Stats:
  function parse_args (line 181) | def parse_args(args: Optional[list[str]] = None) -> argparse.Namespace:
  function main (line 194) | def main() -> None:

FILE: scripts/target_determinator.py
  function log (line 32) | def log(s: str) -> None:
  function filter_targets (line 36) | def filter_targets(bazel: Path, targets: str) -> str:
  function main (line 73) | def main() -> None:

FILE: scripts/workspace_status.py
  function git_commit_sha (line 18) | def git_commit_sha() -> str:
  function git_dirty_suffix (line 24) | def git_dirty_suffix() -> str:
  function main (line 31) | def main() -> None:

FILE: testing/base/benchmark_main.cpp
  function main (line 11) | auto main(int orig_argc, char** orig_argv) -> int {

FILE: testing/base/capture_std_streams.cpp
  type Carbon::Testing::Internal (line 15) | namespace Carbon::Testing::Internal {
    function BeginStdStreamCapture (line 24) | auto BeginStdStreamCapture() -> void {
    function EndStdStreamCapture (line 28) | auto EndStdStreamCapture(std::string& out, std::string& err) -> void {

FILE: testing/base/capture_std_streams.h
  function namespace (line 10) | namespace Carbon::Testing {

FILE: testing/base/file_helpers.cpp
  type Carbon::Testing (line 15) | namespace Carbon::Testing {
    function GetTempDirectory (line 17) | auto GetTempDirectory() -> std::filesystem::path {
    function ReadFile (line 25) | auto ReadFile(std::filesystem::path path) -> ErrorOr<std::string> {
    function WriteTestFile (line 38) | auto WriteTestFile(llvm::StringRef name, llvm::StringRef contents)

FILE: testing/base/file_helpers.h
  function namespace (line 13) | namespace Carbon::Testing {

FILE: testing/base/global_exe_path.cpp
  type Carbon::Testing (line 15) | namespace Carbon::Testing {
    function GetExePath (line 17) | auto GetExePath() -> llvm::StringRef {
    function SetExePath (line 24) | auto SetExePath(const char* argv_zero) -> void {

FILE: testing/base/global_exe_path.h
  function namespace (line 13) | namespace Carbon::Testing {

FILE: testing/base/global_exe_path_test.cpp
  type Carbon::Testing (line 12) | namespace Carbon::Testing {
    function TEST (line 17) | TEST(TestExePathTest, Test) {

FILE: testing/base/gtest_main.cpp
  function main (line 10) | auto main(int argc, char** argv) -> int {

FILE: testing/base/source_gen.cpp
  type Carbon::Testing (line 21) | namespace Carbon::Testing {
    class SourceGen::ClassGenState (line 40) | class SourceGen::ClassGenState {
      method public_function_param_counts (line 46) | auto public_function_param_counts() -> llvm::SmallVectorImpl<int>& {
      method public_method_param_counts (line 49) | auto public_method_param_counts() -> llvm::SmallVectorImpl<int>& {
      method private_function_param_counts (line 52) | auto private_function_param_counts() -> llvm::SmallVectorImpl<int>& {
      method private_method_param_counts (line 55) | auto private_method_param_counts() -> llvm::SmallVectorImpl<int>& {
      method class_names (line 59) | auto class_names() -> llvm::SmallVectorImpl<llvm::StringRef>& {
      method member_names (line 62) | auto member_names() -> llvm::SmallVectorImpl<llvm::StringRef>& {
      method param_names (line 65) | auto param_names() -> llvm::SmallVectorImpl<llvm::StringRef>& {
      method type_names (line 69) | auto type_names() -> llvm::SmallVectorImpl<llvm::StringRef>& {
      method AddValidTypeName (line 73) | auto AddValidTypeName(llvm::StringRef type_name) -> void {
    function Sum (line 99) | static auto Sum(const T& range) -> int {
    function EstimateAvgFunctionDeclLines (line 262) | static auto EstimateAvgFunctionDeclLines(SourceGen::FunctionDeclParams...
    function EstimateAvgMethodDeclLines (line 275) | static auto EstimateAvgMethodDeclLines(SourceGen::MethodDeclParams par...
    function EstimateAvgClassDefLines (line 290) | static auto EstimateAvgClassDefLines(SourceGen::ClassParams params) ->...
    function IdentifierStartChars (line 442) | static auto IdentifierStartChars() -> llvm::ArrayRef<char> {
    function IdentifierChars (line 456) | static auto IdentifierChars() -> llvm::ArrayRef<char> {
    class SourceGen::UniqueIdentifierPopper (line 732) | class SourceGen::UniqueIdentifierPopper {
      method UniqueIdentifierPopper (line 734) | explicit UniqueIdentifierPopper(SourceGen& gen,
      method Pop (line 744) | auto Pop() -> llvm::StringRef {

FILE: testing/base/source_gen.h
  function namespace (line 17) | namespace Carbon::Testing {

FILE: testing/base/source_gen_main.cpp
  type Carbon::Testing (line 18) | namespace Carbon::Testing {
    function Run (line 54) | auto Run(llvm::ArrayRef<llvm::StringRef> args) -> bool {
  function main (line 109) | auto main(int argc, char** argv) -> int {

FILE: testing/base/source_gen_test.cpp
  type Carbon::Testing (line 17) | namespace Carbon::Testing {
    function SumSizes (line 34) | static auto SumSizes(const T& range) -> ssize_t {
    function TEST (line 42) | TEST(SourceGenTest, Identifiers) {
    function TEST (line 90) | TEST(SourceGenTest, UniformIdentifiers) {
    function TEST (line 124) | TEST(SourceGenTest, UniqueIdentifiers) {
    function TestCompile (line 147) | auto TestCompile(llvm::StringRef source) -> bool {
    function TEST (line 162) | TEST(SourceGenTest, GenApiFileDenseDeclsTest) {
    function TEST (line 174) | TEST(SourceGenTest, GenApiFileDenseDeclsCppTest) {

FILE: testing/base/unified_diff_matcher.h
  function namespace (line 20) | namespace Carbon::Testing {
  type PrintRange (line 255) | struct PrintRange {

FILE: testing/base/unified_diff_matcher_test.cpp
  type Carbon::Testing (line 14) | namespace Carbon::Testing {
    function ExpectUnifiedDiff (line 22) | auto ExpectUnifiedDiff(const llvm::SmallVector<std::string>& actual,
    function TEST (line 31) | TEST(UnifiedDiffMatcherTest, Matches) {
    function TEST (line 38) | TEST(UnifiedDiffMatcherTest, MismatchMissing) {
    function TEST (line 50) | TEST(UnifiedDiffMatcherTest, MismatchExtra) {
    function TEST (line 61) | TEST(UnifiedDiffMatcherTest, MismatchBoth) {
    function TEST (line 72) | TEST(UnifiedDiffMatcherTest, MismatchMultiple) {
    function TEST (line 90) | TEST(UnifiedDiffMatcherTest, MismatchLongContext) {
    function TEST (line 109) | TEST(UnifiedDiffMatcherTest, Mismatch5LineContext) {
    function TEST (line 129) | TEST(UnifiedDiffMatcherTest, Mismatch6LineContext) {
    function TEST (line 150) | TEST(UnifiedDiffMatcherTest, Mismatch7LineContext) {
    function TEST (line 172) | TEST(UnifiedDiffMatcherTest, MismatchEmptyExpected) {
    function TEST (line 181) | TEST(UnifiedDiffMatcherTest, MismatchEmptyActual) {
    function TEST (line 190) | TEST(UnifiedDiffMatcherTest, MismatchLongDifference) {
    function TEST (line 207) | TEST(UnifiedDiffMatcherTest, MismatchGreedyResyncActualMissing) {
    function TEST (line 226) | TEST(UnifiedDiffMatcherTest, MismatchGreedyResyncExpectedMissing) {

FILE: testing/file_test/autoupdate.cpp
  type Carbon::Testing (line 21) | namespace Carbon::Testing {
    function ParseLineNumber (line 25) | static auto ParseLineNumber(absl::string_view matched_line_number) -> ...

FILE: testing/file_test/autoupdate.h
  function namespace (line 18) | namespace Carbon::Testing {
  function override (line 147) | auto Print(llvm::raw_ostream& out) const -> void override { out << line_; }
  function override (line 149) | auto is_blank() const -> bool override { return line_.empty(); }
  type CheckLines (line 156) | struct CheckLines {

FILE: testing/file_test/file_test_base.cpp
  type Carbon::Testing (line 75) | namespace Carbon::Testing {
    type FileTestInfo (line 78) | struct FileTestInfo {
    class FileTestCase (line 101) | class FileTestCase : public testing::Test {
      method FileTestCase (line 103) | explicit FileTestCase(FileTestInfo* test_info) : test_info_(test_inf...
    function SplitOutput (line 114) | static auto SplitOutput(llvm::StringRef output)
    function CompareFailPrefix (line 125) | static auto CompareFailPrefix(llvm::StringRef filename, bool success) ...
    function RunAutoupdater (line 164) | static auto RunAutoupdater(FileTestBase* test_base, const TestFile& te...
    function MaybeApplyFileTestsFlag (line 293) | static auto MaybeApplyFileTestsFlag(llvm::StringRef factory_name) -> v...
    function RegisterTests (line 308) | static auto RegisterTests(FileTestFactory* test_factory,
    class FileTestEventListener (line 331) | class FileTestEventListener : public testing::EmptyTestEventListener {
      method FileTestEventListener (line 333) | explicit FileTestEventListener(llvm::MutableArrayRef<FileTestInfo> t...
    function SingleThreaded (line 347) | static auto SingleThreaded(llvm::ArrayRef<FileTestInfo> tests) -> bool {
    function RunSingleTestHelper (line 370) | static auto RunSingleTestHelper(FileTestInfo& test, FileTestBase& test...
    function RunSingleTest (line 389) | static auto RunSingleTest(FileTestInfo& test, bool single_threaded,
    function Main (line 552) | static auto Main(int argc, char** argv) -> ErrorOr<int> {
  function main (line 611) | auto main(int argc, char** argv) -> int {

FILE: testing/file_test/file_test_base.h
  function namespace (line 24) | namespace Carbon::Testing {

FILE: testing/file_test/file_test_base_test.cpp
  type Carbon::Testing (line 20) | namespace Carbon::Testing {
    class FileTestBaseTest (line 23) | class FileTestBaseTest : public FileTestBase {
      method FileTestBaseTest (line 25) | FileTestBaseTest(llvm::StringRef /*exe_path*/, llvm::StringRef test_...
      method GetArgReplacements (line 34) | auto GetArgReplacements() const -> llvm::StringMap<std::string> over...
      method GetDefaultArgs (line 38) | auto GetDefaultArgs() const -> llvm::SmallVector<std::string> overri...
      method GetDefaultFileRE (line 42) | auto GetDefaultFileRE(llvm::ArrayRef<llvm::StringRef> filenames) const
      method GetLineNumberReplacements (line 48) | auto GetLineNumberReplacements(llvm::ArrayRef<llvm::StringRef> filen...
    function PrintArgs (line 62) | static auto PrintArgs(llvm::ArrayRef<llvm::StringRef> args,
    function GetFilesFromArgs (line 73) | static auto GetFilesFromArgs(llvm::ArrayRef<llvm::StringRef> args,
    type TestParams (line 90) | struct TestParams {
    function TestAlternatingFiles (line 102) | static auto TestAlternatingFiles(TestParams& params)
    function TestCaptureConsoleOutput (line 120) | static auto TestCaptureConsoleOutput(TestParams& params)
    function TestEscaping (line 130) | static auto TestEscaping(TestParams& params)
    function TestExample (line 143) | static auto TestExample(TestParams& params)
    function TestFailExample (line 158) | static auto TestFailExample(TestParams& params)
    function TestFileOnlyREMultiFile (line 166) | static auto TestFileOnlyREMultiFile(TestParams& params)
    function TestFileOnlyREOneFile (line 185) | static auto TestFileOnlyREOneFile(TestParams& params)
    function TestNoLineNumber (line 195) | static auto TestNoLineNumber(TestParams& params)
    function TestUnattachedMultiFile (line 206) | static auto TestUnattachedMultiFile(TestParams& params)
    function HandleMultiSuccessTests (line 221) | static auto HandleMultiSuccessTests(bool overall, bool a, bool b)
    function EchoFileContent (line 230) | static auto EchoFileContent(TestParams& params)

FILE: testing/file_test/line.h
  function namespace (line 11) | namespace Carbon::Testing {

FILE: testing/file_test/manifest.cpp
  type Carbon::Testing (line 13) | namespace Carbon::Testing {
    function GetFileTestManifest (line 15) | auto GetFileTestManifest() -> llvm::SmallVector<std::string> {

FILE: testing/file_test/manifest.h
  function namespace (line 12) | namespace Carbon::Testing {

FILE: testing/file_test/run_test.cpp
  type Carbon::Testing (line 22) | namespace Carbon::Testing {
    function DoArgReplacements (line 34) | static auto DoArgReplacements(llvm::SmallVector<std::string>& test_args,
    function CollectOutputIfCapturing (line 94) | static auto CollectOutputIfCapturing(TestFile& test_file) -> void {
    function RunTestFile (line 104) | auto RunTestFile(const FileTestBase& test_base, bool dump_output,

FILE: testing/file_test/run_test.h
  function namespace (line 12) | namespace Carbon::Testing {

FILE: testing/file_test/test_file.cpp
  type Carbon::Testing (line 22) | namespace Carbon::Testing {
    type MarkerKind (line 40) | enum class MarkerKind {
    function TryConsumeConflictMarker (line 55) | static auto TryConsumeConflictMarker(bool running_autoupdate,
    type SplitState (line 142) | struct SplitState {
      method has_splits (line 143) | auto has_splits() const -> bool { return file_index > 0; }
      method add_content (line 145) | auto add_content(llvm::StringRef line) -> void {
    function ExtractFilePathFromUri (line 166) | static auto ExtractFilePathFromUri(llvm::StringRef uri)
    function AutoFillDidOpenParams (line 178) | static auto AutoFillDidOpenParams(llvm::json::Object& params,
    function ReplaceLspKeywordAt (line 209) | static auto ReplaceLspKeywordAt(std::string& content, size_t keyword_pos,
    function ReplaceRawByteKeywordAt (line 300) | static auto ReplaceRawByteKeywordAt(std::string& content, size_t keywo...
    function ReplaceContentKeywordAt (line 322) | static auto ReplaceContentKeywordAt(std::string& content, size_t keywo...
    function ReplaceContentKeywords (line 358) | static auto ReplaceContentKeywords(llvm::StringRef filename,
    function AddSplit (line 398) | static auto AddSplit(llvm::StringRef filename, std::string& content,
    function TryConsumeSplit (line 412) | static auto TryConsumeSplit(llvm::StringRef line, llvm::StringRef line...
    function ConvertExpectationStringToRegex (line 471) | static auto ConvertExpectationStringToRegex(std::string& str) -> void {
    function TransformExpectation (line 520) | static auto TransformExpectation(int line_index, llvm::StringRef in)
    function FinishSplit (line 589) | static auto FinishSplit(llvm::StringRef filename, bool is_include_file,
    function TryConsumeCheck (line 609) | static auto TryConsumeCheck(
    function TryConsumeArgs (line 644) | static auto TryConsumeArgs(llvm::StringRef line, llvm::StringRef line_...
    function TryConsumeExtraArgs (line 665) | static auto TryConsumeExtraArgs(llvm::StringRef line_trimmed,
    function TryConsumeIncludeFile (line 683) | static auto TryConsumeIncludeFile(llvm::StringRef line_trimmed,
    function TryConsumeAutoupdate (line 697) | static auto TryConsumeAutoupdate(int line_index, llvm::StringRef line_...
    function TryConsumeSetFlag (line 722) | static auto TryConsumeSetFlag(llvm::StringRef line_trimmed,
    function ProcessFileContent (line 748) | static auto ProcessFileContent(llvm::StringRef filename,
    function ProcessTestFile (line 870) | auto ProcessTestFile(llvm::StringRef test_name, bool running_autoupdate)

FILE: testing/file_test/test_file.h
  function namespace (line 18) | namespace Carbon::Testing {

FILE: testing/file_test/test_file_test.cpp
  type Carbon::Testing (line 25) | namespace Carbon::Testing {
    class DummyFileTest (line 28) | class DummyFileTest : public FileTestBase {
      method DummyFileTest (line 30) | DummyFileTest(llvm::StringRef /*exe_path*/, llvm::StringRef test_name)
      method Run (line 33) | auto Run(const llvm::SmallVector<llvm::StringRef>& /*test_args*/,
      method GetDefaultArgs (line 41) | auto GetDefaultArgs() const -> llvm::SmallVector<std::string> overri...
    function NonCheckFileContents (line 53) | auto NonCheckFileContents(const TestFile& test_file) -> std::string {
    function Marker (line 67) | auto Marker(char c) -> std::string { return std::string(7, c); }
    function TEST (line 69) | TEST(AutoupdateTest, SnapshotMergeConflict) {
    function TEST (line 93) | TEST(AutoupdateTest, SnapshotTheeWayMergeConflict) {
    function TEST (line 119) | TEST(AutoupdateTest, DiffMergeConflict) {
    function TEST (line 147) | TEST(AutoupdateTest, NonCheckInDiffRegion) {

FILE: testing/fuzzing/libfuzzer.h
  function namespace (line 10) | namespace Carbon::Testing {

FILE: third_party/llvm/clang_cc1.cpp
  type Carbon (line 36) | namespace Carbon {
    function RunClangCC1 (line 38) | auto RunClangCC1(const InstallPaths& installation,

FILE: third_party/llvm/clang_cc1.h
  function namespace (line 13) | namespace Carbon {

FILE: toolchain/autoupdate_testdata.py
  function main (line 19) | def main() -> None:

FILE: toolchain/base/block_value_store.h
  function namespace (line 18) | namespace Carbon::SemIR {
  function RefType (line 127) | auto AllocateUninitialized(size_t size) -> RefType {
  function ConstRefType (line 153) | auto TranslateKey(IdT id) const -> ConstRefType { return store_->Get(id); }

FILE: toolchain/base/canonical_value_store.h
  function namespace (line 15) | namespace Carbon {
  function decltype (line 106) | auto TranslateKey(IdT id) const

FILE: toolchain/base/canonical_value_store_test.cpp
  type Carbon::Testing (line 16) | namespace Carbon::Testing {
    function TEST (line 22) | TEST(CanonicalValueStore, Float) {
    function TEST (line 38) | TEST(CanonicalValueStore, Identifiers) {
    function TEST (line 60) | TEST(CanonicalValueStore, StringLiterals) {

FILE: toolchain/base/clang_invocation.cpp
  type Carbon (line 19) | namespace Carbon {
    function BuildClangInvocation (line 53) | auto BuildClangInvocation(Diagnostics::Consumer& consumer,
    function AppendDefaultClangArgs (line 111) | auto AppendDefaultClangArgs(const InstallPaths& install_paths,

FILE: toolchain/base/clang_invocation.h
  function namespace (line 18) | namespace Carbon {

FILE: toolchain/base/fixed_size_value_store.h
  function namespace (line 19) | namespace Carbon {
  function RefType (line 156) | auto Get(IdT id) -> RefType {
  function ConstRefType (line 163) | auto Get(IdT id) const -> ConstRefType {

FILE: toolchain/base/id_tag.h
  function namespace (line 16) | namespace Carbon {
  function GetContainerTag (line 97) | auto GetContainerTag() const -> TagIdType {
  type TagAndIndex (line 111) | struct TagAndIndex {

FILE: toolchain/base/index_base.h
  function namespace (line 17) | namespace Carbon {
  function explicit (line 114) | explicit IndexIterator(IndexT index) : index_(index) {}
  function operator (line 125) | auto operator*() const -> const IndexT& { return index_; }
  function operator (line 135) | auto operator+=(int n) -> IndexIterator& {
  function operator (line 139) | auto operator-=(int n) -> IndexIterator& {

FILE: toolchain/base/install_paths.cpp
  type Carbon (line 21) | namespace Carbon {

FILE: toolchain/base/install_paths.h
  function namespace (line 17) | namespace Carbon {

FILE: toolchain/base/install_paths_test.cpp
  type Carbon (line 22) | namespace Carbon {
    class InstallPathsTestPeer (line 24) | class InstallPathsTestPeer {
      method GetRoot (line 26) | static auto GetRoot(const InstallPaths& paths) -> std::filesystem::p...
    class InstallPathsTest (line 42) | class InstallPathsTest : public ::testing::Test {
      method InstallPathsTest (line 44) | InstallPathsTest() {
      method TestInstallPaths (line 54) | auto TestInstallPaths(const InstallPaths& paths) -> void {
    function TEST_F (line 95) | TEST_F(InstallPathsTest, RootBusybox) {
    function TEST_F (line 104) | TEST_F(InstallPathsTest, RootExplicit) {
    function TEST_F (line 117) | TEST_F(InstallPathsTest, TestRunfiles) {
    function TEST_F (line 123) | TEST_F(InstallPathsTest, BinaryRunfiles) {
    function TEST_F (line 136) | TEST_F(InstallPathsTest, Errors) {

FILE: toolchain/base/install_paths_test_helpers.cpp
  type Carbon::Testing (line 12) | namespace Carbon::Testing {
    function AddPreludeFilesToVfs (line 16) | auto AddPreludeFilesToVfs(

FILE: toolchain/base/install_paths_test_helpers.h
  function namespace (line 11) | namespace Carbon::Testing {

FILE: toolchain/base/int.cpp
  type Carbon (line 10) | namespace Carbon {

FILE: toolchain/base/int.h
  function namespace (line 17) | namespace Carbon {
  function explicit (line 204) | constexpr explicit IntId(int32_t id) : id_(id) {}
  function class (line 233) | class IntStore {
  function IntId (line 332) | auto Lookup(int64_t value) const -> IntId {
  function IntId (line 343) | auto LookupSigned(llvm::APInt value) const -> IntId {
  function APIntId (line 370) | struct APIntId : IdBase<APIntId> {
  function IntId (line 376) | static auto MakeIndexOrNone(int index) -> IntId {
  function IntId (line 383) | static auto TryMakeValue(int64_t value) -> IntId {
  function IntId (line 393) | static auto TryMakeSignedValue(llvm::APInt value) -> IntId {
  function IntId (line 403) | static auto TryMakeUnsignedValue(llvm::APInt value) -> IntId {

FILE: toolchain/base/int_test.cpp
  type Carbon::Testing (line 13) | namespace Carbon::Testing {
    type IntStoreTestPeer (line 15) | struct IntStoreTestPeer {
    function TEST (line 33) | TEST(IntStore, Basic) {
    type APAndId (line 79) | struct APAndId {
    function TEST (line 84) | TEST(IntStore, APSigned) {
    function TEST (line 121) | TEST(IntStore, APUnsigned) {

FILE: toolchain/base/kind_switch.h
  function namespace (line 90) | namespace Carbon::Internal::Kind {

FILE: toolchain/base/kind_switch_test.cpp
  type Carbon (line 14) | namespace Carbon {
    function TEST (line 17) | TEST(KindSwitch, Variant) {
    function TEST (line 37) | TEST(KindSwitch, VariantUnusedValue) {

FILE: toolchain/base/llvm_tools.cpp
  type Carbon (line 16) | namespace Carbon {
    function CARBON_DEFINE_ENUM_CLASS_NAMES (line 18) | CARBON_DEFINE_ENUM_CLASS_NAMES(LLVMTool) {

FILE: toolchain/base/llvm_tools.h
  function namespace (line 16) | namespace Carbon {

FILE: toolchain/base/mem_usage.h
  function namespace (line 18) | namespace Carbon {
  function OutputMapping (line 115) | auto OutputYaml(llvm::StringRef filename) const -> Yaml::OutputMapping {
  type Entry (line 140) | struct Entry {

FILE: toolchain/base/relational_value_store.h
  function namespace (line 14) | namespace Carbon {

FILE: toolchain/base/runtimes_build_info.tpl.h
  function namespace (line 15) | namespace Carbon::RuntimesBuildInfo {

FILE: toolchain/base/shared_value_stores.h
  function namespace (line 17) | namespace Carbon {

FILE: toolchain/base/shared_value_stores_test.cpp
  type Carbon::Testing (line 13) | namespace Carbon::Testing {
    function MatchSharedValues (line 20) | auto MatchSharedValues(testing::Matcher<Yaml::MappingValue> ints,
    function TEST (line 34) | TEST(SharedValueStores, PrintEmpty) {
    function TEST (line 43) | TEST(SharedValueStores, PrintVals) {

FILE: toolchain/base/test_binary.cpp
  function main (line 5) | auto main() -> int { return 0; }

FILE: toolchain/base/timings.h
  function namespace (line 14) | namespace Carbon {

FILE: toolchain/base/value_ids.h
  function namespace (line 15) | namespace Carbon {

FILE: toolchain/base/value_store.h
  function namespace (line 26) | namespace Carbon {
  function OutputScalar (line 186) | auto OutputYaml() const -> Yaml::OutputMapping {
  function Range (line 209) | auto values() const [[clang::lifetimebound]] -> Range { return Range(*th...
  type Chunk (line 260) | struct Chunk {
  function explicit (line 312) | explicit Chunk()
  function ValueType (line 336) | auto Get(int32_t i) -> ValueType& {
  function ValueType (line 340) | auto Get(int32_t i) const -> const ValueType& {

FILE: toolchain/base/value_store_test.cpp
  type Carbon::Testing (line 14) | namespace Carbon::Testing {
    function TEST (line 20) | TEST(ValueStore, Real) {

FILE: toolchain/base/value_store_types.h
  function namespace (line 13) | namespace Carbon {

FILE: toolchain/base/yaml.h
  function namespace (line 18) | namespace Carbon::Yaml {
  function class (line 60) | class OutputMapping {
  function explicit (line 78) | explicit OutputMapping(std::function<auto(OutputMapping::Map)->void> out...
  function OutputScalar (line 91) | struct llvm::yaml::ScalarTraits<Carbon::Yaml::OutputScalar> {
  function StringRef (line 96) | static auto input(StringRef /*scalar*/, void* /*ctxt*/,
  function QuotingType (line 100) | static auto mustQuote(StringRef /*value*/) -> QuotingType {
  function OutputMapping (line 108) | struct llvm::yaml::MappingTraits<Carbon::Yaml::OutputMapping> {

FILE: toolchain/check/action.cpp
  type Carbon::Check (line 16) | namespace Carbon::Check {
    function PerformAction (line 18) | auto PerformAction(Context& context, SemIR::LocId loc_id,
    function OperandIsDependent (line 27) | static auto OperandIsDependent(Context& context, SemIR::ConstantId con...
    function OperandIsDependent (line 38) | auto OperandIsDependent(Context& context, SemIR::TypeId type_id) -> bo...
    function OperandIsDependent (line 44) | auto OperandIsDependent(Context& context, SemIR::InstId inst_id) -> bo...
    function OperandIsDependent (line 51) | auto OperandIsDependent(Context& context, SemIR::TypeInstId inst_id) -...
    function OperandIsDependent (line 58) | static auto OperandIsDependent(Context& context, SemIR::Inst::ArgAndKi...
    function ActionIsDependent (line 84) | auto ActionIsDependent(Context& context, SemIR::Inst action_inst) -> b...
    function AddDependentActionSpliceImpl (line 98) | static auto AddDependentActionSpliceImpl(Context& context,
    function RefineOperand (line 120) | static auto RefineOperand(Context& context, SemIR::LocId loc_id,
    function RefineOperands (line 156) | static auto RefineOperands(Context& context, SemIR::LocId loc_id,
    function AddDependentActionSplice (line 164) | auto AddDependentActionSplice(Context& context, SemIR::LocIdAndInst ac...

FILE: toolchain/check/action.h
  function namespace (line 13) | namespace Carbon::Check {
  function namespace (line 79) | namespace Internal {

FILE: toolchain/check/call.cpp
  type Carbon::Check (line 31) | namespace Carbon::Check {
    type EntityKind (line 35) | enum class EntityKind : uint8_t {
    function ResolveCalleeInCall (line 53) | static auto ResolveCalleeInCall(Context& context, SemIR::LocId loc_id,
    function PerformCallToGenericClass (line 100) | static auto PerformCallToGenericClass(Context& context, SemIR::LocId l...
    function EntityFromInterfaceOrNamedConstraint (line 119) | static auto EntityFromInterfaceOrNamedConstraint(
    function EntityFromInterfaceOrNamedConstraint (line 125) | static auto EntityFromInterfaceOrNamedConstraint(
    function PerformCallToGenericInterfaceOrNamedConstaint (line 135) | static auto PerformCallToGenericInterfaceOrNamedConstaint(
    function BuildCalleeSpecificFunction (line 163) | static auto BuildCalleeSpecificFunction(
    function PerformCallToFunction (line 211) | auto PerformCallToFunction(Context& context, SemIR::LocId loc_id,
    function PerformCallToNonFunction (line 309) | static auto PerformCallToNonFunction(Context& context, SemIR::LocId lo...
    function PerformCall (line 344) | auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId ...

FILE: toolchain/check/call.h
  function namespace (line 11) | namespace Carbon::Check {

FILE: toolchain/check/check.cpp
  type Carbon::Check (line 28) | namespace Carbon::Check {
    function GetImportKey (line 36) | static auto GetImportKey(UnitAndImports& unit_info,
    function RenderImportKey (line 58) | static auto RenderImportKey(ImportKey import_key) -> std::string {
    function TrackImport (line 72) | static auto TrackImport(Map<ImportKey, UnitAndImports*>& api_map,
    function BuildApiMapAndDiagnosePackaging (line 236) | static auto BuildApiMapAndDiagnosePackaging(
    function MaybeDumpFormattedSemIR (line 328) | static auto MaybeDumpFormattedSemIR(
    function MaybeDumpSemIR (line 361) | static auto MaybeDumpSemIR(
    function MaybeDumpCppAST (line 391) | static auto MaybeDumpCppAST(llvm::ArrayRef<Unit> units,
    function CheckParseTrees (line 407) | auto CheckParseTrees(

FILE: toolchain/check/check.h
  function namespace (line 18) | namespace Carbon::Check {

FILE: toolchain/check/check_fuzzer.cpp
  type Carbon::Testing (line 12) | namespace Carbon::Testing {
    function LLVMFuzzerInitialize (line 17) | auto LLVMFuzzerInitialize(int* argc, char*** argv) -> int {
    function LLVMFuzzerTestOneInput (line 25) | int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size) {

FILE: toolchain/check/check_unit.cpp
  type Carbon::Check (line 41) | namespace Carbon::Check {
    function GetImportedIRCount (line 44) | static auto GetImportedIRCount(UnitAndImports* unit_and_imports) -> int {

FILE: toolchain/check/check_unit.h
  function namespace (line 17) | namespace Carbon::Check {
  function class (line 122) | class CheckUnit {

FILE: toolchain/check/class.cpp
  type Carbon::Check (line 26) | namespace Carbon::Check {
    function SetClassSelfType (line 28) | auto SetClassSelfType(Context& context, SemIR::ClassId class_id) -> vo...
    function StartClassDefinition (line 34) | auto StartClassDefinition(Context& context, SemIR::Class& class_info,
    function CheckCompleteAdapterClassType (line 50) | static auto CheckCompleteAdapterClassType(
    function AddStructTypeFields (line 109) | static auto AddStructTypeFields(
    function BuildVtable (line 138) | static auto BuildVtable(Context& context, Parse::ClassDefinitionId nod...
    function CheckCompleteClassType (line 260) | static auto CheckCompleteClassType(
    function ComputeClassObjectRepr (line 323) | auto ComputeClassObjectRepr(Context& context, Parse::ClassDefinitionId...

FILE: toolchain/check/class.h
  function namespace (line 10) | namespace Carbon::Check {

FILE: toolchain/check/context.cpp
  type Carbon::Check (line 15) | namespace Carbon::Check {

FILE: toolchain/check/context.h
  function namespace (line 42) | namespace Carbon::Check {

FILE: toolchain/check/control_flow.cpp
  type Carbon::Check (line 17) | namespace Carbon::Check {
    function AddDominatedBlockAndBranchImpl (line 20) | static auto AddDominatedBlockAndBranchImpl(Context& context,
    function AddDominatedBlockAndBranch (line 31) | auto AddDominatedBlockAndBranch(Context& context, Parse::NodeId node_id)
    function AddDominatedBlockAndBranchWithArg (line 36) | auto AddDominatedBlockAndBranchWithArg(Context& context, Parse::NodeId...
    function AddDominatedBlockAndBranchIf (line 43) | auto AddDominatedBlockAndBranchIf(Context& context, Parse::NodeId node...
    function AddConvergenceBlockAndPush (line 49) | auto AddConvergenceBlockAndPush(Context& context, Parse::NodeId node_id,
    function AddConvergenceBlockWithArgAndPush (line 68) | auto AddConvergenceBlockWithArgAndPush(
    function SetBlockArgResultBeforeConstantUse (line 94) | auto SetBlockArgResultBeforeConstantUse(Context& context,
    function IsCurrentPositionReachable (line 124) | auto IsCurrentPositionReachable(Context& context) -> bool {
    function MaybeAddCleanupForInst (line 140) | auto MaybeAddCleanupForInst(Context& context, SemIR::InstId inst_id) -...
    function AddCleanupBlock (line 150) | static auto AddCleanupBlock(Context& context) -> void {
    function AddReturnCleanupBlock (line 169) | auto AddReturnCleanupBlock(Context& context,

FILE: toolchain/check/control_flow.h
  function namespace (line 14) | namespace Carbon::Check {

FILE: toolchain/check/convert.cpp
  type Carbon::Check (line 46) | namespace Carbon::Check {
    function OverwriteTemporaryStorageArg (line 55) | static auto OverwriteTemporaryStorageArg(SemIR::File& sem_ir,
    function MaterializeTemporary (line 77) | static auto MaterializeTemporary(Context& context, SemIR::InstId init_id)
    function DiscardInitializer (line 108) | static auto DiscardInitializer(Context& context, SemIR::InstId init_id)
    function MaterializeIfInitializer (line 125) | static auto MaterializeIfInitializer(Context& context, SemIR::InstId e...
    function AddInst (line 138) | static auto AddInst(PendingBlock& block, SemIR::LocId loc_id, AccessIn...
    function MakeElementAccessInst (line 145) | static auto MakeElementAccessInst(Context& context, SemIR::LocId loc_id,
    function GetAggregateElementConversionTargetKind (line 170) | static auto GetAggregateElementConversionTargetKind(SemIR::File& sem_ir,
    function ConvertAggregateElement (line 205) | static auto ConvertAggregateElement(
    function ConvertTupleToArray (line 245) | static auto ConvertTupleToArray(Context& context, SemIR::TupleType tup...
    function ConvertTupleToTuple (line 344) | static auto ConvertTupleToTuple(Context& context, SemIR::TupleType src...
    function ConvertTupleToType (line 424) | static auto ConvertTupleToType(Context& context, SemIR::LocId loc_id,
    function CreateVtablePtrRef (line 479) | static auto CreateVtablePtrRef(Context& context, SemIR::LocId loc_id,
    function IsInPlaceInitializing (line 502) | static auto IsInPlaceInitializing(Context& context, SemIR::InstId resu...
    function GetVptrFieldIndex (line 514) | static auto GetVptrFieldIndex(llvm::ArrayRef<SemIR::StructTypeField> f...
    function PerformVptrAccess (line 525) | static auto PerformVptrAccess(Context& context, SemIR::LocId loc_id,
    function ConvertPartialInitializerToNonPartial (line 579) | static auto ConvertPartialInitializerToNonPartial(
    function ConvertStructToStructOrClass (line 609) | static auto ConvertStructToStructOrClass(
    function ConvertStructToStruct (line 819) | static auto ConvertStructToStruct(Context& context, SemIR::StructType ...
    function ConvertStructToClass (line 830) | static auto ConvertStructToClass(Context& context, SemIR::StructType s...
    function ComputeInheritancePath (line 872) | static auto ComputeInheritancePath(Context& context, SemIR::LocId loc_id,
    function ConvertDerivedToBase (line 908) | static auto ConvertDerivedToBase(Context& context, SemIR::LocId loc_id,
    function ConvertDerivedPointerToBasePointer (line 933) | static auto ConvertDerivedPointerToBasePointer(
    function IsValidExprCategoryForConversionTarget (line 955) | static auto IsValidExprCategoryForConversionTarget(
    function InitReprIsCopyOfValueRepr (line 991) | static auto InitReprIsCopyOfValueRepr(const SemIR::File& sem_ir,
    function CanUseValueOfInitializer (line 1003) | static auto CanUseValueOfInitializer(const SemIR::File& sem_ir,
    function CanAddQualifiers (line 1019) | static auto CanAddQualifiers(SemIR::TypeQualifiers quals,
    function CanRemoveQualifiers (line 1039) | static auto CanRemoveQualifiers(SemIR::TypeQualifiers quals,
    function DiagnoseConversionFailureToConstraintValue (line 1071) | static auto DiagnoseConversionFailureToConstraintValue(
    function PerformBuiltinConversion (line 1098) | static auto PerformBuiltinConversion(Context& context, SemIR::LocId lo...
    function IsCppEnum (line 1551) | static auto IsCppEnum(Context& context, SemIR::TypeId type_id) -> bool {
    function PerformCopy (line 1565) | static auto PerformCopy(Context& context, SemIR::InstId expr_id,
    function ConvertValueForCppThunkRef (line 1586) | static auto ConvertValueForCppThunkRef(Context& context, SemIR::InstId...
    function GetConversionInterfaceName (line 1611) | static auto GetConversionInterfaceName(ConversionTarget::Kind kind)
    function PerformAction (line 1623) | auto PerformAction(Context& context, SemIR::LocId loc_id,
    class CategoryConverter (line 1632) | class CategoryConverter {
      method CategoryConverter (line 1636) | CategoryConverter(Context& context, SemIR::LocId loc_id,
      method Convert (line 1645) | auto Convert(SemIR::InstId expr_id) && -> SemIR::InstId {
      type NextStep (line 1669) | struct NextStep {
      type Done (line 1677) | struct Done {
    function ConversionNeedsCompleteTarget (line 1881) | static auto ConversionNeedsCompleteTarget(Context& context,
    function Convert (line 1907) | auto Convert(Context& context, SemIR::LocId loc_id, SemIR::InstId expr...
    function Initialize (line 2097) | auto Initialize(Context& context, SemIR::LocId loc_id, SemIR::InstId s...
    function ConvertToValueExpr (line 2115) | auto ConvertToValueExpr(Context& context, SemIR::InstId expr_id)
    function ConvertToValueOrRefExpr (line 2122) | auto ConvertToValueOrRefExpr(Context& context, SemIR::InstId expr_id)
    function ConvertToValueOfType (line 2129) | auto ConvertToValueOfType(Context& context, SemIR::LocId loc_id,
    function ConvertToValueOrRefOfType (line 2138) | auto ConvertToValueOrRefOfType(Context& context, SemIR::LocId loc_id,
    function TryConvertToValueOfType (line 2147) | auto TryConvertToValueOfType(Context& context, SemIR::LocId loc_id,
    function ConvertToBoolValue (line 2155) | auto ConvertToBoolValue(Context& context, SemIR::LocId loc_id,
    function ConvertForExplicitAs (line 2162) | auto ConvertForExplicitAs(Context& context, Parse::NodeId as_node,
    function ConvertCallArgs (line 2172) | auto ConvertCallArgs(Context& context, SemIR::LocId call_loc_id,
    function DiagnoseTypeExprEvaluationFailure (line 2209) | static auto DiagnoseTypeExprEvaluationFailure(Context& context,
    function ExprAsType (line 2216) | auto ExprAsType(Context& context, SemIR::LocId loc_id, SemIR::InstId v...
    function FormExprAsForm (line 2239) | auto FormExprAsForm(Context& context, SemIR::LocId loc_id,
    function ReturnExprAsForm (line 2262) | auto ReturnExprAsForm(Context& context, SemIR::LocId loc_id,
    function DiscardExpr (line 2313) | auto DiscardExpr(Context& context, SemIR::InstId expr_id) -> void {

FILE: toolchain/check/convert.h
  function namespace (line 13) | namespace Carbon::Check {

FILE: toolchain/check/core_identifier.cpp
  type Carbon::Check (line 7) | namespace Carbon::Check {
    function CARBON_DEFINE_ENUM_CLASS_NAMES (line 9) | CARBON_DEFINE_ENUM_CLASS_NAMES(CoreIdentifier) {

FILE: toolchain/check/core_identifier.h
  function namespace (line 13) | namespace Carbon::Check {

FILE: toolchain/check/cpp/access.cpp
  type Carbon::Check (line 7) | namespace Carbon::Check {
    function CalculateEffectiveAccess (line 9) | static auto CalculateEffectiveAccess(clang::DeclAccessPair access_pair)
    function MapCppAccess (line 34) | auto MapCppAccess(clang::DeclAccessPair access_pair) -> SemIR::AccessK...

FILE: toolchain/check/cpp/access.h
  function namespace (line 10) | namespace Carbon::Check {

FILE: toolchain/check/cpp/call.cpp
  type Carbon::Check (line 22) | namespace Carbon::Check {
    function IsTemplateArg (line 29) | static auto IsTemplateArg(Context& context, SemIR::InstId arg_id) -> b...
    function SplitCallArgumentList (line 42) | static auto SplitCallArgumentList(Context& context,
    function PerformCallToCppFunction (line 54) | auto PerformCallToCppFunction(Context& context, SemIR::LocId loc_id,
    function MakePlaceholderTemplateArg (line 98) | static auto MakePlaceholderTemplateArg(Context& context, SemIR::InstId...
    function ConvertArgToTemplateArg (line 113) | static auto ConvertArgToTemplateArg(
    function ConvertArgsToTemplateArgs (line 260) | auto ConvertArgsToTemplateArgs(Context& context,
    function BuildTemplateId (line 303) | static auto BuildTemplateId(Context& context, SemIR::LocId loc_id,
    function PerformCallToCppTemplateName (line 343) | auto PerformCallToCppTemplateName(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/cpp/call.h
  function namespace (line 11) | namespace Carbon::Check {

FILE: toolchain/check/cpp/constant.cpp
  type Carbon::Check (line 15) | namespace Carbon::Check {
    function MapLValueToConstant (line 17) | static auto MapLValueToConstant(Context& context, SemIR::LocId loc_id,
    function MapAPValueToConstant (line 89) | auto MapAPValueToConstant(Context& context, SemIR::LocId loc_id,
    function MapAPValueToConstantForConstexpr (line 130) | static auto MapAPValueToConstantForConstexpr(Context& context,
    function EvalCppVarDecl (line 143) | auto EvalCppVarDecl(Context& context, SemIR::LocId loc_id,
    function MapConstantToAPValue (line 163) | auto MapConstantToAPValue(Context& context, SemIR::InstId const_inst_id,
    function ConvertArgToExpr (line 196) | static auto ConvertArgToExpr(Context& context, SemIR::InstId arg_inst_id,
    function EvalCppCall (line 215) | auto EvalCppCall(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/cpp/constant.h
  function namespace (line 14) | namespace Carbon::Check {

FILE: toolchain/check/cpp/context.cpp
  type Carbon::Check (line 9) | namespace Carbon::Check {

FILE: toolchain/check/cpp/context.h
  function namespace (line 17) | namespace Carbon::Check {

FILE: toolchain/check/cpp/custom_type_mapping.cpp
  type Carbon::Check (line 12) | namespace Carbon::Check {
    type Matchers (line 17) | namespace Matchers {
      function StdClassTemplate (line 29) | static auto StdClassTemplate(
      function Class (line 45) | static auto Class(Matcher<const clang::CXXRecordDecl*> class_matcher
      function TypeTemplateArgument (line 55) | static auto TypeTemplateArgument(Matcher<clang::QualType> type_matcher
      function Char (line 64) | static auto Char(clang::QualType type) -> bool {
      function TemplateArgumentsAre (line 70) | static auto TemplateArgumentsAre(
      function StdCharTraitsChar (line 87) | static auto StdCharTraitsChar(clang::QualType type) -> bool {
      function StdStringView (line 93) | static auto StdStringView(const clang::CXXRecordDecl* record_decl) -...
    function GetCustomCppTypeMapping (line 102) | auto GetCustomCppTypeMapping(const clang::CXXRecordDecl* record_decl)

FILE: toolchain/check/cpp/custom_type_mapping.h
  function CustomCppTypeMapping (line 13) | enum class CustomCppTypeMapping : uint8_t {

FILE: toolchain/check/cpp/generate_ast.cpp
  type Carbon::Check (line 36) | namespace Carbon::Check {
    function GenerateLineMarker (line 42) | static auto GenerateLineMarker(Context& context, llvm::raw_ostream& out,
    function GenerateCppIncludesHeaderCode (line 49) | static auto GenerateCppIncludesHeaderCode(
    function AddImportIRInst (line 122) | static auto AddImportIRInst(SemIR::File& file,
    class CarbonClangDiagnosticConsumer (line 142) | class CarbonClangDiagnosticConsumer : public clang::DiagnosticConsumer {
      method CarbonClangDiagnosticConsumer (line 147) | explicit CarbonClangDiagnosticConsumer(
      method HandleDiagnostic (line 166) | auto HandleDiagnostic(clang::DiagnosticsEngine::Level diag_level,
      method GetDiagnostic (line 199) | static auto GetDiagnostic(clang::DiagnosticsEngine::Level level)
      method EmitDiagnostics (line 227) | auto EmitDiagnostics() -> void {
      class CodeContextRenderer (line 257) | class CodeContextRenderer : public clang::TextDiagnostic {
        method emitDiagnosticMessage (line 261) | void emitDiagnosticMessage(
        method emitDiagnosticLoc (line 266) | void emitDiagnosticLoc(
        method emitIncludeLocation (line 273) | void emitIncludeLocation(clang::FullSourceLoc /*loc*/,
        method emitImportLocation (line 275) | void emitImportLocation(clang::FullSourceLoc /*loc*/,
        method emitBuildingModuleLocation (line 278) | void emitBuildingModuleLocation(clang::FullSourceLoc /*loc*/,
      type ClangDiagnosticInfo (line 288) | struct ClangDiagnosticInfo {
    class ShallowCopyCompilerInvocation (line 325) | class ShallowCopyCompilerInvocation : public clang::CompilerInvocation {
      method ShallowCopyCompilerInvocation (line 327) | explicit ShallowCopyCompilerInvocation(
    class CarbonExternalASTSource (line 337) | class CarbonExternalASTSource : public clang::ExternalASTSource {
      method CarbonExternalASTSource (line 339) | explicit CarbonExternalASTSource(Context* context,
    function MapInstIdToClangDecl (line 364) | static auto MapInstIdToClangDecl(Context& context,
    class GenerateASTAction (line 456) | class GenerateASTAction : public clang::ASTFrontendAction {
      method GenerateASTAction (line 458) | explicit GenerateASTAction(Context& context) : context_(&context) {}
      method CreateASTConsumer (line 461) | auto CreateASTConsumer(clang::CompilerInstance& clang_instance,
      method BeginSourceFileAction (line 479) | auto BeginSourceFileAction(clang::CompilerInstance& /*clang_instance*/)
      method ExecuteAction (line 490) | auto ExecuteAction() -> void override {
    function GenerateAst (line 533) | auto GenerateAst(Context& context,
    function FinishAst (line 614) | auto FinishAst(Context& context) -> void {

FILE: toolchain/check/cpp/generate_ast.h
  function namespace (line 13) | namespace Carbon::Check {

FILE: toolchain/check/cpp/impl_lookup.cpp
  type Carbon::Check (line 21) | namespace Carbon::Check {
    function TypeAsClassDecl (line 26) | static auto TypeAsClassDecl(Context& context,
    type DeclInfo (line 53) | struct DeclInfo {
    function GetFunctionId (line 63) | static auto GetFunctionId(Context& context, SemIR::LocId loc_id,
    function BuildCopyWitness (line 96) | static auto BuildCopyWitness(
    function BuildDestroyWitness (line 122) | static auto BuildDestroyWitness(
    function BuildCppUnsafeDerefWitness (line 147) | static auto BuildCppUnsafeDerefWitness(
    function LookupCppImpl (line 190) | auto LookupCppImpl(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/cpp/impl_lookup.h
  function namespace (line 16) | namespace Carbon::Check {

FILE: toolchain/check/cpp/import.cpp
  type Carbon::Check (line 69) | namespace Carbon::Check {
    function AddNameToScope (line 73) | static auto AddNameToScope(Context& context, SemIR::NameScopeId scope_id,
    function AddIdentifierName (line 83) | auto AddIdentifierName(Context& context, llvm::StringRef name)
    function AddImportIRInst (line 90) | static auto AddImportIRInst(SemIR::File& file,
    function AddNamespace (line 99) | static auto AddNamespace(Context& context, PackageNameId cpp_package_id,
    function ImportCpp (line 118) | auto ImportCpp(Context& context,
    function GetDeclContext (line 151) | static auto GetDeclContext(Context& context, SemIR::NameScopeId scope_id)
    function IsDeclInjectedClassName (line 164) | static auto IsDeclInjectedClassName(Context& context,
    function ClangLookupName (line 194) | static auto ClangLookupName(Context& context, SemIR::NameScopeId scope...
    function IsClangDeclImported (line 220) | static auto IsClangDeclImported(Context& context, SemIR::ClangDeclKey ...
    function LookupClangDeclInstId (line 227) | static auto LookupClangDeclInstId(Context& context, SemIR::ClangDeclKe...
    function GetParentDecl (line 239) | static auto GetParentDecl(clang::Decl* clang_decl) -> clang::Decl* {
    function GetParentNameScopeId (line 249) | static auto GetParentNameScopeId(Context& context, clang::Decl* clang_...
    function ImportNamespaceDecl (line 288) | static auto ImportNamespaceDecl(Context& context,
    function BuildClassDecl (line 311) | static auto BuildClassDecl(Context& context,
    function ImportTagDecl (line 356) | static auto ImportTagDecl(Context& context, clang::TagDecl* clang_decl)
    function GetInheritanceKind (line 382) | static auto GetInheritanceKind(clang::CXXRecordDecl* class_def)
    function ImportClassObjectRepr (line 421) | static auto ImportClassObjectRepr(Context& context, SemIR::ClassId cla...
    function BuildClassDefinition (line 620) | static auto BuildClassDefinition(Context& context,
    function ImportEnumObjectRepresentation (line 649) | static auto ImportEnumObjectRepresentation(
    function BuildEnumDefinition (line 674) | static auto BuildEnumDefinition(Context& context,
    function ImportEnumConstantDecl (line 707) | static auto ImportEnumConstantDecl(Context& context,
    function MarkFailedDecl (line 733) | static auto MarkFailedDecl(Context& context, SemIR::ClangDeclKey key) {
    function MakeIntType (line 738) | static auto MakeIntType(Context& context, IntId size_id, bool is_signed)
    function MakeCppCompatType (line 746) | static auto MakeCppCompatType(Context& context, SemIR::LocId loc_id,
    function MapBuiltinCppCompatIntegerType (line 754) | static auto MapBuiltinCppCompatIntegerType(Context& context,
    function MapBuiltinIntegerType (line 768) | static auto MapBuiltinIntegerType(Context& context, SemIR::LocId loc_id,
    function MapNullptrType (line 812) | static auto MapNullptrType(Context& context, SemIR::LocId loc_id) -> T...
    function MapBuiltinType (line 818) | static auto MapBuiltinType(Context& context, SemIR::LocId loc_id,
    function LookupCustomRecordType (line 853) | static auto LookupCustomRecordType(Context& context,
    function MapTagType (line 868) | static auto MapTagType(Context& context, const clang::TagType& type)
    function MapNonWrapperType (line 900) | static auto MapNonWrapperType(Context& context, SemIR::LocId loc_id,
    function MapQualifiedType (line 917) | static auto MapQualifiedType(Context& context, clang::QualType type,
    function IsClangTypeNonNull (line 936) | static auto IsClangTypeNonNull(clang::QualType type) -> bool {
    function ClangGetUnqualifiedTypePreserveNonNull (line 944) | static auto ClangGetUnqualifiedTypePreserveNonNull(
    function MakeOptionalType (line 957) | static auto MakeOptionalType(Context& context, SemIR::LocId loc_id,
    function MapPointerType (line 965) | static auto MapPointerType(Context& context, SemIR::LocId loc_id,
    function MapReferenceType (line 989) | static auto MapReferenceType(Context& context, clang::QualType type,
    function MapType (line 1002) | static auto MapType(Context& context, SemIR::LocId loc_id, clang::Qual...
    type ParameterTypeInfo (line 1044) | struct ParameterTypeInfo {
    function MapParameterType (line 1058) | static auto MapParameterType(Context& context, SemIR::LocId loc_id,
    function MakeImplicitParamPatternsBlockId (line 1095) | static auto MakeImplicitParamPatternsBlockId(
    function MakeParamPatternsBlockId (line 1136) | static auto MakeParamPatternsBlockId(Context& context, SemIR::LocId lo...
    function GetReturnTypeExpr (line 1226) | static auto GetReturnTypeExpr(Context& context, SemIR::LocId loc_id,
    type ReturnInfo (line 1282) | struct ReturnInfo {
    function GetReturnInfo (line 1292) | static auto GetReturnInfo(Context& context, SemIR::LocId loc_id,
    type FunctionSignatureInsts (line 1344) | struct FunctionSignatureInsts {
    function CreateFunctionSignatureInsts (line 1363) | static auto CreateFunctionSignatureInsts(
    function GetFunctionName (line 1402) | static auto GetFunctionName(Context& context, clang::FunctionDecl* cla...
    function ImportFunction (line 1439) | static auto ImportFunction(Context& context, SemIR::LocId loc_id,
    function ImportFunctionDecl (line 1529) | static auto ImportFunctionDecl(Context& context, SemIR::LocId loc_id,
    type ImportItem (line 1613) | struct ImportItem {
    function AddDependentDecl (line 1624) | static auto AddDependentDecl(Context& context, SemIR::ClangDeclKey decl,
    function AddDependentUnimportedTypeDecls (line 1633) | static auto AddDependentUnimportedTypeDecls(Context& context,
    function AddDependentUnimportedFunctionDecls (line 1655) | static auto AddDependentUnimportedFunctionDecls(
    function AddDependentUnimportedDecls (line 1672) | static auto AddDependentUnimportedDecls(Context& context,
    function ImportVarDecl (line 1696) | static auto ImportVarDecl(Context& context, SemIR::LocId loc_id,
    function ImportTemplateDecl (line 1756) | static auto ImportTemplateDecl(Context& context,
    function ImportDeclAfterDependencies (line 1791) | static auto ImportDeclAfterDependencies(Context& context, SemIR::LocId...
    function ImportDeclSet (line 1842) | static auto ImportDeclSet(Context& context, SemIR::LocId loc_id,
    function ImportCppDecl (line 1878) | auto ImportCppDecl(Context& context, SemIR::LocId loc_id,
    function ImportCppType (line 1889) | auto ImportCppType(Context& context, SemIR::LocId loc_id, clang::QualT...
    function ImportNameDeclIntoScope (line 1903) | static auto ImportNameDeclIntoScope(Context& context, SemIR::LocId loc...
    function IsTopCppScope (line 1919) | static auto IsTopCppScope(Context& context, SemIR::NameScopeId scope_id)
    function LookupBuiltinName (line 1927) | static auto LookupBuiltinName(Context& context, SemIR::LocId loc_id,
    function ImportCppOverloadSet (line 1980) | auto ImportCppOverloadSet(
    function GetOverloadSetAccess (line 2005) | static auto GetOverloadSetAccess(const clang::UnresolvedSet<4>& overlo...
    function ImportOverloadSetIntoScope (line 2019) | static auto ImportOverloadSetIntoScope(Context& context, SemIR::LocId ...
    function ImportConstructorsIntoScope (line 2037) | static auto ImportConstructorsIntoScope(Context& context, SemIR::LocId...
    function ImportBuiltinNameIntoScope (line 2064) | static auto ImportBuiltinNameIntoScope(Context& context, SemIR::LocId ...
    function IsIncompleteClass (line 2080) | static auto IsIncompleteClass(Context& context, SemIR::NameScopeId sco...
    function ImportMacro (line 2092) | static auto ImportMacro(Context& context, SemIR::LocId loc_id,
    function LookupMacro (line 2112) | static auto LookupMacro(Context& context, SemIR::NameScopeId scope_id,
    function GetClangIdentifierInfo (line 2129) | auto GetClangIdentifierInfo(Context& context, SemIR::NameId name_id)
    function ImportNameFromCpp (line 2141) | auto ImportNameFromCpp(Context& context, SemIR::LocId loc_id,
    function ImportClassDefinitionForClangDecl (line 2202) | auto ImportClassDefinitionForClangDecl(Context& context,
    function GetAsClangVarDecl (line 2241) | auto GetAsClangVarDecl(Context& context, SemIR::InstId inst_id)

FILE: toolchain/check/cpp/location.cpp
  type Carbon::Check (line 10) | namespace Carbon::Check {
    type FileInfo (line 13) | struct FileInfo {
    function GetFileInfo (line 21) | static auto GetFileInfo(Context& context, SemIR::CheckIRId ir_id) -> F...
    function GetCppLocation (line 57) | auto GetCppLocation(Context& context, SemIR::LocId loc_id)

FILE: toolchain/check/cpp/location.h
  function namespace (line 11) | namespace Carbon::Check {

FILE: toolchain/check/cpp/macros.cpp
  type Carbon::Check (line 16) | namespace Carbon::Check {
    function MapConstant (line 19) | static auto MapConstant(Context& context, SemIR::LocId loc_id,
    function TryEvaluateMacro (line 47) | auto TryEvaluateMacro(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/cpp/macros.h
  function namespace (line 10) | namespace Carbon::Check {

FILE: toolchain/check/cpp/operators.cpp
  type Carbon::Check (line 26) | namespace Carbon::Check {
    function GetClangOperatorKind (line 29) | static auto GetClangOperatorKind(Context& context, SemIR::LocId loc_id,
    function MakeCppStdInitializerListMake (line 207) | static auto MakeCppStdInitializerListMake(Context& context, SemIR::Loc...
    function GetConversionSignatureToImport (line 282) | static auto GetConversionSignatureToImport(
    function LookupCppConversion (line 325) | static auto LookupCppConversion(Context& context, SemIR::LocId loc_id,
    function LookupCppOperator (line 455) | auto LookupCppOperator(Context& context, SemIR::LocId loc_id, Operator...
    function IsCppOperatorMethodDecl (line 590) | auto IsCppOperatorMethodDecl(clang::Decl* decl) -> bool {
    function GetAsCppFunctionDecl (line 597) | static auto GetAsCppFunctionDecl(Context& context, SemIR::InstId inst_id)
    function IsCppOperatorMethod (line 615) | auto IsCppOperatorMethod(Context& context, SemIR::InstId inst_id) -> b...
    function IsCppConstructorOrNonMethodOperator (line 620) | auto IsCppConstructorOrNonMethodOperator(Context& context,

FILE: toolchain/check/cpp/operators.h
  function namespace (line 12) | namespace Carbon::Check {

FILE: toolchain/check/cpp/overload_resolution.cpp
  type Carbon::Check (line 25) | namespace Carbon::Check {
    function GetCppName (line 28) | static auto GetCppName(Context& context, SemIR::NameId name_id)
    function AddOverloadCandidates (line 38) | static auto AddOverloadCandidates(
    function CheckCppOverloadAccess (line 107) | auto CheckCppOverloadAccess(
    function PerformCppOverloadResolution (line 133) | auto PerformCppOverloadResolution(

FILE: toolchain/check/cpp/overload_resolution.h
  function namespace (line 12) | namespace Carbon::Check {

FILE: toolchain/check/cpp/thunk.cpp
  type Carbon::Check (line 24) | namespace Carbon::Check {
    function GetGlobalDecl (line 28) | static auto GetGlobalDecl(const clang::FunctionDecl* decl)
    function GenerateThunkMangledName (line 40) | static auto GenerateThunkMangledName(
    function IsSimpleAbiType (line 67) | static auto IsSimpleAbiType(clang::ASTContext& ast_context,
    type CalleeFunctionInfo (line 110) | struct CalleeFunctionInfo {
      method CalleeFunctionInfo (line 111) | explicit CalleeFunctionInfo(clang::FunctionDecl* decl,
      method has_implicit_object_parameter (line 133) | auto has_implicit_object_parameter() const -> bool {
      method has_explicit_object_parameter (line 138) | auto has_explicit_object_parameter() const -> bool {
      method num_thunk_params (line 143) | auto num_thunk_params() const -> unsigned {
      method GetThunkParamIndex (line 150) | auto GetThunkParamIndex(unsigned callee_param_index) const -> unsign...
      method GetThunkReturnParamIndex (line 156) | auto GetThunkReturnParamIndex() const -> unsigned {
    function IsCppThunkRequired (line 191) | auto IsCppThunkRequired(Context& context, const SemIR::Function& funct...
    function GetNonnullType (line 234) | static auto GetNonnullType(clang::ASTContext& ast_context,
    function GetNonNullablePointerType (line 242) | static auto GetNonNullablePointerType(clang::ASTContext& ast_context,
    function GetThunkParameterType (line 250) | static auto GetThunkParameterType(clang::ASTContext& ast_context,
    function BuildThunkParameterTypes (line 260) | static auto BuildThunkParameterTypes(clang::ASTContext& ast_context,
    function BuildThunkParameters (line 286) | static auto BuildThunkParameters(clang::ASTContext& ast_context,
    function GetDeclNameForThunk (line 335) | static auto GetDeclNameForThunk(clang::ASTContext& ast_context,
    function CreateThunkFunctionDecl (line 373) | static auto CreateThunkFunctionDecl(
    function BuildThunkParamRef (line 421) | static auto BuildThunkParamRef(clang::Sema& sema,
    function BuildParamRefForCalleeArg (line 458) | static auto BuildParamRefForCalleeArg(clang::Sema& sema,
    function BuildCalleeArgs (line 470) | static auto BuildCalleeArgs(clang::Sema& sema,
    function BuildThunkBody (line 490) | static auto BuildThunkBody(clang::Sema& sema,
    function BuildCppThunk (line 576) | auto BuildCppThunk(Context& context, const SemIR::Function& callee_fun...
    function PerformCppThunkCall (line 613) | auto PerformCppThunkCall(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/cpp/thunk.h
  function namespace (line 11) | namespace Carbon::Check {

FILE: toolchain/check/cpp/type_mapping.cpp
  type Carbon::Check (line 32) | namespace Carbon::Check {
    type WrappedType (line 42) | struct WrappedType {
    function FindIntLiteralBitWidth (line 60) | static auto FindIntLiteralBitWidth(Context& context, SemIR::LocId loc_id,
    function LookupCppType (line 97) | static auto LookupCppType(
    function VerifyIntegerTypeWidth (line 129) | static auto VerifyIntegerTypeWidth(Context& context, clang::QualType t...
    function TryMapClassType (line 140) | static auto TryMapClassType(Context& context, SemIR::ClassType class_t...
    function TryMapType (line 244) | static auto TryMapType(Context& context, SemIR::TypeId type_id)
    function MapToCppType (line 289) | auto MapToCppType(Context& context, SemIR::TypeId type_id) -> clang::Q...
    type FormInfo (line 315) | struct FormInfo {
      type Kind (line 316) | enum Kind : int8_t {
      method is_compound (line 341) | auto is_compound() const -> bool { return kind == Tuple || kind == S...
    function GetDecomposedFormKindForType (line 348) | static auto GetDecomposedFormKindForType(Context& context,
    function GetFormInfo (line 361) | static auto GetFormInfo(Context& context, SemIR::InstId inst_id) -> Fo...
    function DecomposeForm (line 390) | static auto DecomposeForm(Context& context, FormInfo form) -> FormInfo {
    function VisitFormInfos (line 403) | static auto VisitFormInfos(Context& context, SemIR::InstBlockId inst_b...
    function VisitTupleElementForms (line 412) | static auto VisitTupleElementForms(Context& context, FormInfo form,
    function VisitStructElementForms (line 450) | static auto VisitStructElementForms(Context& context, FormInfo form,
    function InventPrimitiveClangArg (line 489) | static auto InventPrimitiveClangArg(Context& context, FormInfo form)
    function InventCompoundClangArg (line 577) | static auto InventCompoundClangArg(Context& context, FormInfo form,
    function InventClangArg (line 649) | auto InventClangArg(Context& context, SemIR::InstId arg_id) -> clang::...
    function InventClangArgs (line 706) | auto InventClangArgs(Context& context, llvm::ArrayRef<SemIR::InstId> a...

FILE: toolchain/check/cpp/type_mapping.h
  function namespace (line 13) | namespace Carbon::Check {

FILE: toolchain/check/custom_witness.cpp
  type Carbon::Check (line 22) | namespace Carbon::Check {
    function GetFacetAsType (line 26) | static auto GetFacetAsType(Context& context,
    function MakeDestroyOpBody (line 50) | static auto MakeDestroyOpBody(Context& context, SemIR::LocId loc_id,
    function MakeDestroyOpFunction (line 98) | static auto MakeDestroyOpFunction(Context& context, SemIR::LocId loc_id,
    function MakeCustomWitnessConstantInst (line 123) | static auto MakeCustomWitnessConstantInst(
    type TypesForSelfFacet (line 137) | struct TypesForSelfFacet {
    function GetTypesForSelfFacet (line 144) | static auto GetTypesForSelfFacet(
    function MakeSelfFacetWithCustomWitness (line 168) | static auto MakeSelfFacetWithCustomWitness(
    function BuildCustomWitness (line 187) | auto BuildCustomWitness(Context& context, SemIR::LocId loc_id,
    function GetCoreInterface (line 274) | auto GetCoreInterface(Context& context, SemIR::InterfaceId interface_id)
    function TypeCanDestroy (line 298) | static auto TypeCanDestroy(Context& context,
    function MakeDestroyWitness (line 353) | static auto MakeDestroyWitness(
    function MakeIntFitsInWitness (line 383) | static auto MakeIntFitsInWitness(
    function LookupCustomWitness (line 453) | auto LookupCustomWitness(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/custom_witness.h
  function CoreInterface (line 24) | enum class CoreInterface {

FILE: toolchain/check/decl_introducer_state.h
  function namespace (line 12) | namespace Carbon::Check {
  function class (line 46) | class DeclIntroducerStateStack {

FILE: toolchain/check/decl_name_stack.cpp
  type Carbon::Check (line 23) | namespace Carbon::Check {
    function GetAssociatedEntityScope (line 214) | static auto GetAssociatedEntityScope(Context& context,
    function PushNameQualifierScope (line 246) | static auto PushNameQualifierScope(Context& context, SemIR::LocId loc_id,
    function CheckQualifierIsResolved (line 351) | static auto CheckQualifierIsResolved(
    function DiagnoseQualifiedDeclInIncompleteClassScope (line 378) | static auto DiagnoseQualifiedDeclInIncompleteClassScope(Context& context,
    function DiagnoseQualifiedDeclInUndefinedInterfaceScope (line 395) | static auto DiagnoseQualifiedDeclInUndefinedInterfaceScope(
    function DiagnoseQualifiedDeclInImportedPackage (line 411) | static auto DiagnoseQualifiedDeclInImportedPackage(Context& context,
    function DiagnoseQualifiedDeclInNonScope (line 427) | static auto DiagnoseQualifiedDeclInNonScope(

FILE: toolchain/check/decl_name_stack.h
  function namespace (line 14) | namespace Carbon::Check {
  type SuspendedName (line 170) | struct SuspendedName
  function explicit (line 182) | explicit DeclNameStack(Context* context) : context_(context) {}

FILE: toolchain/check/deduce.cpp
  type Carbon::Check (line 20) | namespace Carbon::Check {
    class DeductionWorklist (line 29) | class DeductionWorklist {
      method DeductionWorklist (line 32) | explicit DeductionWorklist(Context* context) : context_(context) {}
      type PendingDeduction (line 34) | struct PendingDeduction {
      method Add (line 40) | auto Add(SemIR::InstId param, SemIR::InstId arg) -> void {
      method Add (line 45) | auto Add(SemIR::TypeId param, SemIR::TypeId arg) -> void {
      method Add (line 51) | auto Add(SemIR::SpecificId param, SemIR::SpecificId arg) -> void {
      method AddAll (line 68) | auto AddAll(llvm::ArrayRef<ElementId> params, llvm::ArrayRef<Element...
      method AddAll (line 80) | auto AddAll(SemIR::InstBlockId params, llvm::ArrayRef<SemIR::InstId>...
      method AddAll (line 85) | auto AddAll(SemIR::StructTypeFieldsId params, SemIR::StructTypeField...
      method AddAll (line 107) | auto AddAll(SemIR::InstBlockId params, SemIR::InstBlockId args) -> v...
      method AddInstArg (line 113) | auto AddInstArg(SemIR::Inst::ArgAndKind param, int32_t arg) -> void {
      method Done (line 145) | auto Done() -> bool { return deductions_.empty(); }
      method PopNext (line 148) | auto PopNext() -> PendingDeduction { return deductions_.pop_back_val...
    class DeductionContext (line 156) | class DeductionContext {
      method context (line 165) | auto context() const -> Context& { return *context_; }
      method Add (line 171) | auto Add(ParamT param, ArgT arg) -> void {
      method AddAll (line 177) | auto AddAll(ParamT param, ArgT arg) -> void {
      method NoteInitializingParam (line 194) | auto NoteInitializingParam(SemIR::InstId param_id, auto& builder) ->...
    function NoteGenericHere (line 223) | static auto NoteGenericHere(Context& context, SemIR::GenericId generic...
    function CARBON_KIND_SWITCH (line 325) | CARBON_KIND_SWITCH(param_inst) {
    function GetEntityNameForGenericBinding (line 447) | static auto GetEntityNameForGenericBinding(Context& context,
    function DeduceGenericCallArguments (line 565) | auto DeduceGenericCallArguments(
    function DeduceImplArguments (line 588) | auto DeduceImplArguments(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/deduce.h
  function namespace (line 11) | namespace Carbon::Check {

FILE: toolchain/check/deferred_definition_worklist.cpp
  type Carbon::Check (line 16) | namespace Carbon::Check {

FILE: toolchain/check/deferred_definition_worklist.h
  function class (line 20) | class DeferredDefinitionWorklist {

FILE: toolchain/check/diagnostic_emitter.cpp
  type Carbon::Check (line 18) | namespace Carbon::Check {

FILE: toolchain/check/diagnostic_emitter.h
  function namespace (line 14) | namespace Carbon::Check {

FILE: toolchain/check/diagnostic_helpers.h
  function namespace (line 14) | namespace Carbon::Check {
  type InstIdAsConstant (line 59) | struct InstIdAsConstant {
  type TypeOfInstId (line 78) | struct TypeOfInstId {
  type InstIdAsRawType (line 109) | struct InstIdAsRawType {
  type TypeIdAsRawType (line 123) | struct TypeIdAsRawType {
  type TypedInt (line 133) | struct TypedInt {
  type SpecificInterfaceIdAsRawType (line 140) | struct SpecificInterfaceIdAsRawType {

FILE: toolchain/check/dump.cpp
  type Carbon::Check (line 29) | namespace Carbon::Check {
    function LLVM_DUMP_METHOD (line 31) | LLVM_DUMP_METHOD static auto Dump(const Context& context, Lex::TokenIn...
    function LLVM_DUMP_METHOD (line 36) | LLVM_DUMP_METHOD static auto Dump(const Context& context, Parse::NodeI...
    function LLVM_DUMP_METHOD (line 41) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 46) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 51) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 57) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 63) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 69) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 74) | LLVM_DUMP_METHOD static auto Dump(
    function LLVM_DUMP_METHOD (line 80) | LLVM_DUMP_METHOD static auto Dump(const Context& context, SemIR::ImplI...
    function LLVM_DUMP_METHOD (line 85) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 91) | LLVM_DUMP_METHOD static auto Dump(const Context& context, SemIR::InstI...
    function LLVM_DUMP_METHOD (line 96) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 102) | LLVM_DUMP_METHOD static auto Dump(const Context& context, SemIR::LocId...
    function LLVM_DUMP_METHOD (line 107) | LLVM_DUMP_METHOD static auto Dump(const Context& context, SemIR::NameI...
    function LLVM_DUMP_METHOD (line 112) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 118) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 124) | LLVM_DUMP_METHOD static auto Dump(
    function LLVM_DUMP_METHOD (line 130) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 136) | LLVM_DUMP_METHOD static auto Dump(const Context& context,
    function LLVM_DUMP_METHOD (line 142) | LLVM_DUMP_METHOD static auto Dump(
    function LLVM_DUMP_METHOD (line 148) | LLVM_DUMP_METHOD static auto Dump(
    function LLVM_DUMP_METHOD (line 154) | LLVM_DUMP_METHOD static auto Dump(const Context& context, SemIR::TypeI...

FILE: toolchain/check/eval.cpp
  type Carbon::Check (line 41) | namespace Carbon::Check {
    type SpecificEvalInfo (line 45) | struct SpecificEvalInfo {
    type LocalEvalInfo (line 57) | struct LocalEvalInfo {
    class EvalContext (line 69) | class EvalContext {
      method EvalContext (line 71) | explicit EvalContext(
      method EvalContext (line 80) | EvalContext(const EvalContext&) = delete;
      method fallback_loc_id (line 86) | auto fallback_loc_id() const -> SemIR::LocId { return fallback_loc_i...
      method GetDiagnosticLoc (line 92) | auto GetDiagnosticLoc(llvm::ArrayRef<SemIR::InstId> inst_ids)
      method GetCompileTimeBindValue (line 107) | auto GetCompileTimeBindValue(SemIR::CompileTimeBindIndex bind_index)
      method GetInEvaluatedSpecific (line 127) | auto GetInEvaluatedSpecific(const SemIR::SymbolicConstant& symbolic_...
      method GetConstantValue (line 149) | auto GetConstantValue(SemIR::InstId inst_id) -> SemIR::ConstantId {
      method GetTypeOfInst (line 181) | auto GetTypeOfInst(SemIR::InstId inst_id) -> SemIR::TypeId {
      method ints (line 201) | auto ints() -> SharedValueStores::IntStore& { return sem_ir().ints(); }
      method floats (line 202) | auto floats() -> SharedValueStores::FloatStore& { return sem_ir().fl...
      method entity_names (line 203) | auto entity_names() -> SemIR::EntityNameStore& {
      method functions (line 206) | auto functions() -> const SemIR::FunctionStore& {
      method classes (line 209) | auto classes() -> const SemIR::ClassStore& { return sem_ir().classes...
      method interfaces (line 210) | auto interfaces() -> const SemIR::InterfaceStore& {
      method specific_interfaces (line 213) | auto specific_interfaces() -> SemIR::SpecificInterfaceStore& {
      method facet_types (line 216) | auto facet_types() -> SemIR::FacetTypeInfoStore& {
      method generics (line 219) | auto generics() -> const SemIR::GenericStore& { return sem_ir().gene...
      method specifics (line 220) | auto specifics() -> const SemIR::SpecificStore& {
      method insts (line 223) | auto insts() -> const SemIR::InstStore& { return sem_ir().insts(); }
      method inst_blocks (line 224) | auto inst_blocks() -> SemIR::InstBlockStore& {
      method constant_values (line 231) | auto constant_values() -> const SemIR::ConstantValueStore& {
      method types (line 238) | auto types() -> const SemIR::TypeStore& { return sem_ir().types(); }
      method context (line 240) | auto context() -> Context& { return *context_; }
      method sem_ir (line 242) | auto sem_ir() -> SemIR::File& { return context().sem_ir(); }
      method emitter (line 244) | auto emitter() -> DiagnosticEmitterBase& { return context().emitter(...
      method EvalContext (line 247) | explicit EvalContext(Context* context, SemIR::LocId fallback_loc_id,
      method locals (line 256) | auto locals() -> Map<SemIR::InstId, SemIR::ConstantId>& {
    type Phase (line 283) | enum class Phase : uint8_t {
    function IsConstantOrError (line 305) | static auto IsConstantOrError(Phase phase) -> bool {
    function GetPhase (line 310) | static auto GetPhase(const SemIR::ConstantValueStore& constant_values,
    function LatestPhase (line 330) | static auto LatestPhase(Phase a, Phase b) -> Phase {
    function MakeConstantResult (line 336) | static auto MakeConstantResult(Context& context, SemIR::Inst inst, Pha...
    function MakeNonConstantResult (line 359) | static auto MakeNonConstantResult(Phase phase) -> SemIR::ConstantId {
    function MakeEmptyTupleResult (line 365) | static auto MakeEmptyTupleResult(EvalContext& eval_context)
    function MakeBoolResult (line 376) | static auto MakeBoolResult(Context& context, SemIR::TypeId bool_type_id,
    function MakeIntResult (line 386) | static auto MakeIntResult(Context& context, SemIR::TypeId type_id,
    function MakeFloatResult (line 398) | static auto MakeFloatResult(Context& context, SemIR::TypeId type_id,
    function MakeFacetTypeResult (line 407) | static auto MakeFacetTypeResult(Context& context,
    function GetConstantValue (line 429) | static auto GetConstantValue(EvalContext& eval_context, SemIR::InstId ...
    function DiagnoseNonConstantValue (line 442) | static auto DiagnoseNonConstantValue(EvalContext& eval_context,
    function RequireConstantValue (line 454) | static auto RequireConstantValue(EvalContext& eval_context,
    function RequireConstantValueIgnoringPeriodSelf (line 481) | static auto RequireConstantValueIgnoringPeriodSelf(EvalContext& eval_c...
    function CheckConcreteValue (line 502) | static auto CheckConcreteValue(EvalContext& eval_context, SemIR::InstI...
    function GetConstantValue (line 517) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantValue (line 550) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantValue (line 562) | static auto GetConstantValue(EvalContext& /*eval_context*/,
    function GetTypeOfInst (line 574) | static auto GetTypeOfInst(EvalContext& eval_context, SemIR::InstId ins...
    function GetConstantValue (line 592) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantValue (line 622) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantValue (line 654) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantValue (line 684) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantFacetTypeInfo (line 699) | static auto GetConstantFacetTypeInfo(EvalContext& eval_context,
    function GetConstantValue (line 771) | static auto GetConstantValue(EvalContext& eval_context,
    function GetConstantValue (line 780) | static auto GetConstantValue(EvalContext& eval_context,
    function ReplaceFieldWithConstantValue (line 802) | static auto ReplaceFieldWithConstantValue(EvalContext& eval_context,
    function Accept (line 816) | static void Accept(T /*arg*/) {}
    function GetArgHandlerFn (line 832) | static auto GetArgHandlerFn(TypeEnum<Types...> id_kind) -> ArgHandlerF...
    function GetConstantValueForArg (line 859) | static auto GetConstantValueForArg(EvalContext& eval_context,
    function ReplaceAllFieldsWithConstantValues (line 870) | static auto ReplaceAllFieldsWithConstantValues(EvalContext& eval_context,
    function ReplaceTypeWithConstantValue (line 890) | static auto ReplaceTypeWithConstantValue(EvalContext& eval_context,
    function ReplaceTypeWithConstantValue (line 899) | static auto ReplaceTypeWithConstantValue(EvalContext& eval_context,
    function KindHasGetConstantValueOverload (line 907) | static auto KindHasGetConstantValueOverload(TypeEnum<Types...> e) -> b...
    function ResolveSpecificDeclForSpecificId (line 913) | static auto ResolveSpecificDeclForSpecificId(EvalContext& eval_context,
    function ResolveSpecificDeclForInst (line 937) | static auto ResolveSpecificDeclForInst(EvalContext& eval_context,
    function AddImportedConstant (line 1000) | auto AddImportedConstant(Context& context, SemIR::Inst inst)
    function PerformArrayIndex (line 1015) | static auto PerformArrayIndex(EvalContext& eval_context, SemIR::ArrayI...
    function PerformCheckedCharConvert (line 1073) | static auto PerformCheckedCharConvert(Context& context, SemIR::LocId l...
    function MakeIntTypeResult (line 1095) | static auto MakeIntTypeResult(Context& context, SemIR::LocId loc_id,
    function MakeFloatTypeResult (line 1109) | static auto MakeFloatTypeResult(Context& context, SemIR::LocId loc_id,
    function PerformIntConvert (line 1123) | static auto PerformIntConvert(Context& context, SemIR::InstId arg_id,
    function PerformCheckedIntConvert (line 1143) | static auto PerformCheckedIntConvert(Context& context, SemIR::LocId lo...
    function PerformCheckedFloatConvert (line 1183) | static auto PerformCheckedFloatConvert(Context& context, SemIR::LocId ...
    function DiagnoseDivisionByZero (line 1269) | static auto DiagnoseDivisionByZero(Context& context, SemIR::LocId loc_id)
    function GetIntAtSuitableWidth (line 1277) | static auto GetIntAtSuitableWidth(Context& context, IntId int_id,
    function PerformBuiltinUnaryIntOp (line 1285) | static auto PerformBuiltinUnaryIntOp(Context& context, SemIR::LocId lo...
    type APIntBinaryOperands (line 1332) | struct APIntBinaryOperands {
    function GetIntsAtSuitableWidth (line 1341) | static auto GetIntsAtSuitableWidth(Context& context, IntId lhs_id, Int...
    type BinaryIntOpResult (line 1363) | struct BinaryIntOpResult {
    function ComputeBinaryIntOpResult (line 1371) | static auto ComputeBinaryIntOpResult(SemIR::BuiltinFunctionKind builti...
    function PerformBuiltinIntShiftOp (line 1452) | static auto PerformBuiltinIntShiftOp(Context& context, SemIR::LocId lo...
    function PerformBuiltinBinaryIntOp (line 1530) | static auto PerformBuiltinBinaryIntOp(Context& context, SemIR::LocId l...
    function PerformBuiltinIntComparison (line 1604) | static auto PerformBuiltinIntComparison(Context& context,
    function PerformBuiltinUnaryFloatOp (line 1643) | static auto PerformBuiltinUnaryFloatOp(Context& context,
    function PerformBuiltinBinaryFloatOp (line 1662) | static auto PerformBuiltinBinaryFloatOp(Context& context,
    function PerformBuiltinFloatComparison (line 1695) | static auto PerformBuiltinFloatComparison(
    function PerformBuiltinBoolComparison (line 1732) | static auto PerformBuiltinBoolComparison(
    function ArgToFacetTypeId (line 1744) | static auto ArgToFacetTypeId(Context& context, SemIR::LocId loc_id,
    function MakeConstantForBuiltinCall (line 1764) | static auto MakeConstantForBuiltinCall(EvalContext& eval_context,
    function MakeConstantForCall (line 2092) | static auto MakeConstantForCall(EvalContext& eval_context,
    function ComputeInstPhase (line 2188) | static auto ComputeInstPhase(Context& context, SemIR::Inst inst) -> Ph...
    function ConvertEvalResultToConstantId (line 2201) | static auto ConvertEvalResultToConstantId(Context& context,
    function TryEvalTypedInst (line 2235) | static auto TryEvalTypedInst(EvalContext& eval_context, SemIR::InstId ...
    function IsSameFacetValue (line 2427) | static auto IsSameFacetValue(Context& context, SemIR::ConstantId const...
    function TryEvalInstInContext (line 2524) | static auto TryEvalInstInContext(EvalContext& eval_context,
    function TryEvalInstUnsafe (line 2538) | auto TryEvalInstUnsafe(Context& context, SemIR::InstId inst_id,
    function TryEvalBlockForSpecific (line 2544) | auto TryEvalBlockForSpecific(Context& context, SemIR::LocId loc_id,
    class FunctionExecContext (line 2583) | class FunctionExecContext : public EvalContext {
      type BlockArgValue (line 2586) | struct BlockArgValue {
      method FunctionExecContext (line 2591) | FunctionExecContext(Context* context, SemIR::LocId loc_id,
      method args (line 2600) | auto args() const -> llvm::ArrayRef<SemIR::InstId> { return args_; }
      method BranchTo (line 2606) | auto BranchTo(SemIR::InstBlockId block_id) -> void {
      method PushBlock (line 2612) | auto PushBlock(SemIR::InstBlockId block_id) -> void {
      method PopNextInstId (line 2617) | auto PopNextInstId() -> SemIR::InstId {
      method SetCurrentBlockArgValue (line 2627) | auto SetCurrentBlockArgValue(BlockArgValue arg) -> void {
      method current_block_arg_value (line 2632) | auto current_block_arg_value() const -> BlockArgValue {
    function HandleExecResult (line 2657) | static auto HandleExecResult(FunctionExecContext& eval_context,
    function TryExecTypedInst (line 2680) | static auto TryExecTypedInst(FunctionExecContext& eval_context,
    function TryExecTypedParam (line 2803) | static auto TryExecTypedParam(FunctionExecContext& eval_context,
    function TryExecInst (line 2861) | static auto TryExecInst(FunctionExecContext& eval_context,
    function TryEvalCall (line 2877) | static auto TryEvalCall(EvalContext& outer_eval_context, SemIR::LocId ...

FILE: toolchain/check/eval.h
  function namespace (line 13) | namespace Carbon::Check {

FILE: toolchain/check/eval_inst.cpp
  type Carbon::Check (line 30) | namespace Carbon::Check {
    function PerformAggregateAccess (line 33) | static auto PerformAggregateAccess(Context& context, SemIR::Inst inst)
    function EvalConstantInst (line 51) | auto EvalConstantInst(Context& /*context*/, SemIR::ArrayInit inst)
    function EvalConstantInst (line 59) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 92) | auto EvalConstantInst(Context& context, SemIR::AsCompatible inst)
    function EvalConstantInst (line 105) | auto EvalConstantInst(Context& context, SemIR::AliasBinding inst)
    function EvalConstantInst (line 112) | auto EvalConstantInst(Context& context, SemIR::RefBinding inst)
    function EvalConstantInst (line 122) | auto EvalConstantInst(Context& /*context*/, SemIR::ValueBinding /*inst*/)
    function EvalConstantInst (line 128) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 143) | auto EvalConstantInst(Context& context, SemIR::ClassElementAccess inst)
    function EvalConstantInst (line 148) | auto EvalConstantInst(Context& context, SemIR::ClassDecl inst)
    function EvalConstantInst (line 167) | auto EvalConstantInst(Context& /*context*/, SemIR::ClassInit inst)
    function EvalConstantInst (line 175) | auto EvalConstantInst(Context& context, SemIR::ConstType inst)
    function EvalConstantInst (line 186) | auto EvalConstantInst(Context& /*context*/, SemIR::PartialType inst)
    function EvalConstantInst (line 191) | auto EvalConstantInst(Context& context, SemIR::Converted inst)
    function EvalConstantInst (line 198) | auto EvalConstantInst(Context& /*context*/, SemIR::Deref /*inst*/)
    function EvalConstantInst (line 204) | auto EvalConstantInst(Context& context, SemIR::ExportDecl inst)
    function EvalConstantInst (line 211) | auto EvalConstantInst(Context& context, SemIR::FacetAccessType inst)
    function EvalConstantInst (line 246) | auto EvalConstantInst(Context& context, SemIR::FacetValue inst)
    function EvalConstantInst (line 266) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 273) | auto EvalConstantInst(Context& /*context*/, SemIR::FunctionDecl inst)
    function EvalConstantInst (line 282) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 329) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 436) | auto EvalConstantInst(Context& context,
    function EvalConstantInst (line 443) | auto EvalConstantInst(Context& context,
    function EvalConstantInst (line 450) | auto EvalConstantInst(Context& /*context*/, SemIR::ImportRefUnloaded i...
    function EvalConstantInst (line 456) | auto EvalConstantInst(Context& context, SemIR::InPlaceInit inst)
    function EvalConstantInst (line 464) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 471) | auto EvalConstantInst(Context& context, SemIR::InterfaceDecl inst)
    function EvalConstantInst (line 489) | auto EvalConstantInst(Context& context, SemIR::NamedConstraintDecl inst)
    function EvalConstantInst (line 509) | auto EvalConstantInst(Context& context, SemIR::NameRef inst)
    function EvalConstantInst (line 516) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 554) | auto EvalConstantInst(Context& context, SemIR::RequireSpecificDefiniti...
    function EvalConstantInst (line 561) | auto EvalConstantInst(Context& context, SemIR::SpecificConstant inst)
    function EvalConstantInst (line 568) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 625) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,
    function EvalConstantInst (line 642) | auto EvalConstantInst(Context& context, SemIR::SpliceBlock inst)
    function EvalConstantInst (line 651) | auto EvalConstantInst(Context& context, SemIR::SpliceInst inst)
    function EvalConstantInst (line 668) | auto EvalConstantInst(Context& context, SemIR::StructAccess inst)
    function EvalConstantInst (line 673) | auto EvalConstantInst(Context& /*context*/, SemIR::StructInit inst)
    function EvalConstantInst (line 679) | auto EvalConstantInst(Context& /*context*/, SemIR::StructLiteral inst)
    function EvalConstantInst (line 685) | auto EvalConstantInst(Context& /*context*/, SemIR::Temporary /*inst*/)
    function EvalConstantInst (line 691) | auto EvalConstantInst(Context& context, SemIR::TupleAccess inst)
    function EvalConstantInst (line 696) | auto EvalConstantInst(Context& /*context*/, SemIR::TupleInit inst)
    function EvalConstantInst (line 702) | auto EvalConstantInst(Context& /*context*/, SemIR::TupleLiteral inst)
    function EvalConstantInst (line 708) | auto EvalConstantInst(Context& context, SemIR::TypeComponentOf inst)
    function EvalConstantInst (line 720) | auto EvalConstantInst(Context& context, SemIR::TypeLiteral inst)
    function EvalConstantInst (line 726) | auto EvalConstantInst(Context& context, SemIR::TypeOfInst inst)
    function EvalConstantInst (line 737) | auto EvalConstantInst(Context& context, SemIR::UnaryOperatorNot inst)
    function EvalConstantInst (line 751) | auto EvalConstantInst(Context& /*context*/, SemIR::UpdateInit /*inst*/)
    function EvalConstantInst (line 758) | auto EvalConstantInst(Context& context, SemIR::ValueOfInitializer inst)
    function EvalConstantInst (line 767) | auto EvalConstantInst(Context& context, SemIR::InstId inst_id,

FILE: toolchain/check/eval_inst.h
  function namespace (line 11) | namespace Carbon::Check {
  function namespace (line 99) | namespace Internal {

FILE: toolchain/check/facet_type.cpp
  type Carbon::Check (line 21) | namespace Carbon::Check {
    function FacetTypeFromInterface (line 23) | auto FacetTypeFromInterface(Context& context, SemIR::InterfaceId inter...
    function FacetTypeFromNamedConstraint (line 32) | auto FacetTypeFromNamedConstraint(Context& context,
    function GetImplWitnessAccessWithoutSubstitution (line 43) | auto GetImplWitnessAccessWithoutSubstitution(Context& context,
    class AccessRewriteValues (line 56) | class AccessRewriteValues {
      type State (line 58) | enum State {
      type Value (line 63) | struct Value {
      method InsertNotRewritten (line 68) | auto InsertNotRewritten(
      method FindRef (line 78) | auto FindRef(Context& context,
      method SetBeingRewritten (line 88) | auto SetBeingRewritten(Value& value) -> void {
      method SetFullyRewritten (line 94) | auto SetFullyRewritten(Context& context, Value& value, SemIR::InstId...
    class SubstImplWitnessAccessCallbacks (line 143) | class SubstImplWitnessAccessCallbacks : public SubstInstCallbacks {
      method SubstImplWitnessAccessCallbacks (line 145) | explicit SubstImplWitnessAccessCallbacks(Context* context,
      method Subst (line 152) | auto Subst(SemIR::InstId& rhs_inst_id) -> SubstResult override {
      method Rebuild (line 235) | auto Rebuild(SemIR::InstId /*orig_inst_id*/, SemIR::Inst new_inst)
      method ReuseUnchanged (line 250) | auto ReuseUnchanged(SemIR::InstId orig_inst_id) -> SemIR::InstId ove...
      type SubstInProgress (line 265) | struct SubstInProgress {
    function ResolveFacetTypeRewriteConstraints (line 291) | auto ResolveFacetTypeRewriteConstraints(
    function MakePeriodSelfFacetValue (line 404) | auto MakePeriodSelfFacetValue(Context& context, SemIR::TypeId self_typ...
    function GetEmptyFacetType (line 425) | auto GetEmptyFacetType(Context& context) -> SemIR::TypeId {
    function GetConstantFacetValueForType (line 434) | auto GetConstantFacetValueForType(Context& context,
    function GetConstantFacetValueForTypeAndInterface (line 447) | auto GetConstantFacetValueForTypeAndInterface(

FILE: toolchain/check/facet_type.h
  function namespace (line 14) | namespace Carbon::Check {

FILE: toolchain/check/full_pattern_stack.h
  type class (line 39) | enum class

FILE: toolchain/check/function.cpp
  type Carbon::Check (line 23) | namespace Carbon::Check {
    function FindSelfPattern (line 25) | auto FindSelfPattern(Context& context,
    function AddReturnPatterns (line 35) | auto AddReturnPatterns(Context& context, SemIR::LocId loc_id,
    function IsValidBuiltinDeclaration (line 72) | auto IsValidBuiltinDeclaration(Context& context,
    type FunctionSignatureInsts (line 99) | struct FunctionSignatureInsts {
    function MakeFunctionSignature (line 116) | static auto MakeFunctionSignature(Context& context, SemIR::LocId loc_id,
    function MakeGeneratedFunctionDecl (line 184) | auto MakeGeneratedFunctionDecl(Context& context, SemIR::LocId loc_id,
    function CheckFunctionReturnTypeMatches (line 223) | auto CheckFunctionReturnTypeMatches(Context& context,
    function CheckFunctionEvaluationModeMatches (line 280) | static auto CheckFunctionEvaluationModeMatches(
    function CheckFunctionTypeMatches (line 320) | auto CheckFunctionTypeMatches(Context& context,
    function CheckFunctionReturnPatternType (line 342) | auto CheckFunctionReturnPatternType(Context& context, SemIR::LocId loc...
    function CheckFunctionDefinitionSignature (line 376) | auto CheckFunctionDefinitionSignature(Context& context,
    function StartFunctionSignature (line 431) | auto StartFunctionSignature(Context& context) -> void {
    function FinishFunctionSignature (line 438) | auto FinishFunctionSignature(Context& context, bool check_unused)
    function MakeFunctionDecl (line 447) | auto MakeFunctionDecl(Context& context, SemIR::LocId loc_id,
    function StartFunctionDefinition (line 476) | auto StartFunctionDefinition(Context& context, SemIR::InstId decl_id,
    function FinishFunctionDefinition (line 488) | auto FinishFunctionDefinition(Context& context, SemIR::FunctionId func...

FILE: toolchain/check/function.h
  function FunctionDeclArgs (line 29) | auto IsValidBuiltinDeclaration(Context& context,
  type FinishFunctionSignatureResult (line 109) | struct FinishFunctionSignatureResult {

FILE: toolchain/check/generic.cpp
  type Carbon::Check (line 24) | namespace Carbon::Check {
    function GetOrCreatePendingGeneric (line 35) | static auto GetOrCreatePendingGeneric(Context& context)
    function AddGenericConstantInstToEvalBlock (line 56) | static auto AddGenericConstantInstToEvalBlock(
    class RebuildGenericConstantInEvalBlockCallbacks (line 74) | class RebuildGenericConstantInEvalBlockCallbacks : public SubstInstCal...
      method RebuildGenericConstantInEvalBlockCallbacks (line 77) | RebuildGenericConstantInEvalBlockCallbacks(Context* context,
      method RebuildType (line 84) | auto RebuildType(SemIR::TypeInstId type_inst_id) const
      method Subst (line 93) | auto Subst(SemIR::InstId& inst_id) -> SubstResult override {
      method Rebuild (line 124) | auto Rebuild(SemIR::InstId orig_inst_id, SemIR::Inst new_inst)
      method ReuseUnchanged (line 149) | auto ReuseUnchanged(SemIR::InstId orig_inst_id) -> SemIR::InstId ove...
    class RebuildTemplateActionInEvalBlockCallbacks (line 168) | class RebuildTemplateActionInEvalBlockCallbacks final
      method RebuildTemplateActionInEvalBlockCallbacks (line 172) | RebuildTemplateActionInEvalBlockCallbacks(Context* context,
      method Rebuild (line 178) | auto Rebuild(SemIR::InstId orig_inst_id, SemIR::Inst new_inst)
      method ReuseUnchanged (line 190) | auto ReuseUnchanged(SemIR::InstId orig_inst_id) -> SemIR::InstId ove...
    function AddGenericTypeToEvalBlock (line 206) | static auto AddGenericTypeToEvalBlock(Context& context, SemIR::LocId l...
    function AddGenericConstantToEvalBlock (line 222) | static auto AddGenericConstantToEvalBlock(Context& context,
    function AddTemplateActionToEvalBlock (line 246) | static auto AddTemplateActionToEvalBlock(Context& context,
    function PopulateConstantsFromDeclaration (line 272) | static auto PopulateConstantsFromDeclaration(
    function AttachDependentInstToCurrentGeneric (line 288) | auto AttachDependentInstToCurrentGeneric(Context& context,
    function MakeGenericEvalBlock (line 348) | static auto MakeGenericEvalBlock(Context& context) -> SemIR::InstBlock...
    function RebuildGenericEvalBlock (line 356) | auto RebuildGenericEvalBlock(Context& context, SemIR::GenericId generi...
    function StartGenericDecl (line 386) | auto StartGenericDecl(Context& context) -> void {
    function StartGenericDefinition (line 392) | auto StartGenericDefinition(Context& context, SemIR::GenericId generic...
    function DiscardGenericDecl (line 411) | auto DiscardGenericDecl(Context& context) -> void {
    function BuildGeneric (line 425) | auto BuildGeneric(Context& context, SemIR::InstId decl_id) -> SemIR::G...
    function FinishGenericDecl (line 470) | auto FinishGenericDecl(Context& context, SemIR::LocId loc_id,
    function BuildGenericDecl (line 483) | auto BuildGenericDecl(Context& context, SemIR::InstId decl_id)
    function FirstDifferenceBetweenEvalBlocks (line 493) | static auto FirstDifferenceBetweenEvalBlocks(
    function ReattachConstant (line 533) | static auto ReattachConstant(Context& context, SemIR::GenericId generi...
    function ReattachType (line 556) | static auto ReattachType(Context& context, SemIR::GenericId generic_id,
    function FinishGenericRedecl (line 563) | auto FinishGenericRedecl(Context& context, SemIR::GenericId generic_id)
    function FinishGenericDefinition (line 635) | auto FinishGenericDefinition(Context& context, SemIR::GenericId generi...
    function ResolveSpecificDecl (line 647) | auto ResolveSpecificDecl(Context& context, SemIR::LocId loc_id,
    function MakeSpecific (line 665) | auto MakeSpecific(Context& context, SemIR::LocId loc_id,
    function MakeSpecific (line 673) | auto MakeSpecific(Context& context, SemIR::LocId loc_id,
    function MakeSelfSpecificId (line 680) | static auto MakeSelfSpecificId(Context& context, SemIR::GenericId gene...
    function MakeSelfSpecific (line 699) | auto MakeSelfSpecific(Context& context, SemIR::LocId loc_id,
    function ResolveSpecificDefinition (line 710) | auto ResolveSpecificDefinition(Context& context, SemIR::LocId loc_id,
    function DiagnoseIfGenericMissingExplicitParameters (line 733) | auto DiagnoseIfGenericMissingExplicitParameters(
    function ValidateGenericWithoutAndWithSelfMatch (line 746) | static auto ValidateGenericWithoutAndWithSelfMatch(
    function MakeSpecificWithInnerSelf (line 821) | auto MakeSpecificWithInnerSelf(Context& context, SemIR::LocId loc_id,
    function CopySpecificToGeneric (line 853) | auto CopySpecificToGeneric(Context& context, SemIR::LocId loc_id,

FILE: toolchain/check/generic.h
  function X (line 27) | X(SymbolicConstant)                                                       \

FILE: toolchain/check/generic_region_stack.cpp
  type Carbon::Check (line 9) | namespace Carbon::Check {

FILE: toolchain/check/generic_region_stack.h
  function namespace (line 12) | namespace Carbon::Check {

FILE: toolchain/check/global_init.cpp
  type Carbon::Check (line 10) | namespace Carbon::Check {

FILE: toolchain/check/global_init.h
  function namespace (line 11) | namespace Carbon::Check {

FILE: toolchain/check/handle.h
  function namespace (line 13) | namespace Carbon::Check {

FILE: toolchain/check/handle_alias.cpp
  type Carbon::Check (line 15) | namespace Carbon::Check {
    function HandleParseNode (line 17) | auto HandleParseNode(Context& context, Parse::AliasIntroducerId /*node...
    function HandleParseNode (line 28) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 33) | auto HandleParseNode(Context& context, Parse::AliasId /*node_id*/) -> ...

FILE: toolchain/check/handle_array.cpp
  type Carbon::Check (line 12) | namespace Carbon::Check {
    function HandleParseNode (line 14) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 19) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 24) | auto HandleParseNode(Context& /*context*/, Parse::ArrayExprCommaId /*n...
    function HandleParseNode (line 29) | auto HandleParseNode(Context& context, Parse::ArrayExprId node_id) -> ...

FILE: toolchain/check/handle_binding_pattern.cpp
  type Carbon::Check (line 27) | namespace Carbon::Check {
    function HandleParseNode (line 29) | auto HandleParseNode(Context& context, Parse::UnderscoreNameId node_id)
    function GetPatternInstKind (line 36) | static auto GetPatternInstKind(Parse::NodeKind node_kind, bool is_ref)
    function IsValidParamForIntroducer (line 54) | static auto IsValidParamForIntroducer(Context& context, Parse::NodeId ...
    type BindingPatternTypeInfo (line 114) | struct BindingPatternTypeInfo {
    function HandleAnyBindingPatternType (line 128) | static auto HandleAnyBindingPatternType(Context& context,
    function HandleAnyBindingPattern (line 147) | static auto HandleAnyBindingPattern(Context& context, Parse::NodeId no...
    function HandleParseNode (line 362) | auto HandleParseNode(Context& context, Parse::LetBindingPatternId node...
    function HandleParseNode (line 368) | auto HandleParseNode(Context& context, Parse::VarBindingPatternId node...
    function HandleParseNode (line 374) | auto HandleParseNode(Context& context, Parse::FormBindingPatternId nod...
    function HandleParseNode (line 380) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 398) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 430) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 463) | auto HandleParseNode(Context& context, Parse::FieldNameAndTypeId node_id)
    function HandleParseNode (line 511) | auto HandleParseNode(Context& context, Parse::RefBindingNameId node_id)
    function HandleParseNode (line 517) | auto HandleParseNode(Context& context, Parse::TemplateBindingNameId no...
    function MarkPatternUnused (line 527) | static auto MarkPatternUnused(Context& context, SemIR::InstId inst_id)...
    function HandleParseNode (line 568) | auto HandleParseNode(Context& context, Parse::UnusedPatternId node_id)...

FILE: toolchain/check/handle_call_expr.cpp
  type Carbon::Check (line 12) | namespace Carbon::Check {
    function HandleParseNode (line 14) | auto HandleParseNode(Context& context, Parse::CallExprStartId node_id)...
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::CallExprId node_id) -> b...

FILE: toolchain/check/handle_choice.cpp
  type Carbon::Check (line 23) | namespace Carbon::Check {
    function HandleParseNode (line 25) | auto HandleParseNode(Context& context, Parse::ChoiceIntroducerId node_id)
    function HandleParseNode (line 42) | auto HandleParseNode(Context& context, Parse::ChoiceDefinitionStartId ...
    function AddChoiceAlternative (line 137) | static auto AddChoiceAlternative(
    type ChoiceInfo (line 168) | struct ChoiceInfo {
    function MakeLetBinding (line 186) | static auto MakeLetBinding(Context& context, const ChoiceInfo& choice_...
    function HandleParseNode (line 237) | auto HandleParseNode(Context& context, Parse::ChoiceDefinitionId node_id)
    function HandleParseNode (line 320) | auto HandleParseNode(Context& context,

FILE: toolchain/check/handle_class.cpp
  type Carbon::Check (line 34) | namespace Carbon::Check {
    function HandleParseNode (line 36) | auto HandleParseNode(Context& context, Parse::ClassIntroducerId node_id)
    function MergeClassRedecl (line 57) | static auto MergeClassRedecl(Context& context, Parse::AnyClassDeclId n...
    function MergeOrAddName (line 101) | static auto MergeOrAddName(Context& context, Parse::AnyClassDeclId nod...
    function BuildClassDecl (line 178) | static auto BuildClassDecl(Context& context, Parse::AnyClassDeclId nod...
    function HandleParseNode (line 269) | auto HandleParseNode(Context& context, Parse::ClassDeclId node_id) -> ...
    function HandleParseNode (line 275) | auto HandleParseNode(Context& context, Parse::ClassDefinitionStartId n...
    function DiagnoseClassSpecificDeclOutsideClass (line 307) | static auto DiagnoseClassSpecificDeclOutsideClass(Context& context,
    function GetCurrentScopeAsClassOrDiagnose (line 317) | static auto GetCurrentScopeAsClassOrDiagnose(Context& context,
    function DiagnoseClassSpecificDeclRepeated (line 331) | static auto DiagnoseClassSpecificDeclRepeated(Context& context,
    function HandleParseNode (line 350) | auto HandleParseNode(Context& context, Parse::AdaptIntroducerId /*node...
    function HandleParseNode (line 356) | auto HandleParseNode(Context& context, Parse::AdaptDeclId node_id) -> ...
    function HandleParseNode (line 415) | auto HandleParseNode(Context& context, Parse::BaseIntroducerId /*node_...
    function HandleParseNode (line 421) | auto HandleParseNode(Context& /*context*/, Parse::BaseColonId /*node_i...
    type BaseInfo (line 428) | struct BaseInfo {
    function DiagnoseBaseIsFinal (line 442) | static auto DiagnoseBaseIsFinal(Context& context, Parse::NodeId node_id,
    function CheckBaseType (line 452) | static auto CheckBaseType(Context& context, Parse::NodeId node_id,
    function HandleParseNode (line 492) | auto HandleParseNode(Context& context, Parse::BaseDeclId node_id) -> b...
    function HandleParseNode (line 568) | auto HandleParseNode(Context& context, Parse::ClassDefinitionId node_id)

FILE: toolchain/check/handle_codeblock.cpp
  type Carbon::Check (line 9) | namespace Carbon::Check {
    function HandleParseNode (line 11) | auto HandleParseNode(Context& context, Parse::CodeBlockStartId node_id)
    function HandleParseNode (line 18) | auto HandleParseNode(Context& context, Parse::CodeBlockId /*node_id*/)...

FILE: toolchain/check/handle_export.cpp
  type Carbon::Check (line 17) | namespace Carbon::Check {
    function HandleParseNode (line 19) | auto HandleParseNode(Context& context, Parse::ExportIntroducerId /*nod...
    function HandleParseNode (line 30) | auto HandleParseNode(Context& context, Parse::ExportDeclId node_id) ->...

FILE: toolchain/check/handle_expr_statement.cpp
  type Carbon::Check (line 10) | namespace Carbon::Check {
    function HandleParseNode (line 12) | auto HandleParseNode(Context& context, Parse::ExprStatementId /*node_i...

FILE: toolchain/check/handle_file.cpp
  type Carbon::Check (line 8) | namespace Carbon::Check {
    function HandleParseNode (line 10) | auto HandleParseNode(Context& /*context*/, Parse::FileStartId /*node_i...
    function HandleParseNode (line 18) | auto HandleParseNode(Context& /*context*/, Parse::FileEndId /*node_id*/)

FILE: toolchain/check/handle_form_literal.cpp
  type Carbon::Check (line 11) | namespace Carbon::Check {
    function HandleParseNode (line 13) | auto HandleParseNode(Context& context, Parse::RefPrimitiveFormId node_id)
    function HandleParseNode (line 25) | auto HandleParseNode(Context& context, Parse::ValPrimitiveFormId node_id)
    function HandleParseNode (line 37) | auto HandleParseNode(Context& context, Parse::VarPrimitiveFormId node_id)
    function HandleParseNode (line 49) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 54) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 59) | auto HandleParseNode(Context& /*context*/, Parse::FormLiteralId /*node...

FILE: toolchain/check/handle_function.cpp
  type Carbon::Check (line 35) | namespace Carbon::Check {
    function HandleParseNode (line 37) | auto HandleParseNode(Context& context, Parse::FunctionIntroducerId nod...
    function HandleReturnDecl (line 53) | static auto HandleReturnDecl(Context& context, Parse::AnyReturnDeclId ...
    function HandleParseNode (line 69) | auto HandleParseNode(Context& context, Parse::ReturnTypeId node_id) ->...
    function HandleParseNode (line 73) | auto HandleParseNode(Context& context, Parse::ReturnFormId node_id) ->...
    function DiagnoseModifiers (line 79) | static auto DiagnoseModifiers(Context& context,
    function GetVirtualModifier (line 115) | static auto GetVirtualModifier(const KeywordModifierSet& modifier_set)
    function GetEvaluationMode (line 128) | static auto GetEvaluationMode(const KeywordModifierSet& modifier_set)
    function MergeFunctionRedecl (line 143) | static auto MergeFunctionRedecl(Context& context,
    function TryMergeRedecl (line 188) | static auto TryMergeRedecl(Context& context, Parse::AnyFunctionDeclId ...
    function MaybeAddToNameLookup (line 264) | static auto MaybeAddToNameLookup(Context& context,
    function IsI32 (line 292) | static auto IsI32(Context& context, Parse::NodeId node_id,
    function IsValidEntryPointParamList (line 300) | static auto IsValidEntryPointParamList(Context& context, Parse::NodeId...
    function IsValidEntryPointReturnType (line 360) | static auto IsValidEntryPointReturnType(Context& context, Parse::NodeI...
    function ValidateForEntryPoint (line 383) | static auto ValidateForEntryPoint(Context& context,
    function IsGenericFunction (line 411) | static auto IsGenericFunction(Context& context,
    function RequestVtableIfVirtual (line 436) | static auto RequestVtableIfVirtual(
    function DiagnosePositionalParams (line 477) | static auto DiagnosePositionalParams(Context& context,
    function BuildFunctionDecl (line 491) | static auto BuildFunctionDecl(Context& context,
    function CheckUnusedBindingsInPattern (line 608) | static auto CheckUnusedBindingsInPattern(Context& context,
    function DiagnoseUnusedMarkersInDeclaration (line 650) | static auto DiagnoseUnusedMarkersInDeclaration(Context& context,
    function HandleParseNode (line 662) | auto HandleParseNode(Context& context, Parse::FunctionDeclId node_id) ...
    function HandleFunctionDefinitionAfterSignature (line 673) | static auto HandleFunctionDefinitionAfterSignature(
    function HandleFunctionDefinitionSuspend (line 680) | auto HandleFunctionDefinitionSuspend(Context& context,
    function HandleFunctionDefinitionResume (line 691) | auto HandleFunctionDefinitionResume(
    function HandleParseNode (line 699) | auto HandleParseNode(Context& context, Parse::FunctionDefinitionStartI...
    function HandleParseNode (line 709) | auto HandleParseNode(Context& context, Parse::FunctionDefinitionId nod...
    function HandleParseNode (line 734) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 743) | auto HandleParseNode(Context& context, Parse::BuiltinNameId node_id) -...
    function LookupBuiltinFunctionKind (line 750) | static auto LookupBuiltinFunctionKind(Context& context,
    function HandleParseNode (line 766) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 796) | auto HandleParseNode(Context& context, Parse::FunctionTerseDefinitionI...

FILE: toolchain/check/handle_if_expr.cpp
  type Carbon::Check (line 11) | namespace Carbon::Check {
    function HandleParseNode (line 13) | auto HandleParseNode(Context& context, Parse::IfExprIfId node_id) -> b...
    function DecayIntLiteralToSizedInt (line 37) | static auto DecayIntLiteralToSizedInt(Context& context, Parse::NodeId ...
    function HandleParseNode (line 51) | auto HandleParseNode(Context& context, Parse::IfExprThenId node_id) ->...
    function HandleParseNode (line 67) | auto HandleParseNode(Context& context, Parse::IfExprElseId node_id) ->...

FILE: toolchain/check/handle_if_statement.cpp
  type Carbon::Check (line 11) | namespace Carbon::Check {
    function HandleParseNode (line 13) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 18) | auto HandleParseNode(Context& context, Parse::IfConditionId node_id) -...
    function HandleParseNode (line 39) | auto HandleParseNode(Context& context, Parse::IfStatementElseId node_id)
    function HandleParseNode (line 51) | auto HandleParseNode(Context& context, Parse::IfStatementId node_id) -...

FILE: toolchain/check/handle_impl.cpp
  type Carbon::Check (line 29) | namespace Carbon::Check {
    function GetImplDefaultSelfType (line 35) | static auto GetImplDefaultSelfType(Context& context,
    function HandleParseNode (line 41) | auto HandleParseNode(Context& context, Parse::ImplIntroducerId node_id)
    function HandleParseNode (line 63) | auto HandleParseNode(Context& context, Parse::ForallId /*node_id*/) ->...
    function HandleParseNode (line 70) | auto HandleParseNode(Context& context, Parse::ImplTypeAsId node_id) ->...
    function HandleParseNode (line 113) | auto HandleParseNode(Context& context, Parse::ImplDefaultSelfAsId node...
    function PopImplIntroducerAndParamsAsNameComponent (line 147) | static auto PopImplIntroducerAndParamsAsNameComponent(
    function BuildImplDecl (line 196) | static auto BuildImplDecl(Context& context, Parse::AnyImplDeclId node_id)
    function HandleParseNode (line 319) | auto HandleParseNode(Context& context, Parse::ImplDeclId node_id) -> b...
    function HandleParseNode (line 335) | auto HandleParseNode(Context& context, Parse::ImplDefinitionStartId no...
    function HandleParseNode (line 369) | auto HandleParseNode(Context& context, Parse::ImplDefinitionId /*node_...

FILE: toolchain/check/handle_import_and_package.cpp
  type Carbon::Check (line 10) | namespace Carbon::Check {
    function HandleParseNode (line 15) | auto HandleParseNode(Context& context, Parse::ImportIntroducerId /*nod...
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::ImportDeclId /*node_id*/)
    function HandleParseNode (line 30) | auto HandleParseNode(Context& context, Parse::LibraryIntroducerId /*no...
    function HandleParseNode (line 36) | auto HandleParseNode(Context& context, Parse::LibraryDeclId /*node_id*/)
    function HandleParseNode (line 45) | auto HandleParseNode(Context& context, Parse::PackageIntroducerId /*no...
    function HandleParseNode (line 51) | auto HandleParseNode(Context& context, Parse::PackageDeclId /*node_id*/)
    function HandleParseNode (line 60) | auto HandleParseNode(Context& context, Parse::LibrarySpecifierId /*nod...
    function HandleParseNode (line 66) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 71) | auto HandleParseNode(Context& /*context*/, Parse::CorePackageNameId /*...
    function HandleParseNode (line 76) | auto HandleParseNode(Context& /*context*/, Parse::CppPackageNameId /*n...
    function HandleParseNode (line 81) | auto HandleParseNode(Context& context, Parse::LibraryNameId node_id) -...
    function HandleParseNode (line 91) | auto HandleParseNode(Context& context, Parse::DefaultLibraryId node_id)
    function HandleParseNode (line 97) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 102) | auto HandleParseNode(Context& /*context*/,

FILE: toolchain/check/handle_index.cpp
  type Carbon::Check (line 21) | namespace Carbon::Check {
    function HandleParseNode (line 23) | auto HandleParseNode(Context& /*context*/, Parse::IndexExprStartId /*n...
    function PerformIndexWith (line 33) | static auto PerformIndexWith(Context& context, Parse::NodeId node_id,
    function HandleParseNode (line 45) | auto HandleParseNode(Context& context, Parse::IndexExprId node_id) -> ...

FILE: toolchain/check/handle_interface.cpp
  type Carbon::Check (line 24) | namespace Carbon::Check {
    function HandleParseNode (line 26) | auto HandleParseNode(Context& context, Parse::InterfaceIntroducerId no...
    function BuildInterfaceDecl (line 42) | static auto BuildInterfaceDecl(Context& context,
    function HandleParseNode (line 104) | auto HandleParseNode(Context& context, Parse::InterfaceDeclId node_id)...
    function HandleParseNode (line 110) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 207) | auto HandleParseNode(Context& context, Parse::InterfaceDefinitionId /*...

FILE: toolchain/check/handle_lambda.cpp
  type Carbon::Check (line 8) | namespace Carbon::Check {
    function HandleParseNode (line 10) | auto HandleParseNode(Context& context, Parse::LambdaIntroducerId node_id)
    function HandleParseNode (line 15) | auto HandleParseNode(Context& context, Parse::LambdaId node_id) -> bool {
    function HandleParseNode (line 19) | auto HandleParseNode(Context& context, Parse::TerseBodyArrowId node_id)

FILE: toolchain/check/handle_let_and_var.cpp
  type Carbon::Check (line 34) | namespace Carbon::Check {
    function EndAssociatedConstantDeclRegion (line 38) | static auto EndAssociatedConstantDeclRegion(Context& context,
    function HandleIntroducer (line 64) | static auto HandleIntroducer(Context& context, Parse::NodeId node_id) ...
    function HandleParseNode (line 74) | auto HandleParseNode(Context& context, Parse::LetIntroducerId node_id)...
    function HandleParseNode (line 78) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 86) | auto HandleParseNode(Context& context, Parse::VariableIntroducerId nod...
    function HandleParseNode (line 91) | auto HandleParseNode(Context& context, Parse::FieldIntroducerId node_id)
    function HandleParseNode (line 98) | auto HandleParseNode(Context& context, Parse::VariablePatternId node_id)
    function EndFullPattern (line 131) | static auto EndFullPattern(Context& context) -> void {
    function StartPatternInitializer (line 151) | static auto StartPatternInitializer(Context& context) -> bool {
    function EndPatternInitializer (line 159) | static auto EndPatternInitializer(Context& context) -> void {
    function HandleInitializer (line 166) | static auto HandleInitializer(Context& context, Parse::NodeId node_id)...
    function HandleParseNode (line 173) | auto HandleParseNode(Context& context, Parse::LetInitializerId node_id)
    function HandleParseNode (line 178) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 186) | auto HandleParseNode(Context& context, Parse::VariableInitializerId no...
    function HandleParseNode (line 191) | auto HandleParseNode(Context& context, Parse::FieldInitializerId node_id)
    function MakeDefaultInit (line 198) | static auto MakeDefaultInit(Context& context, SemIR::LocId loc_id,
    type DeclInfo (line 228) | struct DeclInfo {
    function HandleDecl (line 244) | static auto HandleDecl(Context& context, Parse::NodeId node_id) -> Dec...
    function HandleParseNode (line 294) | auto HandleParseNode(Context& context, Parse::LetDeclId node_id) -> bo...
    function HandleParseNode (line 321) | auto HandleParseNode(Context& context, Parse::AssociatedConstantDeclId...
    function HandleParseNode (line 374) | auto HandleParseNode(Context& context, Parse::VariableDeclId node_id) ...
    function HandleParseNode (line 387) | auto HandleParseNode(Context& context, Parse::FieldDeclId node_id) -> ...

FILE: toolchain/check/handle_literal.cpp
  type Carbon::Check (line 19) | namespace Carbon::Check {
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::BoolLiteralFalseId node_id)
    function HandleParseNode (line 28) | auto HandleParseNode(Context& context, Parse::BoolLiteralTrueId node_id)
    function HandleParseNode (line 35) | auto HandleParseNode(Context& context, Parse::CharLiteralId node_id) -...
    function HandleParseNode (line 46) | auto HandleParseNode(Context& context, Parse::IntLiteralId node_id) ->...
    function HandleParseNode (line 54) | auto HandleParseNode(Context& context, Parse::RealLiteralId node_id) -...
    function HandleParseNode (line 65) | auto HandleParseNode(Context& context, Parse::StringLiteralId node_id)...
    function HandleParseNode (line 74) | auto HandleParseNode(Context& context, Parse::BoolTypeLiteralId node_id)
    function HandleParseNode (line 81) | auto HandleParseNode(Context& context, Parse::CharTypeLiteralId node_id)
    function HandleIntOrUnsignedIntTypeLiteral (line 89) | static auto HandleIntOrUnsignedIntTypeLiteral(Context& context,
    function HandleParseNode (line 107) | auto HandleParseNode(Context& context, Parse::IntTypeLiteralId node_id)
    function HandleParseNode (line 115) | auto HandleParseNode(Context& context, Parse::UnsignedIntTypeLiteralId...
    function HandleParseNode (line 123) | auto HandleParseNode(Context& context, Parse::FloatTypeLiteralId node_id)
    function HandleParseNode (line 132) | auto HandleParseNode(Context& context, Parse::StringTypeLiteralId node...
    function HandleParseNode (line 139) | auto HandleParseNode(Context& context, Parse::TypeTypeLiteralId node_id)
    function HandleParseNode (line 146) | auto HandleParseNode(Context& context, Parse::AutoTypeLiteralId node_id)

FILE: toolchain/check/handle_loop_statement.cpp
  type Carbon::Check (line 21) | namespace Carbon::Check {
    function StartLoopHeader (line 25) | static auto StartLoopHeader(Context& context, Parse::NodeId node_id)
    function BranchAndStartLoopBody (line 43) | static auto BranchAndStartLoopBody(Context& context, Parse::NodeId nod...
    function FinishLoopBody (line 65) | static auto FinishLoopBody(Context& context, Parse::NodeId node_id) ->...
    function HandleParseNode (line 81) | auto HandleParseNode(Context& context, Parse::WhileConditionStartId no...
    function HandleParseNode (line 87) | auto HandleParseNode(Context& context, Parse::WhileConditionId node_id)
    function HandleParseNode (line 99) | auto HandleParseNode(Context& context, Parse::WhileStatementId node_id)
    function HandleParseNode (line 108) | auto HandleParseNode(Context& context, Parse::ForHeaderStartId node_id)
    function HandleParseNode (line 125) | auto HandleParseNode(Context& context, Parse::ForInId node_id) -> bool {
    function CallOptionalAccessor (line 136) | static auto CallOptionalAccessor(Context& context, Parse::NodeId node_id,
    function HandleParseNode (line 146) | auto HandleParseNode(Context& context, Parse::ForHeaderId node_id) -> ...
    function HandleParseNode (line 218) | auto HandleParseNode(Context& context, Parse::ForStatementId node_id) ...
    function HandleParseNode (line 226) | auto HandleParseNode(Context& context, Parse::BreakStatementStartId no...
    function HandleParseNode (line 243) | auto HandleParseNode(Context& /*context*/, Parse::BreakStatementId /*n...
    function HandleParseNode (line 251) | auto HandleParseNode(Context& context, Parse::ContinueStatementStartId...
    function HandleParseNode (line 268) | auto HandleParseNode(Context& /*context*/,

FILE: toolchain/check/handle_match.cpp
  type Carbon::Check (line 9) | namespace Carbon::Check {
    function HandleParseNode (line 11) | auto HandleParseNode(Context& context, Parse::MatchConditionStartId no...
    function HandleParseNode (line 16) | auto HandleParseNode(Context& context, Parse::MatchConditionId node_id)
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::MatchIntroducerId node_id)
    function HandleParseNode (line 26) | auto HandleParseNode(Context& context, Parse::MatchStatementStartId no...
    function HandleParseNode (line 31) | auto HandleParseNode(Context& context, Parse::MatchCaseIntroducerId no...
    function HandleParseNode (line 36) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 41) | auto HandleParseNode(Context& context, Parse::MatchCaseGuardStartId no...
    function HandleParseNode (line 46) | auto HandleParseNode(Context& context, Parse::MatchCaseGuardId node_id)
    function HandleParseNode (line 51) | auto HandleParseNode(Context& context, Parse::MatchCaseId node_id) -> ...
    function HandleParseNode (line 55) | auto HandleParseNode(Context& context, Parse::MatchDefaultIntroducerId...
    function HandleParseNode (line 60) | auto HandleParseNode(Context& context, Parse::MatchDefaultId node_id) ...
    function HandleParseNode (line 64) | auto HandleParseNode(Context& context, Parse::MatchHandlerStartId node...
    function HandleParseNode (line 69) | auto HandleParseNode(Context& context, Parse::MatchHandlerId node_id) ...
    function HandleParseNode (line 73) | auto HandleParseNode(Context& context, Parse::MatchStatementId node_id)

FILE: toolchain/check/handle_modifier.cpp
  type Carbon::Check (line 10) | namespace Carbon::Check {
    function DiagnoseRepeated (line 15) | static auto DiagnoseRepeated(Context& context, Parse::NodeId first_node,
    function DiagnoseNotAllowedWith (line 25) | static auto DiagnoseNotAllowedWith(Context& context, Parse::NodeId fir...
    function HandleModifier (line 41) | static auto HandleModifier(Context& context, Parse::NodeId node_id,
    function HandleParseNode (line 116) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 126) | auto HandleParseNode(Context& context, Parse::ExternModifierId node_id)
    function HandleParseNode (line 131) | auto HandleParseNode(Context& context, Parse::ReturnedModifierId node_id)

FILE: toolchain/check/handle_name.cpp
  type Carbon::Check (line 19) | namespace Carbon::Check {
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::MemberAccessExprId node_id)
    function HandleParseNode (line 48) | auto HandleParseNode(Context& context, Parse::PointerMemberAccessExprI...
    function GetIdentifierAsNameId (line 97) | static auto GetIdentifierAsNameId(
    function HandleNameAsExpr (line 111) | static auto HandleNameAsExpr(Context& context, Parse::NodeId node_id,
    function HandleParseNode (line 118) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 126) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 137) | auto HandleParseNode(Context& context, Parse::IdentifierNameExprId nod...
    function HandleParseNode (line 145) | auto HandleParseNode(Context& context, Parse::BaseNameId node_id) -> b...
    function HandleParseNode (line 150) | auto HandleParseNode(Context& context, Parse::SelfTypeNameId node_id) ...
    function HandleParseNode (line 155) | auto HandleParseNode(Context& context, Parse::SelfTypeNameExprId node_id)
    function HandleParseNode (line 162) | auto HandleParseNode(Context& context, Parse::SelfValueNameId node_id)...
    function HandleParseNode (line 167) | auto HandleParseNode(Context& context, Parse::SelfValueNameExprId node...
    function ApplyNameQualifier (line 175) | static auto ApplyNameQualifier(Context& context) -> bool {
    function HandleParseNode (line 180) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 186) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 192) | auto HandleParseNode(Context& context, Parse::DesignatorExprId node_id)
    function HandleParseNode (line 228) | auto HandleParseNode(Context& context, Parse::PackageExprId node_id) -...
    function HandleParseNode (line 237) | auto HandleParseNode(Context& context, Parse::CoreNameExprId node_id) ...
    function HandleParseNode (line 245) | auto HandleParseNode(Context& context, Parse::CppNameExprId node_id) -...

FILE: toolchain/check/handle_named_constraint.cpp
  type Carbon::Check (line 16) | namespace Carbon::Check {
    function HandleParseNode (line 18) | auto HandleParseNode(Context& context,
    function BuildNamedConstraintDecl (line 34) | static auto BuildNamedConstraintDecl(Context& context,
    function HandleParseNode (line 105) | auto HandleParseNode(Context& context, Parse::NamedConstraintDeclId no...
    function HandleParseNode (line 112) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 193) | auto HandleParseNode(Context& context,

FILE: toolchain/check/handle_namespace.cpp
  type Carbon::Check (line 19) | namespace Carbon::Check {
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::NamespaceStartId /*node_...
    function IsNamespaceScope (line 32) | static auto IsNamespaceScope(Context& context, SemIR::NameScopeId name...
    function HandleParseNode (line 38) | auto HandleParseNode(Context& context, Parse::NamespaceId node_id) -> ...

FILE: toolchain/check/handle_noop.cpp
  type Carbon::Check (line 8) | namespace Carbon::Check {
    function HandleParseNode (line 10) | auto HandleParseNode(Context& /*context*/, Parse::EmptyDeclId /*node_i...
    function HandleParseNode (line 16) | auto HandleParseNode(Context& /*context*/, Parse::InvalidParseId /*nod...
    function HandleParseNode (line 21) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 26) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 31) | auto HandleParseNode(Context& /*context*/, Parse::PlaceholderId /*node...

FILE: toolchain/check/handle_observe.cpp
  type Carbon::Check (line 9) | namespace Carbon::Check {
    function HandleParseNode (line 11) | auto HandleParseNode(Context& context, Parse::ObserveIntroducerId node...
    function HandleParseNode (line 16) | auto HandleParseNode(Context& context, Parse::ObserveEqualEqualId node...
    function HandleParseNode (line 21) | auto HandleParseNode(Context& context, Parse::ObserveImplsId node_id) ...
    function HandleParseNode (line 25) | auto HandleParseNode(Context& context, Parse::ObserveDeclId node_id) -...

FILE: toolchain/check/handle_operator.cpp
  type Carbon::Check (line 18) | namespace Carbon::Check {
    function HandleUnaryOperator (line 21) | static auto HandleUnaryOperator(Context& context, Parse::AnyExprId exp...
    function HandleBinaryOperator (line 31) | static auto HandleBinaryOperator(Context& context,
    function HandleParseNode (line 52) | auto HandleParseNode(Context& context, Parse::InfixOperatorAmpId node_id)
    function HandleParseNode (line 58) | auto HandleParseNode(Context& context, Parse::InfixOperatorAmpEqualId ...
    function HandleParseNode (line 64) | auto HandleParseNode(Context& context, Parse::UnsafeModifierId node_id)
    function HandleParseNode (line 71) | auto HandleParseNode(Context& context, Parse::InfixOperatorAsId node_id)
    function HandleParseNode (line 86) | auto HandleParseNode(Context& context, Parse::InfixOperatorCaretId nod...
    function HandleParseNode (line 91) | auto HandleParseNode(Context& context, Parse::InfixOperatorCaretEqualI...
    function HandleParseNode (line 97) | auto HandleParseNode(Context& context, Parse::InfixOperatorEqualId nod...
    function HandleParseNode (line 127) | auto HandleParseNode(Context& context, Parse::InfixOperatorEqualEqualI...
    function HandleParseNode (line 133) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 139) | auto HandleParseNode(Context& context, Parse::InfixOperatorGreaterId n...
    function HandleParseNode (line 145) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 151) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 156) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 163) | auto HandleParseNode(Context& context, Parse::InfixOperatorLessId node...
    function HandleParseNode (line 169) | auto HandleParseNode(Context& context, Parse::InfixOperatorLessEqualId...
    function HandleParseNode (line 175) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 180) | auto HandleParseNode(Context& context, Parse::InfixOperatorLessLessId ...
    function HandleParseNode (line 185) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 191) | auto HandleParseNode(Context& context, Parse::InfixOperatorMinusId nod...
    function HandleParseNode (line 196) | auto HandleParseNode(Context& context, Parse::InfixOperatorMinusEqualI...
    function HandleParseNode (line 201) | auto HandleParseNode(Context& context, Parse::InfixOperatorPercentId n...
    function HandleParseNode (line 206) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 211) | auto HandleParseNode(Context& context, Parse::InfixOperatorPipeId node...
    function HandleParseNode (line 216) | auto HandleParseNode(Context& context, Parse::InfixOperatorPipeEqualId...
    function HandleParseNode (line 222) | auto HandleParseNode(Context& context, Parse::InfixOperatorPlusId node...
    function HandleParseNode (line 227) | auto HandleParseNode(Context& context, Parse::InfixOperatorPlusEqualId...
    function HandleParseNode (line 232) | auto HandleParseNode(Context& context, Parse::InfixOperatorSlashId nod...
    function HandleParseNode (line 237) | auto HandleParseNode(Context& context, Parse::InfixOperatorSlashEqualI...
    function HandleParseNode (line 242) | auto HandleParseNode(Context& context, Parse::InfixOperatorStarId node...
    function HandleParseNode (line 247) | auto HandleParseNode(Context& context, Parse::InfixOperatorStarEqualId...
    function HandleParseNode (line 252) | auto HandleParseNode(Context& context, Parse::PostfixOperatorStarId no...
    function HandleParseNode (line 262) | auto HandleParseNode(Context& context, Parse::PrefixOperatorAmpId node...
    function HandleParseNode (line 288) | auto HandleParseNode(Context& context, Parse::PrefixOperatorCaretId no...
    function HandleParseNode (line 293) | auto HandleParseNode(Context& context, Parse::PrefixOperatorConstId no...
    function HandleParseNode (line 313) | auto HandleParseNode(Context& context, Parse::PrefixOperatorMinusId no...
    function HandleParseNode (line 318) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 323) | auto HandleParseNode(Context& context, Parse::PrefixOperatorNotId node...
    function HandleParseNode (line 334) | auto HandleParseNode(Context& context, Parse::PrefixOperatorPartialId ...
    function HandleParseNode (line 355) | auto HandleParseNode(Context& context, Parse::PrefixOperatorPlusPlusId...
    function HandleParseNode (line 360) | auto HandleParseNode(Context& context, Parse::PrefixOperatorRefId node...
    function HandleParseNode (line 370) | auto HandleParseNode(Context& context, Parse::PrefixOperatorStarId nod...
    function HandleShortCircuitOperand (line 403) | static auto HandleShortCircuitOperand(Context& context, Parse::NodeId ...
    function HandleParseNode (line 443) | auto HandleParseNode(Context& context, Parse::ShortCircuitOperandAndId...
    function HandleParseNode (line 448) | auto HandleParseNode(Context& context, Parse::ShortCircuitOperandOrId ...
    function HandleShortCircuitOperator (line 455) | static auto HandleShortCircuitOperator(Context& context, Parse::NodeId...
    function HandleParseNode (line 490) | auto HandleParseNode(Context& context, Parse::ShortCircuitOperatorAndI...
    function HandleParseNode (line 495) | auto HandleParseNode(Context& context, Parse::ShortCircuitOperatorOrId...

FILE: toolchain/check/handle_paren_expr.cpp
  type Carbon::Check (line 8) | namespace Carbon::Check {
    function HandleParseNode (line 10) | auto HandleParseNode(Context& /*context*/, Parse::ParenExprStartId /*n...
    function HandleParseNode (line 16) | auto HandleParseNode(Context& context, Parse::ParenExprId node_id) -> ...

FILE: toolchain/check/handle_pattern_list.cpp
  type Carbon::Check (line 11) | namespace Carbon::Check {
    function HandlePatternListStart (line 14) | static auto HandlePatternListStart(Context& context, Parse::NodeId nod...
    function HandleParseNode (line 22) | auto HandleParseNode(Context& context, Parse::ImplicitParamListStartId...
    function HandleParseNode (line 28) | auto HandleParseNode(Context& context, Parse::TuplePatternStartId node...
    function HandleParseNode (line 33) | auto HandleParseNode(Context& context, Parse::ExplicitParamListStartId...
    function HandleParamListEnd (line 41) | static auto HandleParamListEnd(Context& context, Parse::NodeId node_id,
    function HandleParseNode (line 55) | auto HandleParseNode(Context& context, Parse::ImplicitParamListId node...
    function HandleParseNode (line 62) | auto HandleParseNode(Context& context, Parse::ExplicitParamListId node...
    function HandleParseNode (line 69) | auto HandleParseNode(Context& context, Parse::TuplePatternId node_id) ...
    function HandleParseNode (line 97) | auto HandleParseNode(Context& context, Parse::PatternListCommaId /*nod...

FILE: toolchain/check/handle_require.cpp
  type Carbon::Check (line 24) | namespace Carbon::Check {
    function HandleParseNode (line 26) | auto HandleParseNode(Context& context, Parse::RequireIntroducerId node...
    function HandleParseNode (line 55) | auto HandleParseNode(Context& context, Parse::RequireDefaultSelfImplsI...
    function HandleParseNode (line 84) | auto HandleParseNode(Context& context, Parse::RequireTypeImplsId node_id)
    function TypeStructureReferencesSelf (line 106) | static auto TypeStructureReferencesSelf(
    type ValidateRequireResult (line 174) | struct ValidateRequireResult {
    function ValidateRequire (line 182) | static auto ValidateRequire(Context& context, SemIR::LocId loc_id,
    function HandleParseNode (line 269) | auto HandleParseNode(Context& context, Parse::RequireDeclId node_id) -...

FILE: toolchain/check/handle_return_statement.cpp
  type Carbon::Check (line 9) | namespace Carbon::Check {
    function HandleParseNode (line 11) | auto HandleParseNode(Context& context, Parse::ReturnStatementStartId n...
    function HandleParseNode (line 18) | auto HandleParseNode(Context& context, Parse::ReturnVarModifierId node...
    function HandleParseNode (line 25) | auto HandleParseNode(Context& context, Parse::ReturnStatementId node_id)

FILE: toolchain/check/handle_struct.cpp
  type Carbon::Check (line 14) | namespace Carbon::Check {
    function HandleParseNode (line 16) | auto HandleParseNode(Context& context, Parse::StructLiteralStartId nod...
    function HandleParseNode (line 25) | auto HandleParseNode(Context& context, Parse::StructTypeLiteralStartId...
    function HandleParseNode (line 33) | auto HandleParseNode(Context& context,
    function HandleParseNode (line 40) | auto HandleParseNode(Context& context, Parse::StructLiteralCommaId /*n...
    function HandleParseNode (line 46) | auto HandleParseNode(Context& /*context*/,
    function HandleParseNode (line 51) | auto HandleParseNode(Context& context, Parse::StructLiteralFieldId nod...
    function HandleParseNode (line 68) | auto HandleParseNode(Context& context,
    function DiagnoseDuplicateNames (line 81) | static auto DiagnoseDuplicateNames(
    function PopFieldNameNodes (line 109) | static auto PopFieldNameNodes(Context& context, size_t field_count)
    function HandleParseNode (line 127) | auto HandleParseNode(Context& context, Parse::StructLiteralId node_id)...
    function HandleParseNode (line 161) | auto HandleParseNode(Context& context, Parse::StructTypeLiteralId node...

FILE: toolchain/check/handle_tuple_literal.cpp
  type Carbon::Check (line 10) | namespace Carbon::Check {
    function HandleParseNode (line 12) | auto HandleParseNode(Context& context, Parse::TupleLiteralStartId node...
    function HandleParseNode (line 19) | auto HandleParseNode(Context& context, Parse::TupleLiteralCommaId /*no...
    function HandleParseNode (line 25) | auto HandleParseNode(Context& context, Parse::TupleLiteralId node_id) ...

FILE: toolchain/check/handle_where.cpp
  type Carbon::Check (line 18) | namespace Carbon::Check {
    function HandleParseNode (line 20) | auto HandleParseNode(Context& context, Parse::WhereOperandId node_id) ...
    function HandleParseNode (line 101) | auto HandleParseNode(Context& context, Parse::RequirementEqualId node_id)
    function HandleParseNode (line 140) | auto HandleParseNode(Context& context, Parse::RequirementEqualEqualId ...
    function HandleParseNode (line 154) | auto HandleParseNode(Context& context, Parse::RequirementImplsId node_id)
    function HandleParseNode (line 182) | auto HandleParseNode(Context& /*context*/, Parse::RequirementAndId /*n...
    function HandleParseNode (line 188) | auto HandleParseNode(Context& context, Parse::WhereExprId node_id) -> ...

FILE: toolchain/check/impl.cpp
  type Carbon::Check (line 33) | namespace Carbon::Check {
    function NoteAssociatedFunction (line 36) | static auto NoteAssociatedFunction(Context& context, DiagnosticBuilder...
    function CheckAssociatedFunctionImplementation (line 45) | auto CheckAssociatedFunctionImplementation(
    function CheckImplRedeclParamsMat
Copy disabled (too large) Download .json
Condensed preview — 5011 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,254K chars).
[
  {
    "path": ".agents/skills/code_style/SKILL.md",
    "chars": 1520,
    "preview": "---\nname: Code style\ndescription:\n    Instructions for code formatting and style guidelines in the Carbon\n    toolchain."
  },
  {
    "path": ".agents/skills/summarize_testdata_changes/SKILL.md",
    "chars": 7129,
    "preview": "<!--\nPart of the Carbon Language project, under the Apache License v2.0 with LLVM\nExceptions. See /LICENSE for license i"
  },
  {
    "path": ".agents/skills/summarize_testdata_changes/scripts/parse_diff.py",
    "chars": 2307,
    "preview": "__copyright__ = \"\"\"\nPart of the Carbon Language project, under the Apache License v2.0 with LLVM\nExceptions. See /LICENS"
  },
  {
    "path": ".agents/skills/tool_usage/SKILL.md",
    "chars": 649,
    "preview": "---\nname: Tool usage\ndescription:\n    Instructions for AI assistants on what tools to use in the carbon-lang\n    project"
  },
  {
    "path": ".agents/skills/toolchain_development/SKILL.md",
    "chars": 4451,
    "preview": "---\nname: Toolchain development\ndescription:\n    Instructions for checking, building, debugging, and understanding the C"
  },
  {
    "path": ".bazelignore",
    "chars": 366,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".bazelrc",
    "chars": 10520,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".bazelversion",
    "chars": 6,
    "preview": "8.5.1\n"
  },
  {
    "path": ".clang-format",
    "chars": 936,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".clang-tidy",
    "chars": 6143,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".clangd",
    "chars": 736,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".codespell_ignore",
    "chars": 371,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".gdbinit",
    "chars": 393,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".gitattributes",
    "chars": 364,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/01_toolchain_bug.yml",
    "chars": 1266,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/02_documentation_bug.yml",
    "chars": 984,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/03_leads_question.yml",
    "chars": 1180,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 568,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/actions/build-setup-common/action.yml",
    "chars": 5829,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/actions/build-setup-macos/action.yml",
    "chars": 3239,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/actions/build-setup-ubuntu/action.yml",
    "chars": 2823,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/actions/test-setup/action.yml",
    "chars": 6530,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 109,
    "preview": "**Replace this paragraph with a description of what this PR is changing or\nadding, and why.**\n\nCloses #ISSUE\n"
  },
  {
    "path": ".github/release.yaml",
    "chars": 1106,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/README.md",
    "chars": 1101,
    "preview": "# Workflows\n\n<!--\nPart of the Carbon Language project, under the Apache License v2.0 with LLVM\nExceptions. See /LICENSE "
  },
  {
    "path": ".github/workflows/auto_label_prs.yaml",
    "chars": 4243,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/clangd_tidy.yaml",
    "chars": 3018,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/discord_wiki.yaml",
    "chars": 707,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/gh_pages_ci.yaml",
    "chars": 1352,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/gh_pages_deploy.yaml",
    "chars": 2603,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/nightly_release.yaml",
    "chars": 4429,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/pre_commit.yaml",
    "chars": 2727,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/pre_commit_suggestions.yaml",
    "chars": 2605,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/proposal_labeled.yaml",
    "chars": 3893,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/proposal_ready.yaml",
    "chars": 1542,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/sync_repos.yaml",
    "chars": 1219,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/tests.yaml",
    "chars": 3446,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".github/workflows/triage_inactive.yaml",
    "chars": 2457,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".gitignore",
    "chars": 1095,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".lldbinit",
    "chars": 416,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".pre-commit-config.yaml",
    "chars": 8512,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".prettierrc.yaml",
    "chars": 354,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": ".python-version",
    "chars": 5,
    "preview": "3.10\n"
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 265,
    "preview": "{\n  \"recommendations\": [\n    \"bazelbuild.vscode-bazel\",\n    \"bierner.github-markdown-preview\",\n    \"carbon-lang.carbon-v"
  },
  {
    "path": ".vscode/gdb_launch.json",
    "chars": 678,
    "preview": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"type\": \"by-gdb\",\n      \"request\": \"launch\",\n      \"name\": \"fi"
  },
  {
    "path": ".vscode/lldb_launch.json",
    "chars": 1657,
    "preview": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"type\": \"lldb-dap\",\n      \"request\": \"launch\",\n      \"name\": \""
  },
  {
    "path": ".vscode/tasks.json",
    "chars": 990,
    "preview": "{\n  // See https://go.microsoft.com/fwlink/?LinkId=733558\n  // for the documentation about the tasks.json format\n  \"vers"
  },
  {
    "path": "BUILD",
    "chars": 508,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "CODEOWNERS",
    "chars": 1041,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 16319,
    "preview": "# Code of conduct\n\n<!--\nPart of the Carbon Language project, under the Apache License v2.0 with LLVM\nExceptions. See /LI"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 23450,
    "preview": "# Contributing\n\n<!--\nPart of the Carbon Language project, under the Apache License v2.0 with LLVM\nExceptions. See /LICEN"
  },
  {
    "path": "GEMINI.md",
    "chars": 1800,
    "preview": "# Gemini & AI assistant guide for Carbon\n\n<!--\nPart of the Carbon Language project, under the Apache License v2.0 with L"
  },
  {
    "path": "LICENSE",
    "chars": 13160,
    "preview": "==============================================================================\nThe Carbon language is under the Apache L"
  },
  {
    "path": "MODULE.bazel",
    "chars": 5827,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "README.md",
    "chars": 19364,
    "preview": "# Carbon Language: <br/> An experimental successor to C++\n\n<!--\nPart of the Carbon Language project, under the Apache Li"
  },
  {
    "path": "SECURITY.md",
    "chars": 1380,
    "preview": "# Security policy\n\n<!--\nPart of the Carbon Language project, under the Apache License v2.0 with LLVM\nExceptions. See /LI"
  },
  {
    "path": "bazel/carbon_rules/BUILD",
    "chars": 1109,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/carbon_rules/defs.bzl",
    "chars": 9249,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_rules/BUILD",
    "chars": 224,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_rules/defs.bzl",
    "chars": 889,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/BUILD",
    "chars": 1616,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_actions.bzl",
    "chars": 1345,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_base_features.bzl",
    "chars": 3108,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_carbon_project_features.bzl",
    "chars": 3299,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_config_features.bzl",
    "chars": 1478,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_cpp_features.bzl",
    "chars": 11088,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_debugging.bzl",
    "chars": 4464,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_features.bzl",
    "chars": 2567,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_linking.bzl",
    "chars": 12978,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_modules.bzl",
    "chars": 2497,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_optimization.bzl",
    "chars": 2144,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_sanitizer_features.bzl",
    "chars": 3932,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/cc_toolchain_tools.bzl",
    "chars": 2785,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/clang_cc_toolchain_config.bzl",
    "chars": 4214,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/clang_configuration.bzl",
    "chars": 11456,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/clang_detected_variables.tpl.bzl",
    "chars": 691,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/clang_toolchain.BUILD",
    "chars": 688,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/cc_toolchains/defs.bzl",
    "chars": 1518,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/check_deps/BUILD",
    "chars": 1031,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/check_deps/check_non_test_cc_deps.py",
    "chars": 3674,
    "preview": "#!/usr/bin/env python3\n\n\"\"\"Check that non-test C++ rules only depend on Carbon and LLVM.\n\nCarbon works to ensure its use"
  },
  {
    "path": "bazel/check_deps/update_roots.py",
    "chars": 2082,
    "preview": "#!/usr/bin/env python3\n\n\"\"\"Update the roots of the Carbon build used for dependency checking.\n\nThe dependency checking c"
  },
  {
    "path": "bazel/llvm_project/0001_Patch_for_mallinfo2_when_using_Bazel_build_system.patch",
    "chars": 1145,
    "preview": "From 80f5475adfe179739a45d42850f8c06a630bc3a0 Mon Sep 17 00:00:00 2001\nFrom: Chandler Carruth <chandlerc@gmail.com>\nDate"
  },
  {
    "path": "bazel/llvm_project/0002_Added_Bazel_build_for_compiler_rt_fuzzer.patch",
    "chars": 1202,
    "preview": "From 20d0f1fb854d9b7ce135d08575112fc58c4c7ce7 Mon Sep 17 00:00:00 2001\nFrom: jonmeow <jperkins@google.com>\nDate: Thu, 14"
  },
  {
    "path": "bazel/llvm_project/0004_Introduce_basic_sources_exporting_for_libunwind.patch",
    "chars": 2103,
    "preview": "Commit ID: 354e38c89f28e2cc284e655a9cde707f457dc02c\nChange ID: sxspxmonsuvqzuvxvrvorlumwpwromsv\nAuthor   : Chandler Carr"
  },
  {
    "path": "bazel/llvm_project/0005_Introduce_basic_sources_exporting_for_libcxx_and_libcxxabi.patch",
    "chars": 6538,
    "preview": "Commit ID: 1fd710ed69a0f47f454c386d39302ddb756a88b3\nChange ID: mstnwoqruyypnoouksnyqssllrsozpos\nBookmarks: bz-libcxx* bz"
  },
  {
    "path": "bazel/llvm_project/0009_Introduce_starlark_exporting_compiler-rt_build_information.patch",
    "chars": 15795,
    "preview": "Commit ID: d3b82534c2546a892a27856672ed95a7db97dba3\nChange ID: zyxuvzwmzsnorloyuupuurxkppkoplnw\nAuthor   : Chandler Carr"
  },
  {
    "path": "bazel/llvm_project/BUILD",
    "chars": 285,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/llvm_project/llvm_project.bzl",
    "chars": 509,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/malloc/BUILD",
    "chars": 916,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/manifest/BUILD",
    "chars": 224,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/manifest/defs.bzl",
    "chars": 2453,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/version/BUILD",
    "chars": 2762,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/version/compute_version.bzl",
    "chars": 2578,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "bazel/version/gen_tmpl.py",
    "chars": 4039,
    "preview": "#!/usr/bin/env python3\n\n\"\"\"Generate a file from a template, substituting the provided key/value pairs.\n\nThe file format "
  },
  {
    "path": "bazel/version/rules.bzl",
    "chars": 5748,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "common/BUILD",
    "chars": 18403,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "common/all_llvm_targets.cpp",
    "chars": 755,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/array_stack.h",
    "chars": 3515,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/array_stack_test.cpp",
    "chars": 3084,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/bazel_working_dir.h",
    "chars": 1669,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/build_data.cpp",
    "chars": 530,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/build_data.h",
    "chars": 1254,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/build_data_linkstamp.cpp",
    "chars": 504,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/build_data_linkstamp.h",
    "chars": 1308,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/build_data_test.cpp",
    "chars": 820,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/check.h",
    "chars": 2170,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/check_internal.cpp",
    "chars": 1745,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/check_internal.h",
    "chars": 7548,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/check_test.cpp",
    "chars": 2646,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/command_line.cpp",
    "chars": 52304,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/command_line.h",
    "chars": 33871,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/command_line_test.cpp",
    "chars": 32349,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/concepts.h",
    "chars": 510,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/emplace_by_calling.h",
    "chars": 2695,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/emplace_by_calling_test.cpp",
    "chars": 1500,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/enum_base.h",
    "chars": 9190,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/enum_base_test.cpp",
    "chars": 2837,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/enum_base_test.def",
    "chars": 678,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/enum_mask_base.h",
    "chars": 5693,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/enum_mask_base_test.cpp",
    "chars": 3868,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/error.h",
    "chars": 9442,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/error_test.cpp",
    "chars": 7784,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/error_test_helpers.h",
    "chars": 4716,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/exe_path.cpp",
    "chars": 1987,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/exe_path.h",
    "chars": 807,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/exe_path_test.cpp",
    "chars": 1882,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/filesystem.cpp",
    "chars": 29513,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/filesystem.h",
    "chars": 70966,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/filesystem_benchmark.cpp",
    "chars": 20967,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/filesystem_test.cpp",
    "chars": 22630,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/find.h",
    "chars": 3104,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/find_test.cpp",
    "chars": 2145,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/growing_range.h",
    "chars": 2350,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/growing_range_test.cpp",
    "chars": 1212,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/hashing.cpp",
    "chars": 3075,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/hashing.h",
    "chars": 46181,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/hashing_benchmark.cpp",
    "chars": 13960,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/hashing_test.cpp",
    "chars": 35744,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/hashtable_key_context.h",
    "chars": 9656,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/hashtable_key_context_test.cpp",
    "chars": 8303,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/init_llvm.cpp",
    "chars": 1510,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/init_llvm.h",
    "chars": 1557,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/latch.cpp",
    "chars": 2407,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/latch.h",
    "chars": 5174,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/latch_test.cpp",
    "chars": 3744,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/map.h",
    "chars": 24639,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/map_benchmark.cpp",
    "chars": 20487,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/map_test.cpp",
    "chars": 30719,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/move_only.h",
    "chars": 1053,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/ostream.h",
    "chars": 4038,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/pretty_stack_trace_function.h",
    "chars": 995,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable.cpp",
    "chars": 360,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable.h",
    "chars": 72728,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable_benchmark_helpers.cpp",
    "chars": 17988,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable_benchmark_helpers.h",
    "chars": 11583,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable_metadata_group.cpp",
    "chars": 567,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable_metadata_group.h",
    "chars": 47734,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable_metadata_group_benchmark.cpp",
    "chars": 13889,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_hashtable_test_helpers.h",
    "chars": 4990,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_string_ostream.h",
    "chars": 1894,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/raw_string_ostream_test.cpp",
    "chars": 1634,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/set.h",
    "chars": 17074,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/set_benchmark.cpp",
    "chars": 14272,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/set_test.cpp",
    "chars": 14487,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/string_helpers.cpp",
    "chars": 7613,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/string_helpers.h",
    "chars": 3092,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/string_helpers_test.cpp",
    "chars": 9653,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/struct_reflection.h",
    "chars": 6443,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/struct_reflection_test.cpp",
    "chars": 3276,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/template_string.h",
    "chars": 3071,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/template_string_test.cpp",
    "chars": 2955,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/type_enum.h",
    "chars": 4591,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/version.h",
    "chars": 788,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/version.tmpl.cpp",
    "chars": 1701,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/version_stamp.tmpl.cpp",
    "chars": 752,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/vlog.h",
    "chars": 2315,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "common/vlog_test.cpp",
    "chars": 1444,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/BUILD",
    "chars": 819,
    "preview": "# Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n# Exceptions. See /LICENSE for license in"
  },
  {
    "path": "core/io.carbon",
    "chars": 879,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/copy.carbon",
    "chars": 1731,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/default.carbon",
    "chars": 2173,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/destroy.carbon",
    "chars": 502,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/iterate.carbon",
    "chars": 1040,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators/arithmetic.carbon",
    "chars": 2934,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators/as.carbon",
    "chars": 1638,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators/bitwise.carbon",
    "chars": 3157,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators/comparison.carbon",
    "chars": 1938,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators/deref.carbon",
    "chars": 431,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators/index.carbon",
    "chars": 376,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/operators.carbon",
    "chars": 539,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/bool.carbon",
    "chars": 275,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/char.carbon",
    "chars": 1045,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/cpp/int.carbon",
    "chars": 26180,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/cpp/nullptr.carbon",
    "chars": 1923,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/cpp/void.carbon",
    "chars": 1711,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/float.carbon",
    "chars": 3131,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/float_literal.carbon",
    "chars": 301,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/form.carbon",
    "chars": 336,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/int.carbon",
    "chars": 11698,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  },
  {
    "path": "core/prelude/types/int_literal.carbon",
    "chars": 295,
    "preview": "// Part of the Carbon Language project, under the Apache License v2.0 with LLVM\n// Exceptions. See /LICENSE for license "
  }
]

// ... and 4811 more files (download for full content)

About this extraction

This page contains the full source code of the carbon-language/carbon-lang GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5011 files (29.3 MB), approximately 4.2M tokens, and a symbol index with 2623 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!