all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe94:8331
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 8effa0f1-47ba-4d4a-aca1-0e29be8a421a
        host_id: cdf791707c4bac54583e0f8775902d81b0e389f3305f2abf87f6d7bf
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe94:8331
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.139
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.63
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe94:8331
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/testbed/.zuul.yaml@main#171>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 947076e264f04f908bffd8155984f04e
      build_refs:
      - branch: main
        change: '2777'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.91.5\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.88.0` -> `v0.91.5` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.91.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.5)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5)\n\n#####
          \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `run`
          support**\n\nThe `--filter` flag is now supported on the `run` command (remember
          that you must use the [`filter-flag`](https://www.notion.so/v0-91-5-296d8759a6828016aaebe69000855672?pvs=21)
          experiment to try this).\n\ne.g.\n\n```bash\n\n##### Filter by path with
          glob patterns\nterragrunt run --all --filter 'prod/**' -- plan\n\n#####
          Filter by name\nterragrunt run --all --filter 'app*' -- apply\n\n##### Exclude
          specific configurations\nterragrunt run --all --filter '!./test/**' -- plan\n\n#####
          Combine filters with intersection (refinement)\nterragrunt run --all --filter
          './prod/** | !name=legacy' -- apply\n\n##### Multiple filters with union\nterragrunt
          run --all --filter 'app1' --filter 'app2' -- plan\n\n```\n\nFor more information,
          see the documentation on [Filtering Units](https://terragrunt-docs-git-docs-documenting-support-f-b0699d-gruntwork.vercel.app/docs/reference/cli/commands/run/#filtering-units).\n\nIf
          you give this feature a try, make sure to share your feedback on the [Filter
          Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n#####
          What's Changed\n\n- feat: Adding support for `--filter` flag in `run` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4981](https://redirect.github.com/gruntwork-io/terragrunt/pull/4981)\n-
          docs: Documenting support for `--filter` in the `run` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5015](https://redirect.github.com/gruntwork-io/terragrunt/pull/5015)\n-
          chore: fixes for periodically failing tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;5011](https://redirect.github.com/gruntwork-io/terragrunt/pull/5011)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5>\n\n###
          [`v0.91.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4)\n\n####
          \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `reading=`
          support**\n\nThe `--filter` flag now supports usage of the `reading=` attribute
          to filter on components that read particular shared infrastructure configurations.\n\ne.g.\n\n```bash\nterragrunt
          find --filter 'reading=shared.hcl'\nterragrunt find --filter 'reading=common/*.hcl'
          # Globs supported!\nterragrunt find --filter 'reading=config/**' # Double-wildcard
          globs are required filtering on files nested in subdirectories.\nterragrunt
          find --filter 'reading=config/vars.tfvars'\n```\n\nThis behavior is similar
          to that provided by the [`--queue-include-units-reading`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-include-units-reading)
          flag, with additional support for globs, negation and filter chaining supported
          in the `--filter` flag more generally.\n\nFor more information, see the
          documentation on [Attribute-Based Filtering](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#attribute-based-filtering).\n\nIf
          you give this feature a try, make sure to share your feedback on the [Filter
          Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n####
          What's Changed\n\n- feat: Adding support for `reading=` in `-filter` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;5004](https://redirect.github.com/gruntwork-io/terragrunt/pull/5004)\n-
          docs: Documenting the new `reading` attribute by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5005](https://redirect.github.com/gruntwork-io/terragrunt/pull/5005)\n-
          docs: documenting how to exclude files from modules by [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
          in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
          docs: Small fixes in the Provider Cache Server documentation by [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO)
          in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n####
          New Contributors\n\n- [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
          made their first contribution in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
          [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO) made their first
          contribution in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4>\n\n###
          [`v0.91.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3)\n\n####
          \u2728 New Features\n\n##### `--reading` flag added to the `find` command\n\nThe
          `find` command now supports the `--reading` flag, which allows you to discover
          the shared configurations read by units and stacks when using the `--json`
          format.\n\n```bash\n$ terragrunt find --reading --json\n[\n  {\n    \"type\":
          \"unit\",\n    \"path\": \"aws-account-1\",\n    \"reading\": [\n      \"aws-data.yml\"\n
          \   ]\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"aws-account-2\",\n
          \   \"reading\": [\n      \"aws-data.yml\"\n    ]\n  },\n  {\n    \"type\":
          \"unit\",\n    \"path\": \"gcp-project-1\",\n    \"reading\": [\n      \"gcp-data.hcl\"\n
          \   ]\n  }\n]\n```\n\nYou can use this information to drive custom logic
          in your workflows based on the changes related to particular files.\n\ne.g.\n\n```bash\n$
          terragrunt find --reading --json | jq '[.[] | select(.reading[]? | contains(\"aws-data.yml\"))|
          .path]'\n[\n  \"aws-account-1\",\n  \"aws-account-2\"\n]\n\n$ terragrunt
          find --reading --json | jq '[.[] | select(.reading[]? | contains(\"gcp-data.hcl\"))|
          .path]'\n[\n  \"gcp-project-1\"\n]\n```\n\nYou can learn more about the
          `--reading` flag in the [`find` documentation](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#reading-files).\n\n####
          \U0001F41B Bug Fixes\n\n##### Empty stacks no longer throw errors\n\nPreviously,
          a bug in the logic used for making sure that users didn\u2019t accidentally
          run on empty stacks resulted in users getting a non-zero exit code when
          all units in a stack were excluded (e.g. via the `exclude` block).\n\nThat
          bug has been fixed.\n\n##### Dependency outputs can now be used in generate
          blocks\n\nPreviously, a bug in the way HCL parsing was done during discovery
          resulted in errors being thrown for users when dependency outputs were used
          in `generate` blocks. That error has since been resolved.\n\nThat bug has
          been fixed.\n\n#### What's Changed\n\n- feat: Adding reading support in
          `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;5002](https://redirect.github.com/gruntwork-io/terragrunt/pull/5002)\n-
          fix: Removing filter enabled check on empty stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4992](https://redirect.github.com/gruntwork-io/terragrunt/pull/4992)\n-
          fix: reference of dependency outputs in generate by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4994](https://redirect.github.com/gruntwork-io/terragrunt/pull/4994)\n-
          docs: Documenting new `-reading` flag for `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5003](https://redirect.github.com/gruntwork-io/terragrunt/pull/5003)\n-
          docs: Fixing --source-map explanation by [@&#8203;atheiman](https://redirect.github.com/atheiman)
          in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n-
          docs: Fixing `Filters` docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4996](https://redirect.github.com/gruntwork-io/terragrunt/pull/4996)\n-
          chore: Tracking DAG nodes in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4998](https://redirect.github.com/gruntwork-io/terragrunt/pull/4998)\n-
          chore: Tracking reads in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5000](https://redirect.github.com/gruntwork-io/terragrunt/pull/5000)\n-
          chore: Updating language in discovery commands by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5001](https://redirect.github.com/gruntwork-io/terragrunt/pull/5001)\n-
          chore: Using a standard shell string parsing library instead of handling
          it ourselves by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in
          [#&#8203;4991](https://redirect.github.com/gruntwork-io/terragrunt/pull/4991)\n-
          build(deps): bump the js-dependencies group across 1 directory with 5 updates
          by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
          [#&#8203;4993](https://redirect.github.com/gruntwork-io/terragrunt/pull/4993)\n-
          build(deps): bump vite from 6.3.6 to 6.4.1 in /docs-starlight by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;4999](https://redirect.github.com/gruntwork-io/terragrunt/pull/4999)\n\n####
          New Contributors\n\n- [@&#8203;atheiman](https://redirect.github.com/atheiman)
          made their first contribution in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3>\n\n###
          [`v0.91.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2)\n\n####
          \U0001F9EA Experiments Introduced\n\n##### `filter-flag` introduced\n\nA
          new experiment named [filter-flag](https://terragrunt.gruntwork.io/docs/reference/experiments/#filter-flag)
          has been introduced, allowing for experimental usage of the new `--filter`
          flag described in [RFC #&#8203;4060](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060).
          The `filter-flag` experiment is incomplete, and minimal support for the
          `--filter` flag has been added exclusively to the [`find`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/list/)
          commands.\n\nThe filter flag allows for sophisticated querying of particular
          Terragrunt stacks and units in a way that is currently only possible using
          a combination of [`\u2014queue-`](https://terragrunt.gruntwork.io/docs/features/run-queue/#controlling-the-queue)
          prefixed flags.\n\nExample filter usage might look like the following:\n\n```bash\n$
          terragrunt find --filter './prod/** | name=web'\nprod/services/web\n```\n\n>
          \\[!IMPORTANT]\n>\n> While the `filter-flag` experiment is active, you will
          need to enable the `filter-flag` experiment for any command that uses the
          `filter-flag`. See [Controlling Experiment Mode](https://terragrunt-docs-ics3biiml-gruntwork.vercel.app/docs/reference/experiments/#controlling-experiment-mode)
          for more details.\n>\n> e.g.\n>\n> ```bash\n> terragrunt find --experiment
          filter-flag --filter './prod/** | name=web'\n> ```\n\nYou can learn more
          about filters, including documentation on the syntax and examples of each
          type of filter in the [dedicated feature documentation for filters](https://terragrunt.gruntwork.io/docs/features/filter/).\n\n####
          What's Changed\n\n- feat: Introduce `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4969](https://redirect.github.com/gruntwork-io/terragrunt/pull/4969)\n-
          chore: Adding checkbox for reproduction by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4980](https://redirect.github.com/gruntwork-io/terragrunt/pull/4980)\n-
          docs: Use special dark/light mode for Terragrunt logos by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4975](https://redirect.github.com/gruntwork-io/terragrunt/pull/4975)\n-
          docs: Fixes overflow issue on the right sidebar by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4972](https://redirect.github.com/gruntwork-io/terragrunt/pull/4972)\n-
          docs: Documenting `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4973](https://redirect.github.com/gruntwork-io/terragrunt/pull/4973)\n-
          docs: Fixing Flag Card icons by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4974](https://redirect.github.com/gruntwork-io/terragrunt/pull/4974)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2>\n\n###
          [`v0.91.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1)\n\n####
          \U0001F9F9 Chores\n\n##### Updated dependencies\n\nUpgraded multiple Golang
          dependencies to the latest stable versions:\n\n- Updated cloud.google.com/go/storage
          to v1.57.0\n- Updated github.com/aws/aws-sdk-go-v2 to v1.39.2\n- Updated
          github.com/getsops/sops/v3 to v3.11.0\n- Updated github.com/gofrs/flock
          to v0.13.0\n- Updated github.com/gruntwork-io/terratest to v0.51.0\n- Updated
          github.com/hashicorp/go-getter to v1.8.2\n- Updated golang.org/x/mod to
          v0.29.0\n- Updated golang.org/x/oauth2 to v0.32.0\n- Updated golang.org/x/sys
          to v0.37.0\n- Updated golang.org/x/term to v0.36.0\n- Updated golang.org/x/text
          to v0.30.0\n- Updated google.golang.org/api to v0.252.0\n- Updated google.golang.org/grpc
          to v1.76.0\n- Updated google.golang.org/protobuf to v1.36.10\n\n#### What's
          Changed\n\n- chore: Undo Starlight patch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4964](https://redirect.github.com/gruntwork-io/terragrunt/pull/4964)\n-
          chore: Bump Bun dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4965](https://redirect.github.com/gruntwork-io/terragrunt/pull/4965)\n-
          chore: Refactor out `component` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4963](https://redirect.github.com/gruntwork-io/terragrunt/pull/4963)\n-
          feat: Adding `filter` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4958](https://redirect.github.com/gruntwork-io/terragrunt/pull/4958)\n-
          chore: multiple dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4968](https://redirect.github.com/gruntwork-io/terragrunt/pull/4968)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1>\n\n###
          [`v0.91.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0)\n\nRemoval
          of behavior where inputs are read from dependencies\n\n### \U0001F6E0\uFE0F
          Breaking Changes\n\n##### **Removal of behavior where inputs are read from
          dependencies**\n\nTerragrunt no longer exposes **dependency inputs** as
          accessible values.\n\nThis change improves performance and simplifies dependency
          handling by removing a feature that significantly slowed configuration parsing
          due to a requirement for recursive parsing of dependencies of dependencies
          for every dependent.\n\nIf your configurations currently access dependency
          inputs like this:\n\n```hcl\ndependency \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs
          = {\n  my_input = dependency.foo.inputs.an_input_from_foo\n}\n\n```\n\nYou\u2019ll
          need to update them to reference **outputs** instead:\n\n```hcl\ndependency
          \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs = {\n  my_input = dependency.foo.outputs.an_output_from_foo\n}\n\n```\n\nAccessing
          outputs remains the supported and recommended way to share data between
          modules.\n\n#### What's Changed\n\n- feat: removal of behavior where inputs
          are read from dependencies by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4960](https://redirect.github.com/gruntwork-io/terragrunt/pull/4960)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0>\n\n###
          [`v0.90.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2)\n\n####
          \u2728 New Features\n\n##### Added `--terragrunt-no-cache` flag for `run_cmd`\n\nThe
          `run_cmd` command now supports a new flag, `--terragrunt-no-cache`, which
          disables caching of command execution output.\n\nThis option is useful when
          you want to ensure that each command run produces fresh results, especially
          in dynamic environments or when working with frequently changing external
          data.\n\n#### What's Changed\n\n- feat: add `--terragrunt-no-cache` parameter
          for `run_cmd` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4951](https://redirect.github.com/gruntwork-io/terragrunt/pull/4951)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2>\n\n###
          [`v0.90.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1)\n\n####
          \u2728 New Features\n\n##### `hcl fmt` now supports `--queue` flags\n\nThe
          `hcl fmt` command now supports `--queue-` prefixed flags (e.g. [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)).\n\n####
          \U0001F41B Bug Fixes\n\n##### Discovery in `run` command discovers hidden
          directories\n\nWhen discovering units for the `run` command, Terragrunt
          will now search through (most) hidden directories.\n\nIt will still avoid
          performing discovery in the following hidden directories:\n\n- `.git`\n-
          `.terraform`\n- `.terragrunt-cache`\n\nTo manually force or suppress discovery,
          use [`--queue-include-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
          and [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
          respectively.\n\n##### `--queue-ignore-errors` no longer breaks DAG resolution\n\nA
          bug in the implementation of [`--queue-ignore-errors`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-ignore-errors)
          resulted in the flag also preventing the proper resolution of the [Directed
          Acyclic Graph (DAG)](https://terragrunt.gruntwork.io/docs/getting-started/terminology/#directed-acyclic-graph-dag)
          when suppressing errors.\n\nThis has been fixed.\n\n##### `--tf-path` respected
          through dependencies\n\nA bug in the precedence resolution of the [`terraform_binary`
          HCL attribute](https://terragrunt.gruntwork.io/docs/reference/hcl/attributes/#terraform_binary)
          and the [`--tf-path` flag](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#tf-path)
          resulted in the default value of `terraform_binary` taking affect (`tofu`
          if both `tofu` and `terraform` are installed) when `terraform_binary` was
          not specified in dependencies.\n\nThis bug has been resolved, and the `--tf-path`
          flag will be respected in dependencies as well.\n\n##### Spurious errors
          resolved in `read_terragrunt_config()`\n\nA bug caused the [`read_terragrunt_config()`](https://terragrunt.gruntwork.io/docs/reference/hcl/functions/#read_terragrunt_config)
          HCL function to return spurious errors when used in a configuration parsed
          during the discovery phase of configuration resolution of a run.\n\nThis
          has been fixed.\n\n#### What's Changed\n\n- feat: Adding queue flags to
          `hcl fmt` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4950](https://redirect.github.com/gruntwork-io/terragrunt/pull/4950)\n-
          fix: discovery of hidden directories by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4945](https://redirect.github.com/gruntwork-io/terragrunt/pull/4945)\n-
          fix: Fixing `--queue-ignore-errors` resulting in ignored DAG order by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4953](https://redirect.github.com/gruntwork-io/terragrunt/pull/4953)\n-
          fix: Ensure `--tf-path` is used in dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4955](https://redirect.github.com/gruntwork-io/terragrunt/pull/4955)\n-
          fix: Prevent parse errors when using `read_terragrunt_config()` during discovery
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4956](https://redirect.github.com/gruntwork-io/terragrunt/pull/4956)\n-
          docs: Updating docs for `--out-dir` and `--json-out-dir` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4957](https://redirect.github.com/gruntwork-io/terragrunt/pull/4957)\n-
          docs: Pipelines won't bite landing page by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4948](https://redirect.github.com/gruntwork-io/terragrunt/pull/4948)\n-
          docs: Fixing form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4954](https://redirect.github.com/gruntwork-io/terragrunt/pull/4954)\n-
          chore: failing tests fixes by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4944](https://redirect.github.com/gruntwork-io/terragrunt/pull/4944)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1>\n\n###
          [`v0.90.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0)\n\nRemoval
          of deprecated commands\n\nThis is the next step on the road to Terragrunt
          1.0, completing the Terragrunt CLI Redesign. Read the [CLI Redesign migration
          guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/) for guidance
          on adapting to these breaking changes.\n\nWe anticipate no further breaking
          changes to the CLI prior to the release of Terragrunt 1.0, where the CLI
          will remain stable without breaking changes until at least Terragrunt 2.0.\n\nFor
          a full list of deprecated features that will be removed prior to the release
          of Terragrunt 1.0, see the [removal schedule](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).\n\n###
          \U0001F6E0\uFE0F Breaking Changes\n\n##### Removal of Deprecated Commands\n\nThe
          following deprecated CLI commands have been removed to streamline the command
          line API ahead of 1.0.\n\nUse the new commands introduced during the CLI
          redesign that replace them:\n\n- `terragrunt terragrunt-info` \u2192 `terragrunt
          info print`\n- `terragrunt hclfmt` \u2192 `terragrunt hcl fmt`\n- `terragrunt
          hclvalidate` \u2192 `terragrunt hcl validate`\n- `terragrunt validate-inputs`
          \u2192 `terragrunt hcl validate --inputs`\n- `terragrunt render-json` \u2192
          `terragrunt render --json -w`\n- `terragrunt graph-dependencies` \u2192
          `terragrunt dag graph`\n- `terragrunt output-module-groups` \u2192 `terragrunt
          find --dag --json`\n\n#### What's Changed\n\n- chore: removal of deprecated
          commands by [@&#8203;denis256](https://redirect.github.com/denis256) in
          [#&#8203;4918](https://redirect.github.com/gruntwork-io/terragrunt/pull/4918)\n-
          chore: Removal of output-module-groups cli command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4937](https://redirect.github.com/gruntwork-io/terragrunt/pull/4937)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0>\n\n###
          [`v0.89.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4)\n\n####
          \U0001F41B\_Bug Fixes\n\n##### Collection of exit code for `-detailed-exitcode`
          behavior in `run --all`\n\nImproved run-all plan -detailed-exitcode aggregation
          to correctly return 2 when any unit has drift, even if another unit hits
          a retryable error.\n\n#### What's Changed\n\n- fix(run-all): corrected -detailed-exitcode
          aggregation  by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4932](https://redirect.github.com/gruntwork-io/terragrunt/pull/4932)\n-
          docs: stack generate documentation update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4930](https://redirect.github.com/gruntwork-io/terragrunt/pull/4930)\n-
          docs: Form updates by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4911](https://redirect.github.com/gruntwork-io/terragrunt/pull/4911)\n-
          docs: Fixing up signup form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4933](https://redirect.github.com/gruntwork-io/terragrunt/pull/4933)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4>\n\n###
          [`v0.89.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3)\n\n####
          What's Changed\n\n- fix: Added missing flags to the `hcl` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4927](https://redirect.github.com/gruntwork-io/terragrunt/pull/4927)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3>\n\n###
          [`v0.89.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2)\n\n####
          What's Changed\n\n- fix: Fixing Terralith to Terragrunt integration test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4909](https://redirect.github.com/gruntwork-io/terragrunt/pull/4909)\n-
          fix: Fixing external dependency resolution by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4926](https://redirect.github.com/gruntwork-io/terragrunt/pull/4926)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2>\n\n###
          [`v0.89.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1)\n\n####
          What's Changed\n\n- fix: Fixed bug where discovery warned that outputs were
          mocked. by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4923](https://redirect.github.com/gruntwork-io/terragrunt/pull/4923)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1>\n\n###
          [`v0.89.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0)\n\nSeveral
          experimental features have been made generally available.\n\n#### \U0001F6E0\uFE0F
          Breaking Changes\n\n##### Runner-pool\n\nTerragrunt now supports the Runner
          Pool concurrency model, replacing the traditional group-based concurrency
          model with a dynamic scheduler by default.\n\nInstead of waiting for groups
          of units that block downstream units to complete their runs, the Runner
          Pool executes each unit as soon as its dependencies (or dependents for destroys)
          are resolved. This improves efficiency, reduces bottlenecks, and limits
          the impact of individual failures on the run of the entire queue.\n\n#####
          \u2728New Features\n\n- Dynamically schedules Units as soon as dependencies
          (or dependents) are satisfied\n- Improves throughput for large stacks\n-
          Provides better fault-isolation for failed units\n\n<p align=\"center\">\n\n<img
          width=\"789\" height=\"480\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7d88e437-2d5f-4477-86eb-0733b7062f0d\"
          />\n\n</p>\n\n##### Report\n\nThe experimental Report feature is now stable
          and enabled by default.\n\nEvery Terragrunt run will now emit a short summary
          at the end of the run that looks like the following by default:\n\n```bash\n$
          terragrunt run --all plan\n\n### Omitted for brevity...\n\n\u276F\u276F
          Run Summary  3 units  62ms\n   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n
          \  Succeeded    3\n\n```\n\nThis summary will give a high-level overview
          of the run results for units in a given Terragrunt run.\n\nYou can optionally
          request a CSV or JSON report of runs as well, giving you detailed insights
          as to the performance of each run using the `--report` flag:\n\n```bash\nterragrunt
          run --all plan --report-schema-file report.schema.csv\n```\n\n```csv\nName,Started,Ended,Result,Reason,Cause\nfirst-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
          block,\nsecond-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
          block,\nfirst-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
          error,\nfirst-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
          error,\nsecond-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
          exit,run error,\nfirst-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
          exit,run error,\n```\n\n```bash\nterragrunt run --all plan --report-schema-file
          report.schema.json\n```\n\n```json\n[\n  {\n    \"Name\": \"first-exclude\",\n
          \   \"Started\": \"2025-06-05T16:28:41-04:00\",\n    \"Ended\": \"2025-06-05T16:28:41-04:00\",\n
          \   \"Result\": \"excluded\",\n    \"Reason\": \"exclude block\"\n  },\n
          \ {\n    \"Name\": \"first-success\",\n    \"Started\": \"2025-06-05T16:28:41-04:00\",\n
          \   \"Ended\": \"2025-06-05T16:28:41-04:00\",\n    \"Result\": \"succeeded\"\n
          \ }\n]\n\n```\n\n##### \u2728New Features\n\n- Generates detailed run reports
          (CSV and JSON formats supported)\n- Displays run summaries directly in the
          CLI output\n- Allows disabling summaries if desired\n\nTo learn more about
          the Run Report feature, read the dedicated guide on Run Reports [here](https://terragrunt.gruntwork.io/docs/features/run-report/).\n\n#####
          \U0001F527 Migration Guide\n\nNo action is required\n\nTo disable summary
          output explicitly, use `--disable-report-summary`:\n\n```bash\nterragrunt
          run --all plan --disable-report-summary\n```\n\n##### Auto OpenTofu Provider
          Cache Directory\n\nTerragrunt now automatically configures OpenTofu\u2019s
          **native provider caching mechanism** by default when running with OpenTofu
          > = 1.10.\n\nNote that if you are using Terraform, you will not be able
          to take advantage of this new feature.\n\nThis feature is only possible
          in OpenTofu due to the hard work and coordination with the OpenTofu team
          to ensure that concurrent access to the provider cache directory is safe
          for all OpenTofu users, regardless of whether they use Terragrunt.\n\n<p
          align=\"center\">\n<img width=\"912\" height=\"486\" alt=\"Screenshot 2025-06-25
          at 12 38 05\u202FPM\" src=\"https://github.com/user-attachments/assets/214cff8d-4fbb-4e70-aa96-c026e91038d7\"
          />\n</p>\n\n##### \u2728New Features\n\n- Automatically sets the `TF_PLUGIN_CACHE_DIR`
          environment variable\n- Uses OpenTofu\u2019s native provider cache instead
          of Terragrunt\u2019s internal cache server\n- Provides improved concurrency
          safety in multi-runner and CI environments\n\n##### \U0001F527 Migration
          Guide\n\nNo action is required if you\u2019re running OpenTofu > = 1.10
          \u2014 provider caching will be configured automatically.\n\nTo disable
          this behavior, use the `--no-auto-provider-cache-dir` flag:\n\n```bash\nterragrunt
          run --all apply --no-auto-provider-cache-dir\n```\n\n##### \u2764\uFE0F
          Special Thanks\n\nThis feature merely automatically activates a feature
          that was introduced in OpenTofu 1.10 by the hard work of [@&#8203;cam72cam](https://redirect.github.com/cam72cam)
          on the OpenTofu team.\n\nThe OpenTofu project takes community feedback seriously
          (including the maintainers of this project), and introduced the ability
          to concurrently access a shared provider cache directory as a feature in
          OpenTofu to make *all users* of OpenTofu better off. Maintainers of Terragrunt
          will continue to collaborate with the OpenTofu team to ensure that using
          Terragrunt with OpenTofu is the easiest way to guarantee the best experience
          managing IaC at scale.\n\n#### What's Changed\n\n- chore: Marked as completed
          runner-pool, reports and provider cache by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4900](https://redirect.github.com/gruntwork-io/terragrunt/pull/4900)\n-
          fix: Properly sets discovery context so that `plan -destroy` and `apply
          -destroy` work right by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4887](https://redirect.github.com/gruntwork-io/terragrunt/pull/4887)\n-
          docs: Implement view plans button by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4890](https://redirect.github.com/gruntwork-io/terragrunt/pull/4890)\n-
          docs: Visual updates to form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4902](https://redirect.github.com/gruntwork-io/terragrunt/pull/4902)\n-
          docs: Fix docs flag name by [@&#8203;rubensf](https://redirect.github.com/rubensf)
          in [#&#8203;4908](https://redirect.github.com/gruntwork-io/terragrunt/pull/4908)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0>\n\n###
          [`v0.88.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.88.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1)\n\n####
          What's Changed\n\n- feat: Use better parsing for `--auth-provider-cmd` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4881](https://redirect.github.com/gruntwork-io/terragrunt/pull/4881)\n-
          fix: Fixing race condition for `TestTerragruntExcludesFile` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4809](https://redirect.github.com/gruntwork-io/terragrunt/pull/4809)\n-
          fix: Fixing report flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4899](https://redirect.github.com/gruntwork-io/terragrunt/pull/4899)\n-
          fix: Fixing `.tf` vs `.tofu` extension parity by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4794](https://redirect.github.com/gruntwork-io/terragrunt/pull/4794)\n-
          chore: Add data.tf to iam directory in refactoring guide by [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader)
          in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n-
          chore: Refactoring GitHub client into dedicated package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4879](https://redirect.github.com/gruntwork-io/terragrunt/pull/4879)\n-
          build(deps): bump the js-dependencies group across 1 directory with 7 updates
          by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
          [#&#8203;4878](https://redirect.github.com/gruntwork-io/terragrunt/pull/4878)\n-
          docs: Update 01-quick-start.mdx by [@&#8203;vit100](https://redirect.github.com/vit100)
          in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
          docs: CI for Terralith to Terragrunt Guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4811](https://redirect.github.com/gruntwork-io/terragrunt/pull/4811)\n-
          docs: Update OG images by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4889](https://redirect.github.com/gruntwork-io/terragrunt/pull/4889)\n\n####
          New Contributors\n\n- [@&#8203;vit100](https://redirect.github.com/vit100)
          made their first contribution in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
          [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader) made
          their first contribution in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1>\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/testbed/pull/2777
        commit_id: 2542c6873c1b15dca95d31a5de15bf963b828f9f
        patchset: 2542c6873c1b15dca95d31a5de15bf963b828f9f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      buildset: 8838a385a8d44648ba6d5260045b8743
      buildset_refs:
      - branch: main
        change: '2777'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.91.5\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.88.0` -> `v0.91.5` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.91.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.5)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5)\n\n#####
          \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `run`
          support**\n\nThe `--filter` flag is now supported on the `run` command (remember
          that you must use the [`filter-flag`](https://www.notion.so/v0-91-5-296d8759a6828016aaebe69000855672?pvs=21)
          experiment to try this).\n\ne.g.\n\n```bash\n\n##### Filter by path with
          glob patterns\nterragrunt run --all --filter 'prod/**' -- plan\n\n#####
          Filter by name\nterragrunt run --all --filter 'app*' -- apply\n\n##### Exclude
          specific configurations\nterragrunt run --all --filter '!./test/**' -- plan\n\n#####
          Combine filters with intersection (refinement)\nterragrunt run --all --filter
          './prod/** | !name=legacy' -- apply\n\n##### Multiple filters with union\nterragrunt
          run --all --filter 'app1' --filter 'app2' -- plan\n\n```\n\nFor more information,
          see the documentation on [Filtering Units](https://terragrunt-docs-git-docs-documenting-support-f-b0699d-gruntwork.vercel.app/docs/reference/cli/commands/run/#filtering-units).\n\nIf
          you give this feature a try, make sure to share your feedback on the [Filter
          Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n#####
          What's Changed\n\n- feat: Adding support for `--filter` flag in `run` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4981](https://redirect.github.com/gruntwork-io/terragrunt/pull/4981)\n-
          docs: Documenting support for `--filter` in the `run` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5015](https://redirect.github.com/gruntwork-io/terragrunt/pull/5015)\n-
          chore: fixes for periodically failing tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;5011](https://redirect.github.com/gruntwork-io/terragrunt/pull/5011)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5>\n\n###
          [`v0.91.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4)\n\n####
          \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `reading=`
          support**\n\nThe `--filter` flag now supports usage of the `reading=` attribute
          to filter on components that read particular shared infrastructure configurations.\n\ne.g.\n\n```bash\nterragrunt
          find --filter 'reading=shared.hcl'\nterragrunt find --filter 'reading=common/*.hcl'
          # Globs supported!\nterragrunt find --filter 'reading=config/**' # Double-wildcard
          globs are required filtering on files nested in subdirectories.\nterragrunt
          find --filter 'reading=config/vars.tfvars'\n```\n\nThis behavior is similar
          to that provided by the [`--queue-include-units-reading`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-include-units-reading)
          flag, with additional support for globs, negation and filter chaining supported
          in the `--filter` flag more generally.\n\nFor more information, see the
          documentation on [Attribute-Based Filtering](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#attribute-based-filtering).\n\nIf
          you give this feature a try, make sure to share your feedback on the [Filter
          Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n####
          What's Changed\n\n- feat: Adding support for `reading=` in `-filter` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;5004](https://redirect.github.com/gruntwork-io/terragrunt/pull/5004)\n-
          docs: Documenting the new `reading` attribute by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5005](https://redirect.github.com/gruntwork-io/terragrunt/pull/5005)\n-
          docs: documenting how to exclude files from modules by [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
          in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
          docs: Small fixes in the Provider Cache Server documentation by [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO)
          in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n####
          New Contributors\n\n- [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
          made their first contribution in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
          [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO) made their first
          contribution in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4>\n\n###
          [`v0.91.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3)\n\n####
          \u2728 New Features\n\n##### `--reading` flag added to the `find` command\n\nThe
          `find` command now supports the `--reading` flag, which allows you to discover
          the shared configurations read by units and stacks when using the `--json`
          format.\n\n```bash\n$ terragrunt find --reading --json\n[\n  {\n    \"type\":
          \"unit\",\n    \"path\": \"aws-account-1\",\n    \"reading\": [\n      \"aws-data.yml\"\n
          \   ]\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"aws-account-2\",\n
          \   \"reading\": [\n      \"aws-data.yml\"\n    ]\n  },\n  {\n    \"type\":
          \"unit\",\n    \"path\": \"gcp-project-1\",\n    \"reading\": [\n      \"gcp-data.hcl\"\n
          \   ]\n  }\n]\n```\n\nYou can use this information to drive custom logic
          in your workflows based on the changes related to particular files.\n\ne.g.\n\n```bash\n$
          terragrunt find --reading --json | jq '[.[] | select(.reading[]? | contains(\"aws-data.yml\"))|
          .path]'\n[\n  \"aws-account-1\",\n  \"aws-account-2\"\n]\n\n$ terragrunt
          find --reading --json | jq '[.[] | select(.reading[]? | contains(\"gcp-data.hcl\"))|
          .path]'\n[\n  \"gcp-project-1\"\n]\n```\n\nYou can learn more about the
          `--reading` flag in the [`find` documentation](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#reading-files).\n\n####
          \U0001F41B Bug Fixes\n\n##### Empty stacks no longer throw errors\n\nPreviously,
          a bug in the logic used for making sure that users didn\u2019t accidentally
          run on empty stacks resulted in users getting a non-zero exit code when
          all units in a stack were excluded (e.g. via the `exclude` block).\n\nThat
          bug has been fixed.\n\n##### Dependency outputs can now be used in generate
          blocks\n\nPreviously, a bug in the way HCL parsing was done during discovery
          resulted in errors being thrown for users when dependency outputs were used
          in `generate` blocks. That error has since been resolved.\n\nThat bug has
          been fixed.\n\n#### What's Changed\n\n- feat: Adding reading support in
          `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;5002](https://redirect.github.com/gruntwork-io/terragrunt/pull/5002)\n-
          fix: Removing filter enabled check on empty stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4992](https://redirect.github.com/gruntwork-io/terragrunt/pull/4992)\n-
          fix: reference of dependency outputs in generate by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4994](https://redirect.github.com/gruntwork-io/terragrunt/pull/4994)\n-
          docs: Documenting new `-reading` flag for `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5003](https://redirect.github.com/gruntwork-io/terragrunt/pull/5003)\n-
          docs: Fixing --source-map explanation by [@&#8203;atheiman](https://redirect.github.com/atheiman)
          in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n-
          docs: Fixing `Filters` docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4996](https://redirect.github.com/gruntwork-io/terragrunt/pull/4996)\n-
          chore: Tracking DAG nodes in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4998](https://redirect.github.com/gruntwork-io/terragrunt/pull/4998)\n-
          chore: Tracking reads in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5000](https://redirect.github.com/gruntwork-io/terragrunt/pull/5000)\n-
          chore: Updating language in discovery commands by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5001](https://redirect.github.com/gruntwork-io/terragrunt/pull/5001)\n-
          chore: Using a standard shell string parsing library instead of handling
          it ourselves by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in
          [#&#8203;4991](https://redirect.github.com/gruntwork-io/terragrunt/pull/4991)\n-
          build(deps): bump the js-dependencies group across 1 directory with 5 updates
          by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
          [#&#8203;4993](https://redirect.github.com/gruntwork-io/terragrunt/pull/4993)\n-
          build(deps): bump vite from 6.3.6 to 6.4.1 in /docs-starlight by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;4999](https://redirect.github.com/gruntwork-io/terragrunt/pull/4999)\n\n####
          New Contributors\n\n- [@&#8203;atheiman](https://redirect.github.com/atheiman)
          made their first contribution in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3>\n\n###
          [`v0.91.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2)\n\n####
          \U0001F9EA Experiments Introduced\n\n##### `filter-flag` introduced\n\nA
          new experiment named [filter-flag](https://terragrunt.gruntwork.io/docs/reference/experiments/#filter-flag)
          has been introduced, allowing for experimental usage of the new `--filter`
          flag described in [RFC #&#8203;4060](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060).
          The `filter-flag` experiment is incomplete, and minimal support for the
          `--filter` flag has been added exclusively to the [`find`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/list/)
          commands.\n\nThe filter flag allows for sophisticated querying of particular
          Terragrunt stacks and units in a way that is currently only possible using
          a combination of [`\u2014queue-`](https://terragrunt.gruntwork.io/docs/features/run-queue/#controlling-the-queue)
          prefixed flags.\n\nExample filter usage might look like the following:\n\n```bash\n$
          terragrunt find --filter './prod/** | name=web'\nprod/services/web\n```\n\n>
          \\[!IMPORTANT]\n>\n> While the `filter-flag` experiment is active, you will
          need to enable the `filter-flag` experiment for any command that uses the
          `filter-flag`. See [Controlling Experiment Mode](https://terragrunt-docs-ics3biiml-gruntwork.vercel.app/docs/reference/experiments/#controlling-experiment-mode)
          for more details.\n>\n> e.g.\n>\n> ```bash\n> terragrunt find --experiment
          filter-flag --filter './prod/** | name=web'\n> ```\n\nYou can learn more
          about filters, including documentation on the syntax and examples of each
          type of filter in the [dedicated feature documentation for filters](https://terragrunt.gruntwork.io/docs/features/filter/).\n\n####
          What's Changed\n\n- feat: Introduce `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4969](https://redirect.github.com/gruntwork-io/terragrunt/pull/4969)\n-
          chore: Adding checkbox for reproduction by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4980](https://redirect.github.com/gruntwork-io/terragrunt/pull/4980)\n-
          docs: Use special dark/light mode for Terragrunt logos by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4975](https://redirect.github.com/gruntwork-io/terragrunt/pull/4975)\n-
          docs: Fixes overflow issue on the right sidebar by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4972](https://redirect.github.com/gruntwork-io/terragrunt/pull/4972)\n-
          docs: Documenting `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4973](https://redirect.github.com/gruntwork-io/terragrunt/pull/4973)\n-
          docs: Fixing Flag Card icons by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4974](https://redirect.github.com/gruntwork-io/terragrunt/pull/4974)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2>\n\n###
          [`v0.91.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1)\n\n####
          \U0001F9F9 Chores\n\n##### Updated dependencies\n\nUpgraded multiple Golang
          dependencies to the latest stable versions:\n\n- Updated cloud.google.com/go/storage
          to v1.57.0\n- Updated github.com/aws/aws-sdk-go-v2 to v1.39.2\n- Updated
          github.com/getsops/sops/v3 to v3.11.0\n- Updated github.com/gofrs/flock
          to v0.13.0\n- Updated github.com/gruntwork-io/terratest to v0.51.0\n- Updated
          github.com/hashicorp/go-getter to v1.8.2\n- Updated golang.org/x/mod to
          v0.29.0\n- Updated golang.org/x/oauth2 to v0.32.0\n- Updated golang.org/x/sys
          to v0.37.0\n- Updated golang.org/x/term to v0.36.0\n- Updated golang.org/x/text
          to v0.30.0\n- Updated google.golang.org/api to v0.252.0\n- Updated google.golang.org/grpc
          to v1.76.0\n- Updated google.golang.org/protobuf to v1.36.10\n\n#### What's
          Changed\n\n- chore: Undo Starlight patch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4964](https://redirect.github.com/gruntwork-io/terragrunt/pull/4964)\n-
          chore: Bump Bun dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4965](https://redirect.github.com/gruntwork-io/terragrunt/pull/4965)\n-
          chore: Refactor out `component` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4963](https://redirect.github.com/gruntwork-io/terragrunt/pull/4963)\n-
          feat: Adding `filter` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4958](https://redirect.github.com/gruntwork-io/terragrunt/pull/4958)\n-
          chore: multiple dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4968](https://redirect.github.com/gruntwork-io/terragrunt/pull/4968)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1>\n\n###
          [`v0.91.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0)\n\nRemoval
          of behavior where inputs are read from dependencies\n\n### \U0001F6E0\uFE0F
          Breaking Changes\n\n##### **Removal of behavior where inputs are read from
          dependencies**\n\nTerragrunt no longer exposes **dependency inputs** as
          accessible values.\n\nThis change improves performance and simplifies dependency
          handling by removing a feature that significantly slowed configuration parsing
          due to a requirement for recursive parsing of dependencies of dependencies
          for every dependent.\n\nIf your configurations currently access dependency
          inputs like this:\n\n```hcl\ndependency \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs
          = {\n  my_input = dependency.foo.inputs.an_input_from_foo\n}\n\n```\n\nYou\u2019ll
          need to update them to reference **outputs** instead:\n\n```hcl\ndependency
          \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs = {\n  my_input = dependency.foo.outputs.an_output_from_foo\n}\n\n```\n\nAccessing
          outputs remains the supported and recommended way to share data between
          modules.\n\n#### What's Changed\n\n- feat: removal of behavior where inputs
          are read from dependencies by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4960](https://redirect.github.com/gruntwork-io/terragrunt/pull/4960)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0>\n\n###
          [`v0.90.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2)\n\n####
          \u2728 New Features\n\n##### Added `--terragrunt-no-cache` flag for `run_cmd`\n\nThe
          `run_cmd` command now supports a new flag, `--terragrunt-no-cache`, which
          disables caching of command execution output.\n\nThis option is useful when
          you want to ensure that each command run produces fresh results, especially
          in dynamic environments or when working with frequently changing external
          data.\n\n#### What's Changed\n\n- feat: add `--terragrunt-no-cache` parameter
          for `run_cmd` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4951](https://redirect.github.com/gruntwork-io/terragrunt/pull/4951)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2>\n\n###
          [`v0.90.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1)\n\n####
          \u2728 New Features\n\n##### `hcl fmt` now supports `--queue` flags\n\nThe
          `hcl fmt` command now supports `--queue-` prefixed flags (e.g. [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)).\n\n####
          \U0001F41B Bug Fixes\n\n##### Discovery in `run` command discovers hidden
          directories\n\nWhen discovering units for the `run` command, Terragrunt
          will now search through (most) hidden directories.\n\nIt will still avoid
          performing discovery in the following hidden directories:\n\n- `.git`\n-
          `.terraform`\n- `.terragrunt-cache`\n\nTo manually force or suppress discovery,
          use [`--queue-include-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
          and [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
          respectively.\n\n##### `--queue-ignore-errors` no longer breaks DAG resolution\n\nA
          bug in the implementation of [`--queue-ignore-errors`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-ignore-errors)
          resulted in the flag also preventing the proper resolution of the [Directed
          Acyclic Graph (DAG)](https://terragrunt.gruntwork.io/docs/getting-started/terminology/#directed-acyclic-graph-dag)
          when suppressing errors.\n\nThis has been fixed.\n\n##### `--tf-path` respected
          through dependencies\n\nA bug in the precedence resolution of the [`terraform_binary`
          HCL attribute](https://terragrunt.gruntwork.io/docs/reference/hcl/attributes/#terraform_binary)
          and the [`--tf-path` flag](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#tf-path)
          resulted in the default value of `terraform_binary` taking affect (`tofu`
          if both `tofu` and `terraform` are installed) when `terraform_binary` was
          not specified in dependencies.\n\nThis bug has been resolved, and the `--tf-path`
          flag will be respected in dependencies as well.\n\n##### Spurious errors
          resolved in `read_terragrunt_config()`\n\nA bug caused the [`read_terragrunt_config()`](https://terragrunt.gruntwork.io/docs/reference/hcl/functions/#read_terragrunt_config)
          HCL function to return spurious errors when used in a configuration parsed
          during the discovery phase of configuration resolution of a run.\n\nThis
          has been fixed.\n\n#### What's Changed\n\n- feat: Adding queue flags to
          `hcl fmt` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4950](https://redirect.github.com/gruntwork-io/terragrunt/pull/4950)\n-
          fix: discovery of hidden directories by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4945](https://redirect.github.com/gruntwork-io/terragrunt/pull/4945)\n-
          fix: Fixing `--queue-ignore-errors` resulting in ignored DAG order by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4953](https://redirect.github.com/gruntwork-io/terragrunt/pull/4953)\n-
          fix: Ensure `--tf-path` is used in dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4955](https://redirect.github.com/gruntwork-io/terragrunt/pull/4955)\n-
          fix: Prevent parse errors when using `read_terragrunt_config()` during discovery
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4956](https://redirect.github.com/gruntwork-io/terragrunt/pull/4956)\n-
          docs: Updating docs for `--out-dir` and `--json-out-dir` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4957](https://redirect.github.com/gruntwork-io/terragrunt/pull/4957)\n-
          docs: Pipelines won't bite landing page by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4948](https://redirect.github.com/gruntwork-io/terragrunt/pull/4948)\n-
          docs: Fixing form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4954](https://redirect.github.com/gruntwork-io/terragrunt/pull/4954)\n-
          chore: failing tests fixes by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4944](https://redirect.github.com/gruntwork-io/terragrunt/pull/4944)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1>\n\n###
          [`v0.90.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0)\n\nRemoval
          of deprecated commands\n\nThis is the next step on the road to Terragrunt
          1.0, completing the Terragrunt CLI Redesign. Read the [CLI Redesign migration
          guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/) for guidance
          on adapting to these breaking changes.\n\nWe anticipate no further breaking
          changes to the CLI prior to the release of Terragrunt 1.0, where the CLI
          will remain stable without breaking changes until at least Terragrunt 2.0.\n\nFor
          a full list of deprecated features that will be removed prior to the release
          of Terragrunt 1.0, see the [removal schedule](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).\n\n###
          \U0001F6E0\uFE0F Breaking Changes\n\n##### Removal of Deprecated Commands\n\nThe
          following deprecated CLI commands have been removed to streamline the command
          line API ahead of 1.0.\n\nUse the new commands introduced during the CLI
          redesign that replace them:\n\n- `terragrunt terragrunt-info` \u2192 `terragrunt
          info print`\n- `terragrunt hclfmt` \u2192 `terragrunt hcl fmt`\n- `terragrunt
          hclvalidate` \u2192 `terragrunt hcl validate`\n- `terragrunt validate-inputs`
          \u2192 `terragrunt hcl validate --inputs`\n- `terragrunt render-json` \u2192
          `terragrunt render --json -w`\n- `terragrunt graph-dependencies` \u2192
          `terragrunt dag graph`\n- `terragrunt output-module-groups` \u2192 `terragrunt
          find --dag --json`\n\n#### What's Changed\n\n- chore: removal of deprecated
          commands by [@&#8203;denis256](https://redirect.github.com/denis256) in
          [#&#8203;4918](https://redirect.github.com/gruntwork-io/terragrunt/pull/4918)\n-
          chore: Removal of output-module-groups cli command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4937](https://redirect.github.com/gruntwork-io/terragrunt/pull/4937)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0>\n\n###
          [`v0.89.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4)\n\n####
          \U0001F41B\_Bug Fixes\n\n##### Collection of exit code for `-detailed-exitcode`
          behavior in `run --all`\n\nImproved run-all plan -detailed-exitcode aggregation
          to correctly return 2 when any unit has drift, even if another unit hits
          a retryable error.\n\n#### What's Changed\n\n- fix(run-all): corrected -detailed-exitcode
          aggregation  by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4932](https://redirect.github.com/gruntwork-io/terragrunt/pull/4932)\n-
          docs: stack generate documentation update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4930](https://redirect.github.com/gruntwork-io/terragrunt/pull/4930)\n-
          docs: Form updates by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4911](https://redirect.github.com/gruntwork-io/terragrunt/pull/4911)\n-
          docs: Fixing up signup form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4933](https://redirect.github.com/gruntwork-io/terragrunt/pull/4933)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4>\n\n###
          [`v0.89.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3)\n\n####
          What's Changed\n\n- fix: Added missing flags to the `hcl` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4927](https://redirect.github.com/gruntwork-io/terragrunt/pull/4927)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3>\n\n###
          [`v0.89.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2)\n\n####
          What's Changed\n\n- fix: Fixing Terralith to Terragrunt integration test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4909](https://redirect.github.com/gruntwork-io/terragrunt/pull/4909)\n-
          fix: Fixing external dependency resolution by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4926](https://redirect.github.com/gruntwork-io/terragrunt/pull/4926)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2>\n\n###
          [`v0.89.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1)\n\n####
          What's Changed\n\n- fix: Fixed bug where discovery warned that outputs were
          mocked. by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4923](https://redirect.github.com/gruntwork-io/terragrunt/pull/4923)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1>\n\n###
          [`v0.89.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0)\n\nSeveral
          experimental features have been made generally available.\n\n#### \U0001F6E0\uFE0F
          Breaking Changes\n\n##### Runner-pool\n\nTerragrunt now supports the Runner
          Pool concurrency model, replacing the traditional group-based concurrency
          model with a dynamic scheduler by default.\n\nInstead of waiting for groups
          of units that block downstream units to complete their runs, the Runner
          Pool executes each unit as soon as its dependencies (or dependents for destroys)
          are resolved. This improves efficiency, reduces bottlenecks, and limits
          the impact of individual failures on the run of the entire queue.\n\n#####
          \u2728New Features\n\n- Dynamically schedules Units as soon as dependencies
          (or dependents) are satisfied\n- Improves throughput for large stacks\n-
          Provides better fault-isolation for failed units\n\n<p align=\"center\">\n\n<img
          width=\"789\" height=\"480\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7d88e437-2d5f-4477-86eb-0733b7062f0d\"
          />\n\n</p>\n\n##### Report\n\nThe experimental Report feature is now stable
          and enabled by default.\n\nEvery Terragrunt run will now emit a short summary
          at the end of the run that looks like the following by default:\n\n```bash\n$
          terragrunt run --all plan\n\n### Omitted for brevity...\n\n\u276F\u276F
          Run Summary  3 units  62ms\n   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n
          \  Succeeded    3\n\n```\n\nThis summary will give a high-level overview
          of the run results for units in a given Terragrunt run.\n\nYou can optionally
          request a CSV or JSON report of runs as well, giving you detailed insights
          as to the performance of each run using the `--report` flag:\n\n```bash\nterragrunt
          run --all plan --report-schema-file report.schema.csv\n```\n\n```csv\nName,Started,Ended,Result,Reason,Cause\nfirst-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
          block,\nsecond-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
          block,\nfirst-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
          error,\nfirst-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
          error,\nsecond-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
          exit,run error,\nfirst-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
          exit,run error,\n```\n\n```bash\nterragrunt run --all plan --report-schema-file
          report.schema.json\n```\n\n```json\n[\n  {\n    \"Name\": \"first-exclude\",\n
          \   \"Started\": \"2025-06-05T16:28:41-04:00\",\n    \"Ended\": \"2025-06-05T16:28:41-04:00\",\n
          \   \"Result\": \"excluded\",\n    \"Reason\": \"exclude block\"\n  },\n
          \ {\n    \"Name\": \"first-success\",\n    \"Started\": \"2025-06-05T16:28:41-04:00\",\n
          \   \"Ended\": \"2025-06-05T16:28:41-04:00\",\n    \"Result\": \"succeeded\"\n
          \ }\n]\n\n```\n\n##### \u2728New Features\n\n- Generates detailed run reports
          (CSV and JSON formats supported)\n- Displays run summaries directly in the
          CLI output\n- Allows disabling summaries if desired\n\nTo learn more about
          the Run Report feature, read the dedicated guide on Run Reports [here](https://terragrunt.gruntwork.io/docs/features/run-report/).\n\n#####
          \U0001F527 Migration Guide\n\nNo action is required\n\nTo disable summary
          output explicitly, use `--disable-report-summary`:\n\n```bash\nterragrunt
          run --all plan --disable-report-summary\n```\n\n##### Auto OpenTofu Provider
          Cache Directory\n\nTerragrunt now automatically configures OpenTofu\u2019s
          **native provider caching mechanism** by default when running with OpenTofu
          > = 1.10.\n\nNote that if you are using Terraform, you will not be able
          to take advantage of this new feature.\n\nThis feature is only possible
          in OpenTofu due to the hard work and coordination with the OpenTofu team
          to ensure that concurrent access to the provider cache directory is safe
          for all OpenTofu users, regardless of whether they use Terragrunt.\n\n<p
          align=\"center\">\n<img width=\"912\" height=\"486\" alt=\"Screenshot 2025-06-25
          at 12 38 05\u202FPM\" src=\"https://github.com/user-attachments/assets/214cff8d-4fbb-4e70-aa96-c026e91038d7\"
          />\n</p>\n\n##### \u2728New Features\n\n- Automatically sets the `TF_PLUGIN_CACHE_DIR`
          environment variable\n- Uses OpenTofu\u2019s native provider cache instead
          of Terragrunt\u2019s internal cache server\n- Provides improved concurrency
          safety in multi-runner and CI environments\n\n##### \U0001F527 Migration
          Guide\n\nNo action is required if you\u2019re running OpenTofu > = 1.10
          \u2014 provider caching will be configured automatically.\n\nTo disable
          this behavior, use the `--no-auto-provider-cache-dir` flag:\n\n```bash\nterragrunt
          run --all apply --no-auto-provider-cache-dir\n```\n\n##### \u2764\uFE0F
          Special Thanks\n\nThis feature merely automatically activates a feature
          that was introduced in OpenTofu 1.10 by the hard work of [@&#8203;cam72cam](https://redirect.github.com/cam72cam)
          on the OpenTofu team.\n\nThe OpenTofu project takes community feedback seriously
          (including the maintainers of this project), and introduced the ability
          to concurrently access a shared provider cache directory as a feature in
          OpenTofu to make *all users* of OpenTofu better off. Maintainers of Terragrunt
          will continue to collaborate with the OpenTofu team to ensure that using
          Terragrunt with OpenTofu is the easiest way to guarantee the best experience
          managing IaC at scale.\n\n#### What's Changed\n\n- chore: Marked as completed
          runner-pool, reports and provider cache by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4900](https://redirect.github.com/gruntwork-io/terragrunt/pull/4900)\n-
          fix: Properly sets discovery context so that `plan -destroy` and `apply
          -destroy` work right by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4887](https://redirect.github.com/gruntwork-io/terragrunt/pull/4887)\n-
          docs: Implement view plans button by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4890](https://redirect.github.com/gruntwork-io/terragrunt/pull/4890)\n-
          docs: Visual updates to form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4902](https://redirect.github.com/gruntwork-io/terragrunt/pull/4902)\n-
          docs: Fix docs flag name by [@&#8203;rubensf](https://redirect.github.com/rubensf)
          in [#&#8203;4908](https://redirect.github.com/gruntwork-io/terragrunt/pull/4908)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0>\n\n###
          [`v0.88.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.88.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1)\n\n####
          What's Changed\n\n- feat: Use better parsing for `--auth-provider-cmd` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4881](https://redirect.github.com/gruntwork-io/terragrunt/pull/4881)\n-
          fix: Fixing race condition for `TestTerragruntExcludesFile` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4809](https://redirect.github.com/gruntwork-io/terragrunt/pull/4809)\n-
          fix: Fixing report flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4899](https://redirect.github.com/gruntwork-io/terragrunt/pull/4899)\n-
          fix: Fixing `.tf` vs `.tofu` extension parity by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4794](https://redirect.github.com/gruntwork-io/terragrunt/pull/4794)\n-
          chore: Add data.tf to iam directory in refactoring guide by [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader)
          in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n-
          chore: Refactoring GitHub client into dedicated package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4879](https://redirect.github.com/gruntwork-io/terragrunt/pull/4879)\n-
          build(deps): bump the js-dependencies group across 1 directory with 7 updates
          by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
          [#&#8203;4878](https://redirect.github.com/gruntwork-io/terragrunt/pull/4878)\n-
          docs: Update 01-quick-start.mdx by [@&#8203;vit100](https://redirect.github.com/vit100)
          in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
          docs: CI for Terralith to Terragrunt Guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4811](https://redirect.github.com/gruntwork-io/terragrunt/pull/4811)\n-
          docs: Update OG images by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4889](https://redirect.github.com/gruntwork-io/terragrunt/pull/4889)\n\n####
          New Contributors\n\n- [@&#8203;vit100](https://redirect.github.com/vit100)
          made their first contribution in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
          [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader) made
          their first contribution in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1>\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/testbed/pull/2777
        commit_id: 2542c6873c1b15dca95d31a5de15bf963b828f9f
        patchset: 2542c6873c1b15dca95d31a5de15bf963b828f9f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      change: '2777'
      change_message: "chore(deps): update dependency gruntwork-io/terragrunt to v0.91.5\n\nThis
        PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
        | minor | `v0.88.0` -> `v0.91.5` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
        (gruntwork-io/terragrunt)</summary>\n\n### [`v0.91.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.5)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5)\n\n#####
        \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `run`
        support**\n\nThe `--filter` flag is now supported on the `run` command (remember
        that you must use the [`filter-flag`](https://www.notion.so/v0-91-5-296d8759a6828016aaebe69000855672?pvs=21)
        experiment to try this).\n\ne.g.\n\n```bash\n\n##### Filter by path with glob
        patterns\nterragrunt run --all --filter 'prod/**' -- plan\n\n##### Filter
        by name\nterragrunt run --all --filter 'app*' -- apply\n\n##### Exclude specific
        configurations\nterragrunt run --all --filter '!./test/**' -- plan\n\n#####
        Combine filters with intersection (refinement)\nterragrunt run --all --filter
        './prod/** | !name=legacy' -- apply\n\n##### Multiple filters with union\nterragrunt
        run --all --filter 'app1' --filter 'app2' -- plan\n\n```\n\nFor more information,
        see the documentation on [Filtering Units](https://terragrunt-docs-git-docs-documenting-support-f-b0699d-gruntwork.vercel.app/docs/reference/cli/commands/run/#filtering-units).\n\nIf
        you give this feature a try, make sure to share your feedback on the [Filter
        Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n#####
        What's Changed\n\n- feat: Adding support for `--filter` flag in `run` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4981](https://redirect.github.com/gruntwork-io/terragrunt/pull/4981)\n-
        docs: Documenting support for `--filter` in the `run` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5015](https://redirect.github.com/gruntwork-io/terragrunt/pull/5015)\n-
        chore: fixes for periodically failing tests by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;5011](https://redirect.github.com/gruntwork-io/terragrunt/pull/5011)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5>\n\n###
        [`v0.91.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.4)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4)\n\n####
        \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `reading=`
        support**\n\nThe `--filter` flag now supports usage of the `reading=` attribute
        to filter on components that read particular shared infrastructure configurations.\n\ne.g.\n\n```bash\nterragrunt
        find --filter 'reading=shared.hcl'\nterragrunt find --filter 'reading=common/*.hcl'
        # Globs supported!\nterragrunt find --filter 'reading=config/**' # Double-wildcard
        globs are required filtering on files nested in subdirectories.\nterragrunt
        find --filter 'reading=config/vars.tfvars'\n```\n\nThis behavior is similar
        to that provided by the [`--queue-include-units-reading`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-include-units-reading)
        flag, with additional support for globs, negation and filter chaining supported
        in the `--filter` flag more generally.\n\nFor more information, see the documentation
        on [Attribute-Based Filtering](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#attribute-based-filtering).\n\nIf
        you give this feature a try, make sure to share your feedback on the [Filter
        Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n####
        What's Changed\n\n- feat: Adding support for `reading=` in `-filter` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5004](https://redirect.github.com/gruntwork-io/terragrunt/pull/5004)\n-
        docs: Documenting the new `reading` attribute by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5005](https://redirect.github.com/gruntwork-io/terragrunt/pull/5005)\n-
        docs: documenting how to exclude files from modules by [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
        in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
        docs: Small fixes in the Provider Cache Server documentation by [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO)
        in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n####
        New Contributors\n\n- [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
        made their first contribution in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
        [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO) made their first
        contribution in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4>\n\n###
        [`v0.91.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3)\n\n####
        \u2728 New Features\n\n##### `--reading` flag added to the `find` command\n\nThe
        `find` command now supports the `--reading` flag, which allows you to discover
        the shared configurations read by units and stacks when using the `--json`
        format.\n\n```bash\n$ terragrunt find --reading --json\n[\n  {\n    \"type\":
        \"unit\",\n    \"path\": \"aws-account-1\",\n    \"reading\": [\n      \"aws-data.yml\"\n
        \   ]\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"aws-account-2\",\n
        \   \"reading\": [\n      \"aws-data.yml\"\n    ]\n  },\n  {\n    \"type\":
        \"unit\",\n    \"path\": \"gcp-project-1\",\n    \"reading\": [\n      \"gcp-data.hcl\"\n
        \   ]\n  }\n]\n```\n\nYou can use this information to drive custom logic in
        your workflows based on the changes related to particular files.\n\ne.g.\n\n```bash\n$
        terragrunt find --reading --json | jq '[.[] | select(.reading[]? | contains(\"aws-data.yml\"))|
        .path]'\n[\n  \"aws-account-1\",\n  \"aws-account-2\"\n]\n\n$ terragrunt find
        --reading --json | jq '[.[] | select(.reading[]? | contains(\"gcp-data.hcl\"))|
        .path]'\n[\n  \"gcp-project-1\"\n]\n```\n\nYou can learn more about the `--reading`
        flag in the [`find` documentation](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#reading-files).\n\n####
        \U0001F41B Bug Fixes\n\n##### Empty stacks no longer throw errors\n\nPreviously,
        a bug in the logic used for making sure that users didn\u2019t accidentally
        run on empty stacks resulted in users getting a non-zero exit code when all
        units in a stack were excluded (e.g. via the `exclude` block).\n\nThat bug
        has been fixed.\n\n##### Dependency outputs can now be used in generate blocks\n\nPreviously,
        a bug in the way HCL parsing was done during discovery resulted in errors
        being thrown for users when dependency outputs were used in `generate` blocks.
        That error has since been resolved.\n\nThat bug has been fixed.\n\n#### What's
        Changed\n\n- feat: Adding reading support in `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5002](https://redirect.github.com/gruntwork-io/terragrunt/pull/5002)\n-
        fix: Removing filter enabled check on empty stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4992](https://redirect.github.com/gruntwork-io/terragrunt/pull/4992)\n-
        fix: reference of dependency outputs in generate by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4994](https://redirect.github.com/gruntwork-io/terragrunt/pull/4994)\n-
        docs: Documenting new `-reading` flag for `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5003](https://redirect.github.com/gruntwork-io/terragrunt/pull/5003)\n-
        docs: Fixing --source-map explanation by [@&#8203;atheiman](https://redirect.github.com/atheiman)
        in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n-
        docs: Fixing `Filters` docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4996](https://redirect.github.com/gruntwork-io/terragrunt/pull/4996)\n-
        chore: Tracking DAG nodes in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4998](https://redirect.github.com/gruntwork-io/terragrunt/pull/4998)\n-
        chore: Tracking reads in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5000](https://redirect.github.com/gruntwork-io/terragrunt/pull/5000)\n-
        chore: Updating language in discovery commands by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;5001](https://redirect.github.com/gruntwork-io/terragrunt/pull/5001)\n-
        chore: Using a standard shell string parsing library instead of handling it
        ourselves by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4991](https://redirect.github.com/gruntwork-io/terragrunt/pull/4991)\n-
        build(deps): bump the js-dependencies group across 1 directory with 5 updates
        by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
        [#&#8203;4993](https://redirect.github.com/gruntwork-io/terragrunt/pull/4993)\n-
        build(deps): bump vite from 6.3.6 to 6.4.1 in /docs-starlight by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;4999](https://redirect.github.com/gruntwork-io/terragrunt/pull/4999)\n\n####
        New Contributors\n\n- [@&#8203;atheiman](https://redirect.github.com/atheiman)
        made their first contribution in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3>\n\n###
        [`v0.91.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2)\n\n####
        \U0001F9EA Experiments Introduced\n\n##### `filter-flag` introduced\n\nA new
        experiment named [filter-flag](https://terragrunt.gruntwork.io/docs/reference/experiments/#filter-flag)
        has been introduced, allowing for experimental usage of the new `--filter`
        flag described in [RFC #&#8203;4060](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060).
        The `filter-flag` experiment is incomplete, and minimal support for the `--filter`
        flag has been added exclusively to the [`find`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/)
        and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/list/)
        commands.\n\nThe filter flag allows for sophisticated querying of particular
        Terragrunt stacks and units in a way that is currently only possible using
        a combination of [`\u2014queue-`](https://terragrunt.gruntwork.io/docs/features/run-queue/#controlling-the-queue)
        prefixed flags.\n\nExample filter usage might look like the following:\n\n```bash\n$
        terragrunt find --filter './prod/** | name=web'\nprod/services/web\n```\n\n>
        \\[!IMPORTANT]\n>\n> While the `filter-flag` experiment is active, you will
        need to enable the `filter-flag` experiment for any command that uses the
        `filter-flag`. See [Controlling Experiment Mode](https://terragrunt-docs-ics3biiml-gruntwork.vercel.app/docs/reference/experiments/#controlling-experiment-mode)
        for more details.\n>\n> e.g.\n>\n> ```bash\n> terragrunt find --experiment
        filter-flag --filter './prod/** | name=web'\n> ```\n\nYou can learn more about
        filters, including documentation on the syntax and examples of each type of
        filter in the [dedicated feature documentation for filters](https://terragrunt.gruntwork.io/docs/features/filter/).\n\n####
        What's Changed\n\n- feat: Introduce `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4969](https://redirect.github.com/gruntwork-io/terragrunt/pull/4969)\n-
        chore: Adding checkbox for reproduction by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4980](https://redirect.github.com/gruntwork-io/terragrunt/pull/4980)\n-
        docs: Use special dark/light mode for Terragrunt logos by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4975](https://redirect.github.com/gruntwork-io/terragrunt/pull/4975)\n-
        docs: Fixes overflow issue on the right sidebar by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4972](https://redirect.github.com/gruntwork-io/terragrunt/pull/4972)\n-
        docs: Documenting `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4973](https://redirect.github.com/gruntwork-io/terragrunt/pull/4973)\n-
        docs: Fixing Flag Card icons by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4974](https://redirect.github.com/gruntwork-io/terragrunt/pull/4974)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2>\n\n###
        [`v0.91.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1)\n\n####
        \U0001F9F9 Chores\n\n##### Updated dependencies\n\nUpgraded multiple Golang
        dependencies to the latest stable versions:\n\n- Updated cloud.google.com/go/storage
        to v1.57.0\n- Updated github.com/aws/aws-sdk-go-v2 to v1.39.2\n- Updated github.com/getsops/sops/v3
        to v3.11.0\n- Updated github.com/gofrs/flock to v0.13.0\n- Updated github.com/gruntwork-io/terratest
        to v0.51.0\n- Updated github.com/hashicorp/go-getter to v1.8.2\n- Updated
        golang.org/x/mod to v0.29.0\n- Updated golang.org/x/oauth2 to v0.32.0\n- Updated
        golang.org/x/sys to v0.37.0\n- Updated golang.org/x/term to v0.36.0\n- Updated
        golang.org/x/text to v0.30.0\n- Updated google.golang.org/api to v0.252.0\n-
        Updated google.golang.org/grpc to v1.76.0\n- Updated google.golang.org/protobuf
        to v1.36.10\n\n#### What's Changed\n\n- chore: Undo Starlight patch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4964](https://redirect.github.com/gruntwork-io/terragrunt/pull/4964)\n-
        chore: Bump Bun dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4965](https://redirect.github.com/gruntwork-io/terragrunt/pull/4965)\n-
        chore: Refactor out `component` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4963](https://redirect.github.com/gruntwork-io/terragrunt/pull/4963)\n-
        feat: Adding `filter` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4958](https://redirect.github.com/gruntwork-io/terragrunt/pull/4958)\n-
        chore: multiple dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4968](https://redirect.github.com/gruntwork-io/terragrunt/pull/4968)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1>\n\n###
        [`v0.91.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0)\n\nRemoval
        of behavior where inputs are read from dependencies\n\n### \U0001F6E0\uFE0F
        Breaking Changes\n\n##### **Removal of behavior where inputs are read from
        dependencies**\n\nTerragrunt no longer exposes **dependency inputs** as accessible
        values.\n\nThis change improves performance and simplifies dependency handling
        by removing a feature that significantly slowed configuration parsing due
        to a requirement for recursive parsing of dependencies of dependencies for
        every dependent.\n\nIf your configurations currently access dependency inputs
        like this:\n\n```hcl\ndependency \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs
        = {\n  my_input = dependency.foo.inputs.an_input_from_foo\n}\n\n```\n\nYou\u2019ll
        need to update them to reference **outputs** instead:\n\n```hcl\ndependency
        \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs = {\n  my_input = dependency.foo.outputs.an_output_from_foo\n}\n\n```\n\nAccessing
        outputs remains the supported and recommended way to share data between modules.\n\n####
        What's Changed\n\n- feat: removal of behavior where inputs are read from dependencies
        by [@&#8203;denis256](https://redirect.github.com/denis256) in [#&#8203;4960](https://redirect.github.com/gruntwork-io/terragrunt/pull/4960)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0>\n\n###
        [`v0.90.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2)\n\n####
        \u2728 New Features\n\n##### Added `--terragrunt-no-cache` flag for `run_cmd`\n\nThe
        `run_cmd` command now supports a new flag, `--terragrunt-no-cache`, which
        disables caching of command execution output.\n\nThis option is useful when
        you want to ensure that each command run produces fresh results, especially
        in dynamic environments or when working with frequently changing external
        data.\n\n#### What's Changed\n\n- feat: add `--terragrunt-no-cache` parameter
        for `run_cmd` by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4951](https://redirect.github.com/gruntwork-io/terragrunt/pull/4951)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2>\n\n###
        [`v0.90.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1)\n\n####
        \u2728 New Features\n\n##### `hcl fmt` now supports `--queue` flags\n\nThe
        `hcl fmt` command now supports `--queue-` prefixed flags (e.g. [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)).\n\n####
        \U0001F41B Bug Fixes\n\n##### Discovery in `run` command discovers hidden
        directories\n\nWhen discovering units for the `run` command, Terragrunt will
        now search through (most) hidden directories.\n\nIt will still avoid performing
        discovery in the following hidden directories:\n\n- `.git`\n- `.terraform`\n-
        `.terragrunt-cache`\n\nTo manually force or suppress discovery, use [`--queue-include-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
        and [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
        respectively.\n\n##### `--queue-ignore-errors` no longer breaks DAG resolution\n\nA
        bug in the implementation of [`--queue-ignore-errors`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-ignore-errors)
        resulted in the flag also preventing the proper resolution of the [Directed
        Acyclic Graph (DAG)](https://terragrunt.gruntwork.io/docs/getting-started/terminology/#directed-acyclic-graph-dag)
        when suppressing errors.\n\nThis has been fixed.\n\n##### `--tf-path` respected
        through dependencies\n\nA bug in the precedence resolution of the [`terraform_binary`
        HCL attribute](https://terragrunt.gruntwork.io/docs/reference/hcl/attributes/#terraform_binary)
        and the [`--tf-path` flag](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#tf-path)
        resulted in the default value of `terraform_binary` taking affect (`tofu`
        if both `tofu` and `terraform` are installed) when `terraform_binary` was
        not specified in dependencies.\n\nThis bug has been resolved, and the `--tf-path`
        flag will be respected in dependencies as well.\n\n##### Spurious errors resolved
        in `read_terragrunt_config()`\n\nA bug caused the [`read_terragrunt_config()`](https://terragrunt.gruntwork.io/docs/reference/hcl/functions/#read_terragrunt_config)
        HCL function to return spurious errors when used in a configuration parsed
        during the discovery phase of configuration resolution of a run.\n\nThis has
        been fixed.\n\n#### What's Changed\n\n- feat: Adding queue flags to `hcl fmt`
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4950](https://redirect.github.com/gruntwork-io/terragrunt/pull/4950)\n-
        fix: discovery of hidden directories by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4945](https://redirect.github.com/gruntwork-io/terragrunt/pull/4945)\n-
        fix: Fixing `--queue-ignore-errors` resulting in ignored DAG order by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4953](https://redirect.github.com/gruntwork-io/terragrunt/pull/4953)\n-
        fix: Ensure `--tf-path` is used in dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4955](https://redirect.github.com/gruntwork-io/terragrunt/pull/4955)\n-
        fix: Prevent parse errors when using `read_terragrunt_config()` during discovery
        by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4956](https://redirect.github.com/gruntwork-io/terragrunt/pull/4956)\n-
        docs: Updating docs for `--out-dir` and `--json-out-dir` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4957](https://redirect.github.com/gruntwork-io/terragrunt/pull/4957)\n-
        docs: Pipelines won't bite landing page by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4948](https://redirect.github.com/gruntwork-io/terragrunt/pull/4948)\n-
        docs: Fixing form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4954](https://redirect.github.com/gruntwork-io/terragrunt/pull/4954)\n-
        chore: failing tests fixes by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4944](https://redirect.github.com/gruntwork-io/terragrunt/pull/4944)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1>\n\n###
        [`v0.90.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0)\n\nRemoval
        of deprecated commands\n\nThis is the next step on the road to Terragrunt
        1.0, completing the Terragrunt CLI Redesign. Read the [CLI Redesign migration
        guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/) for guidance
        on adapting to these breaking changes.\n\nWe anticipate no further breaking
        changes to the CLI prior to the release of Terragrunt 1.0, where the CLI will
        remain stable without breaking changes until at least Terragrunt 2.0.\n\nFor
        a full list of deprecated features that will be removed prior to the release
        of Terragrunt 1.0, see the [removal schedule](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).\n\n###
        \U0001F6E0\uFE0F Breaking Changes\n\n##### Removal of Deprecated Commands\n\nThe
        following deprecated CLI commands have been removed to streamline the command
        line API ahead of 1.0.\n\nUse the new commands introduced during the CLI redesign
        that replace them:\n\n- `terragrunt terragrunt-info` \u2192 `terragrunt info
        print`\n- `terragrunt hclfmt` \u2192 `terragrunt hcl fmt`\n- `terragrunt hclvalidate`
        \u2192 `terragrunt hcl validate`\n- `terragrunt validate-inputs` \u2192 `terragrunt
        hcl validate --inputs`\n- `terragrunt render-json` \u2192 `terragrunt render
        --json -w`\n- `terragrunt graph-dependencies` \u2192 `terragrunt dag graph`\n-
        `terragrunt output-module-groups` \u2192 `terragrunt find --dag --json`\n\n####
        What's Changed\n\n- chore: removal of deprecated commands by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4918](https://redirect.github.com/gruntwork-io/terragrunt/pull/4918)\n-
        chore: Removal of output-module-groups cli command by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4937](https://redirect.github.com/gruntwork-io/terragrunt/pull/4937)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0>\n\n###
        [`v0.89.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.4)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4)\n\n####
        \U0001F41B\_Bug Fixes\n\n##### Collection of exit code for `-detailed-exitcode`
        behavior in `run --all`\n\nImproved run-all plan -detailed-exitcode aggregation
        to correctly return 2 when any unit has drift, even if another unit hits a
        retryable error.\n\n#### What's Changed\n\n- fix(run-all): corrected -detailed-exitcode
        aggregation  by [@&#8203;denis256](https://redirect.github.com/denis256) in
        [#&#8203;4932](https://redirect.github.com/gruntwork-io/terragrunt/pull/4932)\n-
        docs: stack generate documentation update by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4930](https://redirect.github.com/gruntwork-io/terragrunt/pull/4930)\n-
        docs: Form updates by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4911](https://redirect.github.com/gruntwork-io/terragrunt/pull/4911)\n-
        docs: Fixing up signup form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4933](https://redirect.github.com/gruntwork-io/terragrunt/pull/4933)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4>\n\n###
        [`v0.89.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.3)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3)\n\n####
        What's Changed\n\n- fix: Added missing flags to the `hcl` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4927](https://redirect.github.com/gruntwork-io/terragrunt/pull/4927)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3>\n\n###
        [`v0.89.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.2)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2)\n\n####
        What's Changed\n\n- fix: Fixing Terralith to Terragrunt integration test by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4909](https://redirect.github.com/gruntwork-io/terragrunt/pull/4909)\n-
        fix: Fixing external dependency resolution by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4926](https://redirect.github.com/gruntwork-io/terragrunt/pull/4926)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2>\n\n###
        [`v0.89.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1)\n\n####
        What's Changed\n\n- fix: Fixed bug where discovery warned that outputs were
        mocked. by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4923](https://redirect.github.com/gruntwork-io/terragrunt/pull/4923)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1>\n\n###
        [`v0.89.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.0)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0)\n\nSeveral
        experimental features have been made generally available.\n\n#### \U0001F6E0\uFE0F
        Breaking Changes\n\n##### Runner-pool\n\nTerragrunt now supports the Runner
        Pool concurrency model, replacing the traditional group-based concurrency
        model with a dynamic scheduler by default.\n\nInstead of waiting for groups
        of units that block downstream units to complete their runs, the Runner Pool
        executes each unit as soon as its dependencies (or dependents for destroys)
        are resolved. This improves efficiency, reduces bottlenecks, and limits the
        impact of individual failures on the run of the entire queue.\n\n##### \u2728New
        Features\n\n- Dynamically schedules Units as soon as dependencies (or dependents)
        are satisfied\n- Improves throughput for large stacks\n- Provides better fault-isolation
        for failed units\n\n<p align=\"center\">\n\n<img width=\"789\" height=\"480\"
        alt=\"image\" src=\"https://github.com/user-attachments/assets/7d88e437-2d5f-4477-86eb-0733b7062f0d\"
        />\n\n</p>\n\n##### Report\n\nThe experimental Report feature is now stable
        and enabled by default.\n\nEvery Terragrunt run will now emit a short summary
        at the end of the run that looks like the following by default:\n\n```bash\n$
        terragrunt run --all plan\n\n### Omitted for brevity...\n\n\u276F\u276F Run
        Summary  3 units  62ms\n   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n
        \  Succeeded    3\n\n```\n\nThis summary will give a high-level overview of
        the run results for units in a given Terragrunt run.\n\nYou can optionally
        request a CSV or JSON report of runs as well, giving you detailed insights
        as to the performance of each run using the `--report` flag:\n\n```bash\nterragrunt
        run --all plan --report-schema-file report.schema.csv\n```\n\n```csv\nName,Started,Ended,Result,Reason,Cause\nfirst-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
        block,\nsecond-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
        block,\nfirst-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
        error,\nfirst-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
        error,\nsecond-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
        exit,run error,\nfirst-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
        exit,run error,\n```\n\n```bash\nterragrunt run --all plan --report-schema-file
        report.schema.json\n```\n\n```json\n[\n  {\n    \"Name\": \"first-exclude\",\n
        \   \"Started\": \"2025-06-05T16:28:41-04:00\",\n    \"Ended\": \"2025-06-05T16:28:41-04:00\",\n
        \   \"Result\": \"excluded\",\n    \"Reason\": \"exclude block\"\n  },\n  {\n
        \   \"Name\": \"first-success\",\n    \"Started\": \"2025-06-05T16:28:41-04:00\",\n
        \   \"Ended\": \"2025-06-05T16:28:41-04:00\",\n    \"Result\": \"succeeded\"\n
        \ }\n]\n\n```\n\n##### \u2728New Features\n\n- Generates detailed run reports
        (CSV and JSON formats supported)\n- Displays run summaries directly in the
        CLI output\n- Allows disabling summaries if desired\n\nTo learn more about
        the Run Report feature, read the dedicated guide on Run Reports [here](https://terragrunt.gruntwork.io/docs/features/run-report/).\n\n#####
        \U0001F527 Migration Guide\n\nNo action is required\n\nTo disable summary
        output explicitly, use `--disable-report-summary`:\n\n```bash\nterragrunt
        run --all plan --disable-report-summary\n```\n\n##### Auto OpenTofu Provider
        Cache Directory\n\nTerragrunt now automatically configures OpenTofu\u2019s
        **native provider caching mechanism** by default when running with OpenTofu
        > = 1.10.\n\nNote that if you are using Terraform, you will not be able to
        take advantage of this new feature.\n\nThis feature is only possible in OpenTofu
        due to the hard work and coordination with the OpenTofu team to ensure that
        concurrent access to the provider cache directory is safe for all OpenTofu
        users, regardless of whether they use Terragrunt.\n\n<p align=\"center\">\n<img
        width=\"912\" height=\"486\" alt=\"Screenshot 2025-06-25 at 12 38 05\u202FPM\"
        src=\"https://github.com/user-attachments/assets/214cff8d-4fbb-4e70-aa96-c026e91038d7\"
        />\n</p>\n\n##### \u2728New Features\n\n- Automatically sets the `TF_PLUGIN_CACHE_DIR`
        environment variable\n- Uses OpenTofu\u2019s native provider cache instead
        of Terragrunt\u2019s internal cache server\n- Provides improved concurrency
        safety in multi-runner and CI environments\n\n##### \U0001F527 Migration Guide\n\nNo
        action is required if you\u2019re running OpenTofu > = 1.10 \u2014 provider
        caching will be configured automatically.\n\nTo disable this behavior, use
        the `--no-auto-provider-cache-dir` flag:\n\n```bash\nterragrunt run --all
        apply --no-auto-provider-cache-dir\n```\n\n##### \u2764\uFE0F Special Thanks\n\nThis
        feature merely automatically activates a feature that was introduced in OpenTofu
        1.10 by the hard work of [@&#8203;cam72cam](https://redirect.github.com/cam72cam)
        on the OpenTofu team.\n\nThe OpenTofu project takes community feedback seriously
        (including the maintainers of this project), and introduced the ability to
        concurrently access a shared provider cache directory as a feature in OpenTofu
        to make *all users* of OpenTofu better off. Maintainers of Terragrunt will
        continue to collaborate with the OpenTofu team to ensure that using Terragrunt
        with OpenTofu is the easiest way to guarantee the best experience managing
        IaC at scale.\n\n#### What's Changed\n\n- chore: Marked as completed runner-pool,
        reports and provider cache by [@&#8203;denis256](https://redirect.github.com/denis256)
        in [#&#8203;4900](https://redirect.github.com/gruntwork-io/terragrunt/pull/4900)\n-
        fix: Properly sets discovery context so that `plan -destroy` and `apply -destroy`
        work right by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4887](https://redirect.github.com/gruntwork-io/terragrunt/pull/4887)\n-
        docs: Implement view plans button by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4890](https://redirect.github.com/gruntwork-io/terragrunt/pull/4890)\n-
        docs: Visual updates to form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4902](https://redirect.github.com/gruntwork-io/terragrunt/pull/4902)\n-
        docs: Fix docs flag name by [@&#8203;rubensf](https://redirect.github.com/rubensf)
        in [#&#8203;4908](https://redirect.github.com/gruntwork-io/terragrunt/pull/4908)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0>\n\n###
        [`v0.88.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.88.1)\n\n[Compare
        Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1)\n\n####
        What's Changed\n\n- feat: Use better parsing for `--auth-provider-cmd` by
        [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4881](https://redirect.github.com/gruntwork-io/terragrunt/pull/4881)\n-
        fix: Fixing race condition for `TestTerragruntExcludesFile` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4809](https://redirect.github.com/gruntwork-io/terragrunt/pull/4809)\n-
        fix: Fixing report flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4899](https://redirect.github.com/gruntwork-io/terragrunt/pull/4899)\n-
        fix: Fixing `.tf` vs `.tofu` extension parity by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4794](https://redirect.github.com/gruntwork-io/terragrunt/pull/4794)\n-
        chore: Add data.tf to iam directory in refactoring guide by [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader)
        in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n-
        chore: Refactoring GitHub client into dedicated package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4879](https://redirect.github.com/gruntwork-io/terragrunt/pull/4879)\n-
        build(deps): bump the js-dependencies group across 1 directory with 7 updates
        by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
        [#&#8203;4878](https://redirect.github.com/gruntwork-io/terragrunt/pull/4878)\n-
        docs: Update 01-quick-start.mdx by [@&#8203;vit100](https://redirect.github.com/vit100)
        in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
        docs: CI for Terralith to Terragrunt Guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
        in [#&#8203;4811](https://redirect.github.com/gruntwork-io/terragrunt/pull/4811)\n-
        docs: Update OG images by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
        in [#&#8203;4889](https://redirect.github.com/gruntwork-io/terragrunt/pull/4889)\n\n####
        New Contributors\n\n- [@&#8203;vit100](https://redirect.github.com/vit100)
        made their first contribution in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
        [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader) made their
        first contribution in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n\n**Full
        Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1>\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time (no
        schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
        **Automerge**: Disabled by config. Please merge this manually once you are
        satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
        tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR and
        you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check
        -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was
        generated by [Mend Renovate](https://mend.io/renovate/). View the [repository
        job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/testbed/pull/2777
      child_jobs: []
      commit_id: 2542c6873c1b15dca95d31a5de15bf963b828f9f
      event_id: 5c9908f0-b118-11f0-864b-41b0646768ab
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/947076e264f04f908bffd8155984f04e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/947076e264f04f908bffd8155984f04e/work/logs
        result_data_file: /var/lib/zuul/builds/947076e264f04f908bffd8155984f04e/work/results.json
        src_root: /var/lib/zuul/builds/947076e264f04f908bffd8155984f04e/work/src
        work_root: /var/lib/zuul/builds/947076e264f04f908bffd8155984f04e/work
      include_vars: []
      items:
      - branch: main
        change: '2777'
        change_message: "chore(deps): update dependency gruntwork-io/terragrunt to
          v0.91.5\n\nThis PR contains the following updates:\n\n| Package | Update
          | Change |\n|---|---|---|\n| [gruntwork-io/terragrunt](https://redirect.github.com/gruntwork-io/terragrunt)
          | minor | `v0.88.0` -> `v0.91.5` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>gruntwork-io/terragrunt
          (gruntwork-io/terragrunt)</summary>\n\n### [`v0.91.5`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.5)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5)\n\n#####
          \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `run`
          support**\n\nThe `--filter` flag is now supported on the `run` command (remember
          that you must use the [`filter-flag`](https://www.notion.so/v0-91-5-296d8759a6828016aaebe69000855672?pvs=21)
          experiment to try this).\n\ne.g.\n\n```bash\n\n##### Filter by path with
          glob patterns\nterragrunt run --all --filter 'prod/**' -- plan\n\n#####
          Filter by name\nterragrunt run --all --filter 'app*' -- apply\n\n##### Exclude
          specific configurations\nterragrunt run --all --filter '!./test/**' -- plan\n\n#####
          Combine filters with intersection (refinement)\nterragrunt run --all --filter
          './prod/** | !name=legacy' -- apply\n\n##### Multiple filters with union\nterragrunt
          run --all --filter 'app1' --filter 'app2' -- plan\n\n```\n\nFor more information,
          see the documentation on [Filtering Units](https://terragrunt-docs-git-docs-documenting-support-f-b0699d-gruntwork.vercel.app/docs/reference/cli/commands/run/#filtering-units).\n\nIf
          you give this feature a try, make sure to share your feedback on the [Filter
          Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n#####
          What's Changed\n\n- feat: Adding support for `--filter` flag in `run` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4981](https://redirect.github.com/gruntwork-io/terragrunt/pull/4981)\n-
          docs: Documenting support for `--filter` in the `run` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5015](https://redirect.github.com/gruntwork-io/terragrunt/pull/5015)\n-
          chore: fixes for periodically failing tests by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;5011](https://redirect.github.com/gruntwork-io/terragrunt/pull/5011)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.4...v0.91.5>\n\n###
          [`v0.91.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4)\n\n####
          \U0001F9EA\_Experiments Updated\n\n##### **`filter-flag` updated with `reading=`
          support**\n\nThe `--filter` flag now supports usage of the `reading=` attribute
          to filter on components that read particular shared infrastructure configurations.\n\ne.g.\n\n```bash\nterragrunt
          find --filter 'reading=shared.hcl'\nterragrunt find --filter 'reading=common/*.hcl'
          # Globs supported!\nterragrunt find --filter 'reading=config/**' # Double-wildcard
          globs are required filtering on files nested in subdirectories.\nterragrunt
          find --filter 'reading=config/vars.tfvars'\n```\n\nThis behavior is similar
          to that provided by the [`--queue-include-units-reading`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-include-units-reading)
          flag, with additional support for globs, negation and filter chaining supported
          in the `--filter` flag more generally.\n\nFor more information, see the
          documentation on [Attribute-Based Filtering](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#attribute-based-filtering).\n\nIf
          you give this feature a try, make sure to share your feedback on the [Filter
          Flag RFC](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060)\n\n####
          What's Changed\n\n- feat: Adding support for `reading=` in `-filter` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;5004](https://redirect.github.com/gruntwork-io/terragrunt/pull/5004)\n-
          docs: Documenting the new `reading` attribute by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5005](https://redirect.github.com/gruntwork-io/terragrunt/pull/5005)\n-
          docs: documenting how to exclude files from modules by [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
          in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
          docs: Small fixes in the Provider Cache Server documentation by [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO)
          in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n####
          New Contributors\n\n- [@&#8203;cebidhem](https://redirect.github.com/cebidhem)
          made their first contribution in [#&#8203;5008](https://redirect.github.com/gruntwork-io/terragrunt/pull/5008)\n-
          [@&#8203;RafaelWO](https://redirect.github.com/RafaelWO) made their first
          contribution in [#&#8203;4959](https://redirect.github.com/gruntwork-io/terragrunt/pull/4959)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.3...v0.91.4>\n\n###
          [`v0.91.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3)\n\n####
          \u2728 New Features\n\n##### `--reading` flag added to the `find` command\n\nThe
          `find` command now supports the `--reading` flag, which allows you to discover
          the shared configurations read by units and stacks when using the `--json`
          format.\n\n```bash\n$ terragrunt find --reading --json\n[\n  {\n    \"type\":
          \"unit\",\n    \"path\": \"aws-account-1\",\n    \"reading\": [\n      \"aws-data.yml\"\n
          \   ]\n  },\n  {\n    \"type\": \"unit\",\n    \"path\": \"aws-account-2\",\n
          \   \"reading\": [\n      \"aws-data.yml\"\n    ]\n  },\n  {\n    \"type\":
          \"unit\",\n    \"path\": \"gcp-project-1\",\n    \"reading\": [\n      \"gcp-data.hcl\"\n
          \   ]\n  }\n]\n```\n\nYou can use this information to drive custom logic
          in your workflows based on the changes related to particular files.\n\ne.g.\n\n```bash\n$
          terragrunt find --reading --json | jq '[.[] | select(.reading[]? | contains(\"aws-data.yml\"))|
          .path]'\n[\n  \"aws-account-1\",\n  \"aws-account-2\"\n]\n\n$ terragrunt
          find --reading --json | jq '[.[] | select(.reading[]? | contains(\"gcp-data.hcl\"))|
          .path]'\n[\n  \"gcp-project-1\"\n]\n```\n\nYou can learn more about the
          `--reading` flag in the [`find` documentation](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/#reading-files).\n\n####
          \U0001F41B Bug Fixes\n\n##### Empty stacks no longer throw errors\n\nPreviously,
          a bug in the logic used for making sure that users didn\u2019t accidentally
          run on empty stacks resulted in users getting a non-zero exit code when
          all units in a stack were excluded (e.g. via the `exclude` block).\n\nThat
          bug has been fixed.\n\n##### Dependency outputs can now be used in generate
          blocks\n\nPreviously, a bug in the way HCL parsing was done during discovery
          resulted in errors being thrown for users when dependency outputs were used
          in `generate` blocks. That error has since been resolved.\n\nThat bug has
          been fixed.\n\n#### What's Changed\n\n- feat: Adding reading support in
          `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;5002](https://redirect.github.com/gruntwork-io/terragrunt/pull/5002)\n-
          fix: Removing filter enabled check on empty stacks by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4992](https://redirect.github.com/gruntwork-io/terragrunt/pull/4992)\n-
          fix: reference of dependency outputs in generate by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4994](https://redirect.github.com/gruntwork-io/terragrunt/pull/4994)\n-
          docs: Documenting new `-reading` flag for `find` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5003](https://redirect.github.com/gruntwork-io/terragrunt/pull/5003)\n-
          docs: Fixing --source-map explanation by [@&#8203;atheiman](https://redirect.github.com/atheiman)
          in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n-
          docs: Fixing `Filters` docs by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4996](https://redirect.github.com/gruntwork-io/terragrunt/pull/4996)\n-
          chore: Tracking DAG nodes in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4998](https://redirect.github.com/gruntwork-io/terragrunt/pull/4998)\n-
          chore: Tracking reads in components by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5000](https://redirect.github.com/gruntwork-io/terragrunt/pull/5000)\n-
          chore: Updating language in discovery commands by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;5001](https://redirect.github.com/gruntwork-io/terragrunt/pull/5001)\n-
          chore: Using a standard shell string parsing library instead of handling
          it ourselves by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in
          [#&#8203;4991](https://redirect.github.com/gruntwork-io/terragrunt/pull/4991)\n-
          build(deps): bump the js-dependencies group across 1 directory with 5 updates
          by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
          [#&#8203;4993](https://redirect.github.com/gruntwork-io/terragrunt/pull/4993)\n-
          build(deps): bump vite from 6.3.6 to 6.4.1 in /docs-starlight by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;4999](https://redirect.github.com/gruntwork-io/terragrunt/pull/4999)\n\n####
          New Contributors\n\n- [@&#8203;atheiman](https://redirect.github.com/atheiman)
          made their first contribution in [#&#8203;4997](https://redirect.github.com/gruntwork-io/terragrunt/pull/4997)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.2...v0.91.3>\n\n###
          [`v0.91.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2)\n\n####
          \U0001F9EA Experiments Introduced\n\n##### `filter-flag` introduced\n\nA
          new experiment named [filter-flag](https://terragrunt.gruntwork.io/docs/reference/experiments/#filter-flag)
          has been introduced, allowing for experimental usage of the new `--filter`
          flag described in [RFC #&#8203;4060](https://redirect.github.com/gruntwork-io/terragrunt/issues/4060).
          The `filter-flag` experiment is incomplete, and minimal support for the
          `--filter` flag has been added exclusively to the [`find`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/find/)
          and [`list`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/list/)
          commands.\n\nThe filter flag allows for sophisticated querying of particular
          Terragrunt stacks and units in a way that is currently only possible using
          a combination of [`\u2014queue-`](https://terragrunt.gruntwork.io/docs/features/run-queue/#controlling-the-queue)
          prefixed flags.\n\nExample filter usage might look like the following:\n\n```bash\n$
          terragrunt find --filter './prod/** | name=web'\nprod/services/web\n```\n\n>
          \\[!IMPORTANT]\n>\n> While the `filter-flag` experiment is active, you will
          need to enable the `filter-flag` experiment for any command that uses the
          `filter-flag`. See [Controlling Experiment Mode](https://terragrunt-docs-ics3biiml-gruntwork.vercel.app/docs/reference/experiments/#controlling-experiment-mode)
          for more details.\n>\n> e.g.\n>\n> ```bash\n> terragrunt find --experiment
          filter-flag --filter './prod/** | name=web'\n> ```\n\nYou can learn more
          about filters, including documentation on the syntax and examples of each
          type of filter in the [dedicated feature documentation for filters](https://terragrunt.gruntwork.io/docs/features/filter/).\n\n####
          What's Changed\n\n- feat: Introduce `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4969](https://redirect.github.com/gruntwork-io/terragrunt/pull/4969)\n-
          chore: Adding checkbox for reproduction by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4980](https://redirect.github.com/gruntwork-io/terragrunt/pull/4980)\n-
          docs: Use special dark/light mode for Terragrunt logos by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4975](https://redirect.github.com/gruntwork-io/terragrunt/pull/4975)\n-
          docs: Fixes overflow issue on the right sidebar by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4972](https://redirect.github.com/gruntwork-io/terragrunt/pull/4972)\n-
          docs: Documenting `filter-flag` experiment by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4973](https://redirect.github.com/gruntwork-io/terragrunt/pull/4973)\n-
          docs: Fixing Flag Card icons by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4974](https://redirect.github.com/gruntwork-io/terragrunt/pull/4974)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.1...v0.91.2>\n\n###
          [`v0.91.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1)\n\n####
          \U0001F9F9 Chores\n\n##### Updated dependencies\n\nUpgraded multiple Golang
          dependencies to the latest stable versions:\n\n- Updated cloud.google.com/go/storage
          to v1.57.0\n- Updated github.com/aws/aws-sdk-go-v2 to v1.39.2\n- Updated
          github.com/getsops/sops/v3 to v3.11.0\n- Updated github.com/gofrs/flock
          to v0.13.0\n- Updated github.com/gruntwork-io/terratest to v0.51.0\n- Updated
          github.com/hashicorp/go-getter to v1.8.2\n- Updated golang.org/x/mod to
          v0.29.0\n- Updated golang.org/x/oauth2 to v0.32.0\n- Updated golang.org/x/sys
          to v0.37.0\n- Updated golang.org/x/term to v0.36.0\n- Updated golang.org/x/text
          to v0.30.0\n- Updated google.golang.org/api to v0.252.0\n- Updated google.golang.org/grpc
          to v1.76.0\n- Updated google.golang.org/protobuf to v1.36.10\n\n#### What's
          Changed\n\n- chore: Undo Starlight patch by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4964](https://redirect.github.com/gruntwork-io/terragrunt/pull/4964)\n-
          chore: Bump Bun dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4965](https://redirect.github.com/gruntwork-io/terragrunt/pull/4965)\n-
          chore: Refactor out `component` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4963](https://redirect.github.com/gruntwork-io/terragrunt/pull/4963)\n-
          feat: Adding `filter` package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4958](https://redirect.github.com/gruntwork-io/terragrunt/pull/4958)\n-
          chore: multiple dependencies update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4968](https://redirect.github.com/gruntwork-io/terragrunt/pull/4968)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.91.0...v0.91.1>\n\n###
          [`v0.91.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.91.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0)\n\nRemoval
          of behavior where inputs are read from dependencies\n\n### \U0001F6E0\uFE0F
          Breaking Changes\n\n##### **Removal of behavior where inputs are read from
          dependencies**\n\nTerragrunt no longer exposes **dependency inputs** as
          accessible values.\n\nThis change improves performance and simplifies dependency
          handling by removing a feature that significantly slowed configuration parsing
          due to a requirement for recursive parsing of dependencies of dependencies
          for every dependent.\n\nIf your configurations currently access dependency
          inputs like this:\n\n```hcl\ndependency \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs
          = {\n  my_input = dependency.foo.inputs.an_input_from_foo\n}\n\n```\n\nYou\u2019ll
          need to update them to reference **outputs** instead:\n\n```hcl\ndependency
          \"foo\" {\n  config_path = \"../foo\"\n}\n\ninputs = {\n  my_input = dependency.foo.outputs.an_output_from_foo\n}\n\n```\n\nAccessing
          outputs remains the supported and recommended way to share data between
          modules.\n\n#### What's Changed\n\n- feat: removal of behavior where inputs
          are read from dependencies by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4960](https://redirect.github.com/gruntwork-io/terragrunt/pull/4960)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.2...v0.91.0>\n\n###
          [`v0.90.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2)\n\n####
          \u2728 New Features\n\n##### Added `--terragrunt-no-cache` flag for `run_cmd`\n\nThe
          `run_cmd` command now supports a new flag, `--terragrunt-no-cache`, which
          disables caching of command execution output.\n\nThis option is useful when
          you want to ensure that each command run produces fresh results, especially
          in dynamic environments or when working with frequently changing external
          data.\n\n#### What's Changed\n\n- feat: add `--terragrunt-no-cache` parameter
          for `run_cmd` by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4951](https://redirect.github.com/gruntwork-io/terragrunt/pull/4951)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.1...v0.90.2>\n\n###
          [`v0.90.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1)\n\n####
          \u2728 New Features\n\n##### `hcl fmt` now supports `--queue` flags\n\nThe
          `hcl fmt` command now supports `--queue-` prefixed flags (e.g. [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)).\n\n####
          \U0001F41B Bug Fixes\n\n##### Discovery in `run` command discovers hidden
          directories\n\nWhen discovering units for the `run` command, Terragrunt
          will now search through (most) hidden directories.\n\nIt will still avoid
          performing discovery in the following hidden directories:\n\n- `.git`\n-
          `.terraform`\n- `.terragrunt-cache`\n\nTo manually force or suppress discovery,
          use [`--queue-include-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
          and [`--queue-exclude-dir`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/hcl/fmt/#queue-exclude-dir)
          respectively.\n\n##### `--queue-ignore-errors` no longer breaks DAG resolution\n\nA
          bug in the implementation of [`--queue-ignore-errors`](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#queue-ignore-errors)
          resulted in the flag also preventing the proper resolution of the [Directed
          Acyclic Graph (DAG)](https://terragrunt.gruntwork.io/docs/getting-started/terminology/#directed-acyclic-graph-dag)
          when suppressing errors.\n\nThis has been fixed.\n\n##### `--tf-path` respected
          through dependencies\n\nA bug in the precedence resolution of the [`terraform_binary`
          HCL attribute](https://terragrunt.gruntwork.io/docs/reference/hcl/attributes/#terraform_binary)
          and the [`--tf-path` flag](https://terragrunt.gruntwork.io/docs/reference/cli/commands/run/#tf-path)
          resulted in the default value of `terraform_binary` taking affect (`tofu`
          if both `tofu` and `terraform` are installed) when `terraform_binary` was
          not specified in dependencies.\n\nThis bug has been resolved, and the `--tf-path`
          flag will be respected in dependencies as well.\n\n##### Spurious errors
          resolved in `read_terragrunt_config()`\n\nA bug caused the [`read_terragrunt_config()`](https://terragrunt.gruntwork.io/docs/reference/hcl/functions/#read_terragrunt_config)
          HCL function to return spurious errors when used in a configuration parsed
          during the discovery phase of configuration resolution of a run.\n\nThis
          has been fixed.\n\n#### What's Changed\n\n- feat: Adding queue flags to
          `hcl fmt` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4950](https://redirect.github.com/gruntwork-io/terragrunt/pull/4950)\n-
          fix: discovery of hidden directories by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4945](https://redirect.github.com/gruntwork-io/terragrunt/pull/4945)\n-
          fix: Fixing `--queue-ignore-errors` resulting in ignored DAG order by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4953](https://redirect.github.com/gruntwork-io/terragrunt/pull/4953)\n-
          fix: Ensure `--tf-path` is used in dependencies by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4955](https://redirect.github.com/gruntwork-io/terragrunt/pull/4955)\n-
          fix: Prevent parse errors when using `read_terragrunt_config()` during discovery
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4956](https://redirect.github.com/gruntwork-io/terragrunt/pull/4956)\n-
          docs: Updating docs for `--out-dir` and `--json-out-dir` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4957](https://redirect.github.com/gruntwork-io/terragrunt/pull/4957)\n-
          docs: Pipelines won't bite landing page by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4948](https://redirect.github.com/gruntwork-io/terragrunt/pull/4948)\n-
          docs: Fixing form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4954](https://redirect.github.com/gruntwork-io/terragrunt/pull/4954)\n-
          chore: failing tests fixes by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4944](https://redirect.github.com/gruntwork-io/terragrunt/pull/4944)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.90.0...v0.90.1>\n\n###
          [`v0.90.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.90.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0)\n\nRemoval
          of deprecated commands\n\nThis is the next step on the road to Terragrunt
          1.0, completing the Terragrunt CLI Redesign. Read the [CLI Redesign migration
          guide](https://terragrunt.gruntwork.io/docs/migrate/cli-redesign/) for guidance
          on adapting to these breaking changes.\n\nWe anticipate no further breaking
          changes to the CLI prior to the release of Terragrunt 1.0, where the CLI
          will remain stable without breaking changes until at least Terragrunt 2.0.\n\nFor
          a full list of deprecated features that will be removed prior to the release
          of Terragrunt 1.0, see the [removal schedule](https://redirect.github.com/gruntwork-io/terragrunt/issues/3535).\n\n###
          \U0001F6E0\uFE0F Breaking Changes\n\n##### Removal of Deprecated Commands\n\nThe
          following deprecated CLI commands have been removed to streamline the command
          line API ahead of 1.0.\n\nUse the new commands introduced during the CLI
          redesign that replace them:\n\n- `terragrunt terragrunt-info` \u2192 `terragrunt
          info print`\n- `terragrunt hclfmt` \u2192 `terragrunt hcl fmt`\n- `terragrunt
          hclvalidate` \u2192 `terragrunt hcl validate`\n- `terragrunt validate-inputs`
          \u2192 `terragrunt hcl validate --inputs`\n- `terragrunt render-json` \u2192
          `terragrunt render --json -w`\n- `terragrunt graph-dependencies` \u2192
          `terragrunt dag graph`\n- `terragrunt output-module-groups` \u2192 `terragrunt
          find --dag --json`\n\n#### What's Changed\n\n- chore: removal of deprecated
          commands by [@&#8203;denis256](https://redirect.github.com/denis256) in
          [#&#8203;4918](https://redirect.github.com/gruntwork-io/terragrunt/pull/4918)\n-
          chore: Removal of output-module-groups cli command by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4937](https://redirect.github.com/gruntwork-io/terragrunt/pull/4937)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.4...v0.90.0>\n\n###
          [`v0.89.4`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.4)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4)\n\n####
          \U0001F41B\_Bug Fixes\n\n##### Collection of exit code for `-detailed-exitcode`
          behavior in `run --all`\n\nImproved run-all plan -detailed-exitcode aggregation
          to correctly return 2 when any unit has drift, even if another unit hits
          a retryable error.\n\n#### What's Changed\n\n- fix(run-all): corrected -detailed-exitcode
          aggregation  by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4932](https://redirect.github.com/gruntwork-io/terragrunt/pull/4932)\n-
          docs: stack generate documentation update by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4930](https://redirect.github.com/gruntwork-io/terragrunt/pull/4930)\n-
          docs: Form updates by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4911](https://redirect.github.com/gruntwork-io/terragrunt/pull/4911)\n-
          docs: Fixing up signup form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4933](https://redirect.github.com/gruntwork-io/terragrunt/pull/4933)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.3...v0.89.4>\n\n###
          [`v0.89.3`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.3)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3)\n\n####
          What's Changed\n\n- fix: Added missing flags to the `hcl` command by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4927](https://redirect.github.com/gruntwork-io/terragrunt/pull/4927)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.2...v0.89.3>\n\n###
          [`v0.89.2`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.2)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2)\n\n####
          What's Changed\n\n- fix: Fixing Terralith to Terragrunt integration test
          by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4909](https://redirect.github.com/gruntwork-io/terragrunt/pull/4909)\n-
          fix: Fixing external dependency resolution by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4926](https://redirect.github.com/gruntwork-io/terragrunt/pull/4926)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.1...v0.89.2>\n\n###
          [`v0.89.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1)\n\n####
          What's Changed\n\n- fix: Fixed bug where discovery warned that outputs were
          mocked. by [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4923](https://redirect.github.com/gruntwork-io/terragrunt/pull/4923)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.89.0...v0.89.1>\n\n###
          [`v0.89.0`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.89.0)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0)\n\nSeveral
          experimental features have been made generally available.\n\n#### \U0001F6E0\uFE0F
          Breaking Changes\n\n##### Runner-pool\n\nTerragrunt now supports the Runner
          Pool concurrency model, replacing the traditional group-based concurrency
          model with a dynamic scheduler by default.\n\nInstead of waiting for groups
          of units that block downstream units to complete their runs, the Runner
          Pool executes each unit as soon as its dependencies (or dependents for destroys)
          are resolved. This improves efficiency, reduces bottlenecks, and limits
          the impact of individual failures on the run of the entire queue.\n\n#####
          \u2728New Features\n\n- Dynamically schedules Units as soon as dependencies
          (or dependents) are satisfied\n- Improves throughput for large stacks\n-
          Provides better fault-isolation for failed units\n\n<p align=\"center\">\n\n<img
          width=\"789\" height=\"480\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7d88e437-2d5f-4477-86eb-0733b7062f0d\"
          />\n\n</p>\n\n##### Report\n\nThe experimental Report feature is now stable
          and enabled by default.\n\nEvery Terragrunt run will now emit a short summary
          at the end of the run that looks like the following by default:\n\n```bash\n$
          terragrunt run --all plan\n\n### Omitted for brevity...\n\n\u276F\u276F
          Run Summary  3 units  62ms\n   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n
          \  Succeeded    3\n\n```\n\nThis summary will give a high-level overview
          of the run results for units in a given Terragrunt run.\n\nYou can optionally
          request a CSV or JSON report of runs as well, giving you detailed insights
          as to the performance of each run using the `--report` flag:\n\n```bash\nterragrunt
          run --all plan --report-schema-file report.schema.csv\n```\n\n```csv\nName,Started,Ended,Result,Reason,Cause\nfirst-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
          block,\nsecond-exclude,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,excluded,exclude
          block,\nfirst-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
          error,\nfirst-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-failure,2025-06-05T16:28:41-04:00,2025-06-05T16:28:42-04:00,failed,run
          error,\nsecond-success,2025-06-05T16:28:41-04:00,2025-06-05T16:28:41-04:00,succeeded,,\nsecond-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
          exit,run error,\nfirst-early-exit,2025-06-05T16:28:42-04:00,2025-06-05T16:28:42-04:00,early
          exit,run error,\n```\n\n```bash\nterragrunt run --all plan --report-schema-file
          report.schema.json\n```\n\n```json\n[\n  {\n    \"Name\": \"first-exclude\",\n
          \   \"Started\": \"2025-06-05T16:28:41-04:00\",\n    \"Ended\": \"2025-06-05T16:28:41-04:00\",\n
          \   \"Result\": \"excluded\",\n    \"Reason\": \"exclude block\"\n  },\n
          \ {\n    \"Name\": \"first-success\",\n    \"Started\": \"2025-06-05T16:28:41-04:00\",\n
          \   \"Ended\": \"2025-06-05T16:28:41-04:00\",\n    \"Result\": \"succeeded\"\n
          \ }\n]\n\n```\n\n##### \u2728New Features\n\n- Generates detailed run reports
          (CSV and JSON formats supported)\n- Displays run summaries directly in the
          CLI output\n- Allows disabling summaries if desired\n\nTo learn more about
          the Run Report feature, read the dedicated guide on Run Reports [here](https://terragrunt.gruntwork.io/docs/features/run-report/).\n\n#####
          \U0001F527 Migration Guide\n\nNo action is required\n\nTo disable summary
          output explicitly, use `--disable-report-summary`:\n\n```bash\nterragrunt
          run --all plan --disable-report-summary\n```\n\n##### Auto OpenTofu Provider
          Cache Directory\n\nTerragrunt now automatically configures OpenTofu\u2019s
          **native provider caching mechanism** by default when running with OpenTofu
          > = 1.10.\n\nNote that if you are using Terraform, you will not be able
          to take advantage of this new feature.\n\nThis feature is only possible
          in OpenTofu due to the hard work and coordination with the OpenTofu team
          to ensure that concurrent access to the provider cache directory is safe
          for all OpenTofu users, regardless of whether they use Terragrunt.\n\n<p
          align=\"center\">\n<img width=\"912\" height=\"486\" alt=\"Screenshot 2025-06-25
          at 12 38 05\u202FPM\" src=\"https://github.com/user-attachments/assets/214cff8d-4fbb-4e70-aa96-c026e91038d7\"
          />\n</p>\n\n##### \u2728New Features\n\n- Automatically sets the `TF_PLUGIN_CACHE_DIR`
          environment variable\n- Uses OpenTofu\u2019s native provider cache instead
          of Terragrunt\u2019s internal cache server\n- Provides improved concurrency
          safety in multi-runner and CI environments\n\n##### \U0001F527 Migration
          Guide\n\nNo action is required if you\u2019re running OpenTofu > = 1.10
          \u2014 provider caching will be configured automatically.\n\nTo disable
          this behavior, use the `--no-auto-provider-cache-dir` flag:\n\n```bash\nterragrunt
          run --all apply --no-auto-provider-cache-dir\n```\n\n##### \u2764\uFE0F
          Special Thanks\n\nThis feature merely automatically activates a feature
          that was introduced in OpenTofu 1.10 by the hard work of [@&#8203;cam72cam](https://redirect.github.com/cam72cam)
          on the OpenTofu team.\n\nThe OpenTofu project takes community feedback seriously
          (including the maintainers of this project), and introduced the ability
          to concurrently access a shared provider cache directory as a feature in
          OpenTofu to make *all users* of OpenTofu better off. Maintainers of Terragrunt
          will continue to collaborate with the OpenTofu team to ensure that using
          Terragrunt with OpenTofu is the easiest way to guarantee the best experience
          managing IaC at scale.\n\n#### What's Changed\n\n- chore: Marked as completed
          runner-pool, reports and provider cache by [@&#8203;denis256](https://redirect.github.com/denis256)
          in [#&#8203;4900](https://redirect.github.com/gruntwork-io/terragrunt/pull/4900)\n-
          fix: Properly sets discovery context so that `plan -destroy` and `apply
          -destroy` work right by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4887](https://redirect.github.com/gruntwork-io/terragrunt/pull/4887)\n-
          docs: Implement view plans button by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4890](https://redirect.github.com/gruntwork-io/terragrunt/pull/4890)\n-
          docs: Visual updates to form by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4902](https://redirect.github.com/gruntwork-io/terragrunt/pull/4902)\n-
          docs: Fix docs flag name by [@&#8203;rubensf](https://redirect.github.com/rubensf)
          in [#&#8203;4908](https://redirect.github.com/gruntwork-io/terragrunt/pull/4908)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.1...v0.89.0>\n\n###
          [`v0.88.1`](https://redirect.github.com/gruntwork-io/terragrunt/releases/tag/v0.88.1)\n\n[Compare
          Source](https://redirect.github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1)\n\n####
          What's Changed\n\n- feat: Use better parsing for `--auth-provider-cmd` by
          [@&#8203;yhakbar](https://redirect.github.com/yhakbar) in [#&#8203;4881](https://redirect.github.com/gruntwork-io/terragrunt/pull/4881)\n-
          fix: Fixing race condition for `TestTerragruntExcludesFile` by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4809](https://redirect.github.com/gruntwork-io/terragrunt/pull/4809)\n-
          fix: Fixing report flags by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4899](https://redirect.github.com/gruntwork-io/terragrunt/pull/4899)\n-
          fix: Fixing `.tf` vs `.tofu` extension parity by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4794](https://redirect.github.com/gruntwork-io/terragrunt/pull/4794)\n-
          chore: Add data.tf to iam directory in refactoring guide by [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader)
          in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n-
          chore: Refactoring GitHub client into dedicated package by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4879](https://redirect.github.com/gruntwork-io/terragrunt/pull/4879)\n-
          build(deps): bump the js-dependencies group across 1 directory with 7 updates
          by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in
          [#&#8203;4878](https://redirect.github.com/gruntwork-io/terragrunt/pull/4878)\n-
          docs: Update 01-quick-start.mdx by [@&#8203;vit100](https://redirect.github.com/vit100)
          in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
          docs: CI for Terralith to Terragrunt Guide by [@&#8203;yhakbar](https://redirect.github.com/yhakbar)
          in [#&#8203;4811](https://redirect.github.com/gruntwork-io/terragrunt/pull/4811)\n-
          docs: Update OG images by [@&#8203;karlcarstensen](https://redirect.github.com/karlcarstensen)
          in [#&#8203;4889](https://redirect.github.com/gruntwork-io/terragrunt/pull/4889)\n\n####
          New Contributors\n\n- [@&#8203;vit100](https://redirect.github.com/vit100)
          made their first contribution in [#&#8203;4883](https://redirect.github.com/gruntwork-io/terragrunt/pull/4883)\n-
          [@&#8203;vit100-trader](https://redirect.github.com/vit100-trader) made
          their first contribution in [#&#8203;4888](https://redirect.github.com/gruntwork-io/terragrunt/pull/4888)\n\n**Full
          Changelog**: <https://github.com/gruntwork-io/terragrunt/compare/v0.88.0...v0.88.1>\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/testbed/pull/2777
        commit_id: 2542c6873c1b15dca95d31a5de15bf963b828f9f
        patchset: 2542c6873c1b15dca95d31a5de15bf963b828f9f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
          src_dir: src/github.com/osism/testbed
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGdydW50d29yay1pby90ZXJyYWdydW50IHRvIHYwLjkxLjUKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVXBkYXRlIHwgQ2hhbmdlIHwKfC0tLXwtLS18LS0tfAp8IFtncnVudHdvcmstaW8vdGVycmFncnVudF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50KSB8IG1pbm9yIHwgYHYwLjg4LjBgIC0+IGB2MC45MS41YCB8CgotLS0KCiMjIyBSZWxlYXNlIE5vdGVzCgo8ZGV0YWlscz4KPHN1bW1hcnk+Z3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQgKGdydW50d29yay1pby90ZXJyYWdydW50KTwvc3VtbWFyeT4KCiMjIyBbYHYwLjkxLjVgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjkxLjUpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjkxLjQuLi52MC45MS41KQoKIyMjIyMg8J+nqsKgRXhwZXJpbWVudHMgVXBkYXRlZAoKIyMjIyMgKipgZmlsdGVyLWZsYWdgIHVwZGF0ZWQgd2l0aCBgcnVuYCBzdXBwb3J0KioKClRoZSBgLS1maWx0ZXJgIGZsYWcgaXMgbm93IHN1cHBvcnRlZCBvbiB0aGUgYHJ1bmAgY29tbWFuZCAocmVtZW1iZXIgdGhhdCB5b3UgbXVzdCB1c2UgdGhlIFtgZmlsdGVyLWZsYWdgXShodHRwczovL3d3dy5ub3Rpb24uc28vdjAtOTEtNS0yOTZkODc1OWE2ODI4MDE2YWFlYmU2OTAwMDg1NTY3Mj9wdnM9MjEpIGV4cGVyaW1lbnQgdG8gdHJ5IHRoaXMpLgoKZS5nLgoKYGBgYmFzaAoKIyMjIyMgRmlsdGVyIGJ5IHBhdGggd2l0aCBnbG9iIHBhdHRlcm5zCnRlcnJhZ3J1bnQgcnVuIC0tYWxsIC0tZmlsdGVyICdwcm9kLyoqJyAtLSBwbGFuCgojIyMjIyBGaWx0ZXIgYnkgbmFtZQp0ZXJyYWdydW50IHJ1biAtLWFsbCAtLWZpbHRlciAnYXBwKicgLS0gYXBwbHkKCiMjIyMjIEV4Y2x1ZGUgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMKdGVycmFncnVudCBydW4gLS1hbGwgLS1maWx0ZXIgJyEuL3Rlc3QvKionIC0tIHBsYW4KCiMjIyMjIENvbWJpbmUgZmlsdGVycyB3aXRoIGludGVyc2VjdGlvbiAocmVmaW5lbWVudCkKdGVycmFncnVudCBydW4gLS1hbGwgLS1maWx0ZXIgJy4vcHJvZC8qKiB8ICFuYW1lPWxlZ2FjeScgLS0gYXBwbHkKCiMjIyMjIE11bHRpcGxlIGZpbHRlcnMgd2l0aCB1bmlvbgp0ZXJyYWdydW50IHJ1biAtLWFsbCAtLWZpbHRlciAnYXBwMScgLS1maWx0ZXIgJ2FwcDInIC0tIHBsYW4KCmBgYAoKRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvbiBbRmlsdGVyaW5nIFVuaXRzXShodHRwczovL3RlcnJhZ3J1bnQtZG9jcy1naXQtZG9jcy1kb2N1bWVudGluZy1zdXBwb3J0LWYtYjA2OTlkLWdydW50d29yay52ZXJjZWwuYXBwL2RvY3MvcmVmZXJlbmNlL2NsaS9jb21tYW5kcy9ydW4vI2ZpbHRlcmluZy11bml0cykuCgpJZiB5b3UgZ2l2ZSB0aGlzIGZlYXR1cmUgYSB0cnksIG1ha2Ugc3VyZSB0byBzaGFyZSB5b3VyIGZlZWRiYWNrIG9uIHRoZSBbRmlsdGVyIEZsYWcgUkZDXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzQwNjApCgojIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmZWF0OiBBZGRpbmcgc3VwcG9ydCBmb3IgYC0tZmlsdGVyYCBmbGFnIGluIGBydW5gIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTgxKQotIGRvY3M6IERvY3VtZW50aW5nIHN1cHBvcnQgZm9yIGAtLWZpbHRlcmAgaW4gdGhlIGBydW5gIGNvbW1hbmQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzUwMTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzUwMTUpCi0gY2hvcmU6IGZpeGVzIGZvciBwZXJpb2RpY2FsbHkgZmFpbGluZyB0ZXN0cyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbIyYjODIwMzs1MDExXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC81MDExKQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuOTEuNC4uLnYwLjkxLjU+CgojIyMgW2B2MC45MS40YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC45MS40KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC45MS4zLi4udjAuOTEuNCkKCiMjIyMg8J+nqsKgRXhwZXJpbWVudHMgVXBkYXRlZAoKIyMjIyMgKipgZmlsdGVyLWZsYWdgIHVwZGF0ZWQgd2l0aCBgcmVhZGluZz1gIHN1cHBvcnQqKgoKVGhlIGAtLWZpbHRlcmAgZmxhZyBub3cgc3VwcG9ydHMgdXNhZ2Ugb2YgdGhlIGByZWFkaW5nPWAgYXR0cmlidXRlIHRvIGZpbHRlciBvbiBjb21wb25lbnRzIHRoYXQgcmVhZCBwYXJ0aWN1bGFyIHNoYXJlZCBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9ucy4KCmUuZy4KCmBgYGJhc2gKdGVycmFncnVudCBmaW5kIC0tZmlsdGVyICdyZWFkaW5nPXNoYXJlZC5oY2wnCnRlcnJhZ3J1bnQgZmluZCAtLWZpbHRlciAncmVhZGluZz1jb21tb24vKi5oY2wnICMgR2xvYnMgc3VwcG9ydGVkIQp0ZXJyYWdydW50IGZpbmQgLS1maWx0ZXIgJ3JlYWRpbmc9Y29uZmlnLyoqJyAjIERvdWJsZS13aWxkY2FyZCBnbG9icyBhcmUgcmVxdWlyZWQgZmlsdGVyaW5nIG9uIGZpbGVzIG5lc3RlZCBpbiBzdWJkaXJlY3Rvcmllcy4KdGVycmFncnVudCBmaW5kIC0tZmlsdGVyICdyZWFkaW5nPWNvbmZpZy92YXJzLnRmdmFycycKYGBgCgpUaGlzIGJlaGF2aW9yIGlzIHNpbWlsYXIgdG8gdGhhdCBwcm92aWRlZCBieSB0aGUgW2AtLXF1ZXVlLWluY2x1ZGUtdW5pdHMtcmVhZGluZ2BdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpL2NvbW1hbmRzL3J1bi8jcXVldWUtaW5jbHVkZS11bml0cy1yZWFkaW5nKSBmbGFnLCB3aXRoIGFkZGl0aW9uYWwgc3VwcG9ydCBmb3IgZ2xvYnMsIG5lZ2F0aW9uIGFuZCBmaWx0ZXIgY2hhaW5pbmcgc3VwcG9ydGVkIGluIHRoZSBgLS1maWx0ZXJgIGZsYWcgbW9yZSBnZW5lcmFsbHkuCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBkb2N1bWVudGF0aW9uIG9uIFtBdHRyaWJ1dGUtQmFzZWQgRmlsdGVyaW5nXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS9jb21tYW5kcy9maW5kLyNhdHRyaWJ1dGUtYmFzZWQtZmlsdGVyaW5nKS4KCklmIHlvdSBnaXZlIHRoaXMgZmVhdHVyZSBhIHRyeSwgbWFrZSBzdXJlIHRvIHNoYXJlIHlvdXIgZmVlZGJhY2sgb24gdGhlIFtGaWx0ZXIgRmxhZyBSRkNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9pc3N1ZXMvNDA2MCkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gZmVhdDogQWRkaW5nIHN1cHBvcnQgZm9yIGByZWFkaW5nPWAgaW4gYC1maWx0ZXJgIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs1MDA0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC81MDA0KQotIGRvY3M6IERvY3VtZW50aW5nIHRoZSBuZXcgYHJlYWRpbmdgIGF0dHJpYnV0ZSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NTAwNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNTAwNSkKLSBkb2NzOiBkb2N1bWVudGluZyBob3cgdG8gZXhjbHVkZSBmaWxlcyBmcm9tIG1vZHVsZXMgYnkgW0AmIzgyMDM7Y2ViaWRoZW1dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWJpZGhlbSkgaW4gWyMmIzgyMDM7NTAwOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNTAwOCkKLSBkb2NzOiBTbWFsbCBmaXhlcyBpbiB0aGUgUHJvdmlkZXIgQ2FjaGUgU2VydmVyIGRvY3VtZW50YXRpb24gYnkgW0AmIzgyMDM7UmFmYWVsV09dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9SYWZhZWxXTykgaW4gWyMmIzgyMDM7NDk1OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk1OSkKCiMjIyMgTmV3IENvbnRyaWJ1dG9ycwoKLSBbQCYjODIwMztjZWJpZGhlbV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlYmlkaGVtKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs1MDA4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC81MDA4KQotIFtAJiM4MjAzO1JhZmFlbFdPXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUmFmYWVsV08pIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzQ5NTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5NTkpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC45MS4zLi4udjAuOTEuND4KCiMjIyBbYHYwLjkxLjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjkxLjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjkxLjIuLi52MC45MS4zKQoKIyMjIyDinKggTmV3IEZlYXR1cmVzCgojIyMjIyBgLS1yZWFkaW5nYCBmbGFnIGFkZGVkIHRvIHRoZSBgZmluZGAgY29tbWFuZAoKVGhlIGBmaW5kYCBjb21tYW5kIG5vdyBzdXBwb3J0cyB0aGUgYC0tcmVhZGluZ2AgZmxhZywgd2hpY2ggYWxsb3dzIHlvdSB0byBkaXNjb3ZlciB0aGUgc2hhcmVkIGNvbmZpZ3VyYXRpb25zIHJlYWQgYnkgdW5pdHMgYW5kIHN0YWNrcyB3aGVuIHVzaW5nIHRoZSBgLS1qc29uYCBmb3JtYXQuCgpgYGBiYXNoCiQgdGVycmFncnVudCBmaW5kIC0tcmVhZGluZyAtLWpzb24KWwogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiYXdzLWFjY291bnQtMSIsCiAgICAicmVhZGluZyI6IFsKICAgICAgImF3cy1kYXRhLnltbCIKICAgIF0KICB9LAogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiYXdzLWFjY291bnQtMiIsCiAgICAicmVhZGluZyI6IFsKICAgICAgImF3cy1kYXRhLnltbCIKICAgIF0KICB9LAogIHsKICAgICJ0eXBlIjogInVuaXQiLAogICAgInBhdGgiOiAiZ2NwLXByb2plY3QtMSIsCiAgICAicmVhZGluZyI6IFsKICAgICAgImdjcC1kYXRhLmhjbCIKICAgIF0KICB9Cl0KYGBgCgpZb3UgY2FuIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRyaXZlIGN1c3RvbSBsb2dpYyBpbiB5b3VyIHdvcmtmbG93cyBiYXNlZCBvbiB0aGUgY2hhbmdlcyByZWxhdGVkIHRvIHBhcnRpY3VsYXIgZmlsZXMuCgplLmcuCgpgYGBiYXNoCiQgdGVycmFncnVudCBmaW5kIC0tcmVhZGluZyAtLWpzb24gfCBqcSAnWy5bXSB8IHNlbGVjdCgucmVhZGluZ1tdPyB8IGNvbnRhaW5zKCJhd3MtZGF0YS55bWwiKSl8IC5wYXRoXScKWwogICJhd3MtYWNjb3VudC0xIiwKICAiYXdzLWFjY291bnQtMiIKXQoKJCB0ZXJyYWdydW50IGZpbmQgLS1yZWFkaW5nIC0tanNvbiB8IGpxICdbLltdIHwgc2VsZWN0KC5yZWFkaW5nW10/IHwgY29udGFpbnMoImdjcC1kYXRhLmhjbCIpKXwgLnBhdGhdJwpbCiAgImdjcC1wcm9qZWN0LTEiCl0KYGBgCgpZb3UgY2FuIGxlYXJuIG1vcmUgYWJvdXQgdGhlIGAtLXJlYWRpbmdgIGZsYWcgaW4gdGhlIFtgZmluZGAgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGkvY29tbWFuZHMvZmluZC8jcmVhZGluZy1maWxlcykuCgojIyMjIPCfkJsgQnVnIEZpeGVzCgojIyMjIyBFbXB0eSBzdGFja3Mgbm8gbG9uZ2VyIHRocm93IGVycm9ycwoKUHJldmlvdXNseSwgYSBidWcgaW4gdGhlIGxvZ2ljIHVzZWQgZm9yIG1ha2luZyBzdXJlIHRoYXQgdXNlcnMgZGlkbuKAmXQgYWNjaWRlbnRhbGx5IHJ1biBvbiBlbXB0eSBzdGFja3MgcmVzdWx0ZWQgaW4gdXNlcnMgZ2V0dGluZyBhIG5vbi16ZXJvIGV4aXQgY29kZSB3aGVuIGFsbCB1bml0cyBpbiBhIHN0YWNrIHdlcmUgZXhjbHVkZWQgKGUuZy4gdmlhIHRoZSBgZXhjbHVkZWAgYmxvY2spLgoKVGhhdCBidWcgaGFzIGJlZW4gZml4ZWQuCgojIyMjIyBEZXBlbmRlbmN5IG91dHB1dHMgY2FuIG5vdyBiZSB1c2VkIGluIGdlbmVyYXRlIGJsb2NrcwoKUHJldmlvdXNseSwgYSBidWcgaW4gdGhlIHdheSBIQ0wgcGFyc2luZyB3YXMgZG9uZSBkdXJpbmcgZGlzY292ZXJ5IHJlc3VsdGVkIGluIGVycm9ycyBiZWluZyB0aHJvd24gZm9yIHVzZXJzIHdoZW4gZGVwZW5kZW5jeSBvdXRwdXRzIHdlcmUgdXNlZCBpbiBgZ2VuZXJhdGVgIGJsb2Nrcy4gVGhhdCBlcnJvciBoYXMgc2luY2UgYmVlbiByZXNvbHZlZC4KClRoYXQgYnVnIGhhcyBiZWVuIGZpeGVkLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmZWF0OiBBZGRpbmcgcmVhZGluZyBzdXBwb3J0IGluIGBmaW5kYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NTAwMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNTAwMikKLSBmaXg6IFJlbW92aW5nIGZpbHRlciBlbmFibGVkIGNoZWNrIG9uIGVtcHR5IHN0YWNrcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk5Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk5MikKLSBmaXg6IHJlZmVyZW5jZSBvZiBkZXBlbmRlbmN5IG91dHB1dHMgaW4gZ2VuZXJhdGUgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gWyMmIzgyMDM7NDk5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk5NCkKLSBkb2NzOiBEb2N1bWVudGluZyBuZXcgYC1yZWFkaW5nYCBmbGFnIGZvciBgZmluZGAgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzUwMDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzUwMDMpCi0gZG9jczogRml4aW5nIC0tc291cmNlLW1hcCBleHBsYW5hdGlvbiBieSBbQCYjODIwMzthdGhlaW1hbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2F0aGVpbWFuKSBpbiBbIyYjODIwMzs0OTk3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTk3KQotIGRvY3M6IEZpeGluZyBgRmlsdGVyc2AgZG9jcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk5Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk5NikKLSBjaG9yZTogVHJhY2tpbmcgREFHIG5vZGVzIGluIGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ5OThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5OTgpCi0gY2hvcmU6IFRyYWNraW5nIHJlYWRzIGluIGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzUwMDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzUwMDApCi0gY2hvcmU6IFVwZGF0aW5nIGxhbmd1YWdlIGluIGRpc2NvdmVyeSBjb21tYW5kcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NTAwMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNTAwMSkKLSBjaG9yZTogVXNpbmcgYSBzdGFuZGFyZCBzaGVsbCBzdHJpbmcgcGFyc2luZyBsaWJyYXJ5IGluc3RlYWQgb2YgaGFuZGxpbmcgaXQgb3Vyc2VsdmVzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTkxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTkxKQotIGJ1aWxkKGRlcHMpOiBidW1wIHRoZSBqcy1kZXBlbmRlbmNpZXMgZ3JvdXAgYWNyb3NzIDEgZGlyZWN0b3J5IHdpdGggNSB1cGRhdGVzIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KVxbYm90XSBpbiBbIyYjODIwMzs0OTkzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTkzKQotIGJ1aWxkKGRlcHMpOiBidW1wIHZpdGUgZnJvbSA2LjMuNiB0byA2LjQuMSBpbiAvZG9jcy1zdGFybGlnaHQgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpXFtib3RdIGluIFsjJiM4MjAzOzQ5OTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5OTkpCgojIyMjIE5ldyBDb250cmlidXRvcnMKCi0gW0AmIzgyMDM7YXRoZWltYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hdGhlaW1hbikgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NDk5N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk5NykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjkxLjIuLi52MC45MS4zPgoKIyMjIFtgdjAuOTEuMmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuOTEuMikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuOTEuMS4uLnYwLjkxLjIpCgojIyMjIPCfp6ogRXhwZXJpbWVudHMgSW50cm9kdWNlZAoKIyMjIyMgYGZpbHRlci1mbGFnYCBpbnRyb2R1Y2VkCgpBIG5ldyBleHBlcmltZW50IG5hbWVkIFtmaWx0ZXItZmxhZ10oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9leHBlcmltZW50cy8jZmlsdGVyLWZsYWcpIGhhcyBiZWVuIGludHJvZHVjZWQsIGFsbG93aW5nIGZvciBleHBlcmltZW50YWwgdXNhZ2Ugb2YgdGhlIG5ldyBgLS1maWx0ZXJgIGZsYWcgZGVzY3JpYmVkIGluIFtSRkMgIyYjODIwMzs0MDYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvaXNzdWVzLzQwNjApLiBUaGUgYGZpbHRlci1mbGFnYCBleHBlcmltZW50IGlzIGluY29tcGxldGUsIGFuZCBtaW5pbWFsIHN1cHBvcnQgZm9yIHRoZSBgLS1maWx0ZXJgIGZsYWcgaGFzIGJlZW4gYWRkZWQgZXhjbHVzaXZlbHkgdG8gdGhlIFtgZmluZGBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpL2NvbW1hbmRzL2ZpbmQvKSBhbmQgW2BsaXN0YF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGkvY29tbWFuZHMvbGlzdC8pIGNvbW1hbmRzLgoKVGhlIGZpbHRlciBmbGFnIGFsbG93cyBmb3Igc29waGlzdGljYXRlZCBxdWVyeWluZyBvZiBwYXJ0aWN1bGFyIFRlcnJhZ3J1bnQgc3RhY2tzIGFuZCB1bml0cyBpbiBhIHdheSB0aGF0IGlzIGN1cnJlbnRseSBvbmx5IHBvc3NpYmxlIHVzaW5nIGEgY29tYmluYXRpb24gb2YgW2DigJRxdWV1ZS1gXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvZmVhdHVyZXMvcnVuLXF1ZXVlLyNjb250cm9sbGluZy10aGUtcXVldWUpIHByZWZpeGVkIGZsYWdzLgoKRXhhbXBsZSBmaWx0ZXIgdXNhZ2UgbWlnaHQgbG9vayBsaWtlIHRoZSBmb2xsb3dpbmc6CgpgYGBiYXNoCiQgdGVycmFncnVudCBmaW5kIC0tZmlsdGVyICcuL3Byb2QvKiogfCBuYW1lPXdlYicKcHJvZC9zZXJ2aWNlcy93ZWIKYGBgCgo+IFxbIUlNUE9SVEFOVF0KPgo+IFdoaWxlIHRoZSBgZmlsdGVyLWZsYWdgIGV4cGVyaW1lbnQgaXMgYWN0aXZlLCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZSB0aGUgYGZpbHRlci1mbGFnYCBleHBlcmltZW50IGZvciBhbnkgY29tbWFuZCB0aGF0IHVzZXMgdGhlIGBmaWx0ZXItZmxhZ2AuIFNlZSBbQ29udHJvbGxpbmcgRXhwZXJpbWVudCBNb2RlXShodHRwczovL3RlcnJhZ3J1bnQtZG9jcy1pY3MzYmlpbWwtZ3J1bnR3b3JrLnZlcmNlbC5hcHAvZG9jcy9yZWZlcmVuY2UvZXhwZXJpbWVudHMvI2NvbnRyb2xsaW5nLWV4cGVyaW1lbnQtbW9kZSkgZm9yIG1vcmUgZGV0YWlscy4KPgo+IGUuZy4KPgo+IGBgYGJhc2gKPiB0ZXJyYWdydW50IGZpbmQgLS1leHBlcmltZW50IGZpbHRlci1mbGFnIC0tZmlsdGVyICcuL3Byb2QvKiogfCBuYW1lPXdlYicKPiBgYGAKCllvdSBjYW4gbGVhcm4gbW9yZSBhYm91dCBmaWx0ZXJzLCBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbiBvbiB0aGUgc3ludGF4IGFuZCBleGFtcGxlcyBvZiBlYWNoIHR5cGUgb2YgZmlsdGVyIGluIHRoZSBbZGVkaWNhdGVkIGZlYXR1cmUgZG9jdW1lbnRhdGlvbiBmb3IgZmlsdGVyc10oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL2ZlYXR1cmVzL2ZpbHRlci8pLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmZWF0OiBJbnRyb2R1Y2UgYGZpbHRlci1mbGFnYCBleHBlcmltZW50IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTY5KQotIGNob3JlOiBBZGRpbmcgY2hlY2tib3ggZm9yIHJlcHJvZHVjdGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk4MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk4MCkKLSBkb2NzOiBVc2Ugc3BlY2lhbCBkYXJrL2xpZ2h0IG1vZGUgZm9yIFRlcnJhZ3J1bnQgbG9nb3MgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ5NzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5NzUpCi0gZG9jczogRml4ZXMgb3ZlcmZsb3cgaXNzdWUgb24gdGhlIHJpZ2h0IHNpZGViYXIgYnkgW0AmIzgyMDM7a2FybGNhcnN0ZW5zZW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rYXJsY2Fyc3RlbnNlbikgaW4gWyMmIzgyMDM7NDk3Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk3MikKLSBkb2NzOiBEb2N1bWVudGluZyBgZmlsdGVyLWZsYWdgIGV4cGVyaW1lbnQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ5NzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5NzMpCi0gZG9jczogRml4aW5nIEZsYWcgQ2FyZCBpY29ucyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk3NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk3NCkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjkxLjEuLi52MC45MS4yPgoKIyMjIFtgdjAuOTEuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuOTEuMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuOTEuMC4uLnYwLjkxLjEpCgojIyMjIPCfp7kgQ2hvcmVzCgojIyMjIyBVcGRhdGVkIGRlcGVuZGVuY2llcwoKVXBncmFkZWQgbXVsdGlwbGUgR29sYW5nIGRlcGVuZGVuY2llcyB0byB0aGUgbGF0ZXN0IHN0YWJsZSB2ZXJzaW9uczoKCi0gVXBkYXRlZCBjbG91ZC5nb29nbGUuY29tL2dvL3N0b3JhZ2UgdG8gdjEuNTcuMAotIFVwZGF0ZWQgZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1nby12MiB0byB2MS4zOS4yCi0gVXBkYXRlZCBnaXRodWIuY29tL2dldHNvcHMvc29wcy92MyB0byB2My4xMS4wCi0gVXBkYXRlZCBnaXRodWIuY29tL2dvZnJzL2Zsb2NrIHRvIHYwLjEzLjAKLSBVcGRhdGVkIGdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhdGVzdCB0byB2MC41MS4wCi0gVXBkYXRlZCBnaXRodWIuY29tL2hhc2hpY29ycC9nby1nZXR0ZXIgdG8gdjEuOC4yCi0gVXBkYXRlZCBnb2xhbmcub3JnL3gvbW9kIHRvIHYwLjI5LjAKLSBVcGRhdGVkIGdvbGFuZy5vcmcveC9vYXV0aDIgdG8gdjAuMzIuMAotIFVwZGF0ZWQgZ29sYW5nLm9yZy94L3N5cyB0byB2MC4zNy4wCi0gVXBkYXRlZCBnb2xhbmcub3JnL3gvdGVybSB0byB2MC4zNi4wCi0gVXBkYXRlZCBnb2xhbmcub3JnL3gvdGV4dCB0byB2MC4zMC4wCi0gVXBkYXRlZCBnb29nbGUuZ29sYW5nLm9yZy9hcGkgdG8gdjAuMjUyLjAKLSBVcGRhdGVkIGdvb2dsZS5nb2xhbmcub3JnL2dycGMgdG8gdjEuNzYuMAotIFVwZGF0ZWQgZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYgdG8gdjEuMzYuMTAKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gY2hvcmU6IFVuZG8gU3RhcmxpZ2h0IHBhdGNoIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTY0KQotIGNob3JlOiBCdW1wIEJ1biBkZXBlbmRlbmNpZXMgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ5NjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5NjUpCi0gY2hvcmU6IFJlZmFjdG9yIG91dCBgY29tcG9uZW50YCBwYWNrYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTYzKQotIGZlYXQ6IEFkZGluZyBgZmlsdGVyYCBwYWNrYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTU4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTU4KQotIGNob3JlOiBtdWx0aXBsZSBkZXBlbmRlbmNpZXMgdXBkYXRlIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFsjJiM4MjAzOzQ5NjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5NjgpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC45MS4wLi4udjAuOTEuMT4KCiMjIyBbYHYwLjkxLjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjkxLjApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjkwLjIuLi52MC45MS4wKQoKUmVtb3ZhbCBvZiBiZWhhdmlvciB3aGVyZSBpbnB1dHMgYXJlIHJlYWQgZnJvbSBkZXBlbmRlbmNpZXMKCiMjIyDwn5ug77iPIEJyZWFraW5nIENoYW5nZXMKCiMjIyMjICoqUmVtb3ZhbCBvZiBiZWhhdmlvciB3aGVyZSBpbnB1dHMgYXJlIHJlYWQgZnJvbSBkZXBlbmRlbmNpZXMqKgoKVGVycmFncnVudCBubyBsb25nZXIgZXhwb3NlcyAqKmRlcGVuZGVuY3kgaW5wdXRzKiogYXMgYWNjZXNzaWJsZSB2YWx1ZXMuCgpUaGlzIGNoYW5nZSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBhbmQgc2ltcGxpZmllcyBkZXBlbmRlbmN5IGhhbmRsaW5nIGJ5IHJlbW92aW5nIGEgZmVhdHVyZSB0aGF0IHNpZ25pZmljYW50bHkgc2xvd2VkIGNvbmZpZ3VyYXRpb24gcGFyc2luZyBkdWUgdG8gYSByZXF1aXJlbWVudCBmb3IgcmVjdXJzaXZlIHBhcnNpbmcgb2YgZGVwZW5kZW5jaWVzIG9mIGRlcGVuZGVuY2llcyBmb3IgZXZlcnkgZGVwZW5kZW50LgoKSWYgeW91ciBjb25maWd1cmF0aW9ucyBjdXJyZW50bHkgYWNjZXNzIGRlcGVuZGVuY3kgaW5wdXRzIGxpa2UgdGhpczoKCmBgYGhjbApkZXBlbmRlbmN5ICJmb28iIHsKICBjb25maWdfcGF0aCA9ICIuLi9mb28iCn0KCmlucHV0cyA9IHsKICBteV9pbnB1dCA9IGRlcGVuZGVuY3kuZm9vLmlucHV0cy5hbl9pbnB1dF9mcm9tX2Zvbwp9CgpgYGAKCllvdeKAmWxsIG5lZWQgdG8gdXBkYXRlIHRoZW0gdG8gcmVmZXJlbmNlICoqb3V0cHV0cyoqIGluc3RlYWQ6CgpgYGBoY2wKZGVwZW5kZW5jeSAiZm9vIiB7CiAgY29uZmlnX3BhdGggPSAiLi4vZm9vIgp9CgppbnB1dHMgPSB7CiAgbXlfaW5wdXQgPSBkZXBlbmRlbmN5LmZvby5vdXRwdXRzLmFuX291dHB1dF9mcm9tX2Zvbwp9CgpgYGAKCkFjY2Vzc2luZyBvdXRwdXRzIHJlbWFpbnMgdGhlIHN1cHBvcnRlZCBhbmQgcmVjb21tZW5kZWQgd2F5IHRvIHNoYXJlIGRhdGEgYmV0d2VlbiBtb2R1bGVzLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmZWF0OiByZW1vdmFsIG9mIGJlaGF2aW9yIHdoZXJlIGlucHV0cyBhcmUgcmVhZCBmcm9tIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbIyYjODIwMzs0OTYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTYwKQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuOTAuMi4uLnYwLjkxLjA+CgojIyMgW2B2MC45MC4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC45MC4yKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC45MC4xLi4udjAuOTAuMikKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgQWRkZWQgYC0tdGVycmFncnVudC1uby1jYWNoZWAgZmxhZyBmb3IgYHJ1bl9jbWRgCgpUaGUgYHJ1bl9jbWRgIGNvbW1hbmQgbm93IHN1cHBvcnRzIGEgbmV3IGZsYWcsIGAtLXRlcnJhZ3J1bnQtbm8tY2FjaGVgLCB3aGljaCBkaXNhYmxlcyBjYWNoaW5nIG9mIGNvbW1hbmQgZXhlY3V0aW9uIG91dHB1dC4KClRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIGVuc3VyZSB0aGF0IGVhY2ggY29tbWFuZCBydW4gcHJvZHVjZXMgZnJlc2ggcmVzdWx0cywgZXNwZWNpYWxseSBpbiBkeW5hbWljIGVudmlyb25tZW50cyBvciB3aGVuIHdvcmtpbmcgd2l0aCBmcmVxdWVudGx5IGNoYW5naW5nIGV4dGVybmFsIGRhdGEuCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotIGZlYXQ6IGFkZCBgLS10ZXJyYWdydW50LW5vLWNhY2hlYCBwYXJhbWV0ZXIgZm9yIGBydW5fY21kYCBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbIyYjODIwMzs0OTUxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTUxKQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuOTAuMS4uLnYwLjkwLjI+CgojIyMgW2B2MC45MC4xYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC45MC4xKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC45MC4wLi4udjAuOTAuMSkKCiMjIyMg4pyoIE5ldyBGZWF0dXJlcwoKIyMjIyMgYGhjbCBmbXRgIG5vdyBzdXBwb3J0cyBgLS1xdWV1ZWAgZmxhZ3MKClRoZSBgaGNsIGZtdGAgY29tbWFuZCBub3cgc3VwcG9ydHMgYC0tcXVldWUtYCBwcmVmaXhlZCBmbGFncyAoZS5nLiBbYC0tcXVldWUtZXhjbHVkZS1kaXJgXShodHRwczovL3RlcnJhZ3J1bnQuZ3J1bnR3b3JrLmlvL2RvY3MvcmVmZXJlbmNlL2NsaS9jb21tYW5kcy9oY2wvZm10LyNxdWV1ZS1leGNsdWRlLWRpcikpLgoKIyMjIyDwn5CbIEJ1ZyBGaXhlcwoKIyMjIyMgRGlzY292ZXJ5IGluIGBydW5gIGNvbW1hbmQgZGlzY292ZXJzIGhpZGRlbiBkaXJlY3RvcmllcwoKV2hlbiBkaXNjb3ZlcmluZyB1bml0cyBmb3IgdGhlIGBydW5gIGNvbW1hbmQsIFRlcnJhZ3J1bnQgd2lsbCBub3cgc2VhcmNoIHRocm91Z2ggKG1vc3QpIGhpZGRlbiBkaXJlY3Rvcmllcy4KCkl0IHdpbGwgc3RpbGwgYXZvaWQgcGVyZm9ybWluZyBkaXNjb3ZlcnkgaW4gdGhlIGZvbGxvd2luZyBoaWRkZW4gZGlyZWN0b3JpZXM6CgotIGAuZ2l0YAotIGAudGVycmFmb3JtYAotIGAudGVycmFncnVudC1jYWNoZWAKClRvIG1hbnVhbGx5IGZvcmNlIG9yIHN1cHByZXNzIGRpc2NvdmVyeSwgdXNlIFtgLS1xdWV1ZS1pbmNsdWRlLWRpcmBdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpL2NvbW1hbmRzL2hjbC9mbXQvI3F1ZXVlLWV4Y2x1ZGUtZGlyKSBhbmQgW2AtLXF1ZXVlLWV4Y2x1ZGUtZGlyYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGkvY29tbWFuZHMvaGNsL2ZtdC8jcXVldWUtZXhjbHVkZS1kaXIpIHJlc3BlY3RpdmVseS4KCiMjIyMjIGAtLXF1ZXVlLWlnbm9yZS1lcnJvcnNgIG5vIGxvbmdlciBicmVha3MgREFHIHJlc29sdXRpb24KCkEgYnVnIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBbYC0tcXVldWUtaWdub3JlLWVycm9yc2BdKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9yZWZlcmVuY2UvY2xpL2NvbW1hbmRzL3J1bi8jcXVldWUtaWdub3JlLWVycm9ycykgcmVzdWx0ZWQgaW4gdGhlIGZsYWcgYWxzbyBwcmV2ZW50aW5nIHRoZSBwcm9wZXIgcmVzb2x1dGlvbiBvZiB0aGUgW0RpcmVjdGVkIEFjeWNsaWMgR3JhcGggKERBRyldKGh0dHBzOi8vdGVycmFncnVudC5ncnVudHdvcmsuaW8vZG9jcy9nZXR0aW5nLXN0YXJ0ZWQvdGVybWlub2xvZ3kvI2RpcmVjdGVkLWFjeWNsaWMtZ3JhcGgtZGFnKSB3aGVuIHN1cHByZXNzaW5nIGVycm9ycy4KClRoaXMgaGFzIGJlZW4gZml4ZWQuCgojIyMjIyBgLS10Zi1wYXRoYCByZXNwZWN0ZWQgdGhyb3VnaCBkZXBlbmRlbmNpZXMKCkEgYnVnIGluIHRoZSBwcmVjZWRlbmNlIHJlc29sdXRpb24gb2YgdGhlIFtgdGVycmFmb3JtX2JpbmFyeWAgSENMIGF0dHJpYnV0ZV0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9oY2wvYXR0cmlidXRlcy8jdGVycmFmb3JtX2JpbmFyeSkgYW5kIHRoZSBbYC0tdGYtcGF0aGAgZmxhZ10oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9jbGkvY29tbWFuZHMvcnVuLyN0Zi1wYXRoKSByZXN1bHRlZCBpbiB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBgdGVycmFmb3JtX2JpbmFyeWAgdGFraW5nIGFmZmVjdCAoYHRvZnVgIGlmIGJvdGggYHRvZnVgIGFuZCBgdGVycmFmb3JtYCBhcmUgaW5zdGFsbGVkKSB3aGVuIGB0ZXJyYWZvcm1fYmluYXJ5YCB3YXMgbm90IHNwZWNpZmllZCBpbiBkZXBlbmRlbmNpZXMuCgpUaGlzIGJ1ZyBoYXMgYmVlbiByZXNvbHZlZCwgYW5kIHRoZSBgLS10Zi1wYXRoYCBmbGFnIHdpbGwgYmUgcmVzcGVjdGVkIGluIGRlcGVuZGVuY2llcyBhcyB3ZWxsLgoKIyMjIyMgU3B1cmlvdXMgZXJyb3JzIHJlc29sdmVkIGluIGByZWFkX3RlcnJhZ3J1bnRfY29uZmlnKClgCgpBIGJ1ZyBjYXVzZWQgdGhlIFtgcmVhZF90ZXJyYWdydW50X2NvbmZpZygpYF0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL3JlZmVyZW5jZS9oY2wvZnVuY3Rpb25zLyNyZWFkX3RlcnJhZ3J1bnRfY29uZmlnKSBIQ0wgZnVuY3Rpb24gdG8gcmV0dXJuIHNwdXJpb3VzIGVycm9ycyB3aGVuIHVzZWQgaW4gYSBjb25maWd1cmF0aW9uIHBhcnNlZCBkdXJpbmcgdGhlIGRpc2NvdmVyeSBwaGFzZSBvZiBjb25maWd1cmF0aW9uIHJlc29sdXRpb24gb2YgYSBydW4uCgpUaGlzIGhhcyBiZWVuIGZpeGVkLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmZWF0OiBBZGRpbmcgcXVldWUgZmxhZ3MgdG8gYGhjbCBmbXRgIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTUwKQotIGZpeDogZGlzY292ZXJ5IG9mIGhpZGRlbiBkaXJlY3RvcmllcyBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbIyYjODIwMzs0OTQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTQ1KQotIGZpeDogRml4aW5nIGAtLXF1ZXVlLWlnbm9yZS1lcnJvcnNgIHJlc3VsdGluZyBpbiBpZ25vcmVkIERBRyBvcmRlciBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk1M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk1MykKLSBmaXg6IEVuc3VyZSBgLS10Zi1wYXRoYCBpcyB1c2VkIGluIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk1NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk1NSkKLSBmaXg6IFByZXZlbnQgcGFyc2UgZXJyb3JzIHdoZW4gdXNpbmcgYHJlYWRfdGVycmFncnVudF9jb25maWcoKWAgZHVyaW5nIGRpc2NvdmVyeSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk1NikKLSBkb2NzOiBVcGRhdGluZyBkb2NzIGZvciBgLS1vdXQtZGlyYCBhbmQgYC0tanNvbi1vdXQtZGlyYCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDk1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk1NykKLSBkb2NzOiBQaXBlbGluZXMgd29uJ3QgYml0ZSBsYW5kaW5nIHBhZ2UgYnkgW0AmIzgyMDM7a2FybGNhcnN0ZW5zZW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rYXJsY2Fyc3RlbnNlbikgaW4gWyMmIzgyMDM7NDk0OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDk0OCkKLSBkb2NzOiBGaXhpbmcgZm9ybSBieSBbQCYjODIwMztrYXJsY2Fyc3RlbnNlbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2thcmxjYXJzdGVuc2VuKSBpbiBbIyYjODIwMzs0OTU0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTU0KQotIGNob3JlOiBmYWlsaW5nIHRlc3RzIGZpeGVzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFsjJiM4MjAzOzQ5NDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5NDQpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC45MC4wLi4udjAuOTAuMT4KCiMjIyBbYHYwLjkwLjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjkwLjApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjg5LjQuLi52MC45MC4wKQoKUmVtb3ZhbCBvZiBkZXByZWNhdGVkIGNvbW1hbmRzCgpUaGlzIGlzIHRoZSBuZXh0IHN0ZXAgb24gdGhlIHJvYWQgdG8gVGVycmFncnVudCAxLjAsIGNvbXBsZXRpbmcgdGhlIFRlcnJhZ3J1bnQgQ0xJIFJlZGVzaWduLiBSZWFkIHRoZSBbQ0xJIFJlZGVzaWduIG1pZ3JhdGlvbiBndWlkZV0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL21pZ3JhdGUvY2xpLXJlZGVzaWduLykgZm9yIGd1aWRhbmNlIG9uIGFkYXB0aW5nIHRvIHRoZXNlIGJyZWFraW5nIGNoYW5nZXMuCgpXZSBhbnRpY2lwYXRlIG5vIGZ1cnRoZXIgYnJlYWtpbmcgY2hhbmdlcyB0byB0aGUgQ0xJIHByaW9yIHRvIHRoZSByZWxlYXNlIG9mIFRlcnJhZ3J1bnQgMS4wLCB3aGVyZSB0aGUgQ0xJIHdpbGwgcmVtYWluIHN0YWJsZSB3aXRob3V0IGJyZWFraW5nIGNoYW5nZXMgdW50aWwgYXQgbGVhc3QgVGVycmFncnVudCAyLjAuCgpGb3IgYSBmdWxsIGxpc3Qgb2YgZGVwcmVjYXRlZCBmZWF0dXJlcyB0aGF0IHdpbGwgYmUgcmVtb3ZlZCBwcmlvciB0byB0aGUgcmVsZWFzZSBvZiBUZXJyYWdydW50IDEuMCwgc2VlIHRoZSBbcmVtb3ZhbCBzY2hlZHVsZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2lzc3Vlcy8zNTM1KS4KCiMjIyDwn5ug77iPIEJyZWFraW5nIENoYW5nZXMKCiMjIyMjIFJlbW92YWwgb2YgRGVwcmVjYXRlZCBDb21tYW5kcwoKVGhlIGZvbGxvd2luZyBkZXByZWNhdGVkIENMSSBjb21tYW5kcyBoYXZlIGJlZW4gcmVtb3ZlZCB0byBzdHJlYW1saW5lIHRoZSBjb21tYW5kIGxpbmUgQVBJIGFoZWFkIG9mIDEuMC4KClVzZSB0aGUgbmV3IGNvbW1hbmRzIGludHJvZHVjZWQgZHVyaW5nIHRoZSBDTEkgcmVkZXNpZ24gdGhhdCByZXBsYWNlIHRoZW06CgotIGB0ZXJyYWdydW50IHRlcnJhZ3J1bnQtaW5mb2Ag4oaSIGB0ZXJyYWdydW50IGluZm8gcHJpbnRgCi0gYHRlcnJhZ3J1bnQgaGNsZm10YCDihpIgYHRlcnJhZ3J1bnQgaGNsIGZtdGAKLSBgdGVycmFncnVudCBoY2x2YWxpZGF0ZWAg4oaSIGB0ZXJyYWdydW50IGhjbCB2YWxpZGF0ZWAKLSBgdGVycmFncnVudCB2YWxpZGF0ZS1pbnB1dHNgIOKGkiBgdGVycmFncnVudCBoY2wgdmFsaWRhdGUgLS1pbnB1dHNgCi0gYHRlcnJhZ3J1bnQgcmVuZGVyLWpzb25gIOKGkiBgdGVycmFncnVudCByZW5kZXIgLS1qc29uIC13YAotIGB0ZXJyYWdydW50IGdyYXBoLWRlcGVuZGVuY2llc2Ag4oaSIGB0ZXJyYWdydW50IGRhZyBncmFwaGAKLSBgdGVycmFncnVudCBvdXRwdXQtbW9kdWxlLWdyb3Vwc2Ag4oaSIGB0ZXJyYWdydW50IGZpbmQgLS1kYWcgLS1qc29uYAoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBjaG9yZTogcmVtb3ZhbCBvZiBkZXByZWNhdGVkIGNvbW1hbmRzIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFsjJiM4MjAzOzQ5MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5MTgpCi0gY2hvcmU6IFJlbW92YWwgb2Ygb3V0cHV0LW1vZHVsZS1ncm91cHMgY2xpIGNvbW1hbmQgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gWyMmIzgyMDM7NDkzN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDkzNykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjg5LjQuLi52MC45MC4wPgoKIyMjIFtgdjAuODkuNGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODkuNCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODkuMy4uLnYwLjg5LjQpCgojIyMjIPCfkJvCoEJ1ZyBGaXhlcwoKIyMjIyMgQ29sbGVjdGlvbiBvZiBleGl0IGNvZGUgZm9yIGAtZGV0YWlsZWQtZXhpdGNvZGVgIGJlaGF2aW9yIGluIGBydW4gLS1hbGxgCgpJbXByb3ZlZCBydW4tYWxsIHBsYW4gLWRldGFpbGVkLWV4aXRjb2RlIGFnZ3JlZ2F0aW9uIHRvIGNvcnJlY3RseSByZXR1cm4gMiB3aGVuIGFueSB1bml0IGhhcyBkcmlmdCwgZXZlbiBpZiBhbm90aGVyIHVuaXQgaGl0cyBhIHJldHJ5YWJsZSBlcnJvci4KCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gZml4KHJ1bi1hbGwpOiBjb3JyZWN0ZWQgLWRldGFpbGVkLWV4aXRjb2RlIGFnZ3JlZ2F0aW9uICBieSBbQCYjODIwMztkZW5pczI1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlbmlzMjU2KSBpbiBbIyYjODIwMzs0OTMyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTMyKQotIGRvY3M6IHN0YWNrIGdlbmVyYXRlIGRvY3VtZW50YXRpb24gdXBkYXRlIGJ5IFtAJiM4MjAzO2RlbmlzMjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVuaXMyNTYpIGluIFsjJiM4MjAzOzQ5MzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5MzApCi0gZG9jczogRm9ybSB1cGRhdGVzIGJ5IFtAJiM4MjAzO2thcmxjYXJzdGVuc2VuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va2FybGNhcnN0ZW5zZW4pIGluIFsjJiM4MjAzOzQ5MTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5MTEpCi0gZG9jczogRml4aW5nIHVwIHNpZ251cCBmb3JtIGJ5IFtAJiM4MjAzO2thcmxjYXJzdGVuc2VuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va2FybGNhcnN0ZW5zZW4pIGluIFsjJiM4MjAzOzQ5MzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5MzMpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44OS4zLi4udjAuODkuND4KCiMjIyBbYHYwLjg5LjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjg5LjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjg5LjIuLi52MC44OS4zKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmaXg6IEFkZGVkIG1pc3NpbmcgZmxhZ3MgdG8gdGhlIGBoY2xgIGNvbW1hbmQgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ5MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5MjcpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44OS4yLi4udjAuODkuMz4KCiMjIyBbYHYwLjg5LjJgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcmVsZWFzZXMvdGFnL3YwLjg5LjIpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjg5LjEuLi52MC44OS4yKQoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBmaXg6IEZpeGluZyBUZXJyYWxpdGggdG8gVGVycmFncnVudCBpbnRlZ3JhdGlvbiB0ZXN0IGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0OTA5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTA5KQotIGZpeDogRml4aW5nIGV4dGVybmFsIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDkyNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDkyNikKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjg5LjEuLi52MC44OS4yPgoKIyMjIFtgdjAuODkuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODkuMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODkuMC4uLnYwLjg5LjEpCgojIyMjIFdoYXQncyBDaGFuZ2VkCgotIGZpeDogRml4ZWQgYnVnIHdoZXJlIGRpc2NvdmVyeSB3YXJuZWQgdGhhdCBvdXRwdXRzIHdlcmUgbW9ja2VkLiBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDkyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDkyMykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9jb21wYXJlL3YwLjg5LjAuLi52MC44OS4xPgoKIyMjIFtgdjAuODkuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9yZWxlYXNlcy90YWcvdjAuODkuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODguMS4uLnYwLjg5LjApCgpTZXZlcmFsIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBoYXZlIGJlZW4gbWFkZSBnZW5lcmFsbHkgYXZhaWxhYmxlLgoKIyMjIyDwn5ug77iPIEJyZWFraW5nIENoYW5nZXMKCiMjIyMjIFJ1bm5lci1wb29sCgpUZXJyYWdydW50IG5vdyBzdXBwb3J0cyB0aGUgUnVubmVyIFBvb2wgY29uY3VycmVuY3kgbW9kZWwsIHJlcGxhY2luZyB0aGUgdHJhZGl0aW9uYWwgZ3JvdXAtYmFzZWQgY29uY3VycmVuY3kgbW9kZWwgd2l0aCBhIGR5bmFtaWMgc2NoZWR1bGVyIGJ5IGRlZmF1bHQuCgpJbnN0ZWFkIG9mIHdhaXRpbmcgZm9yIGdyb3VwcyBvZiB1bml0cyB0aGF0IGJsb2NrIGRvd25zdHJlYW0gdW5pdHMgdG8gY29tcGxldGUgdGhlaXIgcnVucywgdGhlIFJ1bm5lciBQb29sIGV4ZWN1dGVzIGVhY2ggdW5pdCBhcyBzb29uIGFzIGl0cyBkZXBlbmRlbmNpZXMgKG9yIGRlcGVuZGVudHMgZm9yIGRlc3Ryb3lzKSBhcmUgcmVzb2x2ZWQuIFRoaXMgaW1wcm92ZXMgZWZmaWNpZW5jeSwgcmVkdWNlcyBib3R0bGVuZWNrcywgYW5kIGxpbWl0cyB0aGUgaW1wYWN0IG9mIGluZGl2aWR1YWwgZmFpbHVyZXMgb24gdGhlIHJ1biBvZiB0aGUgZW50aXJlIHF1ZXVlLgoKIyMjIyMg4pyoTmV3IEZlYXR1cmVzCgotIER5bmFtaWNhbGx5IHNjaGVkdWxlcyBVbml0cyBhcyBzb29uIGFzIGRlcGVuZGVuY2llcyAob3IgZGVwZW5kZW50cykgYXJlIHNhdGlzZmllZAotIEltcHJvdmVzIHRocm91Z2hwdXQgZm9yIGxhcmdlIHN0YWNrcwotIFByb3ZpZGVzIGJldHRlciBmYXVsdC1pc29sYXRpb24gZm9yIGZhaWxlZCB1bml0cwoKPHAgYWxpZ249ImNlbnRlciI+Cgo8aW1nIHdpZHRoPSI3ODkiIGhlaWdodD0iNDgwIiBhbHQ9ImltYWdlIiBzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS91c2VyLWF0dGFjaG1lbnRzL2Fzc2V0cy83ZDg4ZTQzNy0yZDVmLTQ0NzctODZlYi0wNzMzYjcwNjJmMGQiIC8+Cgo8L3A+CgojIyMjIyBSZXBvcnQKClRoZSBleHBlcmltZW50YWwgUmVwb3J0IGZlYXR1cmUgaXMgbm93IHN0YWJsZSBhbmQgZW5hYmxlZCBieSBkZWZhdWx0LgoKRXZlcnkgVGVycmFncnVudCBydW4gd2lsbCBub3cgZW1pdCBhIHNob3J0IHN1bW1hcnkgYXQgdGhlIGVuZCBvZiB0aGUgcnVuIHRoYXQgbG9va3MgbGlrZSB0aGUgZm9sbG93aW5nIGJ5IGRlZmF1bHQ6CgpgYGBiYXNoCiQgdGVycmFncnVudCBydW4gLS1hbGwgcGxhbgoKIyMjIE9taXR0ZWQgZm9yIGJyZXZpdHkuLi4KCuKdr+KdryBSdW4gU3VtbWFyeSAgMyB1bml0cyAgNjJtcwogICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKICAgU3VjY2VlZGVkICAgIDMKCmBgYAoKVGhpcyBzdW1tYXJ5IHdpbGwgZ2l2ZSBhIGhpZ2gtbGV2ZWwgb3ZlcnZpZXcgb2YgdGhlIHJ1biByZXN1bHRzIGZvciB1bml0cyBpbiBhIGdpdmVuIFRlcnJhZ3J1bnQgcnVuLgoKWW91IGNhbiBvcHRpb25hbGx5IHJlcXVlc3QgYSBDU1Ygb3IgSlNPTiByZXBvcnQgb2YgcnVucyBhcyB3ZWxsLCBnaXZpbmcgeW91IGRldGFpbGVkIGluc2lnaHRzIGFzIHRvIHRoZSBwZXJmb3JtYW5jZSBvZiBlYWNoIHJ1biB1c2luZyB0aGUgYC0tcmVwb3J0YCBmbGFnOgoKYGBgYmFzaAp0ZXJyYWdydW50IHJ1biAtLWFsbCBwbGFuIC0tcmVwb3J0LXNjaGVtYS1maWxlIHJlcG9ydC5zY2hlbWEuY3N2CmBgYAoKYGBgY3N2Ck5hbWUsU3RhcnRlZCxFbmRlZCxSZXN1bHQsUmVhc29uLENhdXNlCmZpcnN0LWV4Y2x1ZGUsMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCwyMDI1LTA2LTA1VDE2OjI4OjQxLTA0OjAwLGV4Y2x1ZGVkLGV4Y2x1ZGUgYmxvY2ssCnNlY29uZC1leGNsdWRlLDIwMjUtMDYtMDVUMTY6Mjg6NDEtMDQ6MDAsMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCxleGNsdWRlZCxleGNsdWRlIGJsb2NrLApmaXJzdC1mYWlsdXJlLDIwMjUtMDYtMDVUMTY6Mjg6NDEtMDQ6MDAsMjAyNS0wNi0wNVQxNjoyODo0Mi0wNDowMCxmYWlsZWQscnVuIGVycm9yLApmaXJzdC1zdWNjZXNzLDIwMjUtMDYtMDVUMTY6Mjg6NDEtMDQ6MDAsMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCxzdWNjZWVkZWQsLApzZWNvbmQtZmFpbHVyZSwyMDI1LTA2LTA1VDE2OjI4OjQxLTA0OjAwLDIwMjUtMDYtMDVUMTY6Mjg6NDItMDQ6MDAsZmFpbGVkLHJ1biBlcnJvciwKc2Vjb25kLXN1Y2Nlc3MsMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCwyMDI1LTA2LTA1VDE2OjI4OjQxLTA0OjAwLHN1Y2NlZWRlZCwsCnNlY29uZC1lYXJseS1leGl0LDIwMjUtMDYtMDVUMTY6Mjg6NDItMDQ6MDAsMjAyNS0wNi0wNVQxNjoyODo0Mi0wNDowMCxlYXJseSBleGl0LHJ1biBlcnJvciwKZmlyc3QtZWFybHktZXhpdCwyMDI1LTA2LTA1VDE2OjI4OjQyLTA0OjAwLDIwMjUtMDYtMDVUMTY6Mjg6NDItMDQ6MDAsZWFybHkgZXhpdCxydW4gZXJyb3IsCmBgYAoKYGBgYmFzaAp0ZXJyYWdydW50IHJ1biAtLWFsbCBwbGFuIC0tcmVwb3J0LXNjaGVtYS1maWxlIHJlcG9ydC5zY2hlbWEuanNvbgpgYGAKCmBgYGpzb24KWwogIHsKICAgICJOYW1lIjogImZpcnN0LWV4Y2x1ZGUiLAogICAgIlN0YXJ0ZWQiOiAiMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCIsCiAgICAiRW5kZWQiOiAiMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCIsCiAgICAiUmVzdWx0IjogImV4Y2x1ZGVkIiwKICAgICJSZWFzb24iOiAiZXhjbHVkZSBibG9jayIKICB9LAogIHsKICAgICJOYW1lIjogImZpcnN0LXN1Y2Nlc3MiLAogICAgIlN0YXJ0ZWQiOiAiMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCIsCiAgICAiRW5kZWQiOiAiMjAyNS0wNi0wNVQxNjoyODo0MS0wNDowMCIsCiAgICAiUmVzdWx0IjogInN1Y2NlZWRlZCIKICB9Cl0KCmBgYAoKIyMjIyMg4pyoTmV3IEZlYXR1cmVzCgotIEdlbmVyYXRlcyBkZXRhaWxlZCBydW4gcmVwb3J0cyAoQ1NWIGFuZCBKU09OIGZvcm1hdHMgc3VwcG9ydGVkKQotIERpc3BsYXlzIHJ1biBzdW1tYXJpZXMgZGlyZWN0bHkgaW4gdGhlIENMSSBvdXRwdXQKLSBBbGxvd3MgZGlzYWJsaW5nIHN1bW1hcmllcyBpZiBkZXNpcmVkCgpUbyBsZWFybiBtb3JlIGFib3V0IHRoZSBSdW4gUmVwb3J0IGZlYXR1cmUsIHJlYWQgdGhlIGRlZGljYXRlZCBndWlkZSBvbiBSdW4gUmVwb3J0cyBbaGVyZV0oaHR0cHM6Ly90ZXJyYWdydW50LmdydW50d29yay5pby9kb2NzL2ZlYXR1cmVzL3J1bi1yZXBvcnQvKS4KCiMjIyMjIPCflKcgTWlncmF0aW9uIEd1aWRlCgpObyBhY3Rpb24gaXMgcmVxdWlyZWQKClRvIGRpc2FibGUgc3VtbWFyeSBvdXRwdXQgZXhwbGljaXRseSwgdXNlIGAtLWRpc2FibGUtcmVwb3J0LXN1bW1hcnlgOgoKYGBgYmFzaAp0ZXJyYWdydW50IHJ1biAtLWFsbCBwbGFuIC0tZGlzYWJsZS1yZXBvcnQtc3VtbWFyeQpgYGAKCiMjIyMjIEF1dG8gT3BlblRvZnUgUHJvdmlkZXIgQ2FjaGUgRGlyZWN0b3J5CgpUZXJyYWdydW50IG5vdyBhdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZXMgT3BlblRvZnXigJlzICoqbmF0aXZlIHByb3ZpZGVyIGNhY2hpbmcgbWVjaGFuaXNtKiogYnkgZGVmYXVsdCB3aGVuIHJ1bm5pbmcgd2l0aCBPcGVuVG9mdSA+ID0gMS4xMC4KCk5vdGUgdGhhdCBpZiB5b3UgYXJlIHVzaW5nIFRlcnJhZm9ybSwgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhpcyBuZXcgZmVhdHVyZS4KClRoaXMgZmVhdHVyZSBpcyBvbmx5IHBvc3NpYmxlIGluIE9wZW5Ub2Z1IGR1ZSB0byB0aGUgaGFyZCB3b3JrIGFuZCBjb29yZGluYXRpb24gd2l0aCB0aGUgT3BlblRvZnUgdGVhbSB0byBlbnN1cmUgdGhhdCBjb25jdXJyZW50IGFjY2VzcyB0byB0aGUgcHJvdmlkZXIgY2FjaGUgZGlyZWN0b3J5IGlzIHNhZmUgZm9yIGFsbCBPcGVuVG9mdSB1c2VycywgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgdXNlIFRlcnJhZ3J1bnQuCgo8cCBhbGlnbj0iY2VudGVyIj4KPGltZyB3aWR0aD0iOTEyIiBoZWlnaHQ9IjQ4NiIgYWx0PSJTY3JlZW5zaG90IDIwMjUtMDYtMjUgYXQgMTIgMzggMDXigK9QTSIgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vdXNlci1hdHRhY2htZW50cy9hc3NldHMvMjE0Y2ZmOGQtNGZiYi00ZTcwLWFhOTYtYzAyNmU5MTAzOGQ3IiAvPgo8L3A+CgojIyMjIyDinKhOZXcgRmVhdHVyZXMKCi0gQXV0b21hdGljYWxseSBzZXRzIHRoZSBgVEZfUExVR0lOX0NBQ0hFX0RJUmAgZW52aXJvbm1lbnQgdmFyaWFibGUKLSBVc2VzIE9wZW5Ub2Z14oCZcyBuYXRpdmUgcHJvdmlkZXIgY2FjaGUgaW5zdGVhZCBvZiBUZXJyYWdydW504oCZcyBpbnRlcm5hbCBjYWNoZSBzZXJ2ZXIKLSBQcm92aWRlcyBpbXByb3ZlZCBjb25jdXJyZW5jeSBzYWZldHkgaW4gbXVsdGktcnVubmVyIGFuZCBDSSBlbnZpcm9ubWVudHMKCiMjIyMjIPCflKcgTWlncmF0aW9uIEd1aWRlCgpObyBhY3Rpb24gaXMgcmVxdWlyZWQgaWYgeW914oCZcmUgcnVubmluZyBPcGVuVG9mdSA+ID0gMS4xMCDigJQgcHJvdmlkZXIgY2FjaGluZyB3aWxsIGJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseS4KClRvIGRpc2FibGUgdGhpcyBiZWhhdmlvciwgdXNlIHRoZSBgLS1uby1hdXRvLXByb3ZpZGVyLWNhY2hlLWRpcmAgZmxhZzoKCmBgYGJhc2gKdGVycmFncnVudCBydW4gLS1hbGwgYXBwbHkgLS1uby1hdXRvLXByb3ZpZGVyLWNhY2hlLWRpcgpgYGAKCiMjIyMjIOKdpO+4jyBTcGVjaWFsIFRoYW5rcwoKVGhpcyBmZWF0dXJlIG1lcmVseSBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlcyBhIGZlYXR1cmUgdGhhdCB3YXMgaW50cm9kdWNlZCBpbiBPcGVuVG9mdSAxLjEwIGJ5IHRoZSBoYXJkIHdvcmsgb2YgW0AmIzgyMDM7Y2FtNzJjYW1dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jYW03MmNhbSkgb24gdGhlIE9wZW5Ub2Z1IHRlYW0uCgpUaGUgT3BlblRvZnUgcHJvamVjdCB0YWtlcyBjb21tdW5pdHkgZmVlZGJhY2sgc2VyaW91c2x5IChpbmNsdWRpbmcgdGhlIG1haW50YWluZXJzIG9mIHRoaXMgcHJvamVjdCksIGFuZCBpbnRyb2R1Y2VkIHRoZSBhYmlsaXR5IHRvIGNvbmN1cnJlbnRseSBhY2Nlc3MgYSBzaGFyZWQgcHJvdmlkZXIgY2FjaGUgZGlyZWN0b3J5IGFzIGEgZmVhdHVyZSBpbiBPcGVuVG9mdSB0byBtYWtlICphbGwgdXNlcnMqIG9mIE9wZW5Ub2Z1IGJldHRlciBvZmYuIE1haW50YWluZXJzIG9mIFRlcnJhZ3J1bnQgd2lsbCBjb250aW51ZSB0byBjb2xsYWJvcmF0ZSB3aXRoIHRoZSBPcGVuVG9mdSB0ZWFtIHRvIGVuc3VyZSB0aGF0IHVzaW5nIFRlcnJhZ3J1bnQgd2l0aCBPcGVuVG9mdSBpcyB0aGUgZWFzaWVzdCB3YXkgdG8gZ3VhcmFudGVlIHRoZSBiZXN0IGV4cGVyaWVuY2UgbWFuYWdpbmcgSWFDIGF0IHNjYWxlLgoKIyMjIyBXaGF0J3MgQ2hhbmdlZAoKLSBjaG9yZTogTWFya2VkIGFzIGNvbXBsZXRlZCBydW5uZXItcG9vbCwgcmVwb3J0cyBhbmQgcHJvdmlkZXIgY2FjaGUgYnkgW0AmIzgyMDM7ZGVuaXMyNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZW5pczI1NikgaW4gWyMmIzgyMDM7NDkwMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDkwMCkKLSBmaXg6IFByb3Blcmx5IHNldHMgZGlzY292ZXJ5IGNvbnRleHQgc28gdGhhdCBgcGxhbiAtZGVzdHJveWAgYW5kIGBhcHBseSAtZGVzdHJveWAgd29yayByaWdodCBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDg4N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDg4NykKLSBkb2NzOiBJbXBsZW1lbnQgdmlldyBwbGFucyBidXR0b24gYnkgW0AmIzgyMDM7a2FybGNhcnN0ZW5zZW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rYXJsY2Fyc3RlbnNlbikgaW4gWyMmIzgyMDM7NDg5MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDg5MCkKLSBkb2NzOiBWaXN1YWwgdXBkYXRlcyB0byBmb3JtIGJ5IFtAJiM4MjAzO2thcmxjYXJzdGVuc2VuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va2FybGNhcnN0ZW5zZW4pIGluIFsjJiM4MjAzOzQ5MDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ5MDIpCi0gZG9jczogRml4IGRvY3MgZmxhZyBuYW1lIGJ5IFtAJiM4MjAzO3J1YmVuc2ZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ydWJlbnNmKSBpbiBbIyYjODIwMzs0OTA4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80OTA4KQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODguMS4uLnYwLjg5LjA+CgojIyMgW2B2MC44OC4xYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3JlbGVhc2VzL3RhZy92MC44OC4xKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvY29tcGFyZS92MC44OC4wLi4udjAuODguMSkKCiMjIyMgV2hhdCdzIENoYW5nZWQKCi0gZmVhdDogVXNlIGJldHRlciBwYXJzaW5nIGZvciBgLS1hdXRoLXByb3ZpZGVyLWNtZGAgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ4ODFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ4ODEpCi0gZml4OiBGaXhpbmcgcmFjZSBjb25kaXRpb24gZm9yIGBUZXN0VGVycmFncnVudEV4Y2x1ZGVzRmlsZWAgYnkgW0AmIzgyMDM7eWhha2Jhcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3loYWtiYXIpIGluIFsjJiM4MjAzOzQ4MDldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ4MDkpCi0gZml4OiBGaXhpbmcgcmVwb3J0IGZsYWdzIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0ODk5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80ODk5KQotIGZpeDogRml4aW5nIGAudGZgIHZzIGAudG9mdWAgZXh0ZW5zaW9uIHBhcml0eSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDc5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDc5NCkKLSBjaG9yZTogQWRkIGRhdGEudGYgdG8gaWFtIGRpcmVjdG9yeSBpbiByZWZhY3RvcmluZyBndWlkZSBieSBbQCYjODIwMzt2aXQxMDAtdHJhZGVyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdml0MTAwLXRyYWRlcikgaW4gWyMmIzgyMDM7NDg4OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDg4OCkKLSBjaG9yZTogUmVmYWN0b3JpbmcgR2l0SHViIGNsaWVudCBpbnRvIGRlZGljYXRlZCBwYWNrYWdlIGJ5IFtAJiM4MjAzO3loYWtiYXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95aGFrYmFyKSBpbiBbIyYjODIwMzs0ODc5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80ODc5KQotIGJ1aWxkKGRlcHMpOiBidW1wIHRoZSBqcy1kZXBlbmRlbmNpZXMgZ3JvdXAgYWNyb3NzIDEgZGlyZWN0b3J5IHdpdGggNyB1cGRhdGVzIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KVxbYm90XSBpbiBbIyYjODIwMzs0ODc4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80ODc4KQotIGRvY3M6IFVwZGF0ZSAwMS1xdWljay1zdGFydC5tZHggYnkgW0AmIzgyMDM7dml0MTAwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdml0MTAwKSBpbiBbIyYjODIwMzs0ODgzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80ODgzKQotIGRvY3M6IENJIGZvciBUZXJyYWxpdGggdG8gVGVycmFncnVudCBHdWlkZSBieSBbQCYjODIwMzt5aGFrYmFyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWhha2JhcikgaW4gWyMmIzgyMDM7NDgxMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L3B1bGwvNDgxMSkKLSBkb2NzOiBVcGRhdGUgT0cgaW1hZ2VzIGJ5IFtAJiM4MjAzO2thcmxjYXJzdGVuc2VuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va2FybGNhcnN0ZW5zZW4pIGluIFsjJiM4MjAzOzQ4ODldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ncnVudHdvcmstaW8vdGVycmFncnVudC9wdWxsLzQ4ODkpCgojIyMjIE5ldyBDb250cmlidXRvcnMKCi0gW0AmIzgyMDM7dml0MTAwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdml0MTAwKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs0ODgzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80ODgzKQotIFtAJiM4MjAzO3ZpdDEwMC10cmFkZXJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS92aXQxMDAtdHJhZGVyKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs0ODg4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ3J1bnR3b3JrLWlvL3RlcnJhZ3J1bnQvcHVsbC80ODg4KQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2dydW50d29yay1pby90ZXJyYWdydW50L2NvbXBhcmUvdjAuODguMC4uLnYwLjg4LjE+Cgo8L2RldGFpbHM+CgotLS0KCiMjIyBDb25maWd1cmF0aW9uCgrwn5OFICoqU2NoZWR1bGUqKjogQnJhbmNoIGNyZWF0aW9uIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLCBBdXRvbWVyZ2UgLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCkuCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoaXMgdXBkYXRlIGFnYWluLgoKLS0tCgogLSBbIF0gPCEtLSByZWJhc2UtY2hlY2sgLS0+SWYgeW91IHdhbnQgdG8gcmViYXNlL3JldHJ5IHRoaXMgUFIsIGNoZWNrIHRoaXMgYm94CgotLS0KClRoaXMgUFIgd2FzIGdlbmVyYXRlZCBieSBbTWVuZCBSZW5vdmF0ZV0oaHR0cHM6Ly9tZW5kLmlvL3Jlbm92YXRlLykuIFZpZXcgdGhlIFtyZXBvc2l0b3J5IGpvYiBsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vZ2l0aHViL29zaXNtL3Rlc3RiZWQpLgo8IS0tcmVub3ZhdGUtZGVidWc6ZXlKamNtVmhkR1ZrU1c1V1pYSWlPaUkwTVM0eE16RXVPU0lzSW5Wd1pHRjBaV1JKYmxabGNpSTZJalF4TGpFMU5pNHhJaXdpZEdGeVoyVjBRbkpoYm1Ob0lqb2liV0ZwYmlJc0lteGhZbVZzY3lJNld5SnlaVzV2ZG1GMFpTSmRmUT09LS0+Cg==
      patchset: 2542c6873c1b15dca95d31a5de15bf963b828f9f
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 3f5938e6b0934cbeb0ac6533a4c1487d32af3210
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-lint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/testbed
        name: osism/testbed
        short_name: testbed
        src_dir: src/github.com/osism/testbed
      projects:
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: 5a3c4ed3129203b1447fc78b14496e9d46fe5eac
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2777/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
