all:
  children:
    controllers:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 162.253.55.113
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      cilium_helm_values:
        operator:
          replicas: 1
      cilium_ipv4_cidr: 172.24.0.0/16
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      kubernetes_version: 1.28.13
      molecule_install_collection_siblings: true
      molecule_scenario: secretgen-controller
      nodepool:
        az: yul2
        cloud: public
        external_id: 29456d02-2a60-4de7-b8d1-4a88d986f4a3
        host_id: 0a7e0786b3a4f7b179574f88d39f046ffcec66bb4e5b8f4361590e59
        interface_ip: 162.253.55.113
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 162.253.55.113
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.113
        public_ipv6: 2604:e100:1:0:f816:3eff:fe19:8d4b
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: yul2
        cloud: public
        external_id: 29456d02-2a60-4de7-b8d1-4a88d986f4a3
        host_id: 0a7e0786b3a4f7b179574f88d39f046ffcec66bb4e5b8f4361590e59
        interface_ip: 162.253.55.113
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 162.253.55.113
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.113
        public_ipv6: 2604:e100:1:0:f816:3eff:fe19:8d4b
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    cilium_helm_values:
      operator:
        replicas: 1
    kubernetes_version: 1.28.13
    molecule_install_collection_siblings: true
    molecule_scenario: secretgen-controller
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/ansible-jobs.yaml@main#1>'
      - '<Job atmosphere-common-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere.common/.zuul.yaml@main#4>'
      - '<Job atmosphere-common-molecule-secretgen-controller explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/atmosphere.common/.zuul.yaml@main#33>'
      - '<Job atmosphere-common-molecule-secretgen-controller explicit: None implied:
        None source: vexxhost/atmosphere.common/.zuul.yaml@main#122>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 0a93bb11d6c64d9fadaf9939cd1bb104
      build_refs:
      - branch: main
        change: '102'
        change_message: "chore(deps): update dependency fluxcd/flux2 to v2.10.0\n\n>
          [!NOTE]\n> This PR body was truncated due to platform limits.\n\nThis PR
          contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [fluxcd/flux2](https://redirect.github.com/fluxcd/flux2) | minor | `2.6.4`
          \u2192 `2.10.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fluxcd/flux2</summary>\n\n###
          [`v2.10.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.10.0)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0)\n\n####
          Highlights\n\nFlux v2.10.0 is a feature release. Users are encouraged to
          upgrade for the best experience.\n\nOverview of the new features:\n\n- Object
          identity is generally available; the `ObjectLevelWorkloadIdentity` feature
          gate is retired\n- SPIFFE mTLS for inter-controller communication\n- Notification
          `Event`, `Alert` and `Provider` APIs promoted to `v1`\n- `OCIRepository`
          as a chart source for `HelmRelease`\n- SOPS decryption for files encrypted
          with comment regexes, and `--override-manager-before-dry-run` (`Kustomization`)\n-
          Image update batching with `.spec.policyChangeDelay`, retry on rejected
          pushes, and `.Changed.Summary` (`ImageUpdateAutomation`)\n- Flux artifact
          storage backend enabled by default for `ImageRepository` tags\n- Cross-namespace
          artifacts, tenant namespace provisioning, and path-pattern discovery (`ArtifactGenerator`)\n-
          New Zoom, incident.io and Mastodon notification providers\n- Built with
          Kubernetes 1.37 and Go 1.27\n\n\u2764\uFE0F Big thanks to all the Flux contributors
          that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis
          release is compatible with the following Kubernetes versions:\n\n| Kubernetes
          version | Minimum required |\n| ------------------ | ---------------- |\n|
          `v1.35`            | `>= 1.35.2`      |\n| `v1.36`            | `>= 1.36.1`
          \     |\n| `v1.37`            | `>= 1.37.0`      |\n\n> \\[!NOTE]\n> Note
          that the Flux project offers support only for the latest three minor versions
          of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes
          and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
          that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
          can be installed on Red Hat OpenShift cluster directly from OperatorHub
          using [Flux Operator](https://operatorhub.io/operator/flux-operator). The
          operator allows the configuration of Flux multi-tenancy lockdown, network
          policies, persistent storage, sharding, vertical scaling and the synchronization
          of the cluster state from Git repositories, OCI artifacts, and S3-compatible
          storage.\n\n#### Upgrade procedure\n\n\u26A0\uFE0F **Breaking changes in
          this release:**\n\n- Object identity is always enabled and the default Flux
          RBAC no longer grants the `create` verb on the `serviceaccounts/token` resource.
          If your installation relies on the default RBAC, bind a ClusterRole with
          this permission to the controller ServiceAccount before upgrading. See [fluxcd/flux2#6139](https://redirect.github.com/fluxcd/flux2/pull/6139)
          for the required ClusterRole and ClusterRoleBinding.\n- The notification
          `Alert` and `Provider` APIs are promoted to `v1`. Converting a `v1beta3`
          `Alert` or `Provider` to `v1` drops the deprecated `Alert.spec.summary`
          and `Provider.spec.interval` fields, the static JWT token for Azure Event
          Hub, and TLS or proxy configuration in `Provider.spec.secretRef`. Use `eventMetadata.summary`,
          `proxySecretRef` and `certSecretRef` instead.\n- The Flux artifact storage
          backend is now the default for the `ImageRepository` tag database. Switching
          the gate wipes the local tag database, so the first reconciliation after
          the upgrade rescans every `ImageRepository`. Set `--feature-gates=FluxStorage=false`
          to keep using BadgerDB.\n- Remote cluster authentication with `.spec.kubeConfig.configMapRef`
          uses object identity; replace the legacy `audiences` key with `credential.auth.fluxcd.io/audiences`.\n\nPlease
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from older versions of Flux to v2.10.\n\n#### Components
          changelog\n\n- source-controller [v1.10.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.10.1/CHANGELOG.md)\n-
          kustomize-controller [v1.10.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.10.1/CHANGELOG.md)\n-
          notification-controller [v1.10.0](https://redirect.github.com/fluxcd/notification-controller/blob/v1.10.0/CHANGELOG.md)\n-
          helm-controller [v1.7.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.7.1/CHANGELOG.md)\n-
          image-reflector-controller [v1.3.0](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.3.0/CHANGELOG.md)\n-
          image-automation-controller [v1.3.0](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.3.0/CHANGELOG.md)\n-
          source-watcher [v2.3.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.3.1/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Add backport label for 2.9 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5970](https://redirect.github.com/fluxcd/flux2/pull/5970)\n-
          Fix breaking change in-memory kustomization build by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5969](https://redirect.github.com/fluxcd/flux2/pull/5969)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5976](https://redirect.github.com/fluxcd/flux2/pull/5976)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5978](https://redirect.github.com/fluxcd/flux2/pull/5978)\n-
          Add checksum verification for SOPS in e2e workflows by [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
          in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
          Add --add-ignore-paths flag to artifact commands by [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
          in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5983](https://redirect.github.com/fluxcd/flux2/pull/5983)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5989](https://redirect.github.com/fluxcd/flux2/pull/5989)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5993](https://redirect.github.com/fluxcd/flux2/pull/5993)\n-
          Include source-watcher to oci flux-manifests by [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov)
          in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
          docs: fix typo in RFC-0004 (enviornment -> environment) by [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub)
          in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6005](https://redirect.github.com/fluxcd/flux2/pull/6005)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6010](https://redirect.github.com/fluxcd/flux2/pull/6010)\n-
          Add version-file input to the Flux CLI action by [@&#8203;somaz94](https://redirect.github.com/somaz94)
          in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n-
          Add support for 2.9 in `migrate -f` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6020](https://redirect.github.com/fluxcd/flux2/pull/6020)\n-
          Fix Azure e2e tests after new major version with breaking changes by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6022](https://redirect.github.com/fluxcd/flux2/pull/6022)\n-
          fix: restrict `allow-webhooks` netpol to receiver port by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6028](https://redirect.github.com/fluxcd/flux2/pull/6028)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6030](https://redirect.github.com/fluxcd/flux2/pull/6030)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6050](https://redirect.github.com/fluxcd/flux2/pull/6050)\n-
          build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;6052](https://redirect.github.com/fluxcd/flux2/pull/6052)\n-
          Format reproducible created timestamp in UTC by [@&#8203;lexfrei](https://redirect.github.com/lexfrei)
          in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
          Update to Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6082](https://redirect.github.com/fluxcd/flux2/pull/6082)\n-
          Run conformance tests for Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6083](https://redirect.github.com/fluxcd/flux2/pull/6083)\n-
          Remove the Cosign v2.6.1 pin by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6084](https://redirect.github.com/fluxcd/flux2/pull/6084)\n-
          Add `--app-client-id` flag to `create secret githubapp` by [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze)
          in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6096](https://redirect.github.com/fluxcd/flux2/pull/6096)\n-
          Match plugin archive entries with a leading ./ by [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0)
          in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
          Stop diff processing after an error by [@&#8203;idelchi](https://redirect.github.com/idelchi)
          in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n-
          Respect pruning exclusions in kustomization diff by [@&#8203;idelchi](https://redirect.github.com/idelchi)
          in [#&#8203;6073](https://redirect.github.com/fluxcd/flux2/pull/6073)\n-
          Introduce RBAC for ArtifactGenerator cross-namespace artifacts by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6101](https://redirect.github.com/fluxcd/flux2/pull/6101)\n-
          \\[RFC-0014] Advanced Support for Short-Lived Cryptographic Material by
          [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5702](https://redirect.github.com/fluxcd/flux2/pull/5702)\n-
          Validate plugin manifest name by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
          ci: disable Replicated conformance tests by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6111](https://redirect.github.com/fluxcd/flux2/pull/6111)\n-
          \\[RFC-0014] RFC refinements by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6105](https://redirect.github.com/fluxcd/flux2/pull/6105)\n-
          \\[RFC-0014] Annotations for AWS STS Endpoint and Docker Hub OIDC Connection
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6114](https://redirect.github.com/fluxcd/flux2/pull/6114)\n-
          Update to Kubernetes 1.37.1 and Go 1.27 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6117](https://redirect.github.com/fluxcd/flux2/pull/6117)\n-
          build(deps): bump the ci group across 1 directory with 15 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;6118](https://redirect.github.com/fluxcd/flux2/pull/6118)\n-
          \\[RFC-0014] Add rules for missing corner cases by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6121](https://redirect.github.com/fluxcd/flux2/pull/6121)\n-
          \\[RFC-0014] Address final nits arising from apis/crypto implementation
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6122](https://redirect.github.com/fluxcd/flux2/pull/6122)\n-
          \\[RFC-0014] Final iterations for 2.10 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6125](https://redirect.github.com/fluxcd/flux2/pull/6125)\n-
          Revert \"Introduce RBAC for ArtifactGenerator cross-namespace artifacts\"
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6129](https://redirect.github.com/fluxcd/flux2/pull/6129)\n-
          Allow controllers to perform SubjectAccessReview by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6132](https://redirect.github.com/fluxcd/flux2/pull/6132)\n-
          Accept TYPE/NAME resource args in get/reconcile by [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
          in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
          Add digests flag to plugin search, which displays SHA values for all os/arch
          per binary by [@&#8203;datosh](https://redirect.github.com/datosh) in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
          Extend kubectl-style resource args to all Flux kinds and commands by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6135](https://redirect.github.com/fluxcd/flux2/pull/6135)\n-
          Escape terminal control characters in CLI output by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6110](https://redirect.github.com/fluxcd/flux2/pull/6110)\n-
          Add suspend, resume and reconcile commands for ArtifactGenerator by [@&#8203;xchose](https://redirect.github.com/xchose)
          in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
          \\[RFC-0014] Address review findings by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6136](https://redirect.github.com/fluxcd/flux2/pull/6136)\n-
          \\[RFC-0014] Inter-controller mTLS via SPIFFE by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6127](https://redirect.github.com/fluxcd/flux2/pull/6127)\n-
          Fix proxy bypass in bootstrap --ca-file by [@&#8203;ljluestc](https://redirect.github.com/ljluestc)
          in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
          use restrictive file modes for generated manifests by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6113](https://redirect.github.com/fluxcd/flux2/pull/6113)\n-
          fix(goreleaser): make Homebrew formula pass brew audit by [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
          in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
          Fix envsubst dropping input on long lines by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6138](https://redirect.github.com/fluxcd/flux2/pull/6138)\n-
          fix: return clear error when --private-key-file path starts with '\\~' by
          [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) in [#&#8203;5859](https://redirect.github.com/fluxcd/flux2/pull/5859)\n-
          Fix stale flags and commands in CLI examples by [@&#8203;rawsun007](https://redirect.github.com/rawsun007)
          in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
          Fix typos in user-facing CLI messages and comments by [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo)
          in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
          Remove unused fields from installFlags by [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error)
          in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
          \u26A0\uFE0F Breaking change: Harden RBAC for controllers by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6139](https://redirect.github.com/fluxcd/flux2/pull/6139)\n-
          Fix `--in-memory-build` restricting disk access by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5974](https://redirect.github.com/fluxcd/flux2/pull/5974)\n-
          Update dependencies for Flux 2.10 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6140](https://redirect.github.com/fluxcd/flux2/pull/6140)\n-
          \\[RFC-0014] Add 2.10 notes to RFC by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6145](https://redirect.github.com/fluxcd/flux2/pull/6145)\n-
          fix(create): reject conflicting image policy selectors for every flag pair
          by [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n-
          ci: Update GitHub Actions by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6147](https://redirect.github.com/fluxcd/flux2/pull/6147)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6148](https://redirect.github.com/fluxcd/flux2/pull/6148)\n-
          Add `--policy-change-delay` to create image update by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6146](https://redirect.github.com/fluxcd/flux2/pull/6146)\n-
          \\[RFC-0014] Remove temporary workarounds for mTLS e2e by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6137](https://redirect.github.com/fluxcd/flux2/pull/6137)\n-
          \\[RFC-0014] Add HTTPS port to controller Services by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6149](https://redirect.github.com/fluxcd/flux2/pull/6149)\n-
          \\[RFC-0014] Include SPIFFE mTLS in the e2e workflow by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6150](https://redirect.github.com/fluxcd/flux2/pull/6150)\n-
          ci: fix goreleaser signing with cosign v3 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6151](https://redirect.github.com/fluxcd/flux2/pull/6151)\n-
          Remove unsupported fields in migrate -f by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6152](https://redirect.github.com/fluxcd/flux2/pull/6152)\n-
          Bump minimum Kubernetes version to 1.35 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6153](https://redirect.github.com/fluxcd/flux2/pull/6153)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6154](https://redirect.github.com/fluxcd/flux2/pull/6154)\n-
          Use podinfo in the SPIFFE mTLS e2e test by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6156](https://redirect.github.com/fluxcd/flux2/pull/6156)\n\n####
          New Contributors\n\n- [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
          made their first contribution in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
          [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
          made their first contribution in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
          [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov) made
          their first contribution in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
          [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub) made
          their first contribution in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
          [@&#8203;somaz94](https://redirect.github.com/somaz94) made their first
          contribution in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n-
          [@&#8203;lexfrei](https://redirect.github.com/lexfrei) made their first
          contribution in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
          [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze) made
          their first contribution in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
          [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0) made their
          first contribution in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
          [@&#8203;idelchi](https://redirect.github.com/idelchi) made their first
          contribution in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n-
          [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06) made their first
          contribution in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
          [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
          made their first contribution in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
          [@&#8203;datosh](https://redirect.github.com/datosh) made their first contribution
          in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
          [@&#8203;xchose](https://redirect.github.com/xchose) made their first contribution
          in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
          [@&#8203;ljluestc](https://redirect.github.com/ljluestc) made their first
          contribution in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
          [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
          made their first contribution in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
          [@&#8203;rawsun007](https://redirect.github.com/rawsun007) made their first
          contribution in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
          [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo) made their first
          contribution in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
          [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error) made their
          first contribution in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
          [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) made their first
          contribution in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0>\n\n###
          [`v2.9.6`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.6)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6)\n\n####
          Highlights\n\nFlux v2.9.6 is a patch release that stops helm-controller
          from reapplying chart CRDs on every upgrade when server-side apply is enabled,
          and recovers HelmReleases left with a drifted `Ready=Unknown` condition
          after a failed status patch. source-controller normalizes Azure Blob listing
          ETags so unchanged containers are no longer re-downloaded on every reconcile,
          and evicts stale Helm repository index entries from the cache so repositories
          with frequently changing indexes no longer fail with \"Cache is full\".
          kustomize-controller extends SOPS decryption error redaction to `spec.postBuild.substituteFrom`
          values, so substituted secrets echoed back in API validation errors are
          masked out of status conditions and events, and adds the opt-in `DisableCommitStatusEvent`
          feature gate. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Stop reapplying chart CRDs on upgrades when using server-side apply with
          the default `Create` policy (helm-controller)\n- Recover HelmReleases stranded
          with a drifted `Ready=Unknown` condition after a failed status patch (helm-controller)\n-
          Ignore `NotFound` when deleting the HelmChart (helm-controller)\n- Normalize
          Azure Blob listing ETags so unchanged containers are not re-downloaded on
          every reconcile (source-controller)\n- Evict stale Helm repository index
          entries from the cache to avoid \"Cache is full\" errors (source-controller)\n-
          Extend SOPS decryption error redaction to `spec.postBuild.substituteFrom`
          values (kustomize-controller)\n\nImprovements:\n\n- Add the opt-in `DisableCommitStatusEvent`
          feature gate (kustomize-controller)\n\n#### Components changelog\n\n- source-controller
          [v1.9.6](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.6/CHANGELOG.md)\n-
          kustomize-controller [v1.9.6](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.6/CHANGELOG.md)\n-
          helm-controller [v1.6.5](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.5/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Format reproducible created timestamp
          in UTC by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in
          [#&#8203;6081](https://redirect.github.com/fluxcd/flux2/pull/6081)\n- Update
          toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6097](https://redirect.github.com/fluxcd/flux2/pull/6097)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6>\n\n###
          [`v2.9.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.5)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5)\n\n####
          Highlights\n\nFlux v2.9.5 is a patch release that moves helm-controller
          and source-controller back to upstream Helm, now at v4.2.4, dropping the
          temporary Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller
          and kustomize-controller, which now reject kubeconfigs referencing files
          on the local filesystem and require credentials and certificates to be embedded
          inline. It also stops kustomize-controller from leaving behind the temporary
          directories of a previous process that exited without running its cleanup,
          and fixes a crash in post-build substitution where a substring expression
          with a negative length, e.g. `${VAR:2:-1}`, panicked instead of counting
          back from the end of the string like Bash does. Across all controllers and
          the CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes
          to 1.36.4. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Validate kubeconfigs from `.spec.kubeConfig` Secrets, rejecting local file
          references in `certificate-authority`, `tokenFile`, `client-certificate`
          and `client-key`; credentials and certificates must be embedded inline (helm-controller,
          kustomize-controller)\n- Purge temporary directories at startup (kustomize-controller)\n-
          Fix panic on negative-length substring expressions in post-build substitution
          (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Move back to upstream
          Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)\n-
          Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers,
          flux CLI)\n\n#### Components changelog\n\n- source-controller [v1.9.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.5/CHANGELOG.md)\n-
          source-watcher [v2.2.4](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.4/CHANGELOG.md)\n-
          kustomize-controller [v1.9.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.5/CHANGELOG.md)\n-
          helm-controller [v1.6.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.4/CHANGELOG.md)\n-
          notification-controller [v1.9.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.4/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.5](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.5/CHANGELOG.md)\n-
          image-automation-controller [v1.2.5](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.5/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6046](https://redirect.github.com/fluxcd/flux2/pull/6046)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6048](https://redirect.github.com/fluxcd/flux2/pull/6048)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6049](https://redirect.github.com/fluxcd/flux2/pull/6049)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5>\n\n###
          [`v2.9.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.4)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4)\n\n####
          Highlights\n\nFlux v2.9.4 is a patch release that ships various fixes to
          the Flux controllers, covering source-watcher tarball extraction and glob
          expansion limits, the refspecs accepted by `ImageUpdateAutomation`, the
          HTTP request limits of the notification-controller servers, and Helm repository
          index loading, OCI chart digest pinning, `Bucket` error handling and GCS
          static authentication in source-controller. On the CLI side, `flux migrate
          -f` now supports migrating repositories to Flux 2.9. Users are encouraged
          to upgrade for the best experience.\n\nNote that this release contains CRD
          schema changes for `ArtifactGenerator` and `ImageUpdateAutomation`; both
          CRDs must be updated along with the controllers.\n\n\u2139\uFE0F Please
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Confine tarball extraction and bound glob expansion (source-watcher)\n-
          Disallow force-update and deletion via refspecs (image-automation-controller)\n-
          Unify HTTP server request limits (notification-controller)\n- Align Helm
          repository index loading with upstream Helm v4 (source-controller)\n- Improve
          error handling in `Bucket` reconciliation (source-controller)\n- Pin OCI
          chart verification by digest (source-controller)\n- Limit GCS static authentication
          to service account keys (source-controller)\n- Restrict the `allow-webhooks`
          network policy to the receiver port (flux CLI)\n\nImprovements:\n\n- Add
          support for migrating repositories to 2.9 in `flux migrate -f` (flux CLI)\n-
          Update fluxcd/pkg dependencies, which align the ECR host detection with
          upstream (source-controller, image-reflector-controller, flux CLI)\n- Update
          Bitbucket Cloud receiver guidance (notification-controller)\n\n#### Components
          changelog\n\n- source-controller [v1.9.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.4/CHANGELOG.md)\n-
          source-watcher [v2.2.3](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.3/CHANGELOG.md)\n-
          notification-controller [v1.9.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.3/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.4](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.4/CHANGELOG.md)\n-
          image-automation-controller [v1.2.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.4/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Add support for 2.9 in `migrate -f`
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6021](https://redirect.github.com/fluxcd/flux2/pull/6021)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6026](https://redirect.github.com/fluxcd/flux2/pull/6026)\n-
          \\[release/v2.9.x] fix: restrict `allow-webhooks` netpol to receiver port
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6029](https://redirect.github.com/fluxcd/flux2/pull/6029)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6031](https://redirect.github.com/fluxcd/flux2/pull/6031)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4>\n\n###
          [`v2.9.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.3)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3)\n\n####
          Highlights\n\nFlux v2.9.3 is a patch release. It fixes empty lines vanishing
          from rendered Helm chart manifests, HelmReleases being marked as tested
          when their Helm test hooks never ran, and `spec.images` entries that set
          only some image fields discarding the remaining fields already declared
          for the same image in the `kustomization.yaml`. The latter affects both
          kustomize-controller and the `flux build|diff kustomization` commands. Users
          are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F Please
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Fix empty lines vanishing from rendered chart manifests (helm-controller)\n-
          Fix `HasBeenTested` for all corner cases, where a release could be marked
          as tested although its Helm test hooks never ran (helm-controller)\n- Fix
          a `spec.images` entry setting only some of the image fields discarding the
          remaining fields already declared for the same image in the `kustomization.yaml`
          at `spec.path`, e.g. overriding only `newName` produced an untagged image
          reference (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Update
          fluxcd/pkg dependencies\n- Include source-watcher in the OCI flux-manifests
          artifact\n\n#### Components changelog\n\n- kustomize-controller [v1.9.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md)\n-
          helm-controller [v1.6.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Include source-watcher to oci flux-manifests
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5996](https://redirect.github.com/fluxcd/flux2/pull/5996)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6006](https://redirect.github.com/fluxcd/flux2/pull/6006)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6011](https://redirect.github.com/fluxcd/flux2/pull/6011)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3>\n\n###
          [`v2.9.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.2)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2)\n\n####
          Highlights\n\nFlux v2.9.2 is a patch release. The main fix addresses a regression
          introduced in\nv2.9.1 where a Kustomization with `openapi.path` pointing
          to a URL failed to\nreconcile with `failed to read OpenAPI schema`. This
          release also corrects several\nCRD field descriptions that contained inaccurate
          or leaked content. Users are\nencouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Fix a regression where a Kustomization with `openapi.path` pointing to a
          URL failed to reconcile with `failed to read OpenAPI schema` (kustomize-controller)\n-
          Fix the `HelmChart` CRD description for `.status.url`, which pointed users
          at `BucketStatus.Artifact` instead of `HelmChartStatus.Artifact` (source-controller)\n-
          Fix the `ImageRepository` CRD description for `.status.observedExclusionList`,
          which referred to `spec.lastScanResult` instead of `status.lastScanResult`
          (image-reflector-controller)\n- Fix the `ImageUpdateAutomation` CRD description
          for `.status.observedSourceRevision`, which had a stray Go struct declaration
          leaking into it (image-automation-controller)\n\nImprovements:\n\n- Update
          fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
          [v1.9.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md)\n-
          kustomize-controller [v1.9.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md)\n-
          helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
          notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.3](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md)\n-
          image-automation-controller [v1.2.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md)\n-
          source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5984](https://redirect.github.com/fluxcd/flux2/pull/5984)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5990](https://redirect.github.com/fluxcd/flux2/pull/5990)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5994](https://redirect.github.com/fluxcd/flux2/pull/5994)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2>\n\n###
          [`v2.9.1`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.1)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n####
          Highlights\n\nFlux v2.9.1 is a patch release. The main fix, applied across
          all controllers, disables Flux variable substitution on the Flux CRDs by
          annotating them with `kustomize.toolkit.fluxcd.io/substitute: disabled`,
          so that Kustomizations with post-build substitution enabled no longer corrupt
          the CRD schemas when they contain `${...}` sequences. Users are encouraged
          to upgrade for the best experience.\n\n\u2139\uFE0F Please follow the [Upgrade
          Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Disable Flux variable substitution on all Flux CRDs, preventing post-build
          substitution from corrupting CRD schemas that contain `${...}` sequences
          (all controllers)\n- Update SOPS dependency to fix `.ini` file decryption
          (kustomize-controller)\n- Fix a dry-run error where applying a resource
          with a strategic merge patch could fail with `<resource> is invalid` (kustomize-controller)\n-
          Fix a breaking change in the in-memory Kustomization build (Flux CLI)\n\nImprovements:\n\n-
          Cache the registry authorization token during Notation verification, so
          it is fetched once per verification instead of once per request (source-controller)\n-
          Update fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
          [v1.9.2](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.2/CHANGELOG.md)\n-
          kustomize-controller [v1.9.2](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.2/CHANGELOG.md)\n-
          helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
          notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.2](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.2/CHANGELOG.md)\n-
          image-automation-controller [v1.2.2](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.2/CHANGELOG.md)\n-
          source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Fix breaking change in-memory kustomization
          build by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5971](https://redirect.github.com/fluxcd/flux2/pull/5971)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5977](https://redirect.github.com/fluxcd/flux2/pull/5977)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5979](https://redirect.github.com/fluxcd/flux2/pull/5979)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1>\n\n###
          [`v2.9.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.0)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.8...v2.9.0)\n\n####
          Highlights\n\nFlux v2.9.0 is a feature release. Users are encouraged to
          upgrade for the best experience.\n\nFor a compressive overview of new features
          and API changes included in this release, please refer to the [Announcing
          Flux 2.9 GA blog post](https://fluxcd.io/blog/2026/06/flux-v2.9.0/).\n\nOverview
          of the new features:\n\n- Flux CLI Plugin System with the Mirror and Schema
          plugins (`flux plugin`)\n- Server-Side Apply field ignore rules for fine-grained
          drift control (`Kustomization`)\n- SOPS decryption with the Age post-quantum
          cipher (`Kustomization`)\n- Kubernetes Workload Identity authentication
          for OpenBao and Vault (`Kustomization`)\n- Helm post-render strategies,
          including chart hooks support (`HelmRelease`)\n- Literal mode for Helm values
          references mirroring `helm --set-literal` (`HelmRelease`)\n- Allow empty
          kind in CEL health check expressions (`Kustomization`, `HelmRelease`)\n-
          Git commit signing and verification with SSH keys (`GitRepository`, `ImageUpdateAutomation`)\n-
          AWS CodeCommit authentication using Workload Identity (`GitRepository`)\n-
          Custom Sigstore trusted root for keyless verification in air-gapped environments
          (`OCIRepository`)\n- Path pattern directory discovery for monorepos (`ArtifactGenerator`)\n-
          Secret-less, OIDC-secured webhook Receivers (`Receiver`)\n\n\u2764\uFE0F
          Big thanks to all the Flux contributors that helped us with this release!\n\n#####
          Kubernetes compatibility\n\nThis release is compatible with the following
          Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------
          | ---------------- |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`
          \           | `>= 1.35.0`      |\n| `v1.36`            | `>= 1.36.0`      |\n\n>
          \\[!NOTE]\n> Note that the Flux project offers support only for the latest
          three minor versions of Kubernetes.\n> Backwards compatibility with older
          versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
          that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
          can be installed on Red Hat OpenShift cluster directly from OperatorHub
          using [Flux Operator](https://operatorhub.io/operator/flux-operator). The
          operator allows the configuration of Flux multi-tenancy lockdown, network
          policies, persistent storage, sharding, vertical scaling and the synchronization
          of the cluster state from Git repositories, OCI artifacts, and S3-compatible
          storage.\n\n#### Upgrade procedure\n\n:warning: The Flux APIs `image.toolkit.fluxcd.io/v1beta2`
          and `notification.toolkit.fluxcd.io/v1beta2`\nhave reached end-of-life and
          have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure
          for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from older versions of Flux to v2.9.\n\n#### Components
          changelog\n\n- source-controller [v1.9.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md)\n-
          kustomize-controller [v1.9.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md)\n-
          notification-controller [v1.9.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md)\n-
          helm-controller [v1.6.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md)\n-
          image-automation-controller [v1.2.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md)\n-
          source-watcher [v2.2.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Add backport label for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5732](https://redirect.github.com/fluxcd/flux2/pull/5732)\n-
          Remove no longer needed workaround for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5733](https://redirect.github.com/fluxcd/flux2/pull/5733)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5740](https://redirect.github.com/fluxcd/flux2/pull/5740)\n-
          Add missing things to release notes template by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5743](https://redirect.github.com/fluxcd/flux2/pull/5743)\n-
          ci: add top-level permissions to upgrade-fluxcd-pkg workflow by [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
          in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
          build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5764](https://redirect.github.com/fluxcd/flux2/pull/5764)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5766](https://redirect.github.com/fluxcd/flux2/pull/5766)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5769](https://redirect.github.com/fluxcd/flux2/pull/5769)\n-
          Add target branch name to update branch by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5773](https://redirect.github.com/fluxcd/flux2/pull/5773)\n-
          Fix/resume exit code by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool)
          in [#&#8203;5701](https://redirect.github.com/fluxcd/flux2/pull/5701)\n-
          Mark RFC 0010, 0011 and 0012 as implemented by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5776](https://redirect.github.com/fluxcd/flux2/pull/5776)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5780](https://redirect.github.com/fluxcd/flux2/pull/5780)\n-
          Add --resolve-symlinks flag to build and push artifact commands by [@&#8203;rohansood10](https://redirect.github.com/rohansood10)
          in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
          fix: validate --source flag in create kustomization command by [@&#8203;gma1k](https://redirect.github.com/gma1k)
          in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5821](https://redirect.github.com/fluxcd/flux2/pull/5821)\n-
          Add `--show-source` to `flux get ks` and `flux get hr`  by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco)
          in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
          Add `flux create secret receiver` command by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5835](https://redirect.github.com/fluxcd/flux2/pull/5835)\n-
          fix: handle multiple symlinks to same target in build artifact by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
          Add `--in-memory-build` to `flux build ks` and `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n-
          Migrate end-to-end test to latest cloud SDKs  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5840](https://redirect.github.com/fluxcd/flux2/pull/5840)\n-
          docs: Add AI Coding Assistants Guidance  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5841](https://redirect.github.com/fluxcd/flux2/pull/5841)\n-
          Add AI Agents guidance by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5847](https://redirect.github.com/fluxcd/flux2/pull/5847)\n-
          \\[RFC-0013] Flux CLI Plugin System by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5795](https://redirect.github.com/fluxcd/flux2/pull/5795)\n-
          Add `--ignore-not-found` to `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5845](https://redirect.github.com/fluxcd/flux2/pull/5845)\n-
          \\[RFC-0013] Implement plugin system by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5849](https://redirect.github.com/fluxcd/flux2/pull/5849)\n-
          build(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5853](https://redirect.github.com/fluxcd/flux2/pull/5853)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5856](https://redirect.github.com/fluxcd/flux2/pull/5856)\n-
          Add digest pinning support to `flux plugin install` by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          in [#&#8203;5872](https://redirect.github.com/fluxcd/flux2/pull/5872)\n-
          Add `--ns-follows-kube-context` global flag for using the kubeconfig context
          namespace by [@&#8203;jtyr](https://redirect.github.com/jtyr) in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
          include source-watcher in install.yaml manifests by [@&#8203;tmmorin](https://redirect.github.com/tmmorin)
          in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5890](https://redirect.github.com/fluxcd/flux2/pull/5890)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5903](https://redirect.github.com/fluxcd/flux2/pull/5903)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5907](https://redirect.github.com/fluxcd/flux2/pull/5907)\n-
          Validate Helm source URL schemes by [@&#8203;immanuwell](https://redirect.github.com/immanuwell)
          in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
          Introduce `flux trigger receiver` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5908](https://redirect.github.com/fluxcd/flux2/pull/5908)\n-
          refactor(api): migrate MakeDependsOn to shared apis/meta func by [@&#8203;vecil](https://redirect.github.com/vecil)
          in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n-
          Update to Kubernetes 1.36 and Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5924](https://redirect.github.com/fluxcd/flux2/pull/5924)\n-
          build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5925](https://redirect.github.com/fluxcd/flux2/pull/5925)\n-
          Run conformance tests for Kubernetes 1.36 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5926](https://redirect.github.com/fluxcd/flux2/pull/5926)\n-
          Add support for AWS CodeCommit to `flux bootstrap git` by [@&#8203;taraspos](https://redirect.github.com/taraspos)
          in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
          Validate plugin binary path by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5927](https://redirect.github.com/fluxcd/flux2/pull/5927)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5928](https://redirect.github.com/fluxcd/flux2/pull/5928)\n-
          fix: preserve invalid metadata.labels in `flux build ks` by [@&#8203;raffis](https://redirect.github.com/raffis)
          in [#&#8203;5906](https://redirect.github.com/fluxcd/flux2/pull/5906)\n-
          build: target host arch for local builds/envtest by [@&#8203;stealthybox](https://redirect.github.com/stealthybox)
          in [#&#8203;5932](https://redirect.github.com/fluxcd/flux2/pull/5932)\n-
          build(deps): bump the ci group with 6 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5938](https://redirect.github.com/fluxcd/flux2/pull/5938)\n-
          Support specifing sparseCheckout in flux bootstrap by [@&#8203;piny940](https://redirect.github.com/piny940)
          in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5944](https://redirect.github.com/fluxcd/flux2/pull/5944)\n-
          Honor `ks.spec.postBuild.substituteStrategy` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5945](https://redirect.github.com/fluxcd/flux2/pull/5945)\n-
          Add DriftIgnoreRules support to flux diff kustomization by [@&#8203;dipti-pai](https://redirect.github.com/dipti-pai)
          in [#&#8203;5923](https://redirect.github.com/fluxcd/flux2/pull/5923)\n-
          Allow signing commits using SSH key by [@&#8203;hiddeco](https://redirect.github.com/hiddeco)
          in [#&#8203;5920](https://redirect.github.com/fluxcd/flux2/pull/5920)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5950](https://redirect.github.com/fluxcd/flux2/pull/5950)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5937](https://redirect.github.com/fluxcd/flux2/pull/5937)\n-
          cmd: support `type!=status` in get --status-selector by [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje)
          in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
          Fix `flux get all --status-selector` for empty results and notification
          resources by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5954](https://redirect.github.com/fluxcd/flux2/pull/5954)\n-
          Upgrade go-git-providers to v0.27.0 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5956](https://redirect.github.com/fluxcd/flux2/pull/5956)\n-
          Fix using Receiver adapter for ArtifactGenerator by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5957](https://redirect.github.com/fluxcd/flux2/pull/5957)\n-
          feat: Install Plugins alongside Flux setup in gh actions by [@&#8203;gat786](https://redirect.github.com/gat786)
          in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5960](https://redirect.github.com/fluxcd/flux2/pull/5960)\n-
          Add CLI support for OCIRepository.spec.layerSelector in flux create source
          oci by [@&#8203;dme86](https://redirect.github.com/dme86) in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5963](https://redirect.github.com/fluxcd/flux2/pull/5963)\n\n####
          New Contributors\n\n- [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
          made their first contribution in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
          [@&#8203;rohansood10](https://redirect.github.com/rohansood10) made their
          first contribution in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
          [@&#8203;gma1k](https://redirect.github.com/gma1k) made their first contribution
          in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n-
          [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) made their
          first contribution in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
          [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          made their first contribution in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
          [@&#8203;rycli](https://redirect.github.com/rycli) made their first contribution
          in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n-
          [@&#8203;jtyr](https://redirect.github.com/jtyr) made their first contribution
          in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
          [@&#8203;tmmorin](https://redirect.github.com/tmmorin) made their first
          contribution in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n-
          [@&#8203;immanuwell](https://redirect.github.com/immanuwell) made their
          first contribution in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
          [@&#8203;vecil](https://redirect.github.com/vecil) made their first contribution
          in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n-
          [@&#8203;taraspos](https://redirect.github.com/taraspos) made their first
          contribution in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
          [@&#8203;piny940](https://redirect.github.com/piny940) made their first
          contribution in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n-
          [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) made their first
          contribution in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
          [@&#8203;gat786](https://redirect.github.com/gat786) made their first contribution
          in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n-
          [@&#8203;dme86](https://redirect.github.com/dme86) made their first contribution
          in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0>\n\n###
          [`v2.8.8`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.8)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8)\n\n####
          Highlights\n\nFlux v2.8.8 is a patch release that includes CVE fixes via
          go-git v5.19.1 (source-controller, image-automation-controller), reliability
          fixes in helm-controller and source-controller, the move of Helm back to
          upstream v4.2.0, support for GCP sovereign cloud artifact registries, and
          dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Add a configurable HTTP timeout for artifact fetching, preventing fetches
          that could block indefinitely and stall reconciliations (helm-controller)\n-
          Fix unbounded memory growth caused by a Kubernetes client transport retry
          wrapper accumulating on every reconcile (helm-controller)\n- Stop force-applying
          non-CRD objects placed under\n\n> [!IMPORTANT]\n> \u2702 PR body was truncated
          to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
          \ - 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/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n"
        change_url: https://github.com/vexxhost/atmosphere.common/pull/102
        commit_id: a36257f5fbc3fd25c301483d3e9119bbd1006d60
        patchset: a36257f5fbc3fd25c301483d3e9119bbd1006d60
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere.common
          name: vexxhost/atmosphere.common
          short_name: atmosphere.common
          src_dir: src/github.com/vexxhost/atmosphere.common
        src_dir: src/github.com/vexxhost/atmosphere.common
        topic: null
      buildset: 9cb2a0a54342456caa567820387e2000
      buildset_refs:
      - branch: main
        change: '102'
        change_message: "chore(deps): update dependency fluxcd/flux2 to v2.10.0\n\n>
          [!NOTE]\n> This PR body was truncated due to platform limits.\n\nThis PR
          contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [fluxcd/flux2](https://redirect.github.com/fluxcd/flux2) | minor | `2.6.4`
          \u2192 `2.10.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fluxcd/flux2</summary>\n\n###
          [`v2.10.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.10.0)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0)\n\n####
          Highlights\n\nFlux v2.10.0 is a feature release. Users are encouraged to
          upgrade for the best experience.\n\nOverview of the new features:\n\n- Object
          identity is generally available; the `ObjectLevelWorkloadIdentity` feature
          gate is retired\n- SPIFFE mTLS for inter-controller communication\n- Notification
          `Event`, `Alert` and `Provider` APIs promoted to `v1`\n- `OCIRepository`
          as a chart source for `HelmRelease`\n- SOPS decryption for files encrypted
          with comment regexes, and `--override-manager-before-dry-run` (`Kustomization`)\n-
          Image update batching with `.spec.policyChangeDelay`, retry on rejected
          pushes, and `.Changed.Summary` (`ImageUpdateAutomation`)\n- Flux artifact
          storage backend enabled by default for `ImageRepository` tags\n- Cross-namespace
          artifacts, tenant namespace provisioning, and path-pattern discovery (`ArtifactGenerator`)\n-
          New Zoom, incident.io and Mastodon notification providers\n- Built with
          Kubernetes 1.37 and Go 1.27\n\n\u2764\uFE0F Big thanks to all the Flux contributors
          that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis
          release is compatible with the following Kubernetes versions:\n\n| Kubernetes
          version | Minimum required |\n| ------------------ | ---------------- |\n|
          `v1.35`            | `>= 1.35.2`      |\n| `v1.36`            | `>= 1.36.1`
          \     |\n| `v1.37`            | `>= 1.37.0`      |\n\n> \\[!NOTE]\n> Note
          that the Flux project offers support only for the latest three minor versions
          of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes
          and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
          that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
          can be installed on Red Hat OpenShift cluster directly from OperatorHub
          using [Flux Operator](https://operatorhub.io/operator/flux-operator). The
          operator allows the configuration of Flux multi-tenancy lockdown, network
          policies, persistent storage, sharding, vertical scaling and the synchronization
          of the cluster state from Git repositories, OCI artifacts, and S3-compatible
          storage.\n\n#### Upgrade procedure\n\n\u26A0\uFE0F **Breaking changes in
          this release:**\n\n- Object identity is always enabled and the default Flux
          RBAC no longer grants the `create` verb on the `serviceaccounts/token` resource.
          If your installation relies on the default RBAC, bind a ClusterRole with
          this permission to the controller ServiceAccount before upgrading. See [fluxcd/flux2#6139](https://redirect.github.com/fluxcd/flux2/pull/6139)
          for the required ClusterRole and ClusterRoleBinding.\n- The notification
          `Alert` and `Provider` APIs are promoted to `v1`. Converting a `v1beta3`
          `Alert` or `Provider` to `v1` drops the deprecated `Alert.spec.summary`
          and `Provider.spec.interval` fields, the static JWT token for Azure Event
          Hub, and TLS or proxy configuration in `Provider.spec.secretRef`. Use `eventMetadata.summary`,
          `proxySecretRef` and `certSecretRef` instead.\n- The Flux artifact storage
          backend is now the default for the `ImageRepository` tag database. Switching
          the gate wipes the local tag database, so the first reconciliation after
          the upgrade rescans every `ImageRepository`. Set `--feature-gates=FluxStorage=false`
          to keep using BadgerDB.\n- Remote cluster authentication with `.spec.kubeConfig.configMapRef`
          uses object identity; replace the legacy `audiences` key with `credential.auth.fluxcd.io/audiences`.\n\nPlease
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from older versions of Flux to v2.10.\n\n#### Components
          changelog\n\n- source-controller [v1.10.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.10.1/CHANGELOG.md)\n-
          kustomize-controller [v1.10.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.10.1/CHANGELOG.md)\n-
          notification-controller [v1.10.0](https://redirect.github.com/fluxcd/notification-controller/blob/v1.10.0/CHANGELOG.md)\n-
          helm-controller [v1.7.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.7.1/CHANGELOG.md)\n-
          image-reflector-controller [v1.3.0](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.3.0/CHANGELOG.md)\n-
          image-automation-controller [v1.3.0](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.3.0/CHANGELOG.md)\n-
          source-watcher [v2.3.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.3.1/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Add backport label for 2.9 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5970](https://redirect.github.com/fluxcd/flux2/pull/5970)\n-
          Fix breaking change in-memory kustomization build by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5969](https://redirect.github.com/fluxcd/flux2/pull/5969)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5976](https://redirect.github.com/fluxcd/flux2/pull/5976)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5978](https://redirect.github.com/fluxcd/flux2/pull/5978)\n-
          Add checksum verification for SOPS in e2e workflows by [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
          in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
          Add --add-ignore-paths flag to artifact commands by [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
          in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5983](https://redirect.github.com/fluxcd/flux2/pull/5983)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5989](https://redirect.github.com/fluxcd/flux2/pull/5989)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5993](https://redirect.github.com/fluxcd/flux2/pull/5993)\n-
          Include source-watcher to oci flux-manifests by [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov)
          in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
          docs: fix typo in RFC-0004 (enviornment -> environment) by [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub)
          in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6005](https://redirect.github.com/fluxcd/flux2/pull/6005)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6010](https://redirect.github.com/fluxcd/flux2/pull/6010)\n-
          Add version-file input to the Flux CLI action by [@&#8203;somaz94](https://redirect.github.com/somaz94)
          in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n-
          Add support for 2.9 in `migrate -f` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6020](https://redirect.github.com/fluxcd/flux2/pull/6020)\n-
          Fix Azure e2e tests after new major version with breaking changes by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6022](https://redirect.github.com/fluxcd/flux2/pull/6022)\n-
          fix: restrict `allow-webhooks` netpol to receiver port by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6028](https://redirect.github.com/fluxcd/flux2/pull/6028)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6030](https://redirect.github.com/fluxcd/flux2/pull/6030)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6050](https://redirect.github.com/fluxcd/flux2/pull/6050)\n-
          build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;6052](https://redirect.github.com/fluxcd/flux2/pull/6052)\n-
          Format reproducible created timestamp in UTC by [@&#8203;lexfrei](https://redirect.github.com/lexfrei)
          in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
          Update to Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6082](https://redirect.github.com/fluxcd/flux2/pull/6082)\n-
          Run conformance tests for Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6083](https://redirect.github.com/fluxcd/flux2/pull/6083)\n-
          Remove the Cosign v2.6.1 pin by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6084](https://redirect.github.com/fluxcd/flux2/pull/6084)\n-
          Add `--app-client-id` flag to `create secret githubapp` by [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze)
          in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6096](https://redirect.github.com/fluxcd/flux2/pull/6096)\n-
          Match plugin archive entries with a leading ./ by [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0)
          in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
          Stop diff processing after an error by [@&#8203;idelchi](https://redirect.github.com/idelchi)
          in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n-
          Respect pruning exclusions in kustomization diff by [@&#8203;idelchi](https://redirect.github.com/idelchi)
          in [#&#8203;6073](https://redirect.github.com/fluxcd/flux2/pull/6073)\n-
          Introduce RBAC for ArtifactGenerator cross-namespace artifacts by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6101](https://redirect.github.com/fluxcd/flux2/pull/6101)\n-
          \\[RFC-0014] Advanced Support for Short-Lived Cryptographic Material by
          [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5702](https://redirect.github.com/fluxcd/flux2/pull/5702)\n-
          Validate plugin manifest name by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
          ci: disable Replicated conformance tests by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6111](https://redirect.github.com/fluxcd/flux2/pull/6111)\n-
          \\[RFC-0014] RFC refinements by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6105](https://redirect.github.com/fluxcd/flux2/pull/6105)\n-
          \\[RFC-0014] Annotations for AWS STS Endpoint and Docker Hub OIDC Connection
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6114](https://redirect.github.com/fluxcd/flux2/pull/6114)\n-
          Update to Kubernetes 1.37.1 and Go 1.27 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6117](https://redirect.github.com/fluxcd/flux2/pull/6117)\n-
          build(deps): bump the ci group across 1 directory with 15 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;6118](https://redirect.github.com/fluxcd/flux2/pull/6118)\n-
          \\[RFC-0014] Add rules for missing corner cases by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6121](https://redirect.github.com/fluxcd/flux2/pull/6121)\n-
          \\[RFC-0014] Address final nits arising from apis/crypto implementation
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6122](https://redirect.github.com/fluxcd/flux2/pull/6122)\n-
          \\[RFC-0014] Final iterations for 2.10 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6125](https://redirect.github.com/fluxcd/flux2/pull/6125)\n-
          Revert \"Introduce RBAC for ArtifactGenerator cross-namespace artifacts\"
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6129](https://redirect.github.com/fluxcd/flux2/pull/6129)\n-
          Allow controllers to perform SubjectAccessReview by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6132](https://redirect.github.com/fluxcd/flux2/pull/6132)\n-
          Accept TYPE/NAME resource args in get/reconcile by [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
          in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
          Add digests flag to plugin search, which displays SHA values for all os/arch
          per binary by [@&#8203;datosh](https://redirect.github.com/datosh) in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
          Extend kubectl-style resource args to all Flux kinds and commands by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6135](https://redirect.github.com/fluxcd/flux2/pull/6135)\n-
          Escape terminal control characters in CLI output by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6110](https://redirect.github.com/fluxcd/flux2/pull/6110)\n-
          Add suspend, resume and reconcile commands for ArtifactGenerator by [@&#8203;xchose](https://redirect.github.com/xchose)
          in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
          \\[RFC-0014] Address review findings by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6136](https://redirect.github.com/fluxcd/flux2/pull/6136)\n-
          \\[RFC-0014] Inter-controller mTLS via SPIFFE by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6127](https://redirect.github.com/fluxcd/flux2/pull/6127)\n-
          Fix proxy bypass in bootstrap --ca-file by [@&#8203;ljluestc](https://redirect.github.com/ljluestc)
          in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
          use restrictive file modes for generated manifests by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6113](https://redirect.github.com/fluxcd/flux2/pull/6113)\n-
          fix(goreleaser): make Homebrew formula pass brew audit by [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
          in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
          Fix envsubst dropping input on long lines by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6138](https://redirect.github.com/fluxcd/flux2/pull/6138)\n-
          fix: return clear error when --private-key-file path starts with '\\~' by
          [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) in [#&#8203;5859](https://redirect.github.com/fluxcd/flux2/pull/5859)\n-
          Fix stale flags and commands in CLI examples by [@&#8203;rawsun007](https://redirect.github.com/rawsun007)
          in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
          Fix typos in user-facing CLI messages and comments by [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo)
          in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
          Remove unused fields from installFlags by [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error)
          in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
          \u26A0\uFE0F Breaking change: Harden RBAC for controllers by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6139](https://redirect.github.com/fluxcd/flux2/pull/6139)\n-
          Fix `--in-memory-build` restricting disk access by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5974](https://redirect.github.com/fluxcd/flux2/pull/5974)\n-
          Update dependencies for Flux 2.10 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6140](https://redirect.github.com/fluxcd/flux2/pull/6140)\n-
          \\[RFC-0014] Add 2.10 notes to RFC by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6145](https://redirect.github.com/fluxcd/flux2/pull/6145)\n-
          fix(create): reject conflicting image policy selectors for every flag pair
          by [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n-
          ci: Update GitHub Actions by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6147](https://redirect.github.com/fluxcd/flux2/pull/6147)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6148](https://redirect.github.com/fluxcd/flux2/pull/6148)\n-
          Add `--policy-change-delay` to create image update by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6146](https://redirect.github.com/fluxcd/flux2/pull/6146)\n-
          \\[RFC-0014] Remove temporary workarounds for mTLS e2e by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6137](https://redirect.github.com/fluxcd/flux2/pull/6137)\n-
          \\[RFC-0014] Add HTTPS port to controller Services by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6149](https://redirect.github.com/fluxcd/flux2/pull/6149)\n-
          \\[RFC-0014] Include SPIFFE mTLS in the e2e workflow by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6150](https://redirect.github.com/fluxcd/flux2/pull/6150)\n-
          ci: fix goreleaser signing with cosign v3 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6151](https://redirect.github.com/fluxcd/flux2/pull/6151)\n-
          Remove unsupported fields in migrate -f by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6152](https://redirect.github.com/fluxcd/flux2/pull/6152)\n-
          Bump minimum Kubernetes version to 1.35 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6153](https://redirect.github.com/fluxcd/flux2/pull/6153)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6154](https://redirect.github.com/fluxcd/flux2/pull/6154)\n-
          Use podinfo in the SPIFFE mTLS e2e test by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6156](https://redirect.github.com/fluxcd/flux2/pull/6156)\n\n####
          New Contributors\n\n- [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
          made their first contribution in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
          [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
          made their first contribution in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
          [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov) made
          their first contribution in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
          [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub) made
          their first contribution in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
          [@&#8203;somaz94](https://redirect.github.com/somaz94) made their first
          contribution in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n-
          [@&#8203;lexfrei](https://redirect.github.com/lexfrei) made their first
          contribution in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
          [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze) made
          their first contribution in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
          [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0) made their
          first contribution in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
          [@&#8203;idelchi](https://redirect.github.com/idelchi) made their first
          contribution in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n-
          [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06) made their first
          contribution in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
          [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
          made their first contribution in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
          [@&#8203;datosh](https://redirect.github.com/datosh) made their first contribution
          in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
          [@&#8203;xchose](https://redirect.github.com/xchose) made their first contribution
          in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
          [@&#8203;ljluestc](https://redirect.github.com/ljluestc) made their first
          contribution in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
          [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
          made their first contribution in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
          [@&#8203;rawsun007](https://redirect.github.com/rawsun007) made their first
          contribution in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
          [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo) made their first
          contribution in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
          [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error) made their
          first contribution in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
          [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) made their first
          contribution in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0>\n\n###
          [`v2.9.6`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.6)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6)\n\n####
          Highlights\n\nFlux v2.9.6 is a patch release that stops helm-controller
          from reapplying chart CRDs on every upgrade when server-side apply is enabled,
          and recovers HelmReleases left with a drifted `Ready=Unknown` condition
          after a failed status patch. source-controller normalizes Azure Blob listing
          ETags so unchanged containers are no longer re-downloaded on every reconcile,
          and evicts stale Helm repository index entries from the cache so repositories
          with frequently changing indexes no longer fail with \"Cache is full\".
          kustomize-controller extends SOPS decryption error redaction to `spec.postBuild.substituteFrom`
          values, so substituted secrets echoed back in API validation errors are
          masked out of status conditions and events, and adds the opt-in `DisableCommitStatusEvent`
          feature gate. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Stop reapplying chart CRDs on upgrades when using server-side apply with
          the default `Create` policy (helm-controller)\n- Recover HelmReleases stranded
          with a drifted `Ready=Unknown` condition after a failed status patch (helm-controller)\n-
          Ignore `NotFound` when deleting the HelmChart (helm-controller)\n- Normalize
          Azure Blob listing ETags so unchanged containers are not re-downloaded on
          every reconcile (source-controller)\n- Evict stale Helm repository index
          entries from the cache to avoid \"Cache is full\" errors (source-controller)\n-
          Extend SOPS decryption error redaction to `spec.postBuild.substituteFrom`
          values (kustomize-controller)\n\nImprovements:\n\n- Add the opt-in `DisableCommitStatusEvent`
          feature gate (kustomize-controller)\n\n#### Components changelog\n\n- source-controller
          [v1.9.6](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.6/CHANGELOG.md)\n-
          kustomize-controller [v1.9.6](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.6/CHANGELOG.md)\n-
          helm-controller [v1.6.5](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.5/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Format reproducible created timestamp
          in UTC by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in
          [#&#8203;6081](https://redirect.github.com/fluxcd/flux2/pull/6081)\n- Update
          toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6097](https://redirect.github.com/fluxcd/flux2/pull/6097)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6>\n\n###
          [`v2.9.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.5)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5)\n\n####
          Highlights\n\nFlux v2.9.5 is a patch release that moves helm-controller
          and source-controller back to upstream Helm, now at v4.2.4, dropping the
          temporary Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller
          and kustomize-controller, which now reject kubeconfigs referencing files
          on the local filesystem and require credentials and certificates to be embedded
          inline. It also stops kustomize-controller from leaving behind the temporary
          directories of a previous process that exited without running its cleanup,
          and fixes a crash in post-build substitution where a substring expression
          with a negative length, e.g. `${VAR:2:-1}`, panicked instead of counting
          back from the end of the string like Bash does. Across all controllers and
          the CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes
          to 1.36.4. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Validate kubeconfigs from `.spec.kubeConfig` Secrets, rejecting local file
          references in `certificate-authority`, `tokenFile`, `client-certificate`
          and `client-key`; credentials and certificates must be embedded inline (helm-controller,
          kustomize-controller)\n- Purge temporary directories at startup (kustomize-controller)\n-
          Fix panic on negative-length substring expressions in post-build substitution
          (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Move back to upstream
          Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)\n-
          Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers,
          flux CLI)\n\n#### Components changelog\n\n- source-controller [v1.9.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.5/CHANGELOG.md)\n-
          source-watcher [v2.2.4](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.4/CHANGELOG.md)\n-
          kustomize-controller [v1.9.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.5/CHANGELOG.md)\n-
          helm-controller [v1.6.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.4/CHANGELOG.md)\n-
          notification-controller [v1.9.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.4/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.5](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.5/CHANGELOG.md)\n-
          image-automation-controller [v1.2.5](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.5/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6046](https://redirect.github.com/fluxcd/flux2/pull/6046)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6048](https://redirect.github.com/fluxcd/flux2/pull/6048)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6049](https://redirect.github.com/fluxcd/flux2/pull/6049)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5>\n\n###
          [`v2.9.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.4)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4)\n\n####
          Highlights\n\nFlux v2.9.4 is a patch release that ships various fixes to
          the Flux controllers, covering source-watcher tarball extraction and glob
          expansion limits, the refspecs accepted by `ImageUpdateAutomation`, the
          HTTP request limits of the notification-controller servers, and Helm repository
          index loading, OCI chart digest pinning, `Bucket` error handling and GCS
          static authentication in source-controller. On the CLI side, `flux migrate
          -f` now supports migrating repositories to Flux 2.9. Users are encouraged
          to upgrade for the best experience.\n\nNote that this release contains CRD
          schema changes for `ArtifactGenerator` and `ImageUpdateAutomation`; both
          CRDs must be updated along with the controllers.\n\n\u2139\uFE0F Please
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Confine tarball extraction and bound glob expansion (source-watcher)\n-
          Disallow force-update and deletion via refspecs (image-automation-controller)\n-
          Unify HTTP server request limits (notification-controller)\n- Align Helm
          repository index loading with upstream Helm v4 (source-controller)\n- Improve
          error handling in `Bucket` reconciliation (source-controller)\n- Pin OCI
          chart verification by digest (source-controller)\n- Limit GCS static authentication
          to service account keys (source-controller)\n- Restrict the `allow-webhooks`
          network policy to the receiver port (flux CLI)\n\nImprovements:\n\n- Add
          support for migrating repositories to 2.9 in `flux migrate -f` (flux CLI)\n-
          Update fluxcd/pkg dependencies, which align the ECR host detection with
          upstream (source-controller, image-reflector-controller, flux CLI)\n- Update
          Bitbucket Cloud receiver guidance (notification-controller)\n\n#### Components
          changelog\n\n- source-controller [v1.9.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.4/CHANGELOG.md)\n-
          source-watcher [v2.2.3](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.3/CHANGELOG.md)\n-
          notification-controller [v1.9.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.3/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.4](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.4/CHANGELOG.md)\n-
          image-automation-controller [v1.2.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.4/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Add support for 2.9 in `migrate -f`
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6021](https://redirect.github.com/fluxcd/flux2/pull/6021)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6026](https://redirect.github.com/fluxcd/flux2/pull/6026)\n-
          \\[release/v2.9.x] fix: restrict `allow-webhooks` netpol to receiver port
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6029](https://redirect.github.com/fluxcd/flux2/pull/6029)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6031](https://redirect.github.com/fluxcd/flux2/pull/6031)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4>\n\n###
          [`v2.9.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.3)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3)\n\n####
          Highlights\n\nFlux v2.9.3 is a patch release. It fixes empty lines vanishing
          from rendered Helm chart manifests, HelmReleases being marked as tested
          when their Helm test hooks never ran, and `spec.images` entries that set
          only some image fields discarding the remaining fields already declared
          for the same image in the `kustomization.yaml`. The latter affects both
          kustomize-controller and the `flux build|diff kustomization` commands. Users
          are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F Please
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Fix empty lines vanishing from rendered chart manifests (helm-controller)\n-
          Fix `HasBeenTested` for all corner cases, where a release could be marked
          as tested although its Helm test hooks never ran (helm-controller)\n- Fix
          a `spec.images` entry setting only some of the image fields discarding the
          remaining fields already declared for the same image in the `kustomization.yaml`
          at `spec.path`, e.g. overriding only `newName` produced an untagged image
          reference (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Update
          fluxcd/pkg dependencies\n- Include source-watcher in the OCI flux-manifests
          artifact\n\n#### Components changelog\n\n- kustomize-controller [v1.9.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md)\n-
          helm-controller [v1.6.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Include source-watcher to oci flux-manifests
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5996](https://redirect.github.com/fluxcd/flux2/pull/5996)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6006](https://redirect.github.com/fluxcd/flux2/pull/6006)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6011](https://redirect.github.com/fluxcd/flux2/pull/6011)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3>\n\n###
          [`v2.9.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.2)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2)\n\n####
          Highlights\n\nFlux v2.9.2 is a patch release. The main fix addresses a regression
          introduced in\nv2.9.1 where a Kustomization with `openapi.path` pointing
          to a URL failed to\nreconcile with `failed to read OpenAPI schema`. This
          release also corrects several\nCRD field descriptions that contained inaccurate
          or leaked content. Users are\nencouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Fix a regression where a Kustomization with `openapi.path` pointing to a
          URL failed to reconcile with `failed to read OpenAPI schema` (kustomize-controller)\n-
          Fix the `HelmChart` CRD description for `.status.url`, which pointed users
          at `BucketStatus.Artifact` instead of `HelmChartStatus.Artifact` (source-controller)\n-
          Fix the `ImageRepository` CRD description for `.status.observedExclusionList`,
          which referred to `spec.lastScanResult` instead of `status.lastScanResult`
          (image-reflector-controller)\n- Fix the `ImageUpdateAutomation` CRD description
          for `.status.observedSourceRevision`, which had a stray Go struct declaration
          leaking into it (image-automation-controller)\n\nImprovements:\n\n- Update
          fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
          [v1.9.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md)\n-
          kustomize-controller [v1.9.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md)\n-
          helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
          notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.3](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md)\n-
          image-automation-controller [v1.2.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md)\n-
          source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5984](https://redirect.github.com/fluxcd/flux2/pull/5984)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5990](https://redirect.github.com/fluxcd/flux2/pull/5990)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5994](https://redirect.github.com/fluxcd/flux2/pull/5994)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2>\n\n###
          [`v2.9.1`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.1)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n####
          Highlights\n\nFlux v2.9.1 is a patch release. The main fix, applied across
          all controllers, disables Flux variable substitution on the Flux CRDs by
          annotating them with `kustomize.toolkit.fluxcd.io/substitute: disabled`,
          so that Kustomizations with post-build substitution enabled no longer corrupt
          the CRD schemas when they contain `${...}` sequences. Users are encouraged
          to upgrade for the best experience.\n\n\u2139\uFE0F Please follow the [Upgrade
          Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Disable Flux variable substitution on all Flux CRDs, preventing post-build
          substitution from corrupting CRD schemas that contain `${...}` sequences
          (all controllers)\n- Update SOPS dependency to fix `.ini` file decryption
          (kustomize-controller)\n- Fix a dry-run error where applying a resource
          with a strategic merge patch could fail with `<resource> is invalid` (kustomize-controller)\n-
          Fix a breaking change in the in-memory Kustomization build (Flux CLI)\n\nImprovements:\n\n-
          Cache the registry authorization token during Notation verification, so
          it is fetched once per verification instead of once per request (source-controller)\n-
          Update fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
          [v1.9.2](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.2/CHANGELOG.md)\n-
          kustomize-controller [v1.9.2](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.2/CHANGELOG.md)\n-
          helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
          notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.2](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.2/CHANGELOG.md)\n-
          image-automation-controller [v1.2.2](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.2/CHANGELOG.md)\n-
          source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Fix breaking change in-memory kustomization
          build by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5971](https://redirect.github.com/fluxcd/flux2/pull/5971)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5977](https://redirect.github.com/fluxcd/flux2/pull/5977)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5979](https://redirect.github.com/fluxcd/flux2/pull/5979)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1>\n\n###
          [`v2.9.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.0)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.8...v2.9.0)\n\n####
          Highlights\n\nFlux v2.9.0 is a feature release. Users are encouraged to
          upgrade for the best experience.\n\nFor a compressive overview of new features
          and API changes included in this release, please refer to the [Announcing
          Flux 2.9 GA blog post](https://fluxcd.io/blog/2026/06/flux-v2.9.0/).\n\nOverview
          of the new features:\n\n- Flux CLI Plugin System with the Mirror and Schema
          plugins (`flux plugin`)\n- Server-Side Apply field ignore rules for fine-grained
          drift control (`Kustomization`)\n- SOPS decryption with the Age post-quantum
          cipher (`Kustomization`)\n- Kubernetes Workload Identity authentication
          for OpenBao and Vault (`Kustomization`)\n- Helm post-render strategies,
          including chart hooks support (`HelmRelease`)\n- Literal mode for Helm values
          references mirroring `helm --set-literal` (`HelmRelease`)\n- Allow empty
          kind in CEL health check expressions (`Kustomization`, `HelmRelease`)\n-
          Git commit signing and verification with SSH keys (`GitRepository`, `ImageUpdateAutomation`)\n-
          AWS CodeCommit authentication using Workload Identity (`GitRepository`)\n-
          Custom Sigstore trusted root for keyless verification in air-gapped environments
          (`OCIRepository`)\n- Path pattern directory discovery for monorepos (`ArtifactGenerator`)\n-
          Secret-less, OIDC-secured webhook Receivers (`Receiver`)\n\n\u2764\uFE0F
          Big thanks to all the Flux contributors that helped us with this release!\n\n#####
          Kubernetes compatibility\n\nThis release is compatible with the following
          Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------
          | ---------------- |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`
          \           | `>= 1.35.0`      |\n| `v1.36`            | `>= 1.36.0`      |\n\n>
          \\[!NOTE]\n> Note that the Flux project offers support only for the latest
          three minor versions of Kubernetes.\n> Backwards compatibility with older
          versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
          that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
          can be installed on Red Hat OpenShift cluster directly from OperatorHub
          using [Flux Operator](https://operatorhub.io/operator/flux-operator). The
          operator allows the configuration of Flux multi-tenancy lockdown, network
          policies, persistent storage, sharding, vertical scaling and the synchronization
          of the cluster state from Git repositories, OCI artifacts, and S3-compatible
          storage.\n\n#### Upgrade procedure\n\n:warning: The Flux APIs `image.toolkit.fluxcd.io/v1beta2`
          and `notification.toolkit.fluxcd.io/v1beta2`\nhave reached end-of-life and
          have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure
          for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from older versions of Flux to v2.9.\n\n#### Components
          changelog\n\n- source-controller [v1.9.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md)\n-
          kustomize-controller [v1.9.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md)\n-
          notification-controller [v1.9.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md)\n-
          helm-controller [v1.6.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md)\n-
          image-automation-controller [v1.2.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md)\n-
          source-watcher [v2.2.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Add backport label for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5732](https://redirect.github.com/fluxcd/flux2/pull/5732)\n-
          Remove no longer needed workaround for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5733](https://redirect.github.com/fluxcd/flux2/pull/5733)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5740](https://redirect.github.com/fluxcd/flux2/pull/5740)\n-
          Add missing things to release notes template by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5743](https://redirect.github.com/fluxcd/flux2/pull/5743)\n-
          ci: add top-level permissions to upgrade-fluxcd-pkg workflow by [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
          in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
          build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5764](https://redirect.github.com/fluxcd/flux2/pull/5764)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5766](https://redirect.github.com/fluxcd/flux2/pull/5766)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5769](https://redirect.github.com/fluxcd/flux2/pull/5769)\n-
          Add target branch name to update branch by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5773](https://redirect.github.com/fluxcd/flux2/pull/5773)\n-
          Fix/resume exit code by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool)
          in [#&#8203;5701](https://redirect.github.com/fluxcd/flux2/pull/5701)\n-
          Mark RFC 0010, 0011 and 0012 as implemented by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5776](https://redirect.github.com/fluxcd/flux2/pull/5776)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5780](https://redirect.github.com/fluxcd/flux2/pull/5780)\n-
          Add --resolve-symlinks flag to build and push artifact commands by [@&#8203;rohansood10](https://redirect.github.com/rohansood10)
          in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
          fix: validate --source flag in create kustomization command by [@&#8203;gma1k](https://redirect.github.com/gma1k)
          in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5821](https://redirect.github.com/fluxcd/flux2/pull/5821)\n-
          Add `--show-source` to `flux get ks` and `flux get hr`  by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco)
          in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
          Add `flux create secret receiver` command by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5835](https://redirect.github.com/fluxcd/flux2/pull/5835)\n-
          fix: handle multiple symlinks to same target in build artifact by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
          Add `--in-memory-build` to `flux build ks` and `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n-
          Migrate end-to-end test to latest cloud SDKs  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5840](https://redirect.github.com/fluxcd/flux2/pull/5840)\n-
          docs: Add AI Coding Assistants Guidance  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5841](https://redirect.github.com/fluxcd/flux2/pull/5841)\n-
          Add AI Agents guidance by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5847](https://redirect.github.com/fluxcd/flux2/pull/5847)\n-
          \\[RFC-0013] Flux CLI Plugin System by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5795](https://redirect.github.com/fluxcd/flux2/pull/5795)\n-
          Add `--ignore-not-found` to `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5845](https://redirect.github.com/fluxcd/flux2/pull/5845)\n-
          \\[RFC-0013] Implement plugin system by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5849](https://redirect.github.com/fluxcd/flux2/pull/5849)\n-
          build(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5853](https://redirect.github.com/fluxcd/flux2/pull/5853)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5856](https://redirect.github.com/fluxcd/flux2/pull/5856)\n-
          Add digest pinning support to `flux plugin install` by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          in [#&#8203;5872](https://redirect.github.com/fluxcd/flux2/pull/5872)\n-
          Add `--ns-follows-kube-context` global flag for using the kubeconfig context
          namespace by [@&#8203;jtyr](https://redirect.github.com/jtyr) in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
          include source-watcher in install.yaml manifests by [@&#8203;tmmorin](https://redirect.github.com/tmmorin)
          in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5890](https://redirect.github.com/fluxcd/flux2/pull/5890)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5903](https://redirect.github.com/fluxcd/flux2/pull/5903)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5907](https://redirect.github.com/fluxcd/flux2/pull/5907)\n-
          Validate Helm source URL schemes by [@&#8203;immanuwell](https://redirect.github.com/immanuwell)
          in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
          Introduce `flux trigger receiver` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5908](https://redirect.github.com/fluxcd/flux2/pull/5908)\n-
          refactor(api): migrate MakeDependsOn to shared apis/meta func by [@&#8203;vecil](https://redirect.github.com/vecil)
          in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n-
          Update to Kubernetes 1.36 and Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5924](https://redirect.github.com/fluxcd/flux2/pull/5924)\n-
          build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5925](https://redirect.github.com/fluxcd/flux2/pull/5925)\n-
          Run conformance tests for Kubernetes 1.36 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5926](https://redirect.github.com/fluxcd/flux2/pull/5926)\n-
          Add support for AWS CodeCommit to `flux bootstrap git` by [@&#8203;taraspos](https://redirect.github.com/taraspos)
          in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
          Validate plugin binary path by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5927](https://redirect.github.com/fluxcd/flux2/pull/5927)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5928](https://redirect.github.com/fluxcd/flux2/pull/5928)\n-
          fix: preserve invalid metadata.labels in `flux build ks` by [@&#8203;raffis](https://redirect.github.com/raffis)
          in [#&#8203;5906](https://redirect.github.com/fluxcd/flux2/pull/5906)\n-
          build: target host arch for local builds/envtest by [@&#8203;stealthybox](https://redirect.github.com/stealthybox)
          in [#&#8203;5932](https://redirect.github.com/fluxcd/flux2/pull/5932)\n-
          build(deps): bump the ci group with 6 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5938](https://redirect.github.com/fluxcd/flux2/pull/5938)\n-
          Support specifing sparseCheckout in flux bootstrap by [@&#8203;piny940](https://redirect.github.com/piny940)
          in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5944](https://redirect.github.com/fluxcd/flux2/pull/5944)\n-
          Honor `ks.spec.postBuild.substituteStrategy` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5945](https://redirect.github.com/fluxcd/flux2/pull/5945)\n-
          Add DriftIgnoreRules support to flux diff kustomization by [@&#8203;dipti-pai](https://redirect.github.com/dipti-pai)
          in [#&#8203;5923](https://redirect.github.com/fluxcd/flux2/pull/5923)\n-
          Allow signing commits using SSH key by [@&#8203;hiddeco](https://redirect.github.com/hiddeco)
          in [#&#8203;5920](https://redirect.github.com/fluxcd/flux2/pull/5920)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5950](https://redirect.github.com/fluxcd/flux2/pull/5950)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5937](https://redirect.github.com/fluxcd/flux2/pull/5937)\n-
          cmd: support `type!=status` in get --status-selector by [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje)
          in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
          Fix `flux get all --status-selector` for empty results and notification
          resources by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5954](https://redirect.github.com/fluxcd/flux2/pull/5954)\n-
          Upgrade go-git-providers to v0.27.0 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5956](https://redirect.github.com/fluxcd/flux2/pull/5956)\n-
          Fix using Receiver adapter for ArtifactGenerator by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5957](https://redirect.github.com/fluxcd/flux2/pull/5957)\n-
          feat: Install Plugins alongside Flux setup in gh actions by [@&#8203;gat786](https://redirect.github.com/gat786)
          in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5960](https://redirect.github.com/fluxcd/flux2/pull/5960)\n-
          Add CLI support for OCIRepository.spec.layerSelector in flux create source
          oci by [@&#8203;dme86](https://redirect.github.com/dme86) in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5963](https://redirect.github.com/fluxcd/flux2/pull/5963)\n\n####
          New Contributors\n\n- [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
          made their first contribution in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
          [@&#8203;rohansood10](https://redirect.github.com/rohansood10) made their
          first contribution in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
          [@&#8203;gma1k](https://redirect.github.com/gma1k) made their first contribution
          in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n-
          [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) made their
          first contribution in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
          [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          made their first contribution in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
          [@&#8203;rycli](https://redirect.github.com/rycli) made their first contribution
          in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n-
          [@&#8203;jtyr](https://redirect.github.com/jtyr) made their first contribution
          in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
          [@&#8203;tmmorin](https://redirect.github.com/tmmorin) made their first
          contribution in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n-
          [@&#8203;immanuwell](https://redirect.github.com/immanuwell) made their
          first contribution in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
          [@&#8203;vecil](https://redirect.github.com/vecil) made their first contribution
          in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n-
          [@&#8203;taraspos](https://redirect.github.com/taraspos) made their first
          contribution in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
          [@&#8203;piny940](https://redirect.github.com/piny940) made their first
          contribution in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n-
          [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) made their first
          contribution in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
          [@&#8203;gat786](https://redirect.github.com/gat786) made their first contribution
          in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n-
          [@&#8203;dme86](https://redirect.github.com/dme86) made their first contribution
          in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0>\n\n###
          [`v2.8.8`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.8)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8)\n\n####
          Highlights\n\nFlux v2.8.8 is a patch release that includes CVE fixes via
          go-git v5.19.1 (source-controller, image-automation-controller), reliability
          fixes in helm-controller and source-controller, the move of Helm back to
          upstream v4.2.0, support for GCP sovereign cloud artifact registries, and
          dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Add a configurable HTTP timeout for artifact fetching, preventing fetches
          that could block indefinitely and stall reconciliations (helm-controller)\n-
          Fix unbounded memory growth caused by a Kubernetes client transport retry
          wrapper accumulating on every reconcile (helm-controller)\n- Stop force-applying
          non-CRD objects placed under\n\n> [!IMPORTANT]\n> \u2702 PR body was truncated
          to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
          \ - 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/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n"
        change_url: https://github.com/vexxhost/atmosphere.common/pull/102
        commit_id: a36257f5fbc3fd25c301483d3e9119bbd1006d60
        patchset: a36257f5fbc3fd25c301483d3e9119bbd1006d60
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere.common
          name: vexxhost/atmosphere.common
          short_name: atmosphere.common
          src_dir: src/github.com/vexxhost/atmosphere.common
        src_dir: src/github.com/vexxhost/atmosphere.common
        topic: null
      change: '102'
      change_message: "chore(deps): update dependency fluxcd/flux2 to v2.10.0\n\n>
        [!NOTE]\n> This PR body was truncated due to platform limits.\n\nThis PR contains
        the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [fluxcd/flux2](https://redirect.github.com/fluxcd/flux2) | minor | `2.6.4`
        \u2192 `2.10.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fluxcd/flux2</summary>\n\n###
        [`v2.10.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.10.0)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0)\n\n####
        Highlights\n\nFlux v2.10.0 is a feature release. Users are encouraged to upgrade
        for the best experience.\n\nOverview of the new features:\n\n- Object identity
        is generally available; the `ObjectLevelWorkloadIdentity` feature gate is
        retired\n- SPIFFE mTLS for inter-controller communication\n- Notification
        `Event`, `Alert` and `Provider` APIs promoted to `v1`\n- `OCIRepository` as
        a chart source for `HelmRelease`\n- SOPS decryption for files encrypted with
        comment regexes, and `--override-manager-before-dry-run` (`Kustomization`)\n-
        Image update batching with `.spec.policyChangeDelay`, retry on rejected pushes,
        and `.Changed.Summary` (`ImageUpdateAutomation`)\n- Flux artifact storage
        backend enabled by default for `ImageRepository` tags\n- Cross-namespace artifacts,
        tenant namespace provisioning, and path-pattern discovery (`ArtifactGenerator`)\n-
        New Zoom, incident.io and Mastodon notification providers\n- Built with Kubernetes
        1.37 and Go 1.27\n\n\u2764\uFE0F Big thanks to all the Flux contributors that
        helped us with this release!\n\n##### Kubernetes compatibility\n\nThis release
        is compatible with the following Kubernetes versions:\n\n| Kubernetes version
        | Minimum required |\n| ------------------ | ---------------- |\n| `v1.35`
        \           | `>= 1.35.2`      |\n| `v1.36`            | `>= 1.36.1`      |\n|
        `v1.37`            | `>= 1.37.0`      |\n\n> \\[!NOTE]\n> Note that the Flux
        project offers support only for the latest three minor versions of Kubernetes.\n>
        Backwards compatibility with older versions of Kubernetes and OpenShift is
        offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
        that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
        can be installed on Red Hat OpenShift cluster directly from OperatorHub using
        [Flux Operator](https://operatorhub.io/operator/flux-operator). The operator
        allows the configuration of Flux multi-tenancy lockdown, network policies,
        persistent storage, sharding, vertical scaling and the synchronization of
        the cluster state from Git repositories, OCI artifacts, and S3-compatible
        storage.\n\n#### Upgrade procedure\n\n\u26A0\uFE0F **Breaking changes in this
        release:**\n\n- Object identity is always enabled and the default Flux RBAC
        no longer grants the `create` verb on the `serviceaccounts/token` resource.
        If your installation relies on the default RBAC, bind a ClusterRole with this
        permission to the controller ServiceAccount before upgrading. See [fluxcd/flux2#6139](https://redirect.github.com/fluxcd/flux2/pull/6139)
        for the required ClusterRole and ClusterRoleBinding.\n- The notification `Alert`
        and `Provider` APIs are promoted to `v1`. Converting a `v1beta3` `Alert` or
        `Provider` to `v1` drops the deprecated `Alert.spec.summary` and `Provider.spec.interval`
        fields, the static JWT token for Azure Event Hub, and TLS or proxy configuration
        in `Provider.spec.secretRef`. Use `eventMetadata.summary`, `proxySecretRef`
        and `certSecretRef` instead.\n- The Flux artifact storage backend is now the
        default for the `ImageRepository` tag database. Switching the gate wipes the
        local tag database, so the first reconciliation after the upgrade rescans
        every `ImageRepository`. Set `--feature-gates=FluxStorage=false` to keep using
        BadgerDB.\n- Remote cluster authentication with `.spec.kubeConfig.configMapRef`
        uses object identity; replace the legacy `audiences` key with `credential.auth.fluxcd.io/audiences`.\n\nPlease
        follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from older versions of Flux to v2.10.\n\n#### Components
        changelog\n\n- source-controller [v1.10.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.10.1/CHANGELOG.md)\n-
        kustomize-controller [v1.10.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.10.1/CHANGELOG.md)\n-
        notification-controller [v1.10.0](https://redirect.github.com/fluxcd/notification-controller/blob/v1.10.0/CHANGELOG.md)\n-
        helm-controller [v1.7.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.7.1/CHANGELOG.md)\n-
        image-reflector-controller [v1.3.0](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.3.0/CHANGELOG.md)\n-
        image-automation-controller [v1.3.0](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.3.0/CHANGELOG.md)\n-
        source-watcher [v2.3.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.3.1/CHANGELOG.md)\n\n####
        CLI changelog\n\n- Add backport label for 2.9 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5970](https://redirect.github.com/fluxcd/flux2/pull/5970)\n- Fix
        breaking change in-memory kustomization build by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5969](https://redirect.github.com/fluxcd/flux2/pull/5969)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5976](https://redirect.github.com/fluxcd/flux2/pull/5976)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5978](https://redirect.github.com/fluxcd/flux2/pull/5978)\n- Add
        checksum verification for SOPS in e2e workflows by [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
        in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n- Add
        --add-ignore-paths flag to artifact commands by [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
        in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5983](https://redirect.github.com/fluxcd/flux2/pull/5983)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5989](https://redirect.github.com/fluxcd/flux2/pull/5989)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5993](https://redirect.github.com/fluxcd/flux2/pull/5993)\n- Include
        source-watcher to oci flux-manifests by [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov)
        in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n- docs:
        fix typo in RFC-0004 (enviornment -> environment) by [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub)
        in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6005](https://redirect.github.com/fluxcd/flux2/pull/6005)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6010](https://redirect.github.com/fluxcd/flux2/pull/6010)\n- Add
        version-file input to the Flux CLI action by [@&#8203;somaz94](https://redirect.github.com/somaz94)
        in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n- Add
        support for 2.9 in `migrate -f` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6020](https://redirect.github.com/fluxcd/flux2/pull/6020)\n- Fix
        Azure e2e tests after new major version with breaking changes by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6022](https://redirect.github.com/fluxcd/flux2/pull/6022)\n- fix:
        restrict `allow-webhooks` netpol to receiver port by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6028](https://redirect.github.com/fluxcd/flux2/pull/6028)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6030](https://redirect.github.com/fluxcd/flux2/pull/6030)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6050](https://redirect.github.com/fluxcd/flux2/pull/6050)\n- build(deps):
        bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;6052](https://redirect.github.com/fluxcd/flux2/pull/6052)\n- Format
        reproducible created timestamp in UTC by [@&#8203;lexfrei](https://redirect.github.com/lexfrei)
        in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n- Update
        to Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6082](https://redirect.github.com/fluxcd/flux2/pull/6082)\n- Run
        conformance tests for Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6083](https://redirect.github.com/fluxcd/flux2/pull/6083)\n- Remove
        the Cosign v2.6.1 pin by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6084](https://redirect.github.com/fluxcd/flux2/pull/6084)\n- Add
        `--app-client-id` flag to `create secret githubapp` by [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze)
        in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6096](https://redirect.github.com/fluxcd/flux2/pull/6096)\n- Match
        plugin archive entries with a leading ./ by [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0)
        in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n- Stop
        diff processing after an error by [@&#8203;idelchi](https://redirect.github.com/idelchi)
        in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n- Respect
        pruning exclusions in kustomization diff by [@&#8203;idelchi](https://redirect.github.com/idelchi)
        in [#&#8203;6073](https://redirect.github.com/fluxcd/flux2/pull/6073)\n- Introduce
        RBAC for ArtifactGenerator cross-namespace artifacts by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6101](https://redirect.github.com/fluxcd/flux2/pull/6101)\n- \\[RFC-0014]
        Advanced Support for Short-Lived Cryptographic Material by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5702](https://redirect.github.com/fluxcd/flux2/pull/5702)\n- Validate
        plugin manifest name by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
        in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n- ci:
        disable Replicated conformance tests by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6111](https://redirect.github.com/fluxcd/flux2/pull/6111)\n- \\[RFC-0014]
        RFC refinements by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6105](https://redirect.github.com/fluxcd/flux2/pull/6105)\n- \\[RFC-0014]
        Annotations for AWS STS Endpoint and Docker Hub OIDC Connection by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6114](https://redirect.github.com/fluxcd/flux2/pull/6114)\n- Update
        to Kubernetes 1.37.1 and Go 1.27 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6117](https://redirect.github.com/fluxcd/flux2/pull/6117)\n- build(deps):
        bump the ci group across 1 directory with 15 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;6118](https://redirect.github.com/fluxcd/flux2/pull/6118)\n- \\[RFC-0014]
        Add rules for missing corner cases by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6121](https://redirect.github.com/fluxcd/flux2/pull/6121)\n- \\[RFC-0014]
        Address final nits arising from apis/crypto implementation by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6122](https://redirect.github.com/fluxcd/flux2/pull/6122)\n- \\[RFC-0014]
        Final iterations for 2.10 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6125](https://redirect.github.com/fluxcd/flux2/pull/6125)\n- Revert
        \"Introduce RBAC for ArtifactGenerator cross-namespace artifacts\" by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6129](https://redirect.github.com/fluxcd/flux2/pull/6129)\n- Allow
        controllers to perform SubjectAccessReview by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6132](https://redirect.github.com/fluxcd/flux2/pull/6132)\n- Accept
        TYPE/NAME resource args in get/reconcile by [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
        in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n- Add
        digests flag to plugin search, which displays SHA values for all os/arch per
        binary by [@&#8203;datosh](https://redirect.github.com/datosh) in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
        Extend kubectl-style resource args to all Flux kinds and commands by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6135](https://redirect.github.com/fluxcd/flux2/pull/6135)\n- Escape
        terminal control characters in CLI output by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
        in [#&#8203;6110](https://redirect.github.com/fluxcd/flux2/pull/6110)\n- Add
        suspend, resume and reconcile commands for ArtifactGenerator by [@&#8203;xchose](https://redirect.github.com/xchose)
        in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n- \\[RFC-0014]
        Address review findings by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6136](https://redirect.github.com/fluxcd/flux2/pull/6136)\n- \\[RFC-0014]
        Inter-controller mTLS via SPIFFE by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6127](https://redirect.github.com/fluxcd/flux2/pull/6127)\n- Fix
        proxy bypass in bootstrap --ca-file by [@&#8203;ljluestc](https://redirect.github.com/ljluestc)
        in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n- use
        restrictive file modes for generated manifests by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
        in [#&#8203;6113](https://redirect.github.com/fluxcd/flux2/pull/6113)\n- fix(goreleaser):
        make Homebrew formula pass brew audit by [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
        in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n- Fix
        envsubst dropping input on long lines by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6138](https://redirect.github.com/fluxcd/flux2/pull/6138)\n- fix:
        return clear error when --private-key-file path starts with '\\~' by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco)
        in [#&#8203;5859](https://redirect.github.com/fluxcd/flux2/pull/5859)\n- Fix
        stale flags and commands in CLI examples by [@&#8203;rawsun007](https://redirect.github.com/rawsun007)
        in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n- Fix
        typos in user-facing CLI messages and comments by [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo)
        in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n- Remove
        unused fields from installFlags by [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error)
        in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n- \u26A0\uFE0F
        Breaking change: Harden RBAC for controllers by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6139](https://redirect.github.com/fluxcd/flux2/pull/6139)\n- Fix
        `--in-memory-build` restricting disk access by [@&#8203;rycli](https://redirect.github.com/rycli)
        in [#&#8203;5974](https://redirect.github.com/fluxcd/flux2/pull/5974)\n- Update
        dependencies for Flux 2.10 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6140](https://redirect.github.com/fluxcd/flux2/pull/6140)\n- \\[RFC-0014]
        Add 2.10 notes to RFC by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6145](https://redirect.github.com/fluxcd/flux2/pull/6145)\n- fix(create):
        reject conflicting image policy selectors for every flag pair by [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy)
        in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n- ci:
        Update GitHub Actions by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6147](https://redirect.github.com/fluxcd/flux2/pull/6147)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6148](https://redirect.github.com/fluxcd/flux2/pull/6148)\n- Add
        `--policy-change-delay` to create image update by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6146](https://redirect.github.com/fluxcd/flux2/pull/6146)\n- \\[RFC-0014]
        Remove temporary workarounds for mTLS e2e by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;6137](https://redirect.github.com/fluxcd/flux2/pull/6137)\n- \\[RFC-0014]
        Add HTTPS port to controller Services by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6149](https://redirect.github.com/fluxcd/flux2/pull/6149)\n- \\[RFC-0014]
        Include SPIFFE mTLS in the e2e workflow by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6150](https://redirect.github.com/fluxcd/flux2/pull/6150)\n- ci:
        fix goreleaser signing with cosign v3 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6151](https://redirect.github.com/fluxcd/flux2/pull/6151)\n- Remove
        unsupported fields in migrate -f by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6152](https://redirect.github.com/fluxcd/flux2/pull/6152)\n- Bump
        minimum Kubernetes version to 1.35 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6153](https://redirect.github.com/fluxcd/flux2/pull/6153)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6154](https://redirect.github.com/fluxcd/flux2/pull/6154)\n- Use
        podinfo in the SPIFFE mTLS e2e test by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;6156](https://redirect.github.com/fluxcd/flux2/pull/6156)\n\n####
        New Contributors\n\n- [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
        made their first contribution in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
        [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
        made their first contribution in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
        [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov) made their
        first contribution in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
        [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub) made their
        first contribution in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
        [@&#8203;somaz94](https://redirect.github.com/somaz94) made their first contribution
        in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n- [@&#8203;lexfrei](https://redirect.github.com/lexfrei)
        made their first contribution in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
        [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze) made their
        first contribution in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
        [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0) made their first
        contribution in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
        [@&#8203;idelchi](https://redirect.github.com/idelchi) made their first contribution
        in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n- [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
        made their first contribution in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
        [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
        made their first contribution in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
        [@&#8203;datosh](https://redirect.github.com/datosh) made their first contribution
        in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n- [@&#8203;xchose](https://redirect.github.com/xchose)
        made their first contribution in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
        [@&#8203;ljluestc](https://redirect.github.com/ljluestc) made their first
        contribution in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
        [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc) made
        their first contribution in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
        [@&#8203;rawsun007](https://redirect.github.com/rawsun007) made their first
        contribution in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
        [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo) made their first
        contribution in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
        [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error) made their
        first contribution in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
        [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) made their first contribution
        in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0>\n\n###
        [`v2.9.6`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.6)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6)\n\n####
        Highlights\n\nFlux v2.9.6 is a patch release that stops helm-controller from
        reapplying chart CRDs on every upgrade when server-side apply is enabled,
        and recovers HelmReleases left with a drifted `Ready=Unknown` condition after
        a failed status patch. source-controller normalizes Azure Blob listing ETags
        so unchanged containers are no longer re-downloaded on every reconcile, and
        evicts stale Helm repository index entries from the cache so repositories
        with frequently changing indexes no longer fail with \"Cache is full\". kustomize-controller
        extends SOPS decryption error redaction to `spec.postBuild.substituteFrom`
        values, so substituted secrets echoed back in API validation errors are masked
        out of status conditions and events, and adds the opt-in `DisableCommitStatusEvent`
        feature gate. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
        Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
        Stop reapplying chart CRDs on upgrades when using server-side apply with the
        default `Create` policy (helm-controller)\n- Recover HelmReleases stranded
        with a drifted `Ready=Unknown` condition after a failed status patch (helm-controller)\n-
        Ignore `NotFound` when deleting the HelmChart (helm-controller)\n- Normalize
        Azure Blob listing ETags so unchanged containers are not re-downloaded on
        every reconcile (source-controller)\n- Evict stale Helm repository index entries
        from the cache to avoid \"Cache is full\" errors (source-controller)\n- Extend
        SOPS decryption error redaction to `spec.postBuild.substituteFrom` values
        (kustomize-controller)\n\nImprovements:\n\n- Add the opt-in `DisableCommitStatusEvent`
        feature gate (kustomize-controller)\n\n#### Components changelog\n\n- source-controller
        [v1.9.6](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.6/CHANGELOG.md)\n-
        kustomize-controller [v1.9.6](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.6/CHANGELOG.md)\n-
        helm-controller [v1.6.5](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.5/CHANGELOG.md)\n\n####
        CLI changelog\n\n- \\[release/v2.9.x] Format reproducible created timestamp
        in UTC by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6081](https://redirect.github.com/fluxcd/flux2/pull/6081)\n-
        Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6097](https://redirect.github.com/fluxcd/flux2/pull/6097)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6>\n\n###
        [`v2.9.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.5)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5)\n\n####
        Highlights\n\nFlux v2.9.5 is a patch release that moves helm-controller and
        source-controller back to upstream Helm, now at v4.2.4, dropping the temporary
        Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller
        and kustomize-controller, which now reject kubeconfigs referencing files on
        the local filesystem and require credentials and certificates to be embedded
        inline. It also stops kustomize-controller from leaving behind the temporary
        directories of a previous process that exited without running its cleanup,
        and fixes a crash in post-build substitution where a substring expression
        with a negative length, e.g. `${VAR:2:-1}`, panicked instead of counting back
        from the end of the string like Bash does. Across all controllers and the
        CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes to
        1.36.4. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
        Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
        Validate kubeconfigs from `.spec.kubeConfig` Secrets, rejecting local file
        references in `certificate-authority`, `tokenFile`, `client-certificate` and
        `client-key`; credentials and certificates must be embedded inline (helm-controller,
        kustomize-controller)\n- Purge temporary directories at startup (kustomize-controller)\n-
        Fix panic on negative-length substring expressions in post-build substitution
        (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Move back to upstream
        Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)\n-
        Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers,
        flux CLI)\n\n#### Components changelog\n\n- source-controller [v1.9.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.5/CHANGELOG.md)\n-
        source-watcher [v2.2.4](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.4/CHANGELOG.md)\n-
        kustomize-controller [v1.9.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.5/CHANGELOG.md)\n-
        helm-controller [v1.6.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.4/CHANGELOG.md)\n-
        notification-controller [v1.9.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.4/CHANGELOG.md)\n-
        image-reflector-controller [v1.2.5](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.5/CHANGELOG.md)\n-
        image-automation-controller [v1.2.5](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.5/CHANGELOG.md)\n\n####
        CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6046](https://redirect.github.com/fluxcd/flux2/pull/6046)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6048](https://redirect.github.com/fluxcd/flux2/pull/6048)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6049](https://redirect.github.com/fluxcd/flux2/pull/6049)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5>\n\n###
        [`v2.9.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.4)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4)\n\n####
        Highlights\n\nFlux v2.9.4 is a patch release that ships various fixes to the
        Flux controllers, covering source-watcher tarball extraction and glob expansion
        limits, the refspecs accepted by `ImageUpdateAutomation`, the HTTP request
        limits of the notification-controller servers, and Helm repository index loading,
        OCI chart digest pinning, `Bucket` error handling and GCS static authentication
        in source-controller. On the CLI side, `flux migrate -f` now supports migrating
        repositories to Flux 2.9. Users are encouraged to upgrade for the best experience.\n\nNote
        that this release contains CRD schema changes for `ArtifactGenerator` and
        `ImageUpdateAutomation`; both CRDs must be updated along with the controllers.\n\n\u2139\uFE0F
        Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
        Confine tarball extraction and bound glob expansion (source-watcher)\n- Disallow
        force-update and deletion via refspecs (image-automation-controller)\n- Unify
        HTTP server request limits (notification-controller)\n- Align Helm repository
        index loading with upstream Helm v4 (source-controller)\n- Improve error handling
        in `Bucket` reconciliation (source-controller)\n- Pin OCI chart verification
        by digest (source-controller)\n- Limit GCS static authentication to service
        account keys (source-controller)\n- Restrict the `allow-webhooks` network
        policy to the receiver port (flux CLI)\n\nImprovements:\n\n- Add support for
        migrating repositories to 2.9 in `flux migrate -f` (flux CLI)\n- Update fluxcd/pkg
        dependencies, which align the ECR host detection with upstream (source-controller,
        image-reflector-controller, flux CLI)\n- Update Bitbucket Cloud receiver guidance
        (notification-controller)\n\n#### Components changelog\n\n- source-controller
        [v1.9.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.4/CHANGELOG.md)\n-
        source-watcher [v2.2.3](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.3/CHANGELOG.md)\n-
        notification-controller [v1.9.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.3/CHANGELOG.md)\n-
        image-reflector-controller [v1.2.4](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.4/CHANGELOG.md)\n-
        image-automation-controller [v1.2.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.4/CHANGELOG.md)\n\n####
        CLI changelog\n\n- \\[release/v2.9.x] Add support for 2.9 in `migrate -f`
        by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6021](https://redirect.github.com/fluxcd/flux2/pull/6021)\n-
        Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6026](https://redirect.github.com/fluxcd/flux2/pull/6026)\n- \\[release/v2.9.x]
        fix: restrict `allow-webhooks` netpol to receiver port by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6029](https://redirect.github.com/fluxcd/flux2/pull/6029)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6031](https://redirect.github.com/fluxcd/flux2/pull/6031)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4>\n\n###
        [`v2.9.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.3)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3)\n\n####
        Highlights\n\nFlux v2.9.3 is a patch release. It fixes empty lines vanishing
        from rendered Helm chart manifests, HelmReleases being marked as tested when
        their Helm test hooks never ran, and `spec.images` entries that set only some
        image fields discarding the remaining fields already declared for the same
        image in the `kustomization.yaml`. The latter affects both kustomize-controller
        and the `flux build|diff kustomization` commands. Users are encouraged to
        upgrade for the best experience.\n\n\u2139\uFE0F Please follow the [Upgrade
        Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
        Fix empty lines vanishing from rendered chart manifests (helm-controller)\n-
        Fix `HasBeenTested` for all corner cases, where a release could be marked
        as tested although its Helm test hooks never ran (helm-controller)\n- Fix
        a `spec.images` entry setting only some of the image fields discarding the
        remaining fields already declared for the same image in the `kustomization.yaml`
        at `spec.path`, e.g. overriding only `newName` produced an untagged image
        reference (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Update fluxcd/pkg
        dependencies\n- Include source-watcher in the OCI flux-manifests artifact\n\n####
        Components changelog\n\n- kustomize-controller [v1.9.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md)\n-
        helm-controller [v1.6.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md)\n\n####
        CLI changelog\n\n- \\[release/v2.9.x] Include source-watcher to oci flux-manifests
        by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5996](https://redirect.github.com/fluxcd/flux2/pull/5996)\n-
        Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6006](https://redirect.github.com/fluxcd/flux2/pull/6006)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;6011](https://redirect.github.com/fluxcd/flux2/pull/6011)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3>\n\n###
        [`v2.9.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.2)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2)\n\n####
        Highlights\n\nFlux v2.9.2 is a patch release. The main fix addresses a regression
        introduced in\nv2.9.1 where a Kustomization with `openapi.path` pointing to
        a URL failed to\nreconcile with `failed to read OpenAPI schema`. This release
        also corrects several\nCRD field descriptions that contained inaccurate or
        leaked content. Users are\nencouraged to upgrade for the best experience.\n\n\u2139\uFE0F
        Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
        Fix a regression where a Kustomization with `openapi.path` pointing to a URL
        failed to reconcile with `failed to read OpenAPI schema` (kustomize-controller)\n-
        Fix the `HelmChart` CRD description for `.status.url`, which pointed users
        at `BucketStatus.Artifact` instead of `HelmChartStatus.Artifact` (source-controller)\n-
        Fix the `ImageRepository` CRD description for `.status.observedExclusionList`,
        which referred to `spec.lastScanResult` instead of `status.lastScanResult`
        (image-reflector-controller)\n- Fix the `ImageUpdateAutomation` CRD description
        for `.status.observedSourceRevision`, which had a stray Go struct declaration
        leaking into it (image-automation-controller)\n\nImprovements:\n\n- Update
        fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
        [v1.9.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md)\n-
        kustomize-controller [v1.9.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md)\n-
        helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
        notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
        image-reflector-controller [v1.2.3](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md)\n-
        image-automation-controller [v1.2.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md)\n-
        source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
        CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5984](https://redirect.github.com/fluxcd/flux2/pull/5984)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5990](https://redirect.github.com/fluxcd/flux2/pull/5990)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5994](https://redirect.github.com/fluxcd/flux2/pull/5994)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2>\n\n###
        [`v2.9.1`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.1)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n####
        Highlights\n\nFlux v2.9.1 is a patch release. The main fix, applied across
        all controllers, disables Flux variable substitution on the Flux CRDs by annotating
        them with `kustomize.toolkit.fluxcd.io/substitute: disabled`, so that Kustomizations
        with post-build substitution enabled no longer corrupt the CRD schemas when
        they contain `${...}` sequences. Users are encouraged to upgrade for the best
        experience.\n\n\u2139\uFE0F Please follow the [Upgrade Procedure for Flux
        v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth
        upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Disable Flux
        variable substitution on all Flux CRDs, preventing post-build substitution
        from corrupting CRD schemas that contain `${...}` sequences (all controllers)\n-
        Update SOPS dependency to fix `.ini` file decryption (kustomize-controller)\n-
        Fix a dry-run error where applying a resource with a strategic merge patch
        could fail with `<resource> is invalid` (kustomize-controller)\n- Fix a breaking
        change in the in-memory Kustomization build (Flux CLI)\n\nImprovements:\n\n-
        Cache the registry authorization token during Notation verification, so it
        is fetched once per verification instead of once per request (source-controller)\n-
        Update fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
        [v1.9.2](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.2/CHANGELOG.md)\n-
        kustomize-controller [v1.9.2](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.2/CHANGELOG.md)\n-
        helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
        notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
        image-reflector-controller [v1.2.2](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.2/CHANGELOG.md)\n-
        image-automation-controller [v1.2.2](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.2/CHANGELOG.md)\n-
        source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
        CLI changelog\n\n- \\[release/v2.9.x] Fix breaking change in-memory kustomization
        build by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5971](https://redirect.github.com/fluxcd/flux2/pull/5971)\n-
        Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5977](https://redirect.github.com/fluxcd/flux2/pull/5977)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5979](https://redirect.github.com/fluxcd/flux2/pull/5979)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1>\n\n###
        [`v2.9.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.0)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.8...v2.9.0)\n\n####
        Highlights\n\nFlux v2.9.0 is a feature release. Users are encouraged to upgrade
        for the best experience.\n\nFor a compressive overview of new features and
        API changes included in this release, please refer to the [Announcing Flux
        2.9 GA blog post](https://fluxcd.io/blog/2026/06/flux-v2.9.0/).\n\nOverview
        of the new features:\n\n- Flux CLI Plugin System with the Mirror and Schema
        plugins (`flux plugin`)\n- Server-Side Apply field ignore rules for fine-grained
        drift control (`Kustomization`)\n- SOPS decryption with the Age post-quantum
        cipher (`Kustomization`)\n- Kubernetes Workload Identity authentication for
        OpenBao and Vault (`Kustomization`)\n- Helm post-render strategies, including
        chart hooks support (`HelmRelease`)\n- Literal mode for Helm values references
        mirroring `helm --set-literal` (`HelmRelease`)\n- Allow empty kind in CEL
        health check expressions (`Kustomization`, `HelmRelease`)\n- Git commit signing
        and verification with SSH keys (`GitRepository`, `ImageUpdateAutomation`)\n-
        AWS CodeCommit authentication using Workload Identity (`GitRepository`)\n-
        Custom Sigstore trusted root for keyless verification in air-gapped environments
        (`OCIRepository`)\n- Path pattern directory discovery for monorepos (`ArtifactGenerator`)\n-
        Secret-less, OIDC-secured webhook Receivers (`Receiver`)\n\n\u2764\uFE0F Big
        thanks to all the Flux contributors that helped us with this release!\n\n#####
        Kubernetes compatibility\n\nThis release is compatible with the following
        Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------
        | ---------------- |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`
        \           | `>= 1.35.0`      |\n| `v1.36`            | `>= 1.36.0`      |\n\n>
        \\[!NOTE]\n> Note that the Flux project offers support only for the latest
        three minor versions of Kubernetes.\n> Backwards compatibility with older
        versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
        that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
        can be installed on Red Hat OpenShift cluster directly from OperatorHub using
        [Flux Operator](https://operatorhub.io/operator/flux-operator). The operator
        allows the configuration of Flux multi-tenancy lockdown, network policies,
        persistent storage, sharding, vertical scaling and the synchronization of
        the cluster state from Git repositories, OCI artifacts, and S3-compatible
        storage.\n\n#### Upgrade procedure\n\n:warning: The Flux APIs `image.toolkit.fluxcd.io/v1beta2`
        and `notification.toolkit.fluxcd.io/v1beta2`\nhave reached end-of-life and
        have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure for
        Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for
        a smooth upgrade from older versions of Flux to v2.9.\n\n#### Components changelog\n\n-
        source-controller [v1.9.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md)\n-
        kustomize-controller [v1.9.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md)\n-
        notification-controller [v1.9.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md)\n-
        helm-controller [v1.6.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md)\n-
        image-reflector-controller [v1.2.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md)\n-
        image-automation-controller [v1.2.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md)\n-
        source-watcher [v2.2.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md)\n\n####
        CLI changelog\n\n- Add backport label for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5732](https://redirect.github.com/fluxcd/flux2/pull/5732)\n- Remove
        no longer needed workaround for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5733](https://redirect.github.com/fluxcd/flux2/pull/5733)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5740](https://redirect.github.com/fluxcd/flux2/pull/5740)\n- Add
        missing things to release notes template by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5743](https://redirect.github.com/fluxcd/flux2/pull/5743)\n- ci:
        add top-level permissions to upgrade-fluxcd-pkg workflow by [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
        in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n- build(deps):
        bump the ci group across 1 directory with 11 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;5764](https://redirect.github.com/fluxcd/flux2/pull/5764)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5766](https://redirect.github.com/fluxcd/flux2/pull/5766)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5769](https://redirect.github.com/fluxcd/flux2/pull/5769)\n- Add
        target branch name to update branch by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5773](https://redirect.github.com/fluxcd/flux2/pull/5773)\n- Fix/resume
        exit code by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool) in
        [#&#8203;5701](https://redirect.github.com/fluxcd/flux2/pull/5701)\n- Mark
        RFC 0010, 0011 and 0012 as implemented by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5776](https://redirect.github.com/fluxcd/flux2/pull/5776)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5780](https://redirect.github.com/fluxcd/flux2/pull/5780)\n- Add
        --resolve-symlinks flag to build and push artifact commands by [@&#8203;rohansood10](https://redirect.github.com/rohansood10)
        in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n- fix:
        validate --source flag in create kustomization command by [@&#8203;gma1k](https://redirect.github.com/gma1k)
        in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5821](https://redirect.github.com/fluxcd/flux2/pull/5821)\n- Add
        `--show-source` to `flux get ks` and `flux get hr`  by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco)
        in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n- Add
        `flux create secret receiver` command by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5835](https://redirect.github.com/fluxcd/flux2/pull/5835)\n- fix:
        handle multiple symlinks to same target in build artifact by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
        in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n- Add
        `--in-memory-build` to `flux build ks` and `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
        in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n- Migrate
        end-to-end test to latest cloud SDKs  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5840](https://redirect.github.com/fluxcd/flux2/pull/5840)\n- docs:
        Add AI Coding Assistants Guidance  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5841](https://redirect.github.com/fluxcd/flux2/pull/5841)\n- Add
        AI Agents guidance by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5847](https://redirect.github.com/fluxcd/flux2/pull/5847)\n- \\[RFC-0013]
        Flux CLI Plugin System by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5795](https://redirect.github.com/fluxcd/flux2/pull/5795)\n- Add
        `--ignore-not-found` to `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
        in [#&#8203;5845](https://redirect.github.com/fluxcd/flux2/pull/5845)\n- \\[RFC-0013]
        Implement plugin system by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5849](https://redirect.github.com/fluxcd/flux2/pull/5849)\n- build(deps):
        bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;5853](https://redirect.github.com/fluxcd/flux2/pull/5853)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5856](https://redirect.github.com/fluxcd/flux2/pull/5856)\n- Add
        digest pinning support to `flux plugin install` by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
        in [#&#8203;5872](https://redirect.github.com/fluxcd/flux2/pull/5872)\n- Add
        `--ns-follows-kube-context` global flag for using the kubeconfig context namespace
        by [@&#8203;jtyr](https://redirect.github.com/jtyr) in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
        include source-watcher in install.yaml manifests by [@&#8203;tmmorin](https://redirect.github.com/tmmorin)
        in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5890](https://redirect.github.com/fluxcd/flux2/pull/5890)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5903](https://redirect.github.com/fluxcd/flux2/pull/5903)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5907](https://redirect.github.com/fluxcd/flux2/pull/5907)\n- Validate
        Helm source URL schemes by [@&#8203;immanuwell](https://redirect.github.com/immanuwell)
        in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n- Introduce
        `flux trigger receiver` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5908](https://redirect.github.com/fluxcd/flux2/pull/5908)\n- refactor(api):
        migrate MakeDependsOn to shared apis/meta func by [@&#8203;vecil](https://redirect.github.com/vecil)
        in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n- Update
        to Kubernetes 1.36 and Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5924](https://redirect.github.com/fluxcd/flux2/pull/5924)\n- build(deps):
        bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;5925](https://redirect.github.com/fluxcd/flux2/pull/5925)\n- Run
        conformance tests for Kubernetes 1.36 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5926](https://redirect.github.com/fluxcd/flux2/pull/5926)\n- Add
        support for AWS CodeCommit to `flux bootstrap git` by [@&#8203;taraspos](https://redirect.github.com/taraspos)
        in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n- Validate
        plugin binary path by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
        in [#&#8203;5927](https://redirect.github.com/fluxcd/flux2/pull/5927)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5928](https://redirect.github.com/fluxcd/flux2/pull/5928)\n- fix:
        preserve invalid metadata.labels in `flux build ks` by [@&#8203;raffis](https://redirect.github.com/raffis)
        in [#&#8203;5906](https://redirect.github.com/fluxcd/flux2/pull/5906)\n- build:
        target host arch for local builds/envtest by [@&#8203;stealthybox](https://redirect.github.com/stealthybox)
        in [#&#8203;5932](https://redirect.github.com/fluxcd/flux2/pull/5932)\n- build(deps):
        bump the ci group with 6 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
        in [#&#8203;5938](https://redirect.github.com/fluxcd/flux2/pull/5938)\n- Support
        specifing sparseCheckout in flux bootstrap by [@&#8203;piny940](https://redirect.github.com/piny940)
        in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5944](https://redirect.github.com/fluxcd/flux2/pull/5944)\n- Honor
        `ks.spec.postBuild.substituteStrategy` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5945](https://redirect.github.com/fluxcd/flux2/pull/5945)\n- Add
        DriftIgnoreRules support to flux diff kustomization by [@&#8203;dipti-pai](https://redirect.github.com/dipti-pai)
        in [#&#8203;5923](https://redirect.github.com/fluxcd/flux2/pull/5923)\n- Allow
        signing commits using SSH key by [@&#8203;hiddeco](https://redirect.github.com/hiddeco)
        in [#&#8203;5920](https://redirect.github.com/fluxcd/flux2/pull/5920)\n- Update
        toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5950](https://redirect.github.com/fluxcd/flux2/pull/5950)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5937](https://redirect.github.com/fluxcd/flux2/pull/5937)\n- cmd:
        support `type!=status` in get --status-selector by [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje)
        in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n- Fix
        `flux get all --status-selector` for empty results and notification resources
        by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5954](https://redirect.github.com/fluxcd/flux2/pull/5954)\n-
        Upgrade go-git-providers to v0.27.0 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5956](https://redirect.github.com/fluxcd/flux2/pull/5956)\n- Fix
        using Receiver adapter for ArtifactGenerator by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
        in [#&#8203;5957](https://redirect.github.com/fluxcd/flux2/pull/5957)\n- feat:
        Install Plugins alongside Flux setup in gh actions by [@&#8203;gat786](https://redirect.github.com/gat786)
        in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n- Update
        fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5960](https://redirect.github.com/fluxcd/flux2/pull/5960)\n- Add
        CLI support for OCIRepository.spec.layerSelector in flux create source oci
        by [@&#8203;dme86](https://redirect.github.com/dme86) in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n-
        Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
        in [#&#8203;5963](https://redirect.github.com/fluxcd/flux2/pull/5963)\n\n####
        New Contributors\n\n- [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
        made their first contribution in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
        [@&#8203;rohansood10](https://redirect.github.com/rohansood10) made their
        first contribution in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
        [@&#8203;gma1k](https://redirect.github.com/gma1k) made their first contribution
        in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n- [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco)
        made their first contribution in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
        [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) made
        their first contribution in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
        [@&#8203;rycli](https://redirect.github.com/rycli) made their first contribution
        in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n- [@&#8203;jtyr](https://redirect.github.com/jtyr)
        made their first contribution in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
        [@&#8203;tmmorin](https://redirect.github.com/tmmorin) made their first contribution
        in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n- [@&#8203;immanuwell](https://redirect.github.com/immanuwell)
        made their first contribution in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
        [@&#8203;vecil](https://redirect.github.com/vecil) made their first contribution
        in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n- [@&#8203;taraspos](https://redirect.github.com/taraspos)
        made their first contribution in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
        [@&#8203;piny940](https://redirect.github.com/piny940) made their first contribution
        in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n- [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje)
        made their first contribution in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
        [@&#8203;gat786](https://redirect.github.com/gat786) made their first contribution
        in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n- [@&#8203;dme86](https://redirect.github.com/dme86)
        made their first contribution in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n\n**Full
        Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0>\n\n###
        [`v2.8.8`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.8)\n\n[Compare
        Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8)\n\n####
        Highlights\n\nFlux v2.8.8 is a patch release that includes CVE fixes via go-git
        v5.19.1 (source-controller, image-automation-controller), reliability fixes
        in helm-controller and source-controller, the move of Helm back to upstream
        v4.2.0, support for GCP sovereign cloud artifact registries, and dependency
        updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
        Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
        for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
        Add a configurable HTTP timeout for artifact fetching, preventing fetches
        that could block indefinitely and stall reconciliations (helm-controller)\n-
        Fix unbounded memory growth caused by a Kubernetes client transport retry
        wrapper accumulating on every reconcile (helm-controller)\n- Stop force-applying
        non-CRD objects placed under\n\n> [!IMPORTANT]\n> \u2702 PR body was truncated
        to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
        (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
        \ - 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/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n"
      change_url: https://github.com/vexxhost/atmosphere.common/pull/102
      child_jobs: []
      commit_id: a36257f5fbc3fd25c301483d3e9119bbd1006d60
      event_id: 08d13ac0-d198-11f1-9753-b817f6fe1168
      executor:
        hostname: 2d72f0692154
        inventory_file: /var/lib/zuul/builds/0a93bb11d6c64d9fadaf9939cd1bb104/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/0a93bb11d6c64d9fadaf9939cd1bb104/work/logs
        result_data_file: /var/lib/zuul/builds/0a93bb11d6c64d9fadaf9939cd1bb104/work/results.json
        src_root: /var/lib/zuul/builds/0a93bb11d6c64d9fadaf9939cd1bb104/work/src
        work_root: /var/lib/zuul/builds/0a93bb11d6c64d9fadaf9939cd1bb104/work
      include_vars: []
      items:
      - branch: main
        change: '102'
        change_message: "chore(deps): update dependency fluxcd/flux2 to v2.10.0\n\n>
          [!NOTE]\n> This PR body was truncated due to platform limits.\n\nThis PR
          contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [fluxcd/flux2](https://redirect.github.com/fluxcd/flux2) | minor | `2.6.4`
          \u2192 `2.10.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fluxcd/flux2</summary>\n\n###
          [`v2.10.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.10.0)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0)\n\n####
          Highlights\n\nFlux v2.10.0 is a feature release. Users are encouraged to
          upgrade for the best experience.\n\nOverview of the new features:\n\n- Object
          identity is generally available; the `ObjectLevelWorkloadIdentity` feature
          gate is retired\n- SPIFFE mTLS for inter-controller communication\n- Notification
          `Event`, `Alert` and `Provider` APIs promoted to `v1`\n- `OCIRepository`
          as a chart source for `HelmRelease`\n- SOPS decryption for files encrypted
          with comment regexes, and `--override-manager-before-dry-run` (`Kustomization`)\n-
          Image update batching with `.spec.policyChangeDelay`, retry on rejected
          pushes, and `.Changed.Summary` (`ImageUpdateAutomation`)\n- Flux artifact
          storage backend enabled by default for `ImageRepository` tags\n- Cross-namespace
          artifacts, tenant namespace provisioning, and path-pattern discovery (`ArtifactGenerator`)\n-
          New Zoom, incident.io and Mastodon notification providers\n- Built with
          Kubernetes 1.37 and Go 1.27\n\n\u2764\uFE0F Big thanks to all the Flux contributors
          that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis
          release is compatible with the following Kubernetes versions:\n\n| Kubernetes
          version | Minimum required |\n| ------------------ | ---------------- |\n|
          `v1.35`            | `>= 1.35.2`      |\n| `v1.36`            | `>= 1.36.1`
          \     |\n| `v1.37`            | `>= 1.37.0`      |\n\n> \\[!NOTE]\n> Note
          that the Flux project offers support only for the latest three minor versions
          of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes
          and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
          that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
          can be installed on Red Hat OpenShift cluster directly from OperatorHub
          using [Flux Operator](https://operatorhub.io/operator/flux-operator). The
          operator allows the configuration of Flux multi-tenancy lockdown, network
          policies, persistent storage, sharding, vertical scaling and the synchronization
          of the cluster state from Git repositories, OCI artifacts, and S3-compatible
          storage.\n\n#### Upgrade procedure\n\n\u26A0\uFE0F **Breaking changes in
          this release:**\n\n- Object identity is always enabled and the default Flux
          RBAC no longer grants the `create` verb on the `serviceaccounts/token` resource.
          If your installation relies on the default RBAC, bind a ClusterRole with
          this permission to the controller ServiceAccount before upgrading. See [fluxcd/flux2#6139](https://redirect.github.com/fluxcd/flux2/pull/6139)
          for the required ClusterRole and ClusterRoleBinding.\n- The notification
          `Alert` and `Provider` APIs are promoted to `v1`. Converting a `v1beta3`
          `Alert` or `Provider` to `v1` drops the deprecated `Alert.spec.summary`
          and `Provider.spec.interval` fields, the static JWT token for Azure Event
          Hub, and TLS or proxy configuration in `Provider.spec.secretRef`. Use `eventMetadata.summary`,
          `proxySecretRef` and `certSecretRef` instead.\n- The Flux artifact storage
          backend is now the default for the `ImageRepository` tag database. Switching
          the gate wipes the local tag database, so the first reconciliation after
          the upgrade rescans every `ImageRepository`. Set `--feature-gates=FluxStorage=false`
          to keep using BadgerDB.\n- Remote cluster authentication with `.spec.kubeConfig.configMapRef`
          uses object identity; replace the legacy `audiences` key with `credential.auth.fluxcd.io/audiences`.\n\nPlease
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from older versions of Flux to v2.10.\n\n#### Components
          changelog\n\n- source-controller [v1.10.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.10.1/CHANGELOG.md)\n-
          kustomize-controller [v1.10.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.10.1/CHANGELOG.md)\n-
          notification-controller [v1.10.0](https://redirect.github.com/fluxcd/notification-controller/blob/v1.10.0/CHANGELOG.md)\n-
          helm-controller [v1.7.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.7.1/CHANGELOG.md)\n-
          image-reflector-controller [v1.3.0](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.3.0/CHANGELOG.md)\n-
          image-automation-controller [v1.3.0](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.3.0/CHANGELOG.md)\n-
          source-watcher [v2.3.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.3.1/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Add backport label for 2.9 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5970](https://redirect.github.com/fluxcd/flux2/pull/5970)\n-
          Fix breaking change in-memory kustomization build by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5969](https://redirect.github.com/fluxcd/flux2/pull/5969)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5976](https://redirect.github.com/fluxcd/flux2/pull/5976)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5978](https://redirect.github.com/fluxcd/flux2/pull/5978)\n-
          Add checksum verification for SOPS in e2e workflows by [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
          in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
          Add --add-ignore-paths flag to artifact commands by [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
          in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5983](https://redirect.github.com/fluxcd/flux2/pull/5983)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5989](https://redirect.github.com/fluxcd/flux2/pull/5989)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5993](https://redirect.github.com/fluxcd/flux2/pull/5993)\n-
          Include source-watcher to oci flux-manifests by [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov)
          in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
          docs: fix typo in RFC-0004 (enviornment -> environment) by [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub)
          in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6005](https://redirect.github.com/fluxcd/flux2/pull/6005)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6010](https://redirect.github.com/fluxcd/flux2/pull/6010)\n-
          Add version-file input to the Flux CLI action by [@&#8203;somaz94](https://redirect.github.com/somaz94)
          in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n-
          Add support for 2.9 in `migrate -f` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6020](https://redirect.github.com/fluxcd/flux2/pull/6020)\n-
          Fix Azure e2e tests after new major version with breaking changes by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6022](https://redirect.github.com/fluxcd/flux2/pull/6022)\n-
          fix: restrict `allow-webhooks` netpol to receiver port by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6028](https://redirect.github.com/fluxcd/flux2/pull/6028)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6030](https://redirect.github.com/fluxcd/flux2/pull/6030)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6050](https://redirect.github.com/fluxcd/flux2/pull/6050)\n-
          build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;6052](https://redirect.github.com/fluxcd/flux2/pull/6052)\n-
          Format reproducible created timestamp in UTC by [@&#8203;lexfrei](https://redirect.github.com/lexfrei)
          in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
          Update to Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6082](https://redirect.github.com/fluxcd/flux2/pull/6082)\n-
          Run conformance tests for Kubernetes 1.37 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6083](https://redirect.github.com/fluxcd/flux2/pull/6083)\n-
          Remove the Cosign v2.6.1 pin by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6084](https://redirect.github.com/fluxcd/flux2/pull/6084)\n-
          Add `--app-client-id` flag to `create secret githubapp` by [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze)
          in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6096](https://redirect.github.com/fluxcd/flux2/pull/6096)\n-
          Match plugin archive entries with a leading ./ by [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0)
          in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
          Stop diff processing after an error by [@&#8203;idelchi](https://redirect.github.com/idelchi)
          in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n-
          Respect pruning exclusions in kustomization diff by [@&#8203;idelchi](https://redirect.github.com/idelchi)
          in [#&#8203;6073](https://redirect.github.com/fluxcd/flux2/pull/6073)\n-
          Introduce RBAC for ArtifactGenerator cross-namespace artifacts by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6101](https://redirect.github.com/fluxcd/flux2/pull/6101)\n-
          \\[RFC-0014] Advanced Support for Short-Lived Cryptographic Material by
          [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5702](https://redirect.github.com/fluxcd/flux2/pull/5702)\n-
          Validate plugin manifest name by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
          ci: disable Replicated conformance tests by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6111](https://redirect.github.com/fluxcd/flux2/pull/6111)\n-
          \\[RFC-0014] RFC refinements by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6105](https://redirect.github.com/fluxcd/flux2/pull/6105)\n-
          \\[RFC-0014] Annotations for AWS STS Endpoint and Docker Hub OIDC Connection
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6114](https://redirect.github.com/fluxcd/flux2/pull/6114)\n-
          Update to Kubernetes 1.37.1 and Go 1.27 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6117](https://redirect.github.com/fluxcd/flux2/pull/6117)\n-
          build(deps): bump the ci group across 1 directory with 15 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;6118](https://redirect.github.com/fluxcd/flux2/pull/6118)\n-
          \\[RFC-0014] Add rules for missing corner cases by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6121](https://redirect.github.com/fluxcd/flux2/pull/6121)\n-
          \\[RFC-0014] Address final nits arising from apis/crypto implementation
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6122](https://redirect.github.com/fluxcd/flux2/pull/6122)\n-
          \\[RFC-0014] Final iterations for 2.10 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6125](https://redirect.github.com/fluxcd/flux2/pull/6125)\n-
          Revert \"Introduce RBAC for ArtifactGenerator cross-namespace artifacts\"
          by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;6129](https://redirect.github.com/fluxcd/flux2/pull/6129)\n-
          Allow controllers to perform SubjectAccessReview by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6132](https://redirect.github.com/fluxcd/flux2/pull/6132)\n-
          Accept TYPE/NAME resource args in get/reconcile by [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
          in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
          Add digests flag to plugin search, which displays SHA values for all os/arch
          per binary by [@&#8203;datosh](https://redirect.github.com/datosh) in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
          Extend kubectl-style resource args to all Flux kinds and commands by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6135](https://redirect.github.com/fluxcd/flux2/pull/6135)\n-
          Escape terminal control characters in CLI output by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6110](https://redirect.github.com/fluxcd/flux2/pull/6110)\n-
          Add suspend, resume and reconcile commands for ArtifactGenerator by [@&#8203;xchose](https://redirect.github.com/xchose)
          in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
          \\[RFC-0014] Address review findings by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6136](https://redirect.github.com/fluxcd/flux2/pull/6136)\n-
          \\[RFC-0014] Inter-controller mTLS via SPIFFE by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6127](https://redirect.github.com/fluxcd/flux2/pull/6127)\n-
          Fix proxy bypass in bootstrap --ca-file by [@&#8203;ljluestc](https://redirect.github.com/ljluestc)
          in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
          use restrictive file modes for generated manifests by [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06)
          in [#&#8203;6113](https://redirect.github.com/fluxcd/flux2/pull/6113)\n-
          fix(goreleaser): make Homebrew formula pass brew audit by [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
          in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
          Fix envsubst dropping input on long lines by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6138](https://redirect.github.com/fluxcd/flux2/pull/6138)\n-
          fix: return clear error when --private-key-file path starts with '\\~' by
          [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) in [#&#8203;5859](https://redirect.github.com/fluxcd/flux2/pull/5859)\n-
          Fix stale flags and commands in CLI examples by [@&#8203;rawsun007](https://redirect.github.com/rawsun007)
          in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
          Fix typos in user-facing CLI messages and comments by [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo)
          in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
          Remove unused fields from installFlags by [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error)
          in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
          \u26A0\uFE0F Breaking change: Harden RBAC for controllers by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6139](https://redirect.github.com/fluxcd/flux2/pull/6139)\n-
          Fix `--in-memory-build` restricting disk access by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5974](https://redirect.github.com/fluxcd/flux2/pull/5974)\n-
          Update dependencies for Flux 2.10 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6140](https://redirect.github.com/fluxcd/flux2/pull/6140)\n-
          \\[RFC-0014] Add 2.10 notes to RFC by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6145](https://redirect.github.com/fluxcd/flux2/pull/6145)\n-
          fix(create): reject conflicting image policy selectors for every flag pair
          by [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n-
          ci: Update GitHub Actions by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6147](https://redirect.github.com/fluxcd/flux2/pull/6147)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6148](https://redirect.github.com/fluxcd/flux2/pull/6148)\n-
          Add `--policy-change-delay` to create image update by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6146](https://redirect.github.com/fluxcd/flux2/pull/6146)\n-
          \\[RFC-0014] Remove temporary workarounds for mTLS e2e by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;6137](https://redirect.github.com/fluxcd/flux2/pull/6137)\n-
          \\[RFC-0014] Add HTTPS port to controller Services by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6149](https://redirect.github.com/fluxcd/flux2/pull/6149)\n-
          \\[RFC-0014] Include SPIFFE mTLS in the e2e workflow by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6150](https://redirect.github.com/fluxcd/flux2/pull/6150)\n-
          ci: fix goreleaser signing with cosign v3 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6151](https://redirect.github.com/fluxcd/flux2/pull/6151)\n-
          Remove unsupported fields in migrate -f by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6152](https://redirect.github.com/fluxcd/flux2/pull/6152)\n-
          Bump minimum Kubernetes version to 1.35 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6153](https://redirect.github.com/fluxcd/flux2/pull/6153)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6154](https://redirect.github.com/fluxcd/flux2/pull/6154)\n-
          Use podinfo in the SPIFFE mTLS e2e test by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;6156](https://redirect.github.com/fluxcd/flux2/pull/6156)\n\n####
          New Contributors\n\n- [@&#8203;ivonaest](https://redirect.github.com/ivonaest)
          made their first contribution in [#&#8203;5961](https://redirect.github.com/fluxcd/flux2/pull/5961)\n-
          [@&#8203;ruslan-shaydullin](https://redirect.github.com/ruslan-shaydullin)
          made their first contribution in [#&#8203;5885](https://redirect.github.com/fluxcd/flux2/pull/5885)\n-
          [@&#8203;sergelogvinov](https://redirect.github.com/sergelogvinov) made
          their first contribution in [#&#8203;5995](https://redirect.github.com/fluxcd/flux2/pull/5995)\n-
          [@&#8203;mridulagithub](https://redirect.github.com/mridulagithub) made
          their first contribution in [#&#8203;6002](https://redirect.github.com/fluxcd/flux2/pull/6002)\n-
          [@&#8203;somaz94](https://redirect.github.com/somaz94) made their first
          contribution in [#&#8203;5975](https://redirect.github.com/fluxcd/flux2/pull/5975)\n-
          [@&#8203;lexfrei](https://redirect.github.com/lexfrei) made their first
          contribution in [#&#8203;6074](https://redirect.github.com/fluxcd/flux2/pull/6074)\n-
          [@&#8203;Erik-Schuetze](https://redirect.github.com/Erik-Schuetze) made
          their first contribution in [#&#8203;6090](https://redirect.github.com/fluxcd/flux2/pull/6090)\n-
          [@&#8203;Saadanjum0](https://redirect.github.com/Saadanjum0) made their
          first contribution in [#&#8203;6099](https://redirect.github.com/fluxcd/flux2/pull/6099)\n-
          [@&#8203;idelchi](https://redirect.github.com/idelchi) made their first
          contribution in [#&#8203;6070](https://redirect.github.com/fluxcd/flux2/pull/6070)\n-
          [@&#8203;Arawoof06](https://redirect.github.com/Arawoof06) made their first
          contribution in [#&#8203;6104](https://redirect.github.com/fluxcd/flux2/pull/6104)\n-
          [@&#8203;souvik-biswas-dev](https://redirect.github.com/souvik-biswas-dev)
          made their first contribution in [#&#8203;6134](https://redirect.github.com/fluxcd/flux2/pull/6134)\n-
          [@&#8203;datosh](https://redirect.github.com/datosh) made their first contribution
          in [#&#8203;6016](https://redirect.github.com/fluxcd/flux2/pull/6016)\n-
          [@&#8203;xchose](https://redirect.github.com/xchose) made their first contribution
          in [#&#8203;6119](https://redirect.github.com/fluxcd/flux2/pull/6119)\n-
          [@&#8203;ljluestc](https://redirect.github.com/ljluestc) made their first
          contribution in [#&#8203;6038](https://redirect.github.com/fluxcd/flux2/pull/6038)\n-
          [@&#8203;trademomentumllc](https://redirect.github.com/trademomentumllc)
          made their first contribution in [#&#8203;5973](https://redirect.github.com/fluxcd/flux2/pull/5973)\n-
          [@&#8203;rawsun007](https://redirect.github.com/rawsun007) made their first
          contribution in [#&#8203;6123](https://redirect.github.com/fluxcd/flux2/pull/6123)\n-
          [@&#8203;MsfPablo](https://redirect.github.com/MsfPablo) made their first
          contribution in [#&#8203;6051](https://redirect.github.com/fluxcd/flux2/pull/6051)\n-
          [@&#8203;Pranav-error](https://redirect.github.com/Pranav-error) made their
          first contribution in [#&#8203;6061](https://redirect.github.com/fluxcd/flux2/pull/6061)\n-
          [@&#8203;NUAAwqy](https://redirect.github.com/NUAAwqy) made their first
          contribution in [#&#8203;6144](https://redirect.github.com/fluxcd/flux2/pull/6144)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.6...v2.10.0>\n\n###
          [`v2.9.6`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.6)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6)\n\n####
          Highlights\n\nFlux v2.9.6 is a patch release that stops helm-controller
          from reapplying chart CRDs on every upgrade when server-side apply is enabled,
          and recovers HelmReleases left with a drifted `Ready=Unknown` condition
          after a failed status patch. source-controller normalizes Azure Blob listing
          ETags so unchanged containers are no longer re-downloaded on every reconcile,
          and evicts stale Helm repository index entries from the cache so repositories
          with frequently changing indexes no longer fail with \"Cache is full\".
          kustomize-controller extends SOPS decryption error redaction to `spec.postBuild.substituteFrom`
          values, so substituted secrets echoed back in API validation errors are
          masked out of status conditions and events, and adds the opt-in `DisableCommitStatusEvent`
          feature gate. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Stop reapplying chart CRDs on upgrades when using server-side apply with
          the default `Create` policy (helm-controller)\n- Recover HelmReleases stranded
          with a drifted `Ready=Unknown` condition after a failed status patch (helm-controller)\n-
          Ignore `NotFound` when deleting the HelmChart (helm-controller)\n- Normalize
          Azure Blob listing ETags so unchanged containers are not re-downloaded on
          every reconcile (source-controller)\n- Evict stale Helm repository index
          entries from the cache to avoid \"Cache is full\" errors (source-controller)\n-
          Extend SOPS decryption error redaction to `spec.postBuild.substituteFrom`
          values (kustomize-controller)\n\nImprovements:\n\n- Add the opt-in `DisableCommitStatusEvent`
          feature gate (kustomize-controller)\n\n#### Components changelog\n\n- source-controller
          [v1.9.6](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.6/CHANGELOG.md)\n-
          kustomize-controller [v1.9.6](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.6/CHANGELOG.md)\n-
          helm-controller [v1.6.5](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.5/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Format reproducible created timestamp
          in UTC by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in
          [#&#8203;6081](https://redirect.github.com/fluxcd/flux2/pull/6081)\n- Update
          toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6097](https://redirect.github.com/fluxcd/flux2/pull/6097)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.5...v2.9.6>\n\n###
          [`v2.9.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.5)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5)\n\n####
          Highlights\n\nFlux v2.9.5 is a patch release that moves helm-controller
          and source-controller back to upstream Helm, now at v4.2.4, dropping the
          temporary Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller
          and kustomize-controller, which now reject kubeconfigs referencing files
          on the local filesystem and require credentials and certificates to be embedded
          inline. It also stops kustomize-controller from leaving behind the temporary
          directories of a previous process that exited without running its cleanup,
          and fixes a crash in post-build substitution where a substring expression
          with a negative length, e.g. `${VAR:2:-1}`, panicked instead of counting
          back from the end of the string like Bash does. Across all controllers and
          the CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes
          to 1.36.4. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Validate kubeconfigs from `.spec.kubeConfig` Secrets, rejecting local file
          references in `certificate-authority`, `tokenFile`, `client-certificate`
          and `client-key`; credentials and certificates must be embedded inline (helm-controller,
          kustomize-controller)\n- Purge temporary directories at startup (kustomize-controller)\n-
          Fix panic on negative-length substring expressions in post-build substitution
          (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Move back to upstream
          Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)\n-
          Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers,
          flux CLI)\n\n#### Components changelog\n\n- source-controller [v1.9.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.5/CHANGELOG.md)\n-
          source-watcher [v2.2.4](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.4/CHANGELOG.md)\n-
          kustomize-controller [v1.9.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.5/CHANGELOG.md)\n-
          helm-controller [v1.6.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.4/CHANGELOG.md)\n-
          notification-controller [v1.9.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.4/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.5](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.5/CHANGELOG.md)\n-
          image-automation-controller [v1.2.5](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.5/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6046](https://redirect.github.com/fluxcd/flux2/pull/6046)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6048](https://redirect.github.com/fluxcd/flux2/pull/6048)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6049](https://redirect.github.com/fluxcd/flux2/pull/6049)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5>\n\n###
          [`v2.9.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.4)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4)\n\n####
          Highlights\n\nFlux v2.9.4 is a patch release that ships various fixes to
          the Flux controllers, covering source-watcher tarball extraction and glob
          expansion limits, the refspecs accepted by `ImageUpdateAutomation`, the
          HTTP request limits of the notification-controller servers, and Helm repository
          index loading, OCI chart digest pinning, `Bucket` error handling and GCS
          static authentication in source-controller. On the CLI side, `flux migrate
          -f` now supports migrating repositories to Flux 2.9. Users are encouraged
          to upgrade for the best experience.\n\nNote that this release contains CRD
          schema changes for `ArtifactGenerator` and `ImageUpdateAutomation`; both
          CRDs must be updated along with the controllers.\n\n\u2139\uFE0F Please
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Confine tarball extraction and bound glob expansion (source-watcher)\n-
          Disallow force-update and deletion via refspecs (image-automation-controller)\n-
          Unify HTTP server request limits (notification-controller)\n- Align Helm
          repository index loading with upstream Helm v4 (source-controller)\n- Improve
          error handling in `Bucket` reconciliation (source-controller)\n- Pin OCI
          chart verification by digest (source-controller)\n- Limit GCS static authentication
          to service account keys (source-controller)\n- Restrict the `allow-webhooks`
          network policy to the receiver port (flux CLI)\n\nImprovements:\n\n- Add
          support for migrating repositories to 2.9 in `flux migrate -f` (flux CLI)\n-
          Update fluxcd/pkg dependencies, which align the ECR host detection with
          upstream (source-controller, image-reflector-controller, flux CLI)\n- Update
          Bitbucket Cloud receiver guidance (notification-controller)\n\n#### Components
          changelog\n\n- source-controller [v1.9.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.4/CHANGELOG.md)\n-
          source-watcher [v2.2.3](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.3/CHANGELOG.md)\n-
          notification-controller [v1.9.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.3/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.4](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.4/CHANGELOG.md)\n-
          image-automation-controller [v1.2.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.4/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Add support for 2.9 in `migrate -f`
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6021](https://redirect.github.com/fluxcd/flux2/pull/6021)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6026](https://redirect.github.com/fluxcd/flux2/pull/6026)\n-
          \\[release/v2.9.x] fix: restrict `allow-webhooks` netpol to receiver port
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6029](https://redirect.github.com/fluxcd/flux2/pull/6029)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6031](https://redirect.github.com/fluxcd/flux2/pull/6031)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4>\n\n###
          [`v2.9.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.3)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3)\n\n####
          Highlights\n\nFlux v2.9.3 is a patch release. It fixes empty lines vanishing
          from rendered Helm chart manifests, HelmReleases being marked as tested
          when their Helm test hooks never ran, and `spec.images` entries that set
          only some image fields discarding the remaining fields already declared
          for the same image in the `kustomization.yaml`. The latter affects both
          kustomize-controller and the `flux build|diff kustomization` commands. Users
          are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F Please
          follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Fix empty lines vanishing from rendered chart manifests (helm-controller)\n-
          Fix `HasBeenTested` for all corner cases, where a release could be marked
          as tested although its Helm test hooks never ran (helm-controller)\n- Fix
          a `spec.images` entry setting only some of the image fields discarding the
          remaining fields already declared for the same image in the `kustomization.yaml`
          at `spec.path`, e.g. overriding only `newName` produced an untagged image
          reference (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Update
          fluxcd/pkg dependencies\n- Include source-watcher in the OCI flux-manifests
          artifact\n\n#### Components changelog\n\n- kustomize-controller [v1.9.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md)\n-
          helm-controller [v1.6.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Include source-watcher to oci flux-manifests
          by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5996](https://redirect.github.com/fluxcd/flux2/pull/5996)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6006](https://redirect.github.com/fluxcd/flux2/pull/6006)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;6011](https://redirect.github.com/fluxcd/flux2/pull/6011)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3>\n\n###
          [`v2.9.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.2)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2)\n\n####
          Highlights\n\nFlux v2.9.2 is a patch release. The main fix addresses a regression
          introduced in\nv2.9.1 where a Kustomization with `openapi.path` pointing
          to a URL failed to\nreconcile with `failed to read OpenAPI schema`. This
          release also corrects several\nCRD field descriptions that contained inaccurate
          or leaked content. Users are\nencouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Fix a regression where a Kustomization with `openapi.path` pointing to a
          URL failed to reconcile with `failed to read OpenAPI schema` (kustomize-controller)\n-
          Fix the `HelmChart` CRD description for `.status.url`, which pointed users
          at `BucketStatus.Artifact` instead of `HelmChartStatus.Artifact` (source-controller)\n-
          Fix the `ImageRepository` CRD description for `.status.observedExclusionList`,
          which referred to `spec.lastScanResult` instead of `status.lastScanResult`
          (image-reflector-controller)\n- Fix the `ImageUpdateAutomation` CRD description
          for `.status.observedSourceRevision`, which had a stray Go struct declaration
          leaking into it (image-automation-controller)\n\nImprovements:\n\n- Update
          fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
          [v1.9.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md)\n-
          kustomize-controller [v1.9.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md)\n-
          helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
          notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.3](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md)\n-
          image-automation-controller [v1.2.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md)\n-
          source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5984](https://redirect.github.com/fluxcd/flux2/pull/5984)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5990](https://redirect.github.com/fluxcd/flux2/pull/5990)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5994](https://redirect.github.com/fluxcd/flux2/pull/5994)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2>\n\n###
          [`v2.9.1`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.1)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n####
          Highlights\n\nFlux v2.9.1 is a patch release. The main fix, applied across
          all controllers, disables Flux variable substitution on the Flux CRDs by
          annotating them with `kustomize.toolkit.fluxcd.io/substitute: disabled`,
          so that Kustomizations with post-build substitution enabled no longer corrupt
          the CRD schemas when they contain `${...}` sequences. Users are encouraged
          to upgrade for the best experience.\n\n\u2139\uFE0F Please follow the [Upgrade
          Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Disable Flux variable substitution on all Flux CRDs, preventing post-build
          substitution from corrupting CRD schemas that contain `${...}` sequences
          (all controllers)\n- Update SOPS dependency to fix `.ini` file decryption
          (kustomize-controller)\n- Fix a dry-run error where applying a resource
          with a strategic merge patch could fail with `<resource> is invalid` (kustomize-controller)\n-
          Fix a breaking change in the in-memory Kustomization build (Flux CLI)\n\nImprovements:\n\n-
          Cache the registry authorization token during Notation verification, so
          it is fetched once per verification instead of once per request (source-controller)\n-
          Update fluxcd/pkg dependencies\n\n#### Components changelog\n\n- source-controller
          [v1.9.2](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.2/CHANGELOG.md)\n-
          kustomize-controller [v1.9.2](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.2/CHANGELOG.md)\n-
          helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n-
          notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.2](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.2/CHANGELOG.md)\n-
          image-automation-controller [v1.2.2](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.2/CHANGELOG.md)\n-
          source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n####
          CLI changelog\n\n- \\[release/v2.9.x] Fix breaking change in-memory kustomization
          build by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5971](https://redirect.github.com/fluxcd/flux2/pull/5971)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5977](https://redirect.github.com/fluxcd/flux2/pull/5977)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5979](https://redirect.github.com/fluxcd/flux2/pull/5979)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1>\n\n###
          [`v2.9.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.0)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.8...v2.9.0)\n\n####
          Highlights\n\nFlux v2.9.0 is a feature release. Users are encouraged to
          upgrade for the best experience.\n\nFor a compressive overview of new features
          and API changes included in this release, please refer to the [Announcing
          Flux 2.9 GA blog post](https://fluxcd.io/blog/2026/06/flux-v2.9.0/).\n\nOverview
          of the new features:\n\n- Flux CLI Plugin System with the Mirror and Schema
          plugins (`flux plugin`)\n- Server-Side Apply field ignore rules for fine-grained
          drift control (`Kustomization`)\n- SOPS decryption with the Age post-quantum
          cipher (`Kustomization`)\n- Kubernetes Workload Identity authentication
          for OpenBao and Vault (`Kustomization`)\n- Helm post-render strategies,
          including chart hooks support (`HelmRelease`)\n- Literal mode for Helm values
          references mirroring `helm --set-literal` (`HelmRelease`)\n- Allow empty
          kind in CEL health check expressions (`Kustomization`, `HelmRelease`)\n-
          Git commit signing and verification with SSH keys (`GitRepository`, `ImageUpdateAutomation`)\n-
          AWS CodeCommit authentication using Workload Identity (`GitRepository`)\n-
          Custom Sigstore trusted root for keyless verification in air-gapped environments
          (`OCIRepository`)\n- Path pattern directory discovery for monorepos (`ArtifactGenerator`)\n-
          Secret-less, OIDC-secured webhook Receivers (`Receiver`)\n\n\u2764\uFE0F
          Big thanks to all the Flux contributors that helped us with this release!\n\n#####
          Kubernetes compatibility\n\nThis release is compatible with the following
          Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------
          | ---------------- |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`
          \           | `>= 1.35.0`      |\n| `v1.36`            | `>= 1.36.0`      |\n\n>
          \\[!NOTE]\n> Note that the Flux project offers support only for the latest
          three minor versions of Kubernetes.\n> Backwards compatibility with older
          versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/)
          that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux
          can be installed on Red Hat OpenShift cluster directly from OperatorHub
          using [Flux Operator](https://operatorhub.io/operator/flux-operator). The
          operator allows the configuration of Flux multi-tenancy lockdown, network
          policies, persistent storage, sharding, vertical scaling and the synchronization
          of the cluster state from Git repositories, OCI artifacts, and S3-compatible
          storage.\n\n#### Upgrade procedure\n\n:warning: The Flux APIs `image.toolkit.fluxcd.io/v1beta2`
          and `notification.toolkit.fluxcd.io/v1beta2`\nhave reached end-of-life and
          have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure
          for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from older versions of Flux to v2.9.\n\n#### Components
          changelog\n\n- source-controller [v1.9.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md)\n-
          kustomize-controller [v1.9.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md)\n-
          notification-controller [v1.9.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md)\n-
          helm-controller [v1.6.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md)\n-
          image-reflector-controller [v1.2.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md)\n-
          image-automation-controller [v1.2.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md)\n-
          source-watcher [v2.2.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md)\n\n####
          CLI changelog\n\n- Add backport label for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5732](https://redirect.github.com/fluxcd/flux2/pull/5732)\n-
          Remove no longer needed workaround for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5733](https://redirect.github.com/fluxcd/flux2/pull/5733)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5740](https://redirect.github.com/fluxcd/flux2/pull/5740)\n-
          Add missing things to release notes template by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5743](https://redirect.github.com/fluxcd/flux2/pull/5743)\n-
          ci: add top-level permissions to upgrade-fluxcd-pkg workflow by [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
          in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
          build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5764](https://redirect.github.com/fluxcd/flux2/pull/5764)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5766](https://redirect.github.com/fluxcd/flux2/pull/5766)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5769](https://redirect.github.com/fluxcd/flux2/pull/5769)\n-
          Add target branch name to update branch by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5773](https://redirect.github.com/fluxcd/flux2/pull/5773)\n-
          Fix/resume exit code by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool)
          in [#&#8203;5701](https://redirect.github.com/fluxcd/flux2/pull/5701)\n-
          Mark RFC 0010, 0011 and 0012 as implemented by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5776](https://redirect.github.com/fluxcd/flux2/pull/5776)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5780](https://redirect.github.com/fluxcd/flux2/pull/5780)\n-
          Add --resolve-symlinks flag to build and push artifact commands by [@&#8203;rohansood10](https://redirect.github.com/rohansood10)
          in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
          fix: validate --source flag in create kustomization command by [@&#8203;gma1k](https://redirect.github.com/gma1k)
          in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5821](https://redirect.github.com/fluxcd/flux2/pull/5821)\n-
          Add `--show-source` to `flux get ks` and `flux get hr`  by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco)
          in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
          Add `flux create secret receiver` command by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5835](https://redirect.github.com/fluxcd/flux2/pull/5835)\n-
          fix: handle multiple symlinks to same target in build artifact by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
          Add `--in-memory-build` to `flux build ks` and `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n-
          Migrate end-to-end test to latest cloud SDKs  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5840](https://redirect.github.com/fluxcd/flux2/pull/5840)\n-
          docs: Add AI Coding Assistants Guidance  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5841](https://redirect.github.com/fluxcd/flux2/pull/5841)\n-
          Add AI Agents guidance by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5847](https://redirect.github.com/fluxcd/flux2/pull/5847)\n-
          \\[RFC-0013] Flux CLI Plugin System by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5795](https://redirect.github.com/fluxcd/flux2/pull/5795)\n-
          Add `--ignore-not-found` to `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli)
          in [#&#8203;5845](https://redirect.github.com/fluxcd/flux2/pull/5845)\n-
          \\[RFC-0013] Implement plugin system by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5849](https://redirect.github.com/fluxcd/flux2/pull/5849)\n-
          build(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5853](https://redirect.github.com/fluxcd/flux2/pull/5853)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5856](https://redirect.github.com/fluxcd/flux2/pull/5856)\n-
          Add digest pinning support to `flux plugin install` by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          in [#&#8203;5872](https://redirect.github.com/fluxcd/flux2/pull/5872)\n-
          Add `--ns-follows-kube-context` global flag for using the kubeconfig context
          namespace by [@&#8203;jtyr](https://redirect.github.com/jtyr) in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
          include source-watcher in install.yaml manifests by [@&#8203;tmmorin](https://redirect.github.com/tmmorin)
          in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5890](https://redirect.github.com/fluxcd/flux2/pull/5890)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5903](https://redirect.github.com/fluxcd/flux2/pull/5903)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5907](https://redirect.github.com/fluxcd/flux2/pull/5907)\n-
          Validate Helm source URL schemes by [@&#8203;immanuwell](https://redirect.github.com/immanuwell)
          in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
          Introduce `flux trigger receiver` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5908](https://redirect.github.com/fluxcd/flux2/pull/5908)\n-
          refactor(api): migrate MakeDependsOn to shared apis/meta func by [@&#8203;vecil](https://redirect.github.com/vecil)
          in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n-
          Update to Kubernetes 1.36 and Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5924](https://redirect.github.com/fluxcd/flux2/pull/5924)\n-
          build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5925](https://redirect.github.com/fluxcd/flux2/pull/5925)\n-
          Run conformance tests for Kubernetes 1.36 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5926](https://redirect.github.com/fluxcd/flux2/pull/5926)\n-
          Add support for AWS CodeCommit to `flux bootstrap git` by [@&#8203;taraspos](https://redirect.github.com/taraspos)
          in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
          Validate plugin binary path by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan)
          in [#&#8203;5927](https://redirect.github.com/fluxcd/flux2/pull/5927)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5928](https://redirect.github.com/fluxcd/flux2/pull/5928)\n-
          fix: preserve invalid metadata.labels in `flux build ks` by [@&#8203;raffis](https://redirect.github.com/raffis)
          in [#&#8203;5906](https://redirect.github.com/fluxcd/flux2/pull/5906)\n-
          build: target host arch for local builds/envtest by [@&#8203;stealthybox](https://redirect.github.com/stealthybox)
          in [#&#8203;5932](https://redirect.github.com/fluxcd/flux2/pull/5932)\n-
          build(deps): bump the ci group with 6 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]
          in [#&#8203;5938](https://redirect.github.com/fluxcd/flux2/pull/5938)\n-
          Support specifing sparseCheckout in flux bootstrap by [@&#8203;piny940](https://redirect.github.com/piny940)
          in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5944](https://redirect.github.com/fluxcd/flux2/pull/5944)\n-
          Honor `ks.spec.postBuild.substituteStrategy` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5945](https://redirect.github.com/fluxcd/flux2/pull/5945)\n-
          Add DriftIgnoreRules support to flux diff kustomization by [@&#8203;dipti-pai](https://redirect.github.com/dipti-pai)
          in [#&#8203;5923](https://redirect.github.com/fluxcd/flux2/pull/5923)\n-
          Allow signing commits using SSH key by [@&#8203;hiddeco](https://redirect.github.com/hiddeco)
          in [#&#8203;5920](https://redirect.github.com/fluxcd/flux2/pull/5920)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5950](https://redirect.github.com/fluxcd/flux2/pull/5950)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5937](https://redirect.github.com/fluxcd/flux2/pull/5937)\n-
          cmd: support `type!=status` in get --status-selector by [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje)
          in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
          Fix `flux get all --status-selector` for empty results and notification
          resources by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5954](https://redirect.github.com/fluxcd/flux2/pull/5954)\n-
          Upgrade go-git-providers to v0.27.0 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5956](https://redirect.github.com/fluxcd/flux2/pull/5956)\n-
          Fix using Receiver adapter for ArtifactGenerator by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp)
          in [#&#8203;5957](https://redirect.github.com/fluxcd/flux2/pull/5957)\n-
          feat: Install Plugins alongside Flux setup in gh actions by [@&#8203;gat786](https://redirect.github.com/gat786)
          in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n-
          Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5960](https://redirect.github.com/fluxcd/flux2/pull/5960)\n-
          Add CLI support for OCIRepository.spec.layerSelector in flux create source
          oci by [@&#8203;dme86](https://redirect.github.com/dme86) in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n-
          Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot)
          in [#&#8203;5963](https://redirect.github.com/fluxcd/flux2/pull/5963)\n\n####
          New Contributors\n\n- [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94)
          made their first contribution in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n-
          [@&#8203;rohansood10](https://redirect.github.com/rohansood10) made their
          first contribution in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n-
          [@&#8203;gma1k](https://redirect.github.com/gma1k) made their first contribution
          in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n-
          [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) made their
          first contribution in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n-
          [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh)
          made their first contribution in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n-
          [@&#8203;rycli](https://redirect.github.com/rycli) made their first contribution
          in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n-
          [@&#8203;jtyr](https://redirect.github.com/jtyr) made their first contribution
          in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n-
          [@&#8203;tmmorin](https://redirect.github.com/tmmorin) made their first
          contribution in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n-
          [@&#8203;immanuwell](https://redirect.github.com/immanuwell) made their
          first contribution in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n-
          [@&#8203;vecil](https://redirect.github.com/vecil) made their first contribution
          in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n-
          [@&#8203;taraspos](https://redirect.github.com/taraspos) made their first
          contribution in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n-
          [@&#8203;piny940](https://redirect.github.com/piny940) made their first
          contribution in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n-
          [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) made their first
          contribution in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n-
          [@&#8203;gat786](https://redirect.github.com/gat786) made their first contribution
          in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n-
          [@&#8203;dme86](https://redirect.github.com/dme86) made their first contribution
          in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n\n**Full
          Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0>\n\n###
          [`v2.8.8`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.8)\n\n[Compare
          Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8)\n\n####
          Highlights\n\nFlux v2.8.8 is a patch release that includes CVE fixes via
          go-git v5.19.1 (source-controller, image-automation-controller), reliability
          fixes in helm-controller and source-controller, the move of Helm back to
          upstream v4.2.0, support for GCP sovereign cloud artifact registries, and
          dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\uFE0F
          Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572)
          for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n-
          Add a configurable HTTP timeout for artifact fetching, preventing fetches
          that could block indefinitely and stall reconciliations (helm-controller)\n-
          Fix unbounded memory growth caused by a Kubernetes client transport retry
          wrapper accumulating on every reconcile (helm-controller)\n- Stop force-applying
          non-CRD objects placed under\n\n> [!IMPORTANT]\n> \u2702 PR body was truncated
          to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
          \ - 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/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n"
        change_url: https://github.com/vexxhost/atmosphere.common/pull/102
        commit_id: a36257f5fbc3fd25c301483d3e9119bbd1006d60
        patchset: a36257f5fbc3fd25c301483d3e9119bbd1006d60
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere.common
          name: vexxhost/atmosphere.common
          short_name: atmosphere.common
          src_dir: src/github.com/vexxhost/atmosphere.common
        topic: null
      job: atmosphere-common-molecule-secretgen-controller
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGZsdXhjZC9mbHV4MiB0byB2Mi4xMC4wCgo+IFshTk9URV0KPiBUaGlzIFBSIGJvZHkgd2FzIHRydW5jYXRlZCBkdWUgdG8gcGxhdGZvcm0gbGltaXRzLgoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBVcGRhdGUgfCBDaGFuZ2UgfAp8LS0tfC0tLXwtLS18CnwgW2ZsdXhjZC9mbHV4Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4MikgfCBtaW5vciB8IGAyLjYuNGAg4oaSIGAyLjEwLjBgIHwKCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5mbHV4Y2QvZmx1eDI8L3N1bW1hcnk+CgojIyMgW2B2Mi4xMC4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9yZWxlYXNlcy90YWcvdjIuMTAuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuNi4uLnYyLjEwLjApCgojIyMjIEhpZ2hsaWdodHMKCkZsdXggdjIuMTAuMCBpcyBhIGZlYXR1cmUgcmVsZWFzZS4gVXNlcnMgYXJlIGVuY291cmFnZWQgdG8gdXBncmFkZSBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZS4KCk92ZXJ2aWV3IG9mIHRoZSBuZXcgZmVhdHVyZXM6CgotIE9iamVjdCBpZGVudGl0eSBpcyBnZW5lcmFsbHkgYXZhaWxhYmxlOyB0aGUgYE9iamVjdExldmVsV29ya2xvYWRJZGVudGl0eWAgZmVhdHVyZSBnYXRlIGlzIHJldGlyZWQKLSBTUElGRkUgbVRMUyBmb3IgaW50ZXItY29udHJvbGxlciBjb21tdW5pY2F0aW9uCi0gTm90aWZpY2F0aW9uIGBFdmVudGAsIGBBbGVydGAgYW5kIGBQcm92aWRlcmAgQVBJcyBwcm9tb3RlZCB0byBgdjFgCi0gYE9DSVJlcG9zaXRvcnlgIGFzIGEgY2hhcnQgc291cmNlIGZvciBgSGVsbVJlbGVhc2VgCi0gU09QUyBkZWNyeXB0aW9uIGZvciBmaWxlcyBlbmNyeXB0ZWQgd2l0aCBjb21tZW50IHJlZ2V4ZXMsIGFuZCBgLS1vdmVycmlkZS1tYW5hZ2VyLWJlZm9yZS1kcnktcnVuYCAoYEt1c3RvbWl6YXRpb25gKQotIEltYWdlIHVwZGF0ZSBiYXRjaGluZyB3aXRoIGAuc3BlYy5wb2xpY3lDaGFuZ2VEZWxheWAsIHJldHJ5IG9uIHJlamVjdGVkIHB1c2hlcywgYW5kIGAuQ2hhbmdlZC5TdW1tYXJ5YCAoYEltYWdlVXBkYXRlQXV0b21hdGlvbmApCi0gRmx1eCBhcnRpZmFjdCBzdG9yYWdlIGJhY2tlbmQgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBgSW1hZ2VSZXBvc2l0b3J5YCB0YWdzCi0gQ3Jvc3MtbmFtZXNwYWNlIGFydGlmYWN0cywgdGVuYW50IG5hbWVzcGFjZSBwcm92aXNpb25pbmcsIGFuZCBwYXRoLXBhdHRlcm4gZGlzY292ZXJ5IChgQXJ0aWZhY3RHZW5lcmF0b3JgKQotIE5ldyBab29tLCBpbmNpZGVudC5pbyBhbmQgTWFzdG9kb24gbm90aWZpY2F0aW9uIHByb3ZpZGVycwotIEJ1aWx0IHdpdGggS3ViZXJuZXRlcyAxLjM3IGFuZCBHbyAxLjI3CgrinaTvuI8gQmlnIHRoYW5rcyB0byBhbGwgdGhlIEZsdXggY29udHJpYnV0b3JzIHRoYXQgaGVscGVkIHVzIHdpdGggdGhpcyByZWxlYXNlIQoKIyMjIyMgS3ViZXJuZXRlcyBjb21wYXRpYmlsaXR5CgpUaGlzIHJlbGVhc2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcgS3ViZXJuZXRlcyB2ZXJzaW9uczoKCnwgS3ViZXJuZXRlcyB2ZXJzaW9uIHwgTWluaW11bSByZXF1aXJlZCB8CnwgLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLSB8CnwgYHYxLjM1YCAgICAgICAgICAgIHwgYD49IDEuMzUuMmAgICAgICB8CnwgYHYxLjM2YCAgICAgICAgICAgIHwgYD49IDEuMzYuMWAgICAgICB8CnwgYHYxLjM3YCAgICAgICAgICAgIHwgYD49IDEuMzcuMGAgICAgICB8Cgo+IFxbIU5PVEVdCj4gTm90ZSB0aGF0IHRoZSBGbHV4IHByb2plY3Qgb2ZmZXJzIHN1cHBvcnQgb25seSBmb3IgdGhlIGxhdGVzdCB0aHJlZSBtaW5vciB2ZXJzaW9ucyBvZiBLdWJlcm5ldGVzLgo+IEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgS3ViZXJuZXRlcyBhbmQgT3BlblNoaWZ0IGlzIG9mZmVyZWQgYnkgdmVuZG9ycyBzdWNoIGFzCj4gW0NvbnRyb2xQbGFuZV0oaHR0cHM6Ly9jb250cm9sLXBsYW5lLmlvL2VudGVycHJpc2UtZm9yLWZsdXgtY2QvKSB0aGF0IHByb3ZpZGUgZW50ZXJwcmlzZSBzdXBwb3J0IGZvciBGbHV4LgoKIyMjIyMgT3BlblNoaWZ0IGNvbXBhdGliaWxpdHkKCkZsdXggY2FuIGJlIGluc3RhbGxlZCBvbiBSZWQgSGF0IE9wZW5TaGlmdCBjbHVzdGVyIGRpcmVjdGx5IGZyb20gT3BlcmF0b3JIdWIgdXNpbmcgW0ZsdXggT3BlcmF0b3JdKGh0dHBzOi8vb3BlcmF0b3JodWIuaW8vb3BlcmF0b3IvZmx1eC1vcGVyYXRvcikuIFRoZSBvcGVyYXRvciBhbGxvd3MgdGhlIGNvbmZpZ3VyYXRpb24gb2YgRmx1eCBtdWx0aS10ZW5hbmN5IGxvY2tkb3duLCBuZXR3b3JrIHBvbGljaWVzLCBwZXJzaXN0ZW50IHN0b3JhZ2UsIHNoYXJkaW5nLCB2ZXJ0aWNhbCBzY2FsaW5nIGFuZCB0aGUgc3luY2hyb25pemF0aW9uIG9mIHRoZSBjbHVzdGVyIHN0YXRlIGZyb20gR2l0IHJlcG9zaXRvcmllcywgT0NJIGFydGlmYWN0cywgYW5kIFMzLWNvbXBhdGlibGUgc3RvcmFnZS4KCiMjIyMgVXBncmFkZSBwcm9jZWR1cmUKCuKaoO+4jyAqKkJyZWFraW5nIGNoYW5nZXMgaW4gdGhpcyByZWxlYXNlOioqCgotIE9iamVjdCBpZGVudGl0eSBpcyBhbHdheXMgZW5hYmxlZCBhbmQgdGhlIGRlZmF1bHQgRmx1eCBSQkFDIG5vIGxvbmdlciBncmFudHMgdGhlIGBjcmVhdGVgIHZlcmIgb24gdGhlIGBzZXJ2aWNlYWNjb3VudHMvdG9rZW5gIHJlc291cmNlLiBJZiB5b3VyIGluc3RhbGxhdGlvbiByZWxpZXMgb24gdGhlIGRlZmF1bHQgUkJBQywgYmluZCBhIENsdXN0ZXJSb2xlIHdpdGggdGhpcyBwZXJtaXNzaW9uIHRvIHRoZSBjb250cm9sbGVyIFNlcnZpY2VBY2NvdW50IGJlZm9yZSB1cGdyYWRpbmcuIFNlZSBbZmx1eGNkL2ZsdXgyIzYxMzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTM5KSBmb3IgdGhlIHJlcXVpcmVkIENsdXN0ZXJSb2xlIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcuCi0gVGhlIG5vdGlmaWNhdGlvbiBgQWxlcnRgIGFuZCBgUHJvdmlkZXJgIEFQSXMgYXJlIHByb21vdGVkIHRvIGB2MWAuIENvbnZlcnRpbmcgYSBgdjFiZXRhM2AgYEFsZXJ0YCBvciBgUHJvdmlkZXJgIHRvIGB2MWAgZHJvcHMgdGhlIGRlcHJlY2F0ZWQgYEFsZXJ0LnNwZWMuc3VtbWFyeWAgYW5kIGBQcm92aWRlci5zcGVjLmludGVydmFsYCBmaWVsZHMsIHRoZSBzdGF0aWMgSldUIHRva2VuIGZvciBBenVyZSBFdmVudCBIdWIsIGFuZCBUTFMgb3IgcHJveHkgY29uZmlndXJhdGlvbiBpbiBgUHJvdmlkZXIuc3BlYy5zZWNyZXRSZWZgLiBVc2UgYGV2ZW50TWV0YWRhdGEuc3VtbWFyeWAsIGBwcm94eVNlY3JldFJlZmAgYW5kIGBjZXJ0U2VjcmV0UmVmYCBpbnN0ZWFkLgotIFRoZSBGbHV4IGFydGlmYWN0IHN0b3JhZ2UgYmFja2VuZCBpcyBub3cgdGhlIGRlZmF1bHQgZm9yIHRoZSBgSW1hZ2VSZXBvc2l0b3J5YCB0YWcgZGF0YWJhc2UuIFN3aXRjaGluZyB0aGUgZ2F0ZSB3aXBlcyB0aGUgbG9jYWwgdGFnIGRhdGFiYXNlLCBzbyB0aGUgZmlyc3QgcmVjb25jaWxpYXRpb24gYWZ0ZXIgdGhlIHVwZ3JhZGUgcmVzY2FucyBldmVyeSBgSW1hZ2VSZXBvc2l0b3J5YC4gU2V0IGAtLWZlYXR1cmUtZ2F0ZXM9Rmx1eFN0b3JhZ2U9ZmFsc2VgIHRvIGtlZXAgdXNpbmcgQmFkZ2VyREIuCi0gUmVtb3RlIGNsdXN0ZXIgYXV0aGVudGljYXRpb24gd2l0aCBgLnNwZWMua3ViZUNvbmZpZy5jb25maWdNYXBSZWZgIHVzZXMgb2JqZWN0IGlkZW50aXR5OyByZXBsYWNlIHRoZSBsZWdhY3kgYGF1ZGllbmNlc2Aga2V5IHdpdGggYGNyZWRlbnRpYWwuYXV0aC5mbHV4Y2QuaW8vYXVkaWVuY2VzYC4KClBsZWFzZSBmb2xsb3cgdGhlIFtVcGdyYWRlIFByb2NlZHVyZSBmb3IgRmx1eCB2Mi43K10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9kaXNjdXNzaW9ucy81NTcyKSBmb3IgYSBzbW9vdGggdXBncmFkZSBmcm9tIG9sZGVyIHZlcnNpb25zIG9mIEZsdXggdG8gdjIuMTAuCgojIyMjIENvbXBvbmVudHMgY2hhbmdlbG9nCgotIHNvdXJjZS1jb250cm9sbGVyIFt2MS4xMC4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS1jb250cm9sbGVyL2Jsb2IvdjEuMTAuMS9DSEFOR0VMT0cubWQpCi0ga3VzdG9taXplLWNvbnRyb2xsZXIgW3YxLjEwLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qva3VzdG9taXplLWNvbnRyb2xsZXIvYmxvYi92MS4xMC4xL0NIQU5HRUxPRy5tZCkKLSBub3RpZmljYXRpb24tY29udHJvbGxlciBbdjEuMTAuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9ub3RpZmljYXRpb24tY29udHJvbGxlci9ibG9iL3YxLjEwLjAvQ0hBTkdFTE9HLm1kKQotIGhlbG0tY29udHJvbGxlciBbdjEuNy4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2hlbG0tY29udHJvbGxlci9ibG9iL3YxLjcuMS9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIgW3YxLjMuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9pbWFnZS1yZWZsZWN0b3ItY29udHJvbGxlci9ibG9iL3YxLjMuMC9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyIFt2MS4zLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyL2Jsb2IvdjEuMy4wL0NIQU5HRUxPRy5tZCkKLSBzb3VyY2Utd2F0Y2hlciBbdjIuMy4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS13YXRjaGVyL2Jsb2IvdjIuMy4xL0NIQU5HRUxPRy5tZCkKCiMjIyMgQ0xJIGNoYW5nZWxvZwoKLSBBZGQgYmFja3BvcnQgbGFiZWwgZm9yIDIuOSBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs1OTcwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk3MCkKLSBGaXggYnJlYWtpbmcgY2hhbmdlIGluLW1lbW9yeSBrdXN0b21pemF0aW9uIGJ1aWxkIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzU5NjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTY5KQotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5NzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTc2KQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTc4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk3OCkKLSBBZGQgY2hlY2tzdW0gdmVyaWZpY2F0aW9uIGZvciBTT1BTIGluIGUyZSB3b3JrZmxvd3MgYnkgW0AmIzgyMDM7aXZvbmFlc3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9pdm9uYWVzdCkgaW4gWyMmIzgyMDM7NTk2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NjEpCi0gQWRkIC0tYWRkLWlnbm9yZS1wYXRocyBmbGFnIHRvIGFydGlmYWN0IGNvbW1hbmRzIGJ5IFtAJiM4MjAzO3J1c2xhbi1zaGF5ZHVsbGluXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcnVzbGFuLXNoYXlkdWxsaW4pIGluIFsjJiM4MjAzOzU4ODVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81ODg1KQotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5ODNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTgzKQotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5ODldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTg5KQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTkzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk5MykKLSBJbmNsdWRlIHNvdXJjZS13YXRjaGVyIHRvIG9jaSBmbHV4LW1hbmlmZXN0cyBieSBbQCYjODIwMztzZXJnZWxvZ3Zpbm92XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc2VyZ2Vsb2d2aW5vdikgaW4gWyMmIzgyMDM7NTk5NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5OTUpCi0gZG9jczogZml4IHR5cG8gaW4gUkZDLTAwMDQgKGVudmlvcm5tZW50IC0+IGVudmlyb25tZW50KSBieSBbQCYjODIwMzttcmlkdWxhZ2l0aHViXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbXJpZHVsYWdpdGh1YikgaW4gWyMmIzgyMDM7NjAwMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMDIpCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NjAwNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMDUpCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwMTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDEwKQotIEFkZCB2ZXJzaW9uLWZpbGUgaW5wdXQgdG8gdGhlIEZsdXggQ0xJIGFjdGlvbiBieSBbQCYjODIwMztzb21hejk0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc29tYXo5NCkgaW4gWyMmIzgyMDM7NTk3NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NzUpCi0gQWRkIHN1cHBvcnQgZm9yIDIuOSBpbiBgbWlncmF0ZSAtZmAgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NjAyMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMjApCi0gRml4IEF6dXJlIGUyZSB0ZXN0cyBhZnRlciBuZXcgbWFqb3IgdmVyc2lvbiB3aXRoIGJyZWFraW5nIGNoYW5nZXMgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NjAyMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMjIpCi0gZml4OiByZXN0cmljdCBgYWxsb3ctd2ViaG9va3NgIG5ldHBvbCB0byByZWNlaXZlciBwb3J0IGJ5IFtAJiM4MjAzO3N0ZWZhbnByb2Rhbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbnByb2RhbikgaW4gWyMmIzgyMDM7NjAyOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMjgpCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDMwKQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs2MDUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjA1MCkKLSBidWlsZChkZXBzKTogYnVtcCB0aGUgY2kgZ3JvdXAgYWNyb3NzIDEgZGlyZWN0b3J5IHdpdGggMTkgdXBkYXRlcyBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdClcW2JvdF0gaW4gWyMmIzgyMDM7NjA1Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNTIpCi0gRm9ybWF0IHJlcHJvZHVjaWJsZSBjcmVhdGVkIHRpbWVzdGFtcCBpbiBVVEMgYnkgW0AmIzgyMDM7bGV4ZnJlaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xleGZyZWkpIGluIFsjJiM4MjAzOzYwNzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDc0KQotIFVwZGF0ZSB0byBLdWJlcm5ldGVzIDEuMzcgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs2MDgyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjA4MikKLSBSdW4gY29uZm9ybWFuY2UgdGVzdHMgZm9yIEt1YmVybmV0ZXMgMS4zNyBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYwODNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDgzKQotIFJlbW92ZSB0aGUgQ29zaWduIHYyLjYuMSBwaW4gYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NjA4NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwODQpCi0gQWRkIGAtLWFwcC1jbGllbnQtaWRgIGZsYWcgdG8gYGNyZWF0ZSBzZWNyZXQgZ2l0aHViYXBwYCBieSBbQCYjODIwMztFcmlrLVNjaHVldHplXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vRXJpay1TY2h1ZXR6ZSkgaW4gWyMmIzgyMDM7NjA5MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwOTApCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwOTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDk2KQotIE1hdGNoIHBsdWdpbiBhcmNoaXZlIGVudHJpZXMgd2l0aCBhIGxlYWRpbmcgLi8gYnkgW0AmIzgyMDM7U2FhZGFuanVtMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1NhYWRhbmp1bTApIGluIFsjJiM4MjAzOzYwOTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDk5KQotIFN0b3AgZGlmZiBwcm9jZXNzaW5nIGFmdGVyIGFuIGVycm9yIGJ5IFtAJiM4MjAzO2lkZWxjaGldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9pZGVsY2hpKSBpbiBbIyYjODIwMzs2MDcwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjA3MCkKLSBSZXNwZWN0IHBydW5pbmcgZXhjbHVzaW9ucyBpbiBrdXN0b21pemF0aW9uIGRpZmYgYnkgW0AmIzgyMDM7aWRlbGNoaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2lkZWxjaGkpIGluIFsjJiM4MjAzOzYwNzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDczKQotIEludHJvZHVjZSBSQkFDIGZvciBBcnRpZmFjdEdlbmVyYXRvciBjcm9zcy1uYW1lc3BhY2UgYXJ0aWZhY3RzIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTAxKQotIFxbUkZDLTAwMTRdIEFkdmFuY2VkIFN1cHBvcnQgZm9yIFNob3J0LUxpdmVkIENyeXB0b2dyYXBoaWMgTWF0ZXJpYWwgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NTcwMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3MDIpCi0gVmFsaWRhdGUgcGx1Z2luIG1hbmlmZXN0IG5hbWUgYnkgW0AmIzgyMDM7QXJhd29vZjA2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vQXJhd29vZjA2KSBpbiBbIyYjODIwMzs2MTA0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjEwNCkKLSBjaTogZGlzYWJsZSBSZXBsaWNhdGVkIGNvbmZvcm1hbmNlIHRlc3RzIGJ5IFtAJiM4MjAzO3N0ZWZhbnByb2Rhbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbnByb2RhbikgaW4gWyMmIzgyMDM7NjExMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMTEpCi0gXFtSRkMtMDAxNF0gUkZDIHJlZmluZW1lbnRzIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTA1KQotIFxbUkZDLTAwMTRdIEFubm90YXRpb25zIGZvciBBV1MgU1RTIEVuZHBvaW50IGFuZCBEb2NrZXIgSHViIE9JREMgQ29ubmVjdGlvbiBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs2MTE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjExNCkKLSBVcGRhdGUgdG8gS3ViZXJuZXRlcyAxLjM3LjEgYW5kIEdvIDEuMjcgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs2MTE3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjExNykKLSBidWlsZChkZXBzKTogYnVtcCB0aGUgY2kgZ3JvdXAgYWNyb3NzIDEgZGlyZWN0b3J5IHdpdGggMTUgdXBkYXRlcyBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdClcW2JvdF0gaW4gWyMmIzgyMDM7NjExOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMTgpCi0gXFtSRkMtMDAxNF0gQWRkIHJ1bGVzIGZvciBtaXNzaW5nIGNvcm5lciBjYXNlcyBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs2MTIxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjEyMSkKLSBcW1JGQy0wMDE0XSBBZGRyZXNzIGZpbmFsIG5pdHMgYXJpc2luZyBmcm9tIGFwaXMvY3J5cHRvIGltcGxlbWVudGF0aW9uIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTIyKQotIFxbUkZDLTAwMTRdIEZpbmFsIGl0ZXJhdGlvbnMgZm9yIDIuMTAgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NjEyNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMjUpCi0gUmV2ZXJ0ICJJbnRyb2R1Y2UgUkJBQyBmb3IgQXJ0aWZhY3RHZW5lcmF0b3IgY3Jvc3MtbmFtZXNwYWNlIGFydGlmYWN0cyIgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NjEyOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMjkpCi0gQWxsb3cgY29udHJvbGxlcnMgdG8gcGVyZm9ybSBTdWJqZWN0QWNjZXNzUmV2aWV3IGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTMyKQotIEFjY2VwdCBUWVBFL05BTUUgcmVzb3VyY2UgYXJncyBpbiBnZXQvcmVjb25jaWxlIGJ5IFtAJiM4MjAzO3NvdXZpay1iaXN3YXMtZGV2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc291dmlrLWJpc3dhcy1kZXYpIGluIFsjJiM4MjAzOzYxMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTM0KQotIEFkZCBkaWdlc3RzIGZsYWcgdG8gcGx1Z2luIHNlYXJjaCwgd2hpY2ggZGlzcGxheXMgU0hBIHZhbHVlcyBmb3IgYWxsIG9zL2FyY2ggcGVyIGJpbmFyeSBieSBbQCYjODIwMztkYXRvc2hdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kYXRvc2gpIGluIFsjJiM4MjAzOzYwMTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDE2KQotIEV4dGVuZCBrdWJlY3RsLXN0eWxlIHJlc291cmNlIGFyZ3MgdG8gYWxsIEZsdXgga2luZHMgYW5kIGNvbW1hbmRzIGJ5IFtAJiM4MjAzO3N0ZWZhbnByb2Rhbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbnByb2RhbikgaW4gWyMmIzgyMDM7NjEzNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMzUpCi0gRXNjYXBlIHRlcm1pbmFsIGNvbnRyb2wgY2hhcmFjdGVycyBpbiBDTEkgb3V0cHV0IGJ5IFtAJiM4MjAzO0FyYXdvb2YwNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL0FyYXdvb2YwNikgaW4gWyMmIzgyMDM7NjExMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMTApCi0gQWRkIHN1c3BlbmQsIHJlc3VtZSBhbmQgcmVjb25jaWxlIGNvbW1hbmRzIGZvciBBcnRpZmFjdEdlbmVyYXRvciBieSBbQCYjODIwMzt4Y2hvc2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS94Y2hvc2UpIGluIFsjJiM4MjAzOzYxMTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTE5KQotIFxbUkZDLTAwMTRdIEFkZHJlc3MgcmV2aWV3IGZpbmRpbmdzIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTM2KQotIFxbUkZDLTAwMTRdIEludGVyLWNvbnRyb2xsZXIgbVRMUyB2aWEgU1BJRkZFIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTI3KQotIEZpeCBwcm94eSBieXBhc3MgaW4gYm9vdHN0cmFwIC0tY2EtZmlsZSBieSBbQCYjODIwMztsamx1ZXN0Y10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2xqbHVlc3RjKSBpbiBbIyYjODIwMzs2MDM4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjAzOCkKLSB1c2UgcmVzdHJpY3RpdmUgZmlsZSBtb2RlcyBmb3IgZ2VuZXJhdGVkIG1hbmlmZXN0cyBieSBbQCYjODIwMztBcmF3b29mMDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9BcmF3b29mMDYpIGluIFsjJiM4MjAzOzYxMTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTEzKQotIGZpeChnb3JlbGVhc2VyKTogbWFrZSBIb21lYnJldyBmb3JtdWxhIHBhc3MgYnJldyBhdWRpdCBieSBbQCYjODIwMzt0cmFkZW1vbWVudHVtbGxjXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZGVtb21lbnR1bWxsYykgaW4gWyMmIzgyMDM7NTk3M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NzMpCi0gRml4IGVudnN1YnN0IGRyb3BwaW5nIGlucHV0IG9uIGxvbmcgbGluZXMgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs2MTM4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjEzOCkKLSBmaXg6IHJldHVybiBjbGVhciBlcnJvciB3aGVuIC0tcHJpdmF0ZS1rZXktZmlsZSBwYXRoIHN0YXJ0cyB3aXRoICdcficgYnkgW0AmIzgyMDM7cmFmYWVscGVyb2NvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFmYWVscGVyb2NvKSBpbiBbIyYjODIwMzs1ODU5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg1OSkKLSBGaXggc3RhbGUgZmxhZ3MgYW5kIGNvbW1hbmRzIGluIENMSSBleGFtcGxlcyBieSBbQCYjODIwMztyYXdzdW4wMDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYXdzdW4wMDcpIGluIFsjJiM4MjAzOzYxMjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTIzKQotIEZpeCB0eXBvcyBpbiB1c2VyLWZhY2luZyBDTEkgbWVzc2FnZXMgYW5kIGNvbW1lbnRzIGJ5IFtAJiM4MjAzO01zZlBhYmxvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vTXNmUGFibG8pIGluIFsjJiM4MjAzOzYwNTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDUxKQotIFJlbW92ZSB1bnVzZWQgZmllbGRzIGZyb20gaW5zdGFsbEZsYWdzIGJ5IFtAJiM4MjAzO1ByYW5hdi1lcnJvcl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1ByYW5hdi1lcnJvcikgaW4gWyMmIzgyMDM7NjA2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNjEpCi0g4pqg77iPIEJyZWFraW5nIGNoYW5nZTogSGFyZGVuIFJCQUMgZm9yIGNvbnRyb2xsZXJzIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTM5KQotIEZpeCBgLS1pbi1tZW1vcnktYnVpbGRgIHJlc3RyaWN0aW5nIGRpc2sgYWNjZXNzIGJ5IFtAJiM4MjAzO3J5Y2xpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcnljbGkpIGluIFsjJiM4MjAzOzU5NzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTc0KQotIFVwZGF0ZSBkZXBlbmRlbmNpZXMgZm9yIEZsdXggMi4xMCBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYxNDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTQwKQotIFxbUkZDLTAwMTRdIEFkZCAyLjEwIG5vdGVzIHRvIFJGQyBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs2MTQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjE0NSkKLSBmaXgoY3JlYXRlKTogcmVqZWN0IGNvbmZsaWN0aW5nIGltYWdlIHBvbGljeSBzZWxlY3RvcnMgZm9yIGV2ZXJ5IGZsYWcgcGFpciBieSBbQCYjODIwMztOVUFBd3F5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vTlVBQXdxeSkgaW4gWyMmIzgyMDM7NjE0NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxNDQpCi0gY2k6IFVwZGF0ZSBHaXRIdWIgQWN0aW9ucyBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYxNDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTQ3KQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs2MTQ4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjE0OCkKLSBBZGQgYC0tcG9saWN5LWNoYW5nZS1kZWxheWAgdG8gY3JlYXRlIGltYWdlIHVwZGF0ZSBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYxNDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTQ2KQotIFxbUkZDLTAwMTRdIFJlbW92ZSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZHMgZm9yIG1UTFMgZTJlIGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzYxMzddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTM3KQotIFxbUkZDLTAwMTRdIEFkZCBIVFRQUyBwb3J0IHRvIGNvbnRyb2xsZXIgU2VydmljZXMgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs2MTQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjE0OSkKLSBcW1JGQy0wMDE0XSBJbmNsdWRlIFNQSUZGRSBtVExTIGluIHRoZSBlMmUgd29ya2Zsb3cgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs2MTUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjE1MCkKLSBjaTogZml4IGdvcmVsZWFzZXIgc2lnbmluZyB3aXRoIGNvc2lnbiB2MyBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYxNTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTUxKQotIFJlbW92ZSB1bnN1cHBvcnRlZCBmaWVsZHMgaW4gbWlncmF0ZSAtZiBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYxNTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTUyKQotIEJ1bXAgbWluaW11bSBLdWJlcm5ldGVzIHZlcnNpb24gdG8gMS4zNSBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzYxNTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MTUzKQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs2MTU0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjE1NCkKLSBVc2UgcG9kaW5mbyBpbiB0aGUgU1BJRkZFIG1UTFMgZTJlIHRlc3QgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs2MTU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjE1NikKCiMjIyMgTmV3IENvbnRyaWJ1dG9ycwoKLSBbQCYjODIwMztpdm9uYWVzdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2l2b25hZXN0KSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs1OTYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk2MSkKLSBbQCYjODIwMztydXNsYW4tc2hheWR1bGxpbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3J1c2xhbi1zaGF5ZHVsbGluKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs1ODg1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg4NSkKLSBbQCYjODIwMztzZXJnZWxvZ3Zpbm92XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc2VyZ2Vsb2d2aW5vdikgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTk5NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5OTUpCi0gW0AmIzgyMDM7bXJpZHVsYWdpdGh1Yl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21yaWR1bGFnaXRodWIpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzYwMDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDAyKQotIFtAJiM4MjAzO3NvbWF6OTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zb21hejk0KSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs1OTc1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk3NSkKLSBbQCYjODIwMztsZXhmcmVpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbGV4ZnJlaSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjA3NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNzQpCi0gW0AmIzgyMDM7RXJpay1TY2h1ZXR6ZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL0VyaWstU2NodWV0emUpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzYwOTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDkwKQotIFtAJiM4MjAzO1NhYWRhbmp1bTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9TYWFkYW5qdW0wKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs2MDk5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjA5OSkKLSBbQCYjODIwMztpZGVsY2hpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaWRlbGNoaSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjA3MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNzApCi0gW0AmIzgyMDM7QXJhd29vZjA2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vQXJhd29vZjA2KSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs2MTA0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjEwNCkKLSBbQCYjODIwMztzb3V2aWstYmlzd2FzLWRldl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3NvdXZpay1iaXN3YXMtZGV2KSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs2MTM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjEzNCkKLSBbQCYjODIwMztkYXRvc2hdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kYXRvc2gpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzYwMTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDE2KQotIFtAJiM4MjAzO3hjaG9zZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3hjaG9zZSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjExOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMTkpCi0gW0AmIzgyMDM7bGpsdWVzdGNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9samx1ZXN0YykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjAzOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMzgpCi0gW0AmIzgyMDM7dHJhZGVtb21lbnR1bWxsY10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWRlbW9tZW50dW1sbGMpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzU5NzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTczKQotIFtAJiM4MjAzO3Jhd3N1bjAwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3Jhd3N1bjAwNykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjEyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxMjMpCi0gW0AmIzgyMDM7TXNmUGFibG9dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Nc2ZQYWJsbykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjA1MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNTEpCi0gW0AmIzgyMDM7UHJhbmF2LWVycm9yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUHJhbmF2LWVycm9yKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs2MDYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjA2MSkKLSBbQCYjODIwMztOVUFBd3F5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vTlVBQXdxeSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NjE0NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYxNDQpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOS42Li4udjIuMTAuMD4KCiMjIyBbYHYyLjkuNmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcmVsZWFzZXMvdGFnL3YyLjkuNikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuNS4uLnYyLjkuNikKCiMjIyMgSGlnaGxpZ2h0cwoKRmx1eCB2Mi45LjYgaXMgYSBwYXRjaCByZWxlYXNlIHRoYXQgc3RvcHMgaGVsbS1jb250cm9sbGVyIGZyb20gcmVhcHBseWluZyBjaGFydCBDUkRzIG9uIGV2ZXJ5IHVwZ3JhZGUgd2hlbiBzZXJ2ZXItc2lkZSBhcHBseSBpcyBlbmFibGVkLCBhbmQgcmVjb3ZlcnMgSGVsbVJlbGVhc2VzIGxlZnQgd2l0aCBhIGRyaWZ0ZWQgYFJlYWR5PVVua25vd25gIGNvbmRpdGlvbiBhZnRlciBhIGZhaWxlZCBzdGF0dXMgcGF0Y2guIHNvdXJjZS1jb250cm9sbGVyIG5vcm1hbGl6ZXMgQXp1cmUgQmxvYiBsaXN0aW5nIEVUYWdzIHNvIHVuY2hhbmdlZCBjb250YWluZXJzIGFyZSBubyBsb25nZXIgcmUtZG93bmxvYWRlZCBvbiBldmVyeSByZWNvbmNpbGUsIGFuZCBldmljdHMgc3RhbGUgSGVsbSByZXBvc2l0b3J5IGluZGV4IGVudHJpZXMgZnJvbSB0aGUgY2FjaGUgc28gcmVwb3NpdG9yaWVzIHdpdGggZnJlcXVlbnRseSBjaGFuZ2luZyBpbmRleGVzIG5vIGxvbmdlciBmYWlsIHdpdGggIkNhY2hlIGlzIGZ1bGwiLiBrdXN0b21pemUtY29udHJvbGxlciBleHRlbmRzIFNPUFMgZGVjcnlwdGlvbiBlcnJvciByZWRhY3Rpb24gdG8gYHNwZWMucG9zdEJ1aWxkLnN1YnN0aXR1dGVGcm9tYCB2YWx1ZXMsIHNvIHN1YnN0aXR1dGVkIHNlY3JldHMgZWNob2VkIGJhY2sgaW4gQVBJIHZhbGlkYXRpb24gZXJyb3JzIGFyZSBtYXNrZWQgb3V0IG9mIHN0YXR1cyBjb25kaXRpb25zIGFuZCBldmVudHMsIGFuZCBhZGRzIHRoZSBvcHQtaW4gYERpc2FibGVDb21taXRTdGF0dXNFdmVudGAgZmVhdHVyZSBnYXRlLiBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byB1cGdyYWRlIGZvciB0aGUgYmVzdCBleHBlcmllbmNlLgoK4oS577iPIFBsZWFzZSBmb2xsb3cgdGhlIFtVcGdyYWRlIFByb2NlZHVyZSBmb3IgRmx1eCB2Mi43K10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9kaXNjdXNzaW9ucy81NTcyKSBmb3IgYSBzbW9vdGggdXBncmFkZSBmcm9tIEZsdXggdjIuNiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uCgpGaXhlczoKCi0gU3RvcCByZWFwcGx5aW5nIGNoYXJ0IENSRHMgb24gdXBncmFkZXMgd2hlbiB1c2luZyBzZXJ2ZXItc2lkZSBhcHBseSB3aXRoIHRoZSBkZWZhdWx0IGBDcmVhdGVgIHBvbGljeSAoaGVsbS1jb250cm9sbGVyKQotIFJlY292ZXIgSGVsbVJlbGVhc2VzIHN0cmFuZGVkIHdpdGggYSBkcmlmdGVkIGBSZWFkeT1Vbmtub3duYCBjb25kaXRpb24gYWZ0ZXIgYSBmYWlsZWQgc3RhdHVzIHBhdGNoIChoZWxtLWNvbnRyb2xsZXIpCi0gSWdub3JlIGBOb3RGb3VuZGAgd2hlbiBkZWxldGluZyB0aGUgSGVsbUNoYXJ0IChoZWxtLWNvbnRyb2xsZXIpCi0gTm9ybWFsaXplIEF6dXJlIEJsb2IgbGlzdGluZyBFVGFncyBzbyB1bmNoYW5nZWQgY29udGFpbmVycyBhcmUgbm90IHJlLWRvd25sb2FkZWQgb24gZXZlcnkgcmVjb25jaWxlIChzb3VyY2UtY29udHJvbGxlcikKLSBFdmljdCBzdGFsZSBIZWxtIHJlcG9zaXRvcnkgaW5kZXggZW50cmllcyBmcm9tIHRoZSBjYWNoZSB0byBhdm9pZCAiQ2FjaGUgaXMgZnVsbCIgZXJyb3JzIChzb3VyY2UtY29udHJvbGxlcikKLSBFeHRlbmQgU09QUyBkZWNyeXB0aW9uIGVycm9yIHJlZGFjdGlvbiB0byBgc3BlYy5wb3N0QnVpbGQuc3Vic3RpdHV0ZUZyb21gIHZhbHVlcyAoa3VzdG9taXplLWNvbnRyb2xsZXIpCgpJbXByb3ZlbWVudHM6CgotIEFkZCB0aGUgb3B0LWluIGBEaXNhYmxlQ29tbWl0U3RhdHVzRXZlbnRgIGZlYXR1cmUgZ2F0ZSAoa3VzdG9taXplLWNvbnRyb2xsZXIpCgojIyMjIENvbXBvbmVudHMgY2hhbmdlbG9nCgotIHNvdXJjZS1jb250cm9sbGVyIFt2MS45LjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qvc291cmNlLWNvbnRyb2xsZXIvYmxvYi92MS45LjYvQ0hBTkdFTE9HLm1kKQotIGt1c3RvbWl6ZS1jb250cm9sbGVyIFt2MS45LjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qva3VzdG9taXplLWNvbnRyb2xsZXIvYmxvYi92MS45LjYvQ0hBTkdFTE9HLm1kKQotIGhlbG0tY29udHJvbGxlciBbdjEuNi41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2hlbG0tY29udHJvbGxlci9ibG9iL3YxLjYuNS9DSEFOR0VMT0cubWQpCgojIyMjIENMSSBjaGFuZ2Vsb2cKCi0gXFtyZWxlYXNlL3YyLjkueF0gRm9ybWF0IHJlcHJvZHVjaWJsZSBjcmVhdGVkIHRpbWVzdGFtcCBpbiBVVEMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs2MDgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjA4MSkKLSBVcGRhdGUgdG9vbGtpdCBjb21wb25lbnRzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NjA5N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwOTcpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOS41Li4udjIuOS42PgoKIyMjIFtgdjIuOS41YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9yZWxlYXNlcy90YWcvdjIuOS41KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOS40Li4udjIuOS41KQoKIyMjIyBIaWdobGlnaHRzCgpGbHV4IHYyLjkuNSBpcyBhIHBhdGNoIHJlbGVhc2UgdGhhdCBtb3ZlcyBoZWxtLWNvbnRyb2xsZXIgYW5kIHNvdXJjZS1jb250cm9sbGVyIGJhY2sgdG8gdXBzdHJlYW0gSGVsbSwgbm93IGF0IHY0LjIuNCwgZHJvcHBpbmcgdGhlIHRlbXBvcmFyeSBGbHV4IGZvcmsuIEl0IGhhcmRlbnMgdGhlIGhhbmRsaW5nIG9mIGt1YmVjb25maWcgU2VjcmV0cyBpbiBoZWxtLWNvbnRyb2xsZXIgYW5kIGt1c3RvbWl6ZS1jb250cm9sbGVyLCB3aGljaCBub3cgcmVqZWN0IGt1YmVjb25maWdzIHJlZmVyZW5jaW5nIGZpbGVzIG9uIHRoZSBsb2NhbCBmaWxlc3lzdGVtIGFuZCByZXF1aXJlIGNyZWRlbnRpYWxzIGFuZCBjZXJ0aWZpY2F0ZXMgdG8gYmUgZW1iZWRkZWQgaW5saW5lLiBJdCBhbHNvIHN0b3BzIGt1c3RvbWl6ZS1jb250cm9sbGVyIGZyb20gbGVhdmluZyBiZWhpbmQgdGhlIHRlbXBvcmFyeSBkaXJlY3RvcmllcyBvZiBhIHByZXZpb3VzIHByb2Nlc3MgdGhhdCBleGl0ZWQgd2l0aG91dCBydW5uaW5nIGl0cyBjbGVhbnVwLCBhbmQgZml4ZXMgYSBjcmFzaCBpbiBwb3N0LWJ1aWxkIHN1YnN0aXR1dGlvbiB3aGVyZSBhIHN1YnN0cmluZyBleHByZXNzaW9uIHdpdGggYSBuZWdhdGl2ZSBsZW5ndGgsIGUuZy4gYCR7VkFSOjI6LTF9YCwgcGFuaWNrZWQgaW5zdGVhZCBvZiBjb3VudGluZyBiYWNrIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nIGxpa2UgQmFzaCBkb2VzLiBBY3Jvc3MgYWxsIGNvbnRyb2xsZXJzIGFuZCB0aGUgQ0xJLCB0aGUgZmx1eGNkL3BrZyBkZXBlbmRlbmNpZXMgaGF2ZSBiZWVuIHVwZGF0ZWQsIGJyaW5naW5nIEt1YmVybmV0ZXMgdG8gMS4zNi40LiBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byB1cGdyYWRlIGZvciB0aGUgYmVzdCBleHBlcmllbmNlLgoK4oS577iPIFBsZWFzZSBmb2xsb3cgdGhlIFtVcGdyYWRlIFByb2NlZHVyZSBmb3IgRmx1eCB2Mi43K10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9kaXNjdXNzaW9ucy81NTcyKSBmb3IgYSBzbW9vdGggdXBncmFkZSBmcm9tIEZsdXggdjIuNiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uCgpGaXhlczoKCi0gVmFsaWRhdGUga3ViZWNvbmZpZ3MgZnJvbSBgLnNwZWMua3ViZUNvbmZpZ2AgU2VjcmV0cywgcmVqZWN0aW5nIGxvY2FsIGZpbGUgcmVmZXJlbmNlcyBpbiBgY2VydGlmaWNhdGUtYXV0aG9yaXR5YCwgYHRva2VuRmlsZWAsIGBjbGllbnQtY2VydGlmaWNhdGVgIGFuZCBgY2xpZW50LWtleWA7IGNyZWRlbnRpYWxzIGFuZCBjZXJ0aWZpY2F0ZXMgbXVzdCBiZSBlbWJlZGRlZCBpbmxpbmUgKGhlbG0tY29udHJvbGxlciwga3VzdG9taXplLWNvbnRyb2xsZXIpCi0gUHVyZ2UgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIGF0IHN0YXJ0dXAgKGt1c3RvbWl6ZS1jb250cm9sbGVyKQotIEZpeCBwYW5pYyBvbiBuZWdhdGl2ZS1sZW5ndGggc3Vic3RyaW5nIGV4cHJlc3Npb25zIGluIHBvc3QtYnVpbGQgc3Vic3RpdHV0aW9uIChrdXN0b21pemUtY29udHJvbGxlciwgZmx1eCBDTEkpCgpJbXByb3ZlbWVudHM6CgotIE1vdmUgYmFjayB0byB1cHN0cmVhbSBIZWxtIHY0LjIuNCwgZHJvcHBpbmcgdGhlIEZsdXggZm9yayAoaGVsbS1jb250cm9sbGVyLCBzb3VyY2UtY29udHJvbGxlcikKLSBVcGRhdGUgZmx1eGNkL3BrZyBkZXBlbmRlbmNpZXMsIHdoaWNoIGJyaW5nIEt1YmVybmV0ZXMgdG8gMS4zNi40IChhbGwgY29udHJvbGxlcnMsIGZsdXggQ0xJKQoKIyMjIyBDb21wb25lbnRzIGNoYW5nZWxvZwoKLSBzb3VyY2UtY29udHJvbGxlciBbdjEuOS41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS1jb250cm9sbGVyL2Jsb2IvdjEuOS41L0NIQU5HRUxPRy5tZCkKLSBzb3VyY2Utd2F0Y2hlciBbdjIuMi40XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS13YXRjaGVyL2Jsb2IvdjIuMi40L0NIQU5HRUxPRy5tZCkKLSBrdXN0b21pemUtY29udHJvbGxlciBbdjEuOS41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2t1c3RvbWl6ZS1jb250cm9sbGVyL2Jsb2IvdjEuOS41L0NIQU5HRUxPRy5tZCkKLSBoZWxtLWNvbnRyb2xsZXIgW3YxLjYuNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9oZWxtLWNvbnRyb2xsZXIvYmxvYi92MS42LjQvQ0hBTkdFTE9HLm1kKQotIG5vdGlmaWNhdGlvbi1jb250cm9sbGVyIFt2MS45LjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qvbm90aWZpY2F0aW9uLWNvbnRyb2xsZXIvYmxvYi92MS45LjQvQ0hBTkdFTE9HLm1kKQotIGltYWdlLXJlZmxlY3Rvci1jb250cm9sbGVyIFt2MS4yLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIvYmxvYi92MS4yLjUvQ0hBTkdFTE9HLm1kKQotIGltYWdlLWF1dG9tYXRpb24tY29udHJvbGxlciBbdjEuMi41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ltYWdlLWF1dG9tYXRpb24tY29udHJvbGxlci9ibG9iL3YxLjIuNS9DSEFOR0VMT0cubWQpCgojIyMjIENMSSBjaGFuZ2Vsb2cKCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NjA0Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNDYpCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NjA0OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwNDgpCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwNDldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDQ5KQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuNC4uLnYyLjkuNT4KCiMjIyBbYHYyLjkuNGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcmVsZWFzZXMvdGFnL3YyLjkuNCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuMy4uLnYyLjkuNCkKCiMjIyMgSGlnaGxpZ2h0cwoKRmx1eCB2Mi45LjQgaXMgYSBwYXRjaCByZWxlYXNlIHRoYXQgc2hpcHMgdmFyaW91cyBmaXhlcyB0byB0aGUgRmx1eCBjb250cm9sbGVycywgY292ZXJpbmcgc291cmNlLXdhdGNoZXIgdGFyYmFsbCBleHRyYWN0aW9uIGFuZCBnbG9iIGV4cGFuc2lvbiBsaW1pdHMsIHRoZSByZWZzcGVjcyBhY2NlcHRlZCBieSBgSW1hZ2VVcGRhdGVBdXRvbWF0aW9uYCwgdGhlIEhUVFAgcmVxdWVzdCBsaW1pdHMgb2YgdGhlIG5vdGlmaWNhdGlvbi1jb250cm9sbGVyIHNlcnZlcnMsIGFuZCBIZWxtIHJlcG9zaXRvcnkgaW5kZXggbG9hZGluZywgT0NJIGNoYXJ0IGRpZ2VzdCBwaW5uaW5nLCBgQnVja2V0YCBlcnJvciBoYW5kbGluZyBhbmQgR0NTIHN0YXRpYyBhdXRoZW50aWNhdGlvbiBpbiBzb3VyY2UtY29udHJvbGxlci4gT24gdGhlIENMSSBzaWRlLCBgZmx1eCBtaWdyYXRlIC1mYCBub3cgc3VwcG9ydHMgbWlncmF0aW5nIHJlcG9zaXRvcmllcyB0byBGbHV4IDIuOS4gVXNlcnMgYXJlIGVuY291cmFnZWQgdG8gdXBncmFkZSBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZS4KCk5vdGUgdGhhdCB0aGlzIHJlbGVhc2UgY29udGFpbnMgQ1JEIHNjaGVtYSBjaGFuZ2VzIGZvciBgQXJ0aWZhY3RHZW5lcmF0b3JgIGFuZCBgSW1hZ2VVcGRhdGVBdXRvbWF0aW9uYDsgYm90aCBDUkRzIG11c3QgYmUgdXBkYXRlZCBhbG9uZyB3aXRoIHRoZSBjb250cm9sbGVycy4KCuKEue+4jyBQbGVhc2UgZm9sbG93IHRoZSBbVXBncmFkZSBQcm9jZWR1cmUgZm9yIEZsdXggdjIuNytdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvZGlzY3Vzc2lvbnMvNTU3MikgZm9yIGEgc21vb3RoIHVwZ3JhZGUgZnJvbSBGbHV4IHYyLjYgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLgoKRml4ZXM6CgotIENvbmZpbmUgdGFyYmFsbCBleHRyYWN0aW9uIGFuZCBib3VuZCBnbG9iIGV4cGFuc2lvbiAoc291cmNlLXdhdGNoZXIpCi0gRGlzYWxsb3cgZm9yY2UtdXBkYXRlIGFuZCBkZWxldGlvbiB2aWEgcmVmc3BlY3MgKGltYWdlLWF1dG9tYXRpb24tY29udHJvbGxlcikKLSBVbmlmeSBIVFRQIHNlcnZlciByZXF1ZXN0IGxpbWl0cyAobm90aWZpY2F0aW9uLWNvbnRyb2xsZXIpCi0gQWxpZ24gSGVsbSByZXBvc2l0b3J5IGluZGV4IGxvYWRpbmcgd2l0aCB1cHN0cmVhbSBIZWxtIHY0IChzb3VyY2UtY29udHJvbGxlcikKLSBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGluIGBCdWNrZXRgIHJlY29uY2lsaWF0aW9uIChzb3VyY2UtY29udHJvbGxlcikKLSBQaW4gT0NJIGNoYXJ0IHZlcmlmaWNhdGlvbiBieSBkaWdlc3QgKHNvdXJjZS1jb250cm9sbGVyKQotIExpbWl0IEdDUyBzdGF0aWMgYXV0aGVudGljYXRpb24gdG8gc2VydmljZSBhY2NvdW50IGtleXMgKHNvdXJjZS1jb250cm9sbGVyKQotIFJlc3RyaWN0IHRoZSBgYWxsb3ctd2ViaG9va3NgIG5ldHdvcmsgcG9saWN5IHRvIHRoZSByZWNlaXZlciBwb3J0IChmbHV4IENMSSkKCkltcHJvdmVtZW50czoKCi0gQWRkIHN1cHBvcnQgZm9yIG1pZ3JhdGluZyByZXBvc2l0b3JpZXMgdG8gMi45IGluIGBmbHV4IG1pZ3JhdGUgLWZgIChmbHV4IENMSSkKLSBVcGRhdGUgZmx1eGNkL3BrZyBkZXBlbmRlbmNpZXMsIHdoaWNoIGFsaWduIHRoZSBFQ1IgaG9zdCBkZXRlY3Rpb24gd2l0aCB1cHN0cmVhbSAoc291cmNlLWNvbnRyb2xsZXIsIGltYWdlLXJlZmxlY3Rvci1jb250cm9sbGVyLCBmbHV4IENMSSkKLSBVcGRhdGUgQml0YnVja2V0IENsb3VkIHJlY2VpdmVyIGd1aWRhbmNlIChub3RpZmljYXRpb24tY29udHJvbGxlcikKCiMjIyMgQ29tcG9uZW50cyBjaGFuZ2Vsb2cKCi0gc291cmNlLWNvbnRyb2xsZXIgW3YxLjkuNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9zb3VyY2UtY29udHJvbGxlci9ibG9iL3YxLjkuNC9DSEFOR0VMT0cubWQpCi0gc291cmNlLXdhdGNoZXIgW3YyLjIuM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9zb3VyY2Utd2F0Y2hlci9ibG9iL3YyLjIuMy9DSEFOR0VMT0cubWQpCi0gbm90aWZpY2F0aW9uLWNvbnRyb2xsZXIgW3YxLjkuM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9ub3RpZmljYXRpb24tY29udHJvbGxlci9ibG9iL3YxLjkuMy9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIgW3YxLjIuNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9pbWFnZS1yZWZsZWN0b3ItY29udHJvbGxlci9ibG9iL3YxLjIuNC9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyIFt2MS4yLjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyL2Jsb2IvdjEuMi40L0NIQU5HRUxPRy5tZCkKCiMjIyMgQ0xJIGNoYW5nZWxvZwoKLSBcW3JlbGVhc2UvdjIuOS54XSBBZGQgc3VwcG9ydCBmb3IgMi45IGluIGBtaWdyYXRlIC1mYCBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwMjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDIxKQotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwMjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDI2KQotIFxbcmVsZWFzZS92Mi45LnhdIGZpeDogcmVzdHJpY3QgYGFsbG93LXdlYmhvb2tzYCBuZXRwb2wgdG8gcmVjZWl2ZXIgcG9ydCBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzYwMjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC82MDI5KQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs2MDMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjAzMSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvY29tcGFyZS92Mi45LjMuLi52Mi45LjQ+CgojIyMgW2B2Mi45LjNgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3JlbGVhc2VzL3RhZy92Mi45LjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvY29tcGFyZS92Mi45LjIuLi52Mi45LjMpCgojIyMjIEhpZ2hsaWdodHMKCkZsdXggdjIuOS4zIGlzIGEgcGF0Y2ggcmVsZWFzZS4gSXQgZml4ZXMgZW1wdHkgbGluZXMgdmFuaXNoaW5nIGZyb20gcmVuZGVyZWQgSGVsbSBjaGFydCBtYW5pZmVzdHMsIEhlbG1SZWxlYXNlcyBiZWluZyBtYXJrZWQgYXMgdGVzdGVkIHdoZW4gdGhlaXIgSGVsbSB0ZXN0IGhvb2tzIG5ldmVyIHJhbiwgYW5kIGBzcGVjLmltYWdlc2AgZW50cmllcyB0aGF0IHNldCBvbmx5IHNvbWUgaW1hZ2UgZmllbGRzIGRpc2NhcmRpbmcgdGhlIHJlbWFpbmluZyBmaWVsZHMgYWxyZWFkeSBkZWNsYXJlZCBmb3IgdGhlIHNhbWUgaW1hZ2UgaW4gdGhlIGBrdXN0b21pemF0aW9uLnlhbWxgLiBUaGUgbGF0dGVyIGFmZmVjdHMgYm90aCBrdXN0b21pemUtY29udHJvbGxlciBhbmQgdGhlIGBmbHV4IGJ1aWxkfGRpZmYga3VzdG9taXphdGlvbmAgY29tbWFuZHMuIFVzZXJzIGFyZSBlbmNvdXJhZ2VkIHRvIHVwZ3JhZGUgZm9yIHRoZSBiZXN0IGV4cGVyaWVuY2UuCgrihLnvuI8gUGxlYXNlIGZvbGxvdyB0aGUgW1VwZ3JhZGUgUHJvY2VkdXJlIGZvciBGbHV4IHYyLjcrXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2Rpc2N1c3Npb25zLzU1NzIpIGZvciBhIHNtb290aCB1cGdyYWRlIGZyb20gRmx1eCB2Mi42IHRvIHRoZSBsYXRlc3QgdmVyc2lvbi4KCkZpeGVzOgoKLSBGaXggZW1wdHkgbGluZXMgdmFuaXNoaW5nIGZyb20gcmVuZGVyZWQgY2hhcnQgbWFuaWZlc3RzIChoZWxtLWNvbnRyb2xsZXIpCi0gRml4IGBIYXNCZWVuVGVzdGVkYCBmb3IgYWxsIGNvcm5lciBjYXNlcywgd2hlcmUgYSByZWxlYXNlIGNvdWxkIGJlIG1hcmtlZCBhcyB0ZXN0ZWQgYWx0aG91Z2ggaXRzIEhlbG0gdGVzdCBob29rcyBuZXZlciByYW4gKGhlbG0tY29udHJvbGxlcikKLSBGaXggYSBgc3BlYy5pbWFnZXNgIGVudHJ5IHNldHRpbmcgb25seSBzb21lIG9mIHRoZSBpbWFnZSBmaWVsZHMgZGlzY2FyZGluZyB0aGUgcmVtYWluaW5nIGZpZWxkcyBhbHJlYWR5IGRlY2xhcmVkIGZvciB0aGUgc2FtZSBpbWFnZSBpbiB0aGUgYGt1c3RvbWl6YXRpb24ueWFtbGAgYXQgYHNwZWMucGF0aGAsIGUuZy4gb3ZlcnJpZGluZyBvbmx5IGBuZXdOYW1lYCBwcm9kdWNlZCBhbiB1bnRhZ2dlZCBpbWFnZSByZWZlcmVuY2UgKGt1c3RvbWl6ZS1jb250cm9sbGVyLCBmbHV4IENMSSkKCkltcHJvdmVtZW50czoKCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzCi0gSW5jbHVkZSBzb3VyY2Utd2F0Y2hlciBpbiB0aGUgT0NJIGZsdXgtbWFuaWZlc3RzIGFydGlmYWN0CgojIyMjIENvbXBvbmVudHMgY2hhbmdlbG9nCgotIGt1c3RvbWl6ZS1jb250cm9sbGVyIFt2MS45LjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qva3VzdG9taXplLWNvbnRyb2xsZXIvYmxvYi92MS45LjQvQ0hBTkdFTE9HLm1kKQotIGhlbG0tY29udHJvbGxlciBbdjEuNi4zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2hlbG0tY29udHJvbGxlci9ibG9iL3YxLjYuMy9DSEFOR0VMT0cubWQpCgojIyMjIENMSSBjaGFuZ2Vsb2cKCi0gXFtyZWxlYXNlL3YyLjkueF0gSW5jbHVkZSBzb3VyY2Utd2F0Y2hlciB0byBvY2kgZmx1eC1tYW5pZmVzdHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTk2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk5NikKLSBVcGRhdGUgZmx1eGNkL3BrZyBkZXBlbmRlbmNpZXMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs2MDA2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNjAwNikKLSBVcGRhdGUgdG9vbGtpdCBjb21wb25lbnRzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NjAxMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzYwMTEpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOS4yLi4udjIuOS4zPgoKIyMjIFtgdjIuOS4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9yZWxlYXNlcy90YWcvdjIuOS4yKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOS4xLi4udjIuOS4yKQoKIyMjIyBIaWdobGlnaHRzCgpGbHV4IHYyLjkuMiBpcyBhIHBhdGNoIHJlbGVhc2UuIFRoZSBtYWluIGZpeCBhZGRyZXNzZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgaW4KdjIuOS4xIHdoZXJlIGEgS3VzdG9taXphdGlvbiB3aXRoIGBvcGVuYXBpLnBhdGhgIHBvaW50aW5nIHRvIGEgVVJMIGZhaWxlZCB0bwpyZWNvbmNpbGUgd2l0aCBgZmFpbGVkIHRvIHJlYWQgT3BlbkFQSSBzY2hlbWFgLiBUaGlzIHJlbGVhc2UgYWxzbyBjb3JyZWN0cyBzZXZlcmFsCkNSRCBmaWVsZCBkZXNjcmlwdGlvbnMgdGhhdCBjb250YWluZWQgaW5hY2N1cmF0ZSBvciBsZWFrZWQgY29udGVudC4gVXNlcnMgYXJlCmVuY291cmFnZWQgdG8gdXBncmFkZSBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZS4KCuKEue+4jyBQbGVhc2UgZm9sbG93IHRoZSBbVXBncmFkZSBQcm9jZWR1cmUgZm9yIEZsdXggdjIuNytdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvZGlzY3Vzc2lvbnMvNTU3MikgZm9yIGEgc21vb3RoIHVwZ3JhZGUgZnJvbSBGbHV4IHYyLjYgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLgoKRml4ZXM6CgotIEZpeCBhIHJlZ3Jlc3Npb24gd2hlcmUgYSBLdXN0b21pemF0aW9uIHdpdGggYG9wZW5hcGkucGF0aGAgcG9pbnRpbmcgdG8gYSBVUkwgZmFpbGVkIHRvIHJlY29uY2lsZSB3aXRoIGBmYWlsZWQgdG8gcmVhZCBPcGVuQVBJIHNjaGVtYWAgKGt1c3RvbWl6ZS1jb250cm9sbGVyKQotIEZpeCB0aGUgYEhlbG1DaGFydGAgQ1JEIGRlc2NyaXB0aW9uIGZvciBgLnN0YXR1cy51cmxgLCB3aGljaCBwb2ludGVkIHVzZXJzIGF0IGBCdWNrZXRTdGF0dXMuQXJ0aWZhY3RgIGluc3RlYWQgb2YgYEhlbG1DaGFydFN0YXR1cy5BcnRpZmFjdGAgKHNvdXJjZS1jb250cm9sbGVyKQotIEZpeCB0aGUgYEltYWdlUmVwb3NpdG9yeWAgQ1JEIGRlc2NyaXB0aW9uIGZvciBgLnN0YXR1cy5vYnNlcnZlZEV4Y2x1c2lvbkxpc3RgLCB3aGljaCByZWZlcnJlZCB0byBgc3BlYy5sYXN0U2NhblJlc3VsdGAgaW5zdGVhZCBvZiBgc3RhdHVzLmxhc3RTY2FuUmVzdWx0YCAoaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIpCi0gRml4IHRoZSBgSW1hZ2VVcGRhdGVBdXRvbWF0aW9uYCBDUkQgZGVzY3JpcHRpb24gZm9yIGAuc3RhdHVzLm9ic2VydmVkU291cmNlUmV2aXNpb25gLCB3aGljaCBoYWQgYSBzdHJheSBHbyBzdHJ1Y3QgZGVjbGFyYXRpb24gbGVha2luZyBpbnRvIGl0IChpbWFnZS1hdXRvbWF0aW9uLWNvbnRyb2xsZXIpCgpJbXByb3ZlbWVudHM6CgotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcwoKIyMjIyBDb21wb25lbnRzIGNoYW5nZWxvZwoKLSBzb3VyY2UtY29udHJvbGxlciBbdjEuOS4zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS1jb250cm9sbGVyL2Jsb2IvdjEuOS4zL0NIQU5HRUxPRy5tZCkKLSBrdXN0b21pemUtY29udHJvbGxlciBbdjEuOS4zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2t1c3RvbWl6ZS1jb250cm9sbGVyL2Jsb2IvdjEuOS4zL0NIQU5HRUxPRy5tZCkKLSBoZWxtLWNvbnRyb2xsZXIgW3YxLjYuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9oZWxtLWNvbnRyb2xsZXIvYmxvYi92MS42LjIvQ0hBTkdFTE9HLm1kKQotIG5vdGlmaWNhdGlvbi1jb250cm9sbGVyIFt2MS45LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qvbm90aWZpY2F0aW9uLWNvbnRyb2xsZXIvYmxvYi92MS45LjIvQ0hBTkdFTE9HLm1kKQotIGltYWdlLXJlZmxlY3Rvci1jb250cm9sbGVyIFt2MS4yLjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIvYmxvYi92MS4yLjMvQ0hBTkdFTE9HLm1kKQotIGltYWdlLWF1dG9tYXRpb24tY29udHJvbGxlciBbdjEuMi4zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ltYWdlLWF1dG9tYXRpb24tY29udHJvbGxlci9ibG9iL3YxLjIuMy9DSEFOR0VMT0cubWQpCi0gc291cmNlLXdhdGNoZXIgW3YyLjIuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9zb3VyY2Utd2F0Y2hlci9ibG9iL3YyLjIuMi9DSEFOR0VMT0cubWQpCgojIyMjIENMSSBjaGFuZ2Vsb2cKCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTk4NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5ODQpCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTk5MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5OTApCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5OTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTk0KQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuMS4uLnYyLjkuMj4KCiMjIyBbYHYyLjkuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcmVsZWFzZXMvdGFnL3YyLjkuMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuMC4uLnYyLjkuMSkKCiMjIyMgSGlnaGxpZ2h0cwoKRmx1eCB2Mi45LjEgaXMgYSBwYXRjaCByZWxlYXNlLiBUaGUgbWFpbiBmaXgsIGFwcGxpZWQgYWNyb3NzIGFsbCBjb250cm9sbGVycywgZGlzYWJsZXMgRmx1eCB2YXJpYWJsZSBzdWJzdGl0dXRpb24gb24gdGhlIEZsdXggQ1JEcyBieSBhbm5vdGF0aW5nIHRoZW0gd2l0aCBga3VzdG9taXplLnRvb2xraXQuZmx1eGNkLmlvL3N1YnN0aXR1dGU6IGRpc2FibGVkYCwgc28gdGhhdCBLdXN0b21pemF0aW9ucyB3aXRoIHBvc3QtYnVpbGQgc3Vic3RpdHV0aW9uIGVuYWJsZWQgbm8gbG9uZ2VyIGNvcnJ1cHQgdGhlIENSRCBzY2hlbWFzIHdoZW4gdGhleSBjb250YWluIGAkey4uLn1gIHNlcXVlbmNlcy4gVXNlcnMgYXJlIGVuY291cmFnZWQgdG8gdXBncmFkZSBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZS4KCuKEue+4jyBQbGVhc2UgZm9sbG93IHRoZSBbVXBncmFkZSBQcm9jZWR1cmUgZm9yIEZsdXggdjIuNytdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvZGlzY3Vzc2lvbnMvNTU3MikgZm9yIGEgc21vb3RoIHVwZ3JhZGUgZnJvbSBGbHV4IHYyLjYgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLgoKRml4ZXM6CgotIERpc2FibGUgRmx1eCB2YXJpYWJsZSBzdWJzdGl0dXRpb24gb24gYWxsIEZsdXggQ1JEcywgcHJldmVudGluZyBwb3N0LWJ1aWxkIHN1YnN0aXR1dGlvbiBmcm9tIGNvcnJ1cHRpbmcgQ1JEIHNjaGVtYXMgdGhhdCBjb250YWluIGAkey4uLn1gIHNlcXVlbmNlcyAoYWxsIGNvbnRyb2xsZXJzKQotIFVwZGF0ZSBTT1BTIGRlcGVuZGVuY3kgdG8gZml4IGAuaW5pYCBmaWxlIGRlY3J5cHRpb24gKGt1c3RvbWl6ZS1jb250cm9sbGVyKQotIEZpeCBhIGRyeS1ydW4gZXJyb3Igd2hlcmUgYXBwbHlpbmcgYSByZXNvdXJjZSB3aXRoIGEgc3RyYXRlZ2ljIG1lcmdlIHBhdGNoIGNvdWxkIGZhaWwgd2l0aCBgPHJlc291cmNlPiBpcyBpbnZhbGlkYCAoa3VzdG9taXplLWNvbnRyb2xsZXIpCi0gRml4IGEgYnJlYWtpbmcgY2hhbmdlIGluIHRoZSBpbi1tZW1vcnkgS3VzdG9taXphdGlvbiBidWlsZCAoRmx1eCBDTEkpCgpJbXByb3ZlbWVudHM6CgotIENhY2hlIHRoZSByZWdpc3RyeSBhdXRob3JpemF0aW9uIHRva2VuIGR1cmluZyBOb3RhdGlvbiB2ZXJpZmljYXRpb24sIHNvIGl0IGlzIGZldGNoZWQgb25jZSBwZXIgdmVyaWZpY2F0aW9uIGluc3RlYWQgb2Ygb25jZSBwZXIgcmVxdWVzdCAoc291cmNlLWNvbnRyb2xsZXIpCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzCgojIyMjIENvbXBvbmVudHMgY2hhbmdlbG9nCgotIHNvdXJjZS1jb250cm9sbGVyIFt2MS45LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qvc291cmNlLWNvbnRyb2xsZXIvYmxvYi92MS45LjIvQ0hBTkdFTE9HLm1kKQotIGt1c3RvbWl6ZS1jb250cm9sbGVyIFt2MS45LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qva3VzdG9taXplLWNvbnRyb2xsZXIvYmxvYi92MS45LjIvQ0hBTkdFTE9HLm1kKQotIGhlbG0tY29udHJvbGxlciBbdjEuNi4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2hlbG0tY29udHJvbGxlci9ibG9iL3YxLjYuMi9DSEFOR0VMT0cubWQpCi0gbm90aWZpY2F0aW9uLWNvbnRyb2xsZXIgW3YxLjkuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9ub3RpZmljYXRpb24tY29udHJvbGxlci9ibG9iL3YxLjkuMi9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIgW3YxLjIuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9pbWFnZS1yZWZsZWN0b3ItY29udHJvbGxlci9ibG9iL3YxLjIuMi9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyIFt2MS4yLjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyL2Jsb2IvdjEuMi4yL0NIQU5HRUxPRy5tZCkKLSBzb3VyY2Utd2F0Y2hlciBbdjIuMi4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS13YXRjaGVyL2Jsb2IvdjIuMi4yL0NIQU5HRUxPRy5tZCkKCiMjIyMgQ0xJIGNoYW5nZWxvZwoKLSBcW3JlbGVhc2UvdjIuOS54XSBGaXggYnJlYWtpbmcgY2hhbmdlIGluLW1lbW9yeSBrdXN0b21pemF0aW9uIGJ1aWxkIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTk3MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NzEpCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTk3N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NzcpCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5NzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTc5KQoKKipGdWxsIENoYW5nZWxvZyoqOiA8aHR0cHM6Ly9naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjkuMC4uLnYyLjkuMT4KCiMjIyBbYHYyLjkuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcmVsZWFzZXMvdGFnL3YyLjkuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9jb21wYXJlL3YyLjguOC4uLnYyLjkuMCkKCiMjIyMgSGlnaGxpZ2h0cwoKRmx1eCB2Mi45LjAgaXMgYSBmZWF0dXJlIHJlbGVhc2UuIFVzZXJzIGFyZSBlbmNvdXJhZ2VkIHRvIHVwZ3JhZGUgZm9yIHRoZSBiZXN0IGV4cGVyaWVuY2UuCgpGb3IgYSBjb21wcmVzc2l2ZSBvdmVydmlldyBvZiBuZXcgZmVhdHVyZXMgYW5kIEFQSSBjaGFuZ2VzIGluY2x1ZGVkIGluIHRoaXMgcmVsZWFzZSwgcGxlYXNlIHJlZmVyIHRvIHRoZSBbQW5ub3VuY2luZyBGbHV4IDIuOSBHQSBibG9nIHBvc3RdKGh0dHBzOi8vZmx1eGNkLmlvL2Jsb2cvMjAyNi8wNi9mbHV4LXYyLjkuMC8pLgoKT3ZlcnZpZXcgb2YgdGhlIG5ldyBmZWF0dXJlczoKCi0gRmx1eCBDTEkgUGx1Z2luIFN5c3RlbSB3aXRoIHRoZSBNaXJyb3IgYW5kIFNjaGVtYSBwbHVnaW5zIChgZmx1eCBwbHVnaW5gKQotIFNlcnZlci1TaWRlIEFwcGx5IGZpZWxkIGlnbm9yZSBydWxlcyBmb3IgZmluZS1ncmFpbmVkIGRyaWZ0IGNvbnRyb2wgKGBLdXN0b21pemF0aW9uYCkKLSBTT1BTIGRlY3J5cHRpb24gd2l0aCB0aGUgQWdlIHBvc3QtcXVhbnR1bSBjaXBoZXIgKGBLdXN0b21pemF0aW9uYCkKLSBLdWJlcm5ldGVzIFdvcmtsb2FkIElkZW50aXR5IGF1dGhlbnRpY2F0aW9uIGZvciBPcGVuQmFvIGFuZCBWYXVsdCAoYEt1c3RvbWl6YXRpb25gKQotIEhlbG0gcG9zdC1yZW5kZXIgc3RyYXRlZ2llcywgaW5jbHVkaW5nIGNoYXJ0IGhvb2tzIHN1cHBvcnQgKGBIZWxtUmVsZWFzZWApCi0gTGl0ZXJhbCBtb2RlIGZvciBIZWxtIHZhbHVlcyByZWZlcmVuY2VzIG1pcnJvcmluZyBgaGVsbSAtLXNldC1saXRlcmFsYCAoYEhlbG1SZWxlYXNlYCkKLSBBbGxvdyBlbXB0eSBraW5kIGluIENFTCBoZWFsdGggY2hlY2sgZXhwcmVzc2lvbnMgKGBLdXN0b21pemF0aW9uYCwgYEhlbG1SZWxlYXNlYCkKLSBHaXQgY29tbWl0IHNpZ25pbmcgYW5kIHZlcmlmaWNhdGlvbiB3aXRoIFNTSCBrZXlzIChgR2l0UmVwb3NpdG9yeWAsIGBJbWFnZVVwZGF0ZUF1dG9tYXRpb25gKQotIEFXUyBDb2RlQ29tbWl0IGF1dGhlbnRpY2F0aW9uIHVzaW5nIFdvcmtsb2FkIElkZW50aXR5IChgR2l0UmVwb3NpdG9yeWApCi0gQ3VzdG9tIFNpZ3N0b3JlIHRydXN0ZWQgcm9vdCBmb3Iga2V5bGVzcyB2ZXJpZmljYXRpb24gaW4gYWlyLWdhcHBlZCBlbnZpcm9ubWVudHMgKGBPQ0lSZXBvc2l0b3J5YCkKLSBQYXRoIHBhdHRlcm4gZGlyZWN0b3J5IGRpc2NvdmVyeSBmb3IgbW9ub3JlcG9zIChgQXJ0aWZhY3RHZW5lcmF0b3JgKQotIFNlY3JldC1sZXNzLCBPSURDLXNlY3VyZWQgd2ViaG9vayBSZWNlaXZlcnMgKGBSZWNlaXZlcmApCgrinaTvuI8gQmlnIHRoYW5rcyB0byBhbGwgdGhlIEZsdXggY29udHJpYnV0b3JzIHRoYXQgaGVscGVkIHVzIHdpdGggdGhpcyByZWxlYXNlIQoKIyMjIyMgS3ViZXJuZXRlcyBjb21wYXRpYmlsaXR5CgpUaGlzIHJlbGVhc2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcgS3ViZXJuZXRlcyB2ZXJzaW9uczoKCnwgS3ViZXJuZXRlcyB2ZXJzaW9uIHwgTWluaW11bSByZXF1aXJlZCB8CnwgLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLSB8CnwgYHYxLjM0YCAgICAgICAgICAgIHwgYD49IDEuMzQuMWAgICAgICB8CnwgYHYxLjM1YCAgICAgICAgICAgIHwgYD49IDEuMzUuMGAgICAgICB8CnwgYHYxLjM2YCAgICAgICAgICAgIHwgYD49IDEuMzYuMGAgICAgICB8Cgo+IFxbIU5PVEVdCj4gTm90ZSB0aGF0IHRoZSBGbHV4IHByb2plY3Qgb2ZmZXJzIHN1cHBvcnQgb25seSBmb3IgdGhlIGxhdGVzdCB0aHJlZSBtaW5vciB2ZXJzaW9ucyBvZiBLdWJlcm5ldGVzLgo+IEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgS3ViZXJuZXRlcyBhbmQgT3BlblNoaWZ0IGlzIG9mZmVyZWQgYnkgdmVuZG9ycyBzdWNoIGFzCj4gW0NvbnRyb2xQbGFuZV0oaHR0cHM6Ly9jb250cm9sLXBsYW5lLmlvL2VudGVycHJpc2UtZm9yLWZsdXgtY2QvKSB0aGF0IHByb3ZpZGUgZW50ZXJwcmlzZSBzdXBwb3J0IGZvciBGbHV4LgoKIyMjIyMgT3BlblNoaWZ0IGNvbXBhdGliaWxpdHkKCkZsdXggY2FuIGJlIGluc3RhbGxlZCBvbiBSZWQgSGF0IE9wZW5TaGlmdCBjbHVzdGVyIGRpcmVjdGx5IGZyb20gT3BlcmF0b3JIdWIgdXNpbmcgW0ZsdXggT3BlcmF0b3JdKGh0dHBzOi8vb3BlcmF0b3JodWIuaW8vb3BlcmF0b3IvZmx1eC1vcGVyYXRvcikuIFRoZSBvcGVyYXRvciBhbGxvd3MgdGhlIGNvbmZpZ3VyYXRpb24gb2YgRmx1eCBtdWx0aS10ZW5hbmN5IGxvY2tkb3duLCBuZXR3b3JrIHBvbGljaWVzLCBwZXJzaXN0ZW50IHN0b3JhZ2UsIHNoYXJkaW5nLCB2ZXJ0aWNhbCBzY2FsaW5nIGFuZCB0aGUgc3luY2hyb25pemF0aW9uIG9mIHRoZSBjbHVzdGVyIHN0YXRlIGZyb20gR2l0IHJlcG9zaXRvcmllcywgT0NJIGFydGlmYWN0cywgYW5kIFMzLWNvbXBhdGlibGUgc3RvcmFnZS4KCiMjIyMgVXBncmFkZSBwcm9jZWR1cmUKCjp3YXJuaW5nOiBUaGUgRmx1eCBBUElzIGBpbWFnZS50b29sa2l0LmZsdXhjZC5pby92MWJldGEyYCBhbmQgYG5vdGlmaWNhdGlvbi50b29sa2l0LmZsdXhjZC5pby92MWJldGEyYApoYXZlIHJlYWNoZWQgZW5kLW9mLWxpZmUgYW5kIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIENSRHMuCgpQbGVhc2UgZm9sbG93IHRoZSBbVXBncmFkZSBQcm9jZWR1cmUgZm9yIEZsdXggdjIuNytdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvZGlzY3Vzc2lvbnMvNTU3MikgZm9yIGEgc21vb3RoIHVwZ3JhZGUgZnJvbSBvbGRlciB2ZXJzaW9ucyBvZiBGbHV4IHRvIHYyLjkuCgojIyMjIENvbXBvbmVudHMgY2hhbmdlbG9nCgotIHNvdXJjZS1jb250cm9sbGVyIFt2MS45LjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qvc291cmNlLWNvbnRyb2xsZXIvYmxvYi92MS45LjEvQ0hBTkdFTE9HLm1kKQotIGt1c3RvbWl6ZS1jb250cm9sbGVyIFt2MS45LjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qva3VzdG9taXplLWNvbnRyb2xsZXIvYmxvYi92MS45LjEvQ0hBTkdFTE9HLm1kKQotIG5vdGlmaWNhdGlvbi1jb250cm9sbGVyIFt2MS45LjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Qvbm90aWZpY2F0aW9uLWNvbnRyb2xsZXIvYmxvYi92MS45LjEvQ0hBTkdFTE9HLm1kKQotIGhlbG0tY29udHJvbGxlciBbdjEuNi4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2hlbG0tY29udHJvbGxlci9ibG9iL3YxLjYuMS9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtcmVmbGVjdG9yLWNvbnRyb2xsZXIgW3YxLjIuMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9pbWFnZS1yZWZsZWN0b3ItY29udHJvbGxlci9ibG9iL3YxLjIuMS9DSEFOR0VMT0cubWQpCi0gaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyIFt2MS4yLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyL2Jsb2IvdjEuMi4xL0NIQU5HRUxPRy5tZCkKLSBzb3VyY2Utd2F0Y2hlciBbdjIuMi4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL3NvdXJjZS13YXRjaGVyL2Jsb2IvdjIuMi4xL0NIQU5HRUxPRy5tZCkKCiMjIyMgQ0xJIGNoYW5nZWxvZwoKLSBBZGQgYmFja3BvcnQgbGFiZWwgZm9yIEZsdXggMi44IGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzU3MzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81NzMyKQotIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIHdvcmthcm91bmQgZm9yIEZsdXggMi44IGJ5IFtAJiM4MjAzO21hdGhldXNjc2NwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbWF0aGV1c2NzY3ApIGluIFsjJiM4MjAzOzU3MzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81NzMzKQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1NzQwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc0MCkKLSBBZGQgbWlzc2luZyB0aGluZ3MgdG8gcmVsZWFzZSBub3RlcyB0ZW1wbGF0ZSBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs1NzQzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc0MykKLSBjaTogYWRkIHRvcC1sZXZlbCBwZXJtaXNzaW9ucyB0byB1cGdyYWRlLWZsdXhjZC1wa2cgd29ya2Zsb3cgYnkgW0AmIzgyMDM7Z2FnYW5ocjk0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ2FnYW5ocjk0KSBpbiBbIyYjODIwMzs1NzYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc2MykKLSBidWlsZChkZXBzKTogYnVtcCB0aGUgY2kgZ3JvdXAgYWNyb3NzIDEgZGlyZWN0b3J5IHdpdGggMTEgdXBkYXRlcyBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdClcW2JvdF0gaW4gWyMmIzgyMDM7NTc2NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3NjQpCi0gVXBkYXRlIGZsdXhjZC9wa2cgZGVwZW5kZW5jaWVzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTc2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3NjYpCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU3NjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81NzY5KQotIEFkZCB0YXJnZXQgYnJhbmNoIG5hbWUgdG8gdXBkYXRlIGJyYW5jaCBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs1NzczXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc3MykKLSBGaXgvcmVzdW1lIGV4aXQgY29kZSBieSBbQCYjODIwMztBbWFuLUNvb2xdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9BbWFuLUNvb2wpIGluIFsjJiM4MjAzOzU3MDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81NzAxKQotIE1hcmsgUkZDIDAwMTAsIDAwMTEgYW5kIDAwMTIgYXMgaW1wbGVtZW50ZWQgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs1Nzc2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc3NikKLSBVcGRhdGUgdG9vbGtpdCBjb21wb25lbnRzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTc4MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3ODApCi0gQWRkIC0tcmVzb2x2ZS1zeW1saW5rcyBmbGFnIHRvIGJ1aWxkIGFuZCBwdXNoIGFydGlmYWN0IGNvbW1hbmRzIGJ5IFtAJiM4MjAzO3JvaGFuc29vZDEwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcm9oYW5zb29kMTApIGluIFsjJiM4MjAzOzU3MjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81NzI0KQotIGZpeDogdmFsaWRhdGUgLS1zb3VyY2UgZmxhZyBpbiBjcmVhdGUga3VzdG9taXphdGlvbiBjb21tYW5kIGJ5IFtAJiM4MjAzO2dtYTFrXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ21hMWspIGluIFsjJiM4MjAzOzU3OThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81Nzk4KQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1ODIxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTgyMSkKLSBBZGQgYC0tc2hvdy1zb3VyY2VgIHRvIGBmbHV4IGdldCBrc2AgYW5kIGBmbHV4IGdldCBocmAgIGJ5IFtAJiM4MjAzO3JhZmFlbHBlcm9jb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhZmFlbHBlcm9jbykgaW4gWyMmIzgyMDM7NTgyOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4MjgpCi0gQWRkIGBmbHV4IGNyZWF0ZSBzZWNyZXQgcmVjZWl2ZXJgIGNvbW1hbmQgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs1ODM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTgzNSkKLSBmaXg6IGhhbmRsZSBtdWx0aXBsZSBzeW1saW5rcyB0byBzYW1lIHRhcmdldCBpbiBidWlsZCBhcnRpZmFjdCBieSBbQCYjODIwMztJYW0tS2FyYW4tU3VyZXNoXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vSWFtLUthcmFuLVN1cmVzaCkgaW4gWyMmIzgyMDM7NTgzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4MzMpCi0gQWRkIGAtLWluLW1lbW9yeS1idWlsZGAgdG8gYGZsdXggYnVpbGQga3NgIGFuZCBgZmx1eCBkaWZmIGtzYCBieSBbQCYjODIwMztyeWNsaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3J5Y2xpKSBpbiBbIyYjODIwMzs1Nzk0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc5NCkKLSBNaWdyYXRlIGVuZC10by1lbmQgdGVzdCB0byBsYXRlc3QgY2xvdWQgU0RLcyAgYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs1ODQwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg0MCkKLSBkb2NzOiBBZGQgQUkgQ29kaW5nIEFzc2lzdGFudHMgR3VpZGFuY2UgIGJ5IFtAJiM4MjAzO3N0ZWZhbnByb2Rhbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbnByb2RhbikgaW4gWyMmIzgyMDM7NTg0MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4NDEpCi0gQWRkIEFJIEFnZW50cyBndWlkYW5jZSBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzU4NDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81ODQ3KQotIFxbUkZDLTAwMTNdIEZsdXggQ0xJIFBsdWdpbiBTeXN0ZW0gYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs1Nzk1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTc5NSkKLSBBZGQgYC0taWdub3JlLW5vdC1mb3VuZGAgdG8gYGZsdXggZGlmZiBrc2AgYnkgW0AmIzgyMDM7cnljbGldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yeWNsaSkgaW4gWyMmIzgyMDM7NTg0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4NDUpCi0gXFtSRkMtMDAxM10gSW1wbGVtZW50IHBsdWdpbiBzeXN0ZW0gYnkgW0AmIzgyMDM7c3RlZmFucHJvZGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFucHJvZGFuKSBpbiBbIyYjODIwMzs1ODQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg0OSkKLSBidWlsZChkZXBzKTogYnVtcCBnaXRodWIuY29tL2dvLWdpdC9nby1naXQvdjUgZnJvbSA1LjE3LjEgdG8gNS4xOC4wIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kZXBlbmRhYm90KVxbYm90XSBpbiBbIyYjODIwMzs1ODUzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg1MykKLSBVcGRhdGUgdG9vbGtpdCBjb21wb25lbnRzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTg1Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4NTYpCi0gQWRkIGRpZ2VzdCBwaW5uaW5nIHN1cHBvcnQgdG8gYGZsdXggcGx1Z2luIGluc3RhbGxgIGJ5IFtAJiM4MjAzO0lhbS1LYXJhbi1TdXJlc2hdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9JYW0tS2FyYW4tU3VyZXNoKSBpbiBbIyYjODIwMzs1ODcyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg3MikKLSBBZGQgYC0tbnMtZm9sbG93cy1rdWJlLWNvbnRleHRgIGdsb2JhbCBmbGFnIGZvciB1c2luZyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5hbWVzcGFjZSBieSBbQCYjODIwMztqdHlyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vanR5cikgaW4gWyMmIzgyMDM7NTgzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4MzEpCi0gaW5jbHVkZSBzb3VyY2Utd2F0Y2hlciBpbiBpbnN0YWxsLnlhbWwgbWFuaWZlc3RzIGJ5IFtAJiM4MjAzO3RtbW9yaW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90bW1vcmluKSBpbiBbIyYjODIwMzs1ODgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg4MSkKLSBVcGRhdGUgdG9vbGtpdCBjb21wb25lbnRzIGJ5IFtAJiM4MjAzO2ZsdXhjZGJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZGJvdCkgaW4gWyMmIzgyMDM7NTg5MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4OTApCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5MDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTAzKQotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5MDddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTA3KQotIFZhbGlkYXRlIEhlbG0gc291cmNlIFVSTCBzY2hlbWVzIGJ5IFtAJiM4MjAzO2ltbWFudXdlbGxdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9pbW1hbnV3ZWxsKSBpbiBbIyYjODIwMzs1OTA5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTkwOSkKLSBJbnRyb2R1Y2UgYGZsdXggdHJpZ2dlciByZWNlaXZlcmAgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NTkwOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MDgpCi0gcmVmYWN0b3IoYXBpKTogbWlncmF0ZSBNYWtlRGVwZW5kc09uIHRvIHNoYXJlZCBhcGlzL21ldGEgZnVuYyBieSBbQCYjODIwMzt2ZWNpbF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3ZlY2lsKSBpbiBbIyYjODIwMzs1OTEyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTkxMikKLSBVcGRhdGUgdG8gS3ViZXJuZXRlcyAxLjM2IGFuZCBHbyAxLjI2IGJ5IFtAJiM4MjAzO3N0ZWZhbnByb2Rhbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbnByb2RhbikgaW4gWyMmIzgyMDM7NTkyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MjQpCi0gYnVpbGQoZGVwcyk6IGJ1bXAgdGhlIGNpIGdyb3VwIGFjcm9zcyAxIGRpcmVjdG9yeSB3aXRoIDE5IHVwZGF0ZXMgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RlcGVuZGFib3QpXFtib3RdIGluIFsjJiM4MjAzOzU5MjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTI1KQotIFJ1biBjb25mb3JtYW5jZSB0ZXN0cyBmb3IgS3ViZXJuZXRlcyAxLjM2IGJ5IFtAJiM4MjAzO3N0ZWZhbnByb2Rhbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbnByb2RhbikgaW4gWyMmIzgyMDM7NTkyNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MjYpCi0gQWRkIHN1cHBvcnQgZm9yIEFXUyBDb2RlQ29tbWl0IHRvIGBmbHV4IGJvb3RzdHJhcCBnaXRgIGJ5IFtAJiM4MjAzO3RhcmFzcG9zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGFyYXNwb3MpIGluIFsjJiM4MjAzOzU4NjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81ODY4KQotIFZhbGlkYXRlIHBsdWdpbiBiaW5hcnkgcGF0aCBieSBbQCYjODIwMztzdGVmYW5wcm9kYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdGVmYW5wcm9kYW4pIGluIFsjJiM4MjAzOzU5MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTI3KQotIFVwZGF0ZSBmbHV4Y2QvcGtnIGRlcGVuZGVuY2llcyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5MjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTI4KQotIGZpeDogcHJlc2VydmUgaW52YWxpZCBtZXRhZGF0YS5sYWJlbHMgaW4gYGZsdXggYnVpbGQga3NgIGJ5IFtAJiM4MjAzO3JhZmZpc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhZmZpcykgaW4gWyMmIzgyMDM7NTkwNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MDYpCi0gYnVpbGQ6IHRhcmdldCBob3N0IGFyY2ggZm9yIGxvY2FsIGJ1aWxkcy9lbnZ0ZXN0IGJ5IFtAJiM4MjAzO3N0ZWFsdGh5Ym94XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlYWx0aHlib3gpIGluIFsjJiM4MjAzOzU5MzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTMyKQotIGJ1aWxkKGRlcHMpOiBidW1wIHRoZSBjaSBncm91cCB3aXRoIDYgdXBkYXRlcyBieSBbQCYjODIwMztkZXBlbmRhYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGVwZW5kYWJvdClcW2JvdF0gaW4gWyMmIzgyMDM7NTkzOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MzgpCi0gU3VwcG9ydCBzcGVjaWZpbmcgc3BhcnNlQ2hlY2tvdXQgaW4gZmx1eCBib290c3RyYXAgYnkgW0AmIzgyMDM7cGlueTk0MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3Bpbnk5NDApIGluIFsjJiM4MjAzOzU5MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTE4KQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTQ0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk0NCkKLSBIb25vciBga3Muc3BlYy5wb3N0QnVpbGQuc3Vic3RpdHV0ZVN0cmF0ZWd5YCBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs1OTQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk0NSkKLSBBZGQgRHJpZnRJZ25vcmVSdWxlcyBzdXBwb3J0IHRvIGZsdXggZGlmZiBrdXN0b21pemF0aW9uIGJ5IFtAJiM4MjAzO2RpcHRpLXBhaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RpcHRpLXBhaSkgaW4gWyMmIzgyMDM7NTkyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MjMpCi0gQWxsb3cgc2lnbmluZyBjb21taXRzIHVzaW5nIFNTSCBrZXkgYnkgW0AmIzgyMDM7aGlkZGVjb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hpZGRlY28pIGluIFsjJiM4MjAzOzU5MjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTIwKQotIFVwZGF0ZSB0b29sa2l0IGNvbXBvbmVudHMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk1MCkKLSBVcGRhdGUgZmx1eGNkL3BrZyBkZXBlbmRlbmNpZXMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTM3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTkzNykKLSBjbWQ6IHN1cHBvcnQgYHR5cGUhPXN0YXR1c2AgaW4gZ2V0IC0tc3RhdHVzLXNlbGVjdG9yIGJ5IFtAJiM4MjAzOzN1emJjcWplXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vM3V6YmNxamUpIGluIFsjJiM4MjAzOzU5NTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTUyKQotIEZpeCBgZmx1eCBnZXQgYWxsIC0tc3RhdHVzLXNlbGVjdG9yYCBmb3IgZW1wdHkgcmVzdWx0cyBhbmQgbm90aWZpY2F0aW9uIHJlc291cmNlcyBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs1OTU0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk1NCkKLSBVcGdyYWRlIGdvLWdpdC1wcm92aWRlcnMgdG8gdjAuMjcuMCBieSBbQCYjODIwMzttYXRoZXVzY3NjcF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21hdGhldXNjc2NwKSBpbiBbIyYjODIwMzs1OTU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk1NikKLSBGaXggdXNpbmcgUmVjZWl2ZXIgYWRhcHRlciBmb3IgQXJ0aWZhY3RHZW5lcmF0b3IgYnkgW0AmIzgyMDM7bWF0aGV1c2NzY3BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tYXRoZXVzY3NjcCkgaW4gWyMmIzgyMDM7NTk1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NTcpCi0gZmVhdDogSW5zdGFsbCBQbHVnaW5zIGFsb25nc2lkZSBGbHV4IHNldHVwIGluIGdoIGFjdGlvbnMgYnkgW0AmIzgyMDM7Z2F0Nzg2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ2F0Nzg2KSBpbiBbIyYjODIwMzs1OTU1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk1NSkKLSBVcGRhdGUgZmx1eGNkL3BrZyBkZXBlbmRlbmNpZXMgYnkgW0AmIzgyMDM7Zmx1eGNkYm90XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkYm90KSBpbiBbIyYjODIwMzs1OTYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTk2MCkKLSBBZGQgQ0xJIHN1cHBvcnQgZm9yIE9DSVJlcG9zaXRvcnkuc3BlYy5sYXllclNlbGVjdG9yIGluIGZsdXggY3JlYXRlIHNvdXJjZSBvY2kgYnkgW0AmIzgyMDM7ZG1lODZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kbWU4NikgaW4gWyMmIzgyMDM7NTg5Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4OTIpCi0gVXBkYXRlIHRvb2xraXQgY29tcG9uZW50cyBieSBbQCYjODIwMztmbHV4Y2Rib3RdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2Rib3QpIGluIFsjJiM4MjAzOzU5NjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTYzKQoKIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotIFtAJiM4MjAzO2dhZ2FuaHI5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dhZ2FuaHI5NCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTc2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3NjMpCi0gW0AmIzgyMDM7cm9oYW5zb29kMTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yb2hhbnNvb2QxMCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTcyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3MjQpCi0gW0AmIzgyMDM7Z21hMWtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9nbWExaykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTc5OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3OTgpCi0gW0AmIzgyMDM7cmFmYWVscGVyb2NvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFmYWVscGVyb2NvKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs1ODI4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTgyOCkKLSBbQCYjODIwMztJYW0tS2FyYW4tU3VyZXNoXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vSWFtLUthcmFuLVN1cmVzaCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTgzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4MzMpCi0gW0AmIzgyMDM7cnljbGldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yeWNsaSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTc5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU3OTQpCi0gW0AmIzgyMDM7anR5cl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2p0eXIpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzU4MzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81ODMxKQotIFtAJiM4MjAzO3RtbW9yaW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90bW1vcmluKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs1ODgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL3B1bGwvNTg4MSkKLSBbQCYjODIwMztpbW1hbnV3ZWxsXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaW1tYW51d2VsbCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTkwOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MDkpCi0gW0AmIzgyMDM7dmVjaWxdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS92ZWNpbCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTkxMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5MTIpCi0gW0AmIzgyMDM7dGFyYXNwb3NdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90YXJhc3BvcykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTg2OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4NjgpCi0gW0AmIzgyMDM7cGlueTk0MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3Bpbnk5NDApIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzU5MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTE4KQotIFtAJiM4MjAzOzN1emJjcWplXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vM3V6YmNxamUpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzU5NTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbHV4Y2QvZmx1eDIvcHVsbC81OTUyKQotIFtAJiM4MjAzO2dhdDc4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2dhdDc4NikgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTk1NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU5NTUpCi0gW0AmIzgyMDM7ZG1lODZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kbWU4NikgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7NTg5Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9wdWxsLzU4OTIpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOC4wLi4udjIuOS4wPgoKIyMjIFtgdjIuOC44YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9yZWxlYXNlcy90YWcvdjIuOC44KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmx1eGNkL2ZsdXgyL2NvbXBhcmUvdjIuOC43Li4udjIuOC44KQoKIyMjIyBIaWdobGlnaHRzCgpGbHV4IHYyLjguOCBpcyBhIHBhdGNoIHJlbGVhc2UgdGhhdCBpbmNsdWRlcyBDVkUgZml4ZXMgdmlhIGdvLWdpdCB2NS4xOS4xIChzb3VyY2UtY29udHJvbGxlciwgaW1hZ2UtYXV0b21hdGlvbi1jb250cm9sbGVyKSwgcmVsaWFiaWxpdHkgZml4ZXMgaW4gaGVsbS1jb250cm9sbGVyIGFuZCBzb3VyY2UtY29udHJvbGxlciwgdGhlIG1vdmUgb2YgSGVsbSBiYWNrIHRvIHVwc3RyZWFtIHY0LjIuMCwgc3VwcG9ydCBmb3IgR0NQIHNvdmVyZWlnbiBjbG91ZCBhcnRpZmFjdCByZWdpc3RyaWVzLCBhbmQgZGVwZW5kZW5jeSB1cGRhdGVzLiBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byB1cGdyYWRlIGZvciB0aGUgYmVzdCBleHBlcmllbmNlLgoK4oS577iPIFBsZWFzZSBmb2xsb3cgdGhlIFtVcGdyYWRlIFByb2NlZHVyZSBmb3IgRmx1eCB2Mi43K10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsdXhjZC9mbHV4Mi9kaXNjdXNzaW9ucy81NTcyKSBmb3IgYSBzbW9vdGggdXBncmFkZSBmcm9tIEZsdXggdjIuNiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uCgpGaXhlczoKCi0gQWRkIGEgY29uZmlndXJhYmxlIEhUVFAgdGltZW91dCBmb3IgYXJ0aWZhY3QgZmV0Y2hpbmcsIHByZXZlbnRpbmcgZmV0Y2hlcyB0aGF0IGNvdWxkIGJsb2NrIGluZGVmaW5pdGVseSBhbmQgc3RhbGwgcmVjb25jaWxpYXRpb25zIChoZWxtLWNvbnRyb2xsZXIpCi0gRml4IHVuYm91bmRlZCBtZW1vcnkgZ3Jvd3RoIGNhdXNlZCBieSBhIEt1YmVybmV0ZXMgY2xpZW50IHRyYW5zcG9ydCByZXRyeSB3cmFwcGVyIGFjY3VtdWxhdGluZyBvbiBldmVyeSByZWNvbmNpbGUgKGhlbG0tY29udHJvbGxlcikKLSBTdG9wIGZvcmNlLWFwcGx5aW5nIG5vbi1DUkQgb2JqZWN0cyBwbGFjZWQgdW5kZXIKCj4gWyFJTVBPUlRBTlRdCj4g4pyCIFBSIGJvZHkgd2FzIHRydW5jYXRlZCB0byBoZXJlLgoKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiAoVVRDKQoKLSBCcmFuY2ggY3JlYXRpb24KICAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKQotIEF1dG9tZXJnZQogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoaXMgdXBkYXRlIGFnYWluLgoKLS0tCgogLSBbIF0gPCEtLSByZWJhc2UtY2hlY2sgLS0+SWYgeW91IHdhbnQgdG8gcmViYXNlL3JldHJ5IHRoaXMgUFIsIGNoZWNrIHRoaXMgYm94CgotLS0KClRoaXMgUFIgd2FzIGdlbmVyYXRlZCBieSBbTWVuZCBSZW5vdmF0ZV0oaHR0cHM6Ly9tZW5kLmlvL3Jlbm92YXRlLykuIFZpZXcgdGhlIFtyZXBvc2l0b3J5IGpvYiBsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vZ2l0aHViL3ZleHhob3N0L2F0bW9zcGhlcmUuY29tbW9uKS4KPCEtLXJlbm92YXRlLWRlYnVnOmV5SmpjbVZoZEdWa1NXNVdaWElpT2lJME1TNHhNekV1T1NJc0luVndaR0YwWldSSmJsWmxjaUk2SWpRMExqRTROQzR4SWl3aWRHRnlaMlYwUW5KaGJtTm9Jam9pYldGcGJpSXNJbXhoWW1Wc2N5STZXMTE5LS0+Cg==
      patchset: a36257f5fbc3fd25c301483d3e9119bbd1006d60
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: be52461cd48abccbf95b13a58b2551ac673d8ad7
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: 4fd48825891421af0774bdd500fee36e111d80a6
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: 4fd48825891421af0774bdd500fee36e111d80a6
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: be52461cd48abccbf95b13a58b2551ac673d8ad7
          untrusted/project_3/github.com/vexxhost/atmosphere.common:
            canonical_name: github.com/vexxhost/atmosphere.common
            checkout: main
            commit: efd1a4dce1580c5a6f6555cdb03a5593c74f240f
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 711709ba09ce4329ac70919670f64e7a9eb2fa5d
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: untrusted/project_3/github.com/vexxhost/atmosphere.common/test-playbooks/molecule/post.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/post_playbook_0/role_0/atmosphere.common
            link_target: untrusted/project_3/github.com/vexxhost/atmosphere.common
            role_path: ansible/post_playbook_0/role_0/atmosphere.common/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/post_playbook_0/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_4/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_2/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_2/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
        - path: untrusted/project_3/github.com/vexxhost/atmosphere.common/test-playbooks/molecule/pre.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_2/role_0/atmosphere.common
            link_target: untrusted/project_3/github.com/vexxhost/atmosphere.common
            role_path: ansible/pre_playbook_2/role_0/atmosphere.common/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/pre_playbook_2/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_2/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_2/role_4/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/atmosphere.common
        name: vexxhost/atmosphere.common
        short_name: atmosphere.common
        src_dir: src/github.com/vexxhost/atmosphere.common
      projects:
        github.com/ansible-collections/ansible.posix:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/ansible.posix
          checkout: main
          checkout_description: zuul branch
          commit: 0f4453f85ee993687a4cab860e3b55438144f920
          name: ansible-collections/ansible.posix
          required: true
          short_name: ansible.posix
          src_dir: src/github.com/ansible-collections/ansible.posix
        github.com/ansible-collections/community.crypto:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.crypto
          checkout: main
          checkout_description: zuul branch
          commit: 1bdefe5f420bb2d38cf92ea109ca39e1d4372347
          name: ansible-collections/community.crypto
          required: true
          short_name: community.crypto
          src_dir: src/github.com/ansible-collections/community.crypto
        github.com/ansible-collections/community.general:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.general
          checkout: main
          checkout_description: zuul branch
          commit: 38b58234b9d0241d1b0f31be5ec84e5c88c006c5
          name: ansible-collections/community.general
          required: true
          short_name: community.general
          src_dir: src/github.com/ansible-collections/community.general
        github.com/ansible-collections/kubernetes.core:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/kubernetes.core
          checkout: main
          checkout_description: zuul branch
          commit: 782672d2fdb0004d593440a3ddd4b9db014d9e4b
          name: ansible-collections/kubernetes.core
          required: true
          short_name: kubernetes.core
          src_dir: src/github.com/ansible-collections/kubernetes.core
        github.com/vexxhost/ansible-collection-containers:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          checkout: main
          checkout_description: zuul branch
          commit: d22923ebd40c0fd5a345318c1db90d125fb5140f
          name: vexxhost/ansible-collection-containers
          required: true
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        github.com/vexxhost/ansible-collection-kubernetes:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-kubernetes
          checkout: main
          checkout_description: zuul branch
          commit: bb3fd0fde58a5b158605523e708645eb2a763886
          name: vexxhost/ansible-collection-kubernetes
          required: true
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        github.com/vexxhost/atmosphere.common:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere.common
          checkout: main
          checkout_description: zuul branch
          commit: efd1a4dce1580c5a6f6555cdb03a5593c74f240f
          name: vexxhost/atmosphere.common
          required: false
          short_name: atmosphere.common
          src_dir: src/github.com/vexxhost/atmosphere.common
        opendev.org/openstack/ansible-collections-openstack:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/ansible-collections-openstack
          checkout: master
          checkout_description: project default branch
          commit: ac8cce11c7535fcf01a8b76487db08b1958ea68b
          name: openstack/ansible-collections-openstack
          required: true
          short_name: ansible-collections-openstack
          src_dir: src/opendev.org/openstack/ansible-collections-openstack
      ref: refs/pull/102/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
