all:
  hosts:
    ubuntu-noble:
      ansible_connection: ssh
      ansible_host: 81.163.193.57
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: babdc970-d654-4c71-83b4-2955c6a04239
        host_id: d2c528664e1bd332192bb574345deb0c6c7158061222e4a6c036b5ef
        interface_ip: 81.163.193.57
        label: ubuntu-noble
        private_ipv4: 10.128.0.110
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.57
        public_ipv6: ''
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base branches: None source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job yamllint branches: None source: osism/zuul-jobs/.zuul.yaml@main#59>'
      - '<Job yamllint branches: None source: osism/release/.zuul.yaml@main#2>'
      ansible_version: '8'
      attempts: 1
      branch: main
      build: 46c82d7882d14dd5850df7022ebb2416
      buildset: a146e39e3a344481b239f5103d944d7f
      change: '1884'
      change_message: "chore(deps): update dependency k3s-io/k3s to v1.32.3+k3s1\n\
        \nThis PR contains the following updates:\n\n| Package | Update | Change |\n\
        |---|---|---|\n| [k3s-io/k3s](https://redirect.github.com/k3s-io/k3s) | minor\
        \ | `v1.30.10+k3s1` -> `v1.32.3+k3s1` |\n\n---\n\n### Release Notes\n\n<details>\n\
        <summary>k3s-io/k3s (k3s-io/k3s)</summary>\n\n### [`v1.32.3+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.3%2Bk3s1):\
        \ v1.32.3+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.2+k3s1...v1.32.3+k3s1)\n\
        \n<!-- v1.32.3+k3s1 -->\n\nThis release updates Kubernetes to v1.32.3, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1322).\n\
        \n##### Changes since v1.32.2+k3s1:\n\n-   Revert \"Add ability to pass configuration\
        \ options to flannel backend\" [(#&#8203;11867)](https://redirect.github.com/k3s-io/k3s/pull/11867)\n\
        -   Backport Docker + E2E testing PRs for 2025 March [(#&#8203;11888)](https://redirect.github.com/k3s-io/k3s/pull/11888)\n\
        -   Backports for 2025-03 [(#&#8203;11919)](https://redirect.github.com/k3s-io/k3s/pull/11919)\n\
        -   Bump klipper-lb image to v0.4.13 [(#&#8203;11930)](https://redirect.github.com/k3s-io/k3s/pull/11930)\n\
        -   Fix syncing empty list of apiserver addresses during initial startup [(#&#8203;11953)](https://redirect.github.com/k3s-io/k3s/pull/11953)\n\
        -   Update to v1.32.3-k3s1 [(#&#8203;11960)](https://redirect.github.com/k3s-io/k3s/pull/11960)\n\
        -   Update Kubernetes to v1.32.3-k3s2 [(#&#8203;11968)](https://redirect.github.com/k3s-io/k3s/pull/11968)\n\
        -   Fix skew test for release candidates [(#&#8203;11991)](https://redirect.github.com/k3s-io/k3s/pull/11991)\n\
        -   Bump to containerd v2.0.4 [(#&#8203;12003)](https://redirect.github.com/k3s-io/k3s/pull/12003)\n\
        -   Fix upgrade test container version [(#&#8203;12000)](https://redirect.github.com/k3s-io/k3s/pull/12000)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.3](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1323)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.19-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.19-k3s1)\
        \ |\n| Containerd | [v2.0.4-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.4-k3s2)\
        \ |\n| Runc | [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v3.3.2](https://redirect.github.com/traefik/traefik/releases/tag/v3.3.2)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.32.2+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.2%2Bk3s1):\
        \ v1.32.2+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.1+k3s1...v1.32.2+k3s1)\n\
        \n<!-- v1.32.2+k3s1 -->\n\nThis release updates Kubernetes to v1.32.2, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1321).\n\
        \n##### Changes since v1.32.1+k3s1:\n\n-   Correct the k3s token command help\
        \ [(#&#8203;11686)](https://redirect.github.com/k3s-io/k3s/pull/11686)\n-\
        \   Jan 2025 Testing Overhaul, E2E to Docker Migration, [(#&#8203;11723)](https://redirect.github.com/k3s-io/k3s/pull/11723)\n\
        -   Backports for 2025-02 [(#&#8203;11730)](https://redirect.github.com/k3s-io/k3s/pull/11730)\n\
        \    -   Align the CLI-reported default `--etcd-snapshot-dir` value with the\
        \ actual one (`server`, `etcd-snapshot` commands).\n    -   Disable s3 transport\
        \ transparent compression/decompression\n    -   Etcd snapshot backup/restore\
        \ now supports loading s3 credentials from an AWS SDK shared credentials file.\n\
        \    -   Bump klipper-helm to v0.9.4\n    -   Bump klipper-lb to v0.4.10\n\
        \    -   Bump spegel to v0.0.30\n    -   Bump local-path-provisioner to v0.0.31\n\
        \    -   Bump kine to v0.13.8\n    -   Bump etcd to v3.5.18\n    -   Bump\
        \ traefik to 3.3.2\n    -   Containerd has been bumped to version 2.0.\n \
        \   -   The containerd config templates for linux and windows have been consolidated\
        \ and are no longer os-specific.\n    -   Containerd 2.0 uses a new config\
        \ file schema. If you are using a custom containerd config template, you should\
        \ migrate your template to `config-v3.toml.tmpl` to switch to the new version.\
        \ See the [upstream documentation](https://redirect.github.com/containerd/containerd/blob/release/2.0/docs/cri/config.md)\
        \ for more information.\n-   Update to v1.32.2-k3s1 and Go 1.23.6 [(#&#8203;11788)](https://redirect.github.com/k3s-io/k3s/pull/11788)\n\
        -   Render CNI dir config whenever vars are set [(#&#8203;11819)](https://redirect.github.com/k3s-io/k3s/pull/11819)\n\
        -   Bump containerd for go-cni deadlock fix [(#&#8203;11833)](https://redirect.github.com/k3s-io/k3s/pull/11833)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.2](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1322)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.18-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.18-k3s1)\
        \ |\n| Containerd | [v2.0.2-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.2-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v3.3.2](https://redirect.github.com/traefik/traefik/releases/tag/v3.3.2)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.32.1+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.1%2Bk3s1):\
        \ v1.32.1+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.0+k3s1...v1.32.1+k3s1)\n\
        \n<!-- v1.32.1+k3s1 -->\n\nThis release updates Kubernetes to v1.32.1, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1320).\n\
        \n##### Changes since v1.32.0+k3s1:\n\n-   Backports for 2025-01 [(#&#8203;11565)](https://redirect.github.com/k3s-io/k3s/pull/11565)\n\
        -   Add auto import images for containerd image store [(#&#8203;11563)](https://redirect.github.com/k3s-io/k3s/pull/11563)\n\
        -   2025 January Backports [(#&#8203;11583)](https://redirect.github.com/k3s-io/k3s/pull/11583)\n\
        -   Fix local password validation when bind-address is set [(#&#8203;11610)](https://redirect.github.com/k3s-io/k3s/pull/11610)\n\
        -   Update to v1.32.1-k3s1 and Go 1.23.4 [(#&#8203;11620)](https://redirect.github.com/k3s-io/k3s/pull/11620)\n\
        -   Remove local restriction for deferred node password validation [(#&#8203;11648)](https://redirect.github.com/k3s-io/k3s/pull/11648)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.1](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1321)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.18](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.18)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n##### What's Changed\n\n-   \\[release-1.32] Remove local restriction for\
        \ deferred node password validation by [@&#8203;brandond](https://redirect.github.com/brandond)\
        \ in [https://github.com/k3s-io/k3s/pull/11648](https://redirect.github.com/k3s-io/k3s/pull/11648)\n\
        \n**Full Changelog**: https://github.com/k3s-io/k3s/compare/v1.32.1-rc1+k3s1...v1.32.1+k3s1\n\
        \n### [`v1.32.0+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.0%2Bk3s1):\
        \ v1.32.0+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.7+k3s1...v1.32.0+k3s1)\n\
        \n<!-- v1.32.0+k3s1 -->\n\nThis release is K3S's first in the v1.32 line.\
        \ This release updates Kubernetes to v1.32.0.\n\nKubernetes 1.32 moves the\
        \ `AuthorizeNodeWithSelectors` feature gate to Beta and on by default. See\
        \ [KEP-4601](https://redirect.github.com/kubernetes/enhancements/blob/master/keps/sig-auth/4601-authorize-with-selectors/README.md)\
        \ for more information.\n\nThis feature-gate breaks some of the RBAC that\
        \ previous releases of K3s relied upon. The January releases of K3s v1.29,\
        \ v1.30, and v1.31 will contain backported fixes. Until then, you must set\
        \ `--kube-apiserver-arg=feature-gates=AuthorizeNodeWithSelectors=false` on\
        \ server nodes, if you want to mix K3s v1.32 nodes with nodes of other versions\
        \ (within the limits of what is supported by the [Kubernetes Version Skew\
        \ Policy](https://kubernetes.io/releases/version-skew-policy/)).\n\nFor more\
        \ details on what's new, see the [Kubernetes release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1310).\n\
        \n##### Changes since v1.31.4+k3s1:\n\n-   Fix rotateca validation failures\
        \ when not touching default self-signed CAs [(#&#8203;10710)](https://redirect.github.com/k3s-io/k3s/pull/10710)\n\
        -   Bump runc to v1.1.13 [(#&#8203;10737)](https://redirect.github.com/k3s-io/k3s/pull/10737)\n\
        -   Update stable channel to v1.30.4+k3s1 [(#&#8203;10739)](https://redirect.github.com/k3s-io/k3s/pull/10739)\n\
        -   Fix deploy latest commit on E2E tests [(#&#8203;10725)](https://redirect.github.com/k3s-io/k3s/pull/10725)\n\
        -   Remove secrets encryption controller [(#&#8203;10612)](https://redirect.github.com/k3s-io/k3s/pull/10612)\n\
        -   Update kubernetes to v1.31.0-k3s3 [(#&#8203;10764)](https://redirect.github.com/k3s-io/k3s/pull/10764)\n\
        -   Bump traefik to v2.11.8 [(#&#8203;10779)](https://redirect.github.com/k3s-io/k3s/pull/10779)\n\
        -   Update coredns to 1.11.3 and metrics-server to 0.7.2 [(#&#8203;10760)](https://redirect.github.com/k3s-io/k3s/pull/10760)\n\
        -   Add trivy scanning to PR reports [(#&#8203;10758)](https://redirect.github.com/k3s-io/k3s/pull/10758)\n\
        -   Cover edge case when on new minor release for E2E upgrade test [(#&#8203;10781)](https://redirect.github.com/k3s-io/k3s/pull/10781)\n\
        -   Bump aquasecurity/trivy-action from 0.20.0 to 0.24.0 [(#&#8203;10795)](https://redirect.github.com/k3s-io/k3s/pull/10795)\n\
        -   Update CNI plugins version [(#&#8203;10798)](https://redirect.github.com/k3s-io/k3s/pull/10798)\n\
        -   Bump Sonobuoy version [(#&#8203;10792)](https://redirect.github.com/k3s-io/k3s/pull/10792)\n\
        -   Fix /trivy action running against target branch instead of PR branch [(#&#8203;10824)](https://redirect.github.com/k3s-io/k3s/pull/10824)\n\
        -   Launch private registry with init [(#&#8203;10822)](https://redirect.github.com/k3s-io/k3s/pull/10822)\n\
        -   Add channel for v1.31 [(#&#8203;10826)](https://redirect.github.com/k3s-io/k3s/pull/10826)\n\
        -   Bump containerd to v1.7.21, runc to v1.1.14 [(#&#8203;10805)](https://redirect.github.com/k3s-io/k3s/pull/10805)\n\
        -   Bump helm-controller for skip-verify/plain-http and updated tolerations\
        \ [(#&#8203;10832)](https://redirect.github.com/k3s-io/k3s/pull/10832)\n-\
        \   Tag PR image build as latest before scanning [(#&#8203;10825)](https://redirect.github.com/k3s-io/k3s/pull/10825)\n\
        -   Only clean up containerd hosts dirs managed by k3s [(#&#8203;10823)](https://redirect.github.com/k3s-io/k3s/pull/10823)\n\
        -   Remove otelgrpc pinned dependency [(#&#8203;10799)](https://redirect.github.com/k3s-io/k3s/pull/10799)\n\
        -   Add node-internal-dns/node-external-dns address pass-through support [(#&#8203;10852)](https://redirect.github.com/k3s-io/k3s/pull/10852)\n\
        -   Give good report if no CVEs found in trivy [(#&#8203;10853)](https://redirect.github.com/k3s-io/k3s/pull/10853)\n\
        -   Fix hosts.toml header var [(#&#8203;10870)](https://redirect.github.com/k3s-io/k3s/pull/10870)\n\
        -   Bump Trivy version [(#&#8203;10863)](https://redirect.github.com/k3s-io/k3s/pull/10863)\n\
        -   Add int test for flannel-ipv6masq [(#&#8203;10440)](https://redirect.github.com/k3s-io/k3s/pull/10440)\n\
        -   Bump Trivy version [(#&#8203;10899)](https://redirect.github.com/k3s-io/k3s/pull/10899)\n\
        -   Update Kubernetes to v1.31.1-k3s3 [(#&#8203;10911)](https://redirect.github.com/k3s-io/k3s/pull/10911)\n\
        -   Add MariaDB to CI [(#&#8203;10724)](https://redirect.github.com/k3s-io/k3s/pull/10724)\n\
        -   Update stable channel tov1.30.5+k3s1 [(#&#8203;10921)](https://redirect.github.com/k3s-io/k3s/pull/10921)\n\
        -   Use static CNI bin dir [(#&#8203;10868)](https://redirect.github.com/k3s-io/k3s/pull/10868)\n\
        \    -   K3s now uses a stable directory for CNI binaries, which simplifies\
        \ the installation of additional CNI plugins.\n-   Breakup trivy scan and\
        \ check comment author [(#&#8203;10935)](https://redirect.github.com/k3s-io/k3s/pull/10935)\n\
        -   Fix getMembershipForUserInOrg call [(#&#8203;10937)](https://redirect.github.com/k3s-io/k3s/pull/10937)\n\
        -   Check k3s-io organization membership not team membership for trivy scans\
        \ [(#&#8203;10940)](https://redirect.github.com/k3s-io/k3s/pull/10940)\n-\
        \   Bump kine to v0.13.0 [(#&#8203;10932)](https://redirect.github.com/k3s-io/k3s/pull/10932)\n\
        \    -   Kine has been bumped to v0.13.0. This release includes changes that\
        \ should enhance performance when using postgres as an external DB. The updated\
        \ schema will be automatically used for new databases; to migrate to the new\
        \ schema on existing databases, K3s can be started with the `KINE_SCHEMA_MIGRATION=2`\
        \ environment variable set.\n-   Fix trivy report download [(#&#8203;10943)](https://redirect.github.com/k3s-io/k3s/pull/10943)\n\
        -   Trivy workflow: Specify GH_REPO env to use gh cli [(#&#8203;10949)](https://redirect.github.com/k3s-io/k3s/pull/10949)\n\
        -   Bump Trivy version [(#&#8203;10924)](https://redirect.github.com/k3s-io/k3s/pull/10924)\n\
        -   Bump traefik to chart 27.0.2 [(#&#8203;10939)](https://redirect.github.com/k3s-io/k3s/pull/10939)\n\
        -   Pass Rancher's VEX report to Trivy to remove known false-positives CVEs\
        \ [(#&#8203;10956)](https://redirect.github.com/k3s-io/k3s/pull/10956)\n-\
        \   Fix trivy vex line [(#&#8203;10970)](https://redirect.github.com/k3s-io/k3s/pull/10970)\n\
        -   Add user path to runtimes search [(#&#8203;10953)](https://redirect.github.com/k3s-io/k3s/pull/10953)\n\
        \    -   Runtimes detection will now use $PATH\n-   Bump to new wharfie version\
        \ [(#&#8203;10971)](https://redirect.github.com/k3s-io/k3s/pull/10971)\n-\
        \   Update README.md [(#&#8203;10523)](https://redirect.github.com/k3s-io/k3s/pull/10523)\n\
        -   Remove trailing whitespace [(#&#8203;9362)](https://redirect.github.com/k3s-io/k3s/pull/9362)\n\
        -   Bump kine to v0.13.2 [(#&#8203;10978)](https://redirect.github.com/k3s-io/k3s/pull/10978)\n\
        -   Allow configuration of Rootlesskit's CopyUpDirs through an environment\
        \ variable [(#&#8203;10386)](https://redirect.github.com/k3s-io/k3s/pull/10386)\n\
        \    -   Add new environment variable \"K3S_ROOTLESS_COPYUPDIRS\" to add folders\
        \ to the Rootlesskit configuration.\n-   Fix race condition when multiple\
        \ nodes reconcile S3 snapshots [(#&#8203;10979)](https://redirect.github.com/k3s-io/k3s/pull/10979)\n\
        -   Bump Trivy version [(#&#8203;10996)](https://redirect.github.com/k3s-io/k3s/pull/10996)\n\
        -   Add ca-cert rotation integration test, and fix ca-cert rotation [(#&#8203;11013)](https://redirect.github.com/k3s-io/k3s/pull/11013)\n\
        -   Add e2e test which verifies traffic policies and firewall in services\
        \ [(#&#8203;10972)](https://redirect.github.com/k3s-io/k3s/pull/10972)\n-\
        \   Update tcpproxy for import path change [(#&#8203;11029)](https://redirect.github.com/k3s-io/k3s/pull/11029)\n\
        -   Bump Local Path Provisioner version [(#&#8203;10862)](https://redirect.github.com/k3s-io/k3s/pull/10862)\n\
        -   Bump local-path-provisioner to v0.0.30 [(#&#8203;11049)](https://redirect.github.com/k3s-io/k3s/pull/11049)\n\
        -   Bump helm-controller and klipper-helm [(#&#8203;11060)](https://redirect.github.com/k3s-io/k3s/pull/11060)\n\
        -   Bump containerd to v1.7.22 [(#&#8203;11067)](https://redirect.github.com/k3s-io/k3s/pull/11067)\n\
        -   Simplify svclb daemonset [(#&#8203;10954)](https://redirect.github.com/k3s-io/k3s/pull/10954)\n\
        \    -   Stop using klipper-lb as the image for svclb. Replace it with a simple\
        \ busybox which just sleeps\n-   Add the nvidia runtime cdi [(#&#8203;11065)](https://redirect.github.com/k3s-io/k3s/pull/11065)\n\
        \    -   Add nvidia cdi runtime to the list of supported and discoverable\
        \ runtimes\n-   Bump Trivy version [(#&#8203;11103)](https://redirect.github.com/k3s-io/k3s/pull/11103)\n\
        -   Rollback GHA to Ubuntu 22.04 [(#&#8203;11111)](https://redirect.github.com/k3s-io/k3s/pull/11111)\n\
        -   Revert \"Make svclb as simple as possible\" [(#&#8203;11109)](https://redirect.github.com/k3s-io/k3s/pull/11109)\n\
        -   Fix Github Actions for Ubuntu-24.04 [(#&#8203;11112)](https://redirect.github.com/k3s-io/k3s/pull/11112)\n\
        -   Bump aquasecurity/trivy-action from 0.24.0 to 0.27.0 [(#&#8203;11105)](https://redirect.github.com/k3s-io/k3s/pull/11105)\n\
        -   Check the last 10 commits for upgrade E2E test [(#&#8203;11086)](https://redirect.github.com/k3s-io/k3s/pull/11086)\n\
        -   Bump aquasecurity/trivy-action from 0.27.0 to 0.28.0 [(#&#8203;11138)](https://redirect.github.com/k3s-io/k3s/pull/11138)\n\
        -   Fixes \"file exists\" error from CNI bins when upgrading k3s [(#&#8203;11123)](https://redirect.github.com/k3s-io/k3s/pull/11123)\n\
        -   Reduce the number of GH api request for E2E nightly [(#&#8203;11148)](https://redirect.github.com/k3s-io/k3s/pull/11148)\n\
        -   Update Kubernetes to v1.31.2-k3s1 and Go 1.22.8 [(#&#8203;11163)](https://redirect.github.com/k3s-io/k3s/pull/11163)\n\
        -   Update stable channel to v1.30.6+k3s1 [(#&#8203;11186)](https://redirect.github.com/k3s-io/k3s/pull/11186)\n\
        -   Fix timeout when defragmenting etcd on startup [(#&#8203;11164)](https://redirect.github.com/k3s-io/k3s/pull/11164)\n\
        -   Capture all fedora atomic variants in install script [(#&#8203;11170)](https://redirect.github.com/k3s-io/k3s/pull/11170)\n\
        \    -   Allow easier installation of k3s on all variants of fedora atomic\
        \ that use rpm-ostree\n-   Typo fixes in contributing.md [(#&#8203;11201)](https://redirect.github.com/k3s-io/k3s/pull/11201)\n\
        -   Bump Trivy version [(#&#8203;11206)](https://redirect.github.com/k3s-io/k3s/pull/11206)\n\
        -   Pin vagrant to older version to avoid known issue 13527 [(#&#8203;11226)](https://redirect.github.com/k3s-io/k3s/pull/11226)\n\
        -   Set kine EmulatedETCDVersion from embedded etcd version [(#&#8203;11221)](https://redirect.github.com/k3s-io/k3s/pull/11221)\n\
        -   Add nonroot-devices flag to agent CLI [(#&#8203;11200)](https://redirect.github.com/k3s-io/k3s/pull/11200)\n\
        \    -   `Device_ownership_from_security_context` can now be enabled in the\
        \ containerd CRI config by setting the `--nonroot-devices` flag or config\
        \ key.\n-   Bump runc to v1.2 [(#&#8203;10896)](https://redirect.github.com/k3s-io/k3s/pull/10896)\n\
        -   Update flannel and base cni plugins version [(#&#8203;11188)](https://redirect.github.com/k3s-io/k3s/pull/11188)\n\
        -   Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 [(#&#8203;11236)](https://redirect.github.com/k3s-io/k3s/pull/11236)\n\
        -   Fix MustFindString returning override flags on external CLI commands [(#&#8203;11237)](https://redirect.github.com/k3s-io/k3s/pull/11237)\n\
        -   Bump containerd to v1.7.23-k3s1 to fix registry rewrite token scopes [(#&#8203;11238)](https://redirect.github.com/k3s-io/k3s/pull/11238)\n\
        -   Fix the \"Standalone\"-mode of oidc-login in the wrapped kubectl library\
        \ [(#&#8203;11266)](https://redirect.github.com/k3s-io/k3s/pull/11266)\n \
        \   -   Fixes 'no Auth Provider found for name \"oidc\"' when using oidc-login\
        \ in standalone mode.\n-   Bump K3s-root version to v0.14.1 [(#&#8203;11282)](https://redirect.github.com/k3s-io/k3s/pull/11282)\n\
        -   Bump kine [(#&#8203;11277)](https://redirect.github.com/k3s-io/k3s/pull/11277)\n\
        -   Bump kine for mysql connection close fix [(#&#8203;11305)](https://redirect.github.com/k3s-io/k3s/pull/11305)\n\
        -   Fix handling of wrapped subcommands when run with a path [(#&#8203;11306)](https://redirect.github.com/k3s-io/k3s/pull/11306)\n\
        -   Fix updatecli config for klipper and helm-controller [(#&#8203;11290)](https://redirect.github.com/k3s-io/k3s/pull/11290)\n\
        -   Fix issue with loadbalancer failover to default server [(#&#8203;11319)](https://redirect.github.com/k3s-io/k3s/pull/11319)\n\
        -   Update `localstorage_int_test.go` reference [(#&#8203;11339)](https://redirect.github.com/k3s-io/k3s/pull/11339)\n\
        \    -   Update `localstorage_int_test.go` reference in `tests/integration/README.md`\n\
        -   Add  to the output command to be consistent with the product command [(#&#8203;11345)](https://redirect.github.com/k3s-io/k3s/pull/11345)\n\
        -   Allow install script to print error on failed binary download [(#&#8203;11335)](https://redirect.github.com/k3s-io/k3s/pull/11335)\n\
        -   Remove the go toolchain line [(#&#8203;11358)](https://redirect.github.com/k3s-io/k3s/pull/11358)\n\
        -   Add ubuntu 24.04 apt command for e2e test [(#&#8203;11361)](https://redirect.github.com/k3s-io/k3s/pull/11361)\n\
        -   Bump Trivy version [(#&#8203;11360)](https://redirect.github.com/k3s-io/k3s/pull/11360)\n\
        -   Bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 [(#&#8203;11364)](https://redirect.github.com/k3s-io/k3s/pull/11364)\n\
        -   Convert legacy docker tests from bash to golang [(#&#8203;11357)](https://redirect.github.com/k3s-io/k3s/pull/11357)\n\
        -   Update Kubernetes to v1.31.3-k3s1 [(#&#8203;11373)](https://redirect.github.com/k3s-io/k3s/pull/11373)\n\
        -   Fix Branch Name logic for Dependabot and UpdateCLI pushes to k3s-io [(#&#8203;11376)](https://redirect.github.com/k3s-io/k3s/pull/11376)\n\
        -   Fix INSTALL_K3S_PR support [(#&#8203;11383)](https://redirect.github.com/k3s-io/k3s/pull/11383)\n\
        -   Fix etcd backup/restore test and add guardrail for etcd-snapshot [(#&#8203;11314)](https://redirect.github.com/k3s-io/k3s/pull/11314)\n\
        -   Bump containerd to -k3s2 to fix rewrites [(#&#8203;11401)](https://redirect.github.com/k3s-io/k3s/pull/11401)\n\
        -   Fix opensuse-leap install test [(#&#8203;11379)](https://redirect.github.com/k3s-io/k3s/pull/11379)\n\
        -   Fix secrets-encrypt reencrypt timeout error [(#&#8203;11385)](https://redirect.github.com/k3s-io/k3s/pull/11385)\n\
        -   Rework loadbalancer server selection logic [(#&#8203;11329)](https://redirect.github.com/k3s-io/k3s/pull/11329)\n\
        -   Remove experimental from embedded-registry flag [(#&#8203;11443)](https://redirect.github.com/k3s-io/k3s/pull/11443)\n\
        -   Update stable channel to v1.31.3+k3s1 [(#&#8203;11436)](https://redirect.github.com/k3s-io/k3s/pull/11436)\n\
        -   Fix agent tunnel address with dedicated supervisor port [(#&#8203;11427)](https://redirect.github.com/k3s-io/k3s/pull/11427)\n\
        -   Update coredns to 1.12.0 [(#&#8203;11387)](https://redirect.github.com/k3s-io/k3s/pull/11387)\n\
        -   Bump Trivy version [(#&#8203;11430)](https://redirect.github.com/k3s-io/k3s/pull/11430)\n\
        -   Update to v1.31.4-k3s1 and Go 1.22.9 [(#&#8203;11463)](https://redirect.github.com/k3s-io/k3s/pull/11463)\n\
        -   Bump alpine from 3.20 to 3.21 in /conformance [(#&#8203;11433)](https://redirect.github.com/k3s-io/k3s/pull/11433)\n\
        -   Fix docker check warnings [(#&#8203;11474)](https://redirect.github.com/k3s-io/k3s/pull/11474)\n\
        -   Update stable channel to v1.31.4+k3s1 [(#&#8203;11483)](https://redirect.github.com/k3s-io/k3s/pull/11483)\n\
        -   V1.32.0+k3s1 [(#&#8203;11478)](https://redirect.github.com/k3s-io/k3s/pull/11478)\n\
        -   Switch to using kubelet config file for all supported flags [(#&#8203;10433)](https://redirect.github.com/k3s-io/k3s/pull/10433)\n\
        -   Load kernel modules for nft in agent setup [(#&#8203;11527)](https://redirect.github.com/k3s-io/k3s/pull/11527)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.0](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1320)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.1-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.1-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.7+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.7%2Bk3s1):\
        \ v1.31.7+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.6+k3s1...v1.31.7+k3s1)\n\
        \n<!-- v1.31.7+k3s1 -->\n\nThis release updates Kubernetes to v1.31.7, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1316).\n\
        \n##### Changes since v1.31.6+k3s1:\n\n-   Revert \"Add ability to pass configuration\
        \ options to flannel backend\" [(#&#8203;11868)](https://redirect.github.com/k3s-io/k3s/pull/11868)\n\
        -   Backport Docker + E2E testing PRs for 2025 March [(#&#8203;11887)](https://redirect.github.com/k3s-io/k3s/pull/11887)\n\
        -   Backports for 2025-03 [(#&#8203;11920)](https://redirect.github.com/k3s-io/k3s/pull/11920)\n\
        -   Bump klipper-lb to v0.4.13 [(#&#8203;11927)](https://redirect.github.com/k3s-io/k3s/pull/11927)\n\
        -   Fix syncing empty list of apiserver addresses during initial startup [(#&#8203;11954)](https://redirect.github.com/k3s-io/k3s/pull/11954)\n\
        -   Update to v1.31.7-k3s1 [(#&#8203;11958)](https://redirect.github.com/k3s-io/k3s/pull/11958)\n\
        -   Fix skew test for release candidates [(#&#8203;11990)](https://redirect.github.com/k3s-io/k3s/pull/11990)\n\
        -   Bump to containerd v2.0.4 [(#&#8203;12004)](https://redirect.github.com/k3s-io/k3s/pull/12004)\n\
        -   Fix upgrade test container version [(#&#8203;11999)](https://redirect.github.com/k3s-io/k3s/pull/11999)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.7](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1317)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.19-k3s1.30](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.19-k3s1.30)\
        \ |\n| Containerd | [v2.0.4-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.4-k3s2)\
        \ |\n| Runc | [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.20](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.20)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.6+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.6%2Bk3s1):\
        \ v1.31.6+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.5+k3s1...v1.31.6+k3s1)\n\
        \n<!-- v1.31.6+k3s1 -->\n\nThis release updates Kubernetes to v1.31.6, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1315).\n\
        \n##### Changes since v1.31.5+k3s1:\n\n-   Correct the k3s token command help\
        \ [(#&#8203;11685)](https://redirect.github.com/k3s-io/k3s/pull/11685)\n-\
        \   Jan 2025 Testing Overhaul, E2E to Docker Migration, [(#&#8203;11724)](https://redirect.github.com/k3s-io/k3s/pull/11724)\n\
        -   Backports for 2025-02 [(#&#8203;11732)](https://redirect.github.com/k3s-io/k3s/pull/11732)\n\
        \    -   Align the CLI-reported default `--etcd-snapshot-dir` value with the\
        \ actual one (`server`, `etcd-snapshot` commands).\n    -   Disable s3 transport\
        \ transparent compression/decompression\n    -   Etcd snapshot backup/restore\
        \ now supports loading s3 credentials from an AWS SDK shared credentials file.\n\
        \    -   Bump klipper-helm to v0.9.4\n    -   Bump klipper-lb to v0.4.10\n\
        \    -   Bump spegel to v0.0.30\n    -   Bump local-path-provisioner to v0.0.31\n\
        \    -   Bump kine to v0.13.8\n    -   Bump etcd to v3.5.18\n    -   Bump\
        \ traefik to 2.11.20\n    -   Containerd has been bumped to version 2.0.\n\
        \    -   The containerd config templates for linux and windows have been consolidated\
        \ and are no longer os-specific.\n    -   Containerd 2.0 uses a new config\
        \ file schema. If you are using a custom containerd config template, you should\
        \ migrate your template to `config-v3.toml.tmpl` to switch to the new version.\
        \ See the [upstream documentation](https://redirect.github.com/containerd/containerd/blob/release/2.0/docs/cri/config.md)\
        \ for more information.\n-   Bump traefik to v2.11.20 [(#&#8203;11763)](https://redirect.github.com/k3s-io/k3s/pull/11763)\n\
        -   Update to v1.31.6-k3s1 and Go 1.22.12 [(#&#8203;11787)](https://redirect.github.com/k3s-io/k3s/pull/11787)\n\
        -   Render CNI dir config whenever vars are set [(#&#8203;11820)](https://redirect.github.com/k3s-io/k3s/pull/11820)\n\
        -   Bump containerd for go-cni deadlock fix [(#&#8203;11834)](https://redirect.github.com/k3s-io/k3s/pull/11834)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.6](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1316)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.18-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.18-k3s1)\
        \ |\n| Containerd | [v2.0.2-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.2-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s2](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s2)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.20](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.20)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.5+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.5%2Bk3s1):\
        \ v1.31.5+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.4+k3s1...v1.31.5+k3s1)\n\
        \n<!-- v1.31.5+k3s1 -->\n\nThis release updates Kubernetes to v1.31.5, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1314).\n\
        \n##### Changes since v1.31.4+k3s1:\n\n-   Add guardrail for etcd-snapshot\
        \ [(#&#8203;11393)](https://redirect.github.com/k3s-io/k3s/pull/11393)\n-\
        \   Backports for 2025-01 [(#&#8203;11566)](https://redirect.github.com/k3s-io/k3s/pull/11566)\n\
        -   Add auto import images for containerd image store [(#&#8203;11562)](https://redirect.github.com/k3s-io/k3s/pull/11562)\n\
        -   2025 January Backports [(#&#8203;11588)](https://redirect.github.com/k3s-io/k3s/pull/11588)\n\
        -   Load kernel modules for nft in agent setup [(#&#8203;11596)](https://redirect.github.com/k3s-io/k3s/pull/11596)\n\
        -   Fix local password validation when bind-address is set [(#&#8203;11611)](https://redirect.github.com/k3s-io/k3s/pull/11611)\n\
        -   Update to v1.31.5-k3s1 and Go 1.22.10 [(#&#8203;11621)](https://redirect.github.com/k3s-io/k3s/pull/11621)\n\
        -   Remove local restriction for deferred node password validation [(#&#8203;11649)](https://redirect.github.com/k3s-io/k3s/pull/11649)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.5](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1315)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.18](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.18)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n##### What's Changed\n\n-   \\[release-1.31] Remove local restriction for\
        \ deferred node password validation by [@&#8203;brandond](https://redirect.github.com/brandond)\
        \ in [https://github.com/k3s-io/k3s/pull/11649](https://redirect.github.com/k3s-io/k3s/pull/11649)\n\
        \n**Full Changelog**: https://github.com/k3s-io/k3s/compare/v1.31.5-rc1+k3s1...v1.31.5+k3s1\n\
        \n### [`v1.31.4+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.4%2Bk3s1):\
        \ v1.31.4+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.3+k3s1...v1.31.4+k3s1)\n\
        \n<!-- v1.31.4+k3s1 -->\n\nThis release updates Kubernetes to v1.31.4, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1313).\n\
        \n##### Changes since v1.31.3+k3s1:\n\n-   Fix secrets-encrypt reencrypt timeout\
        \ error [(#&#8203;11442)](https://redirect.github.com/k3s-io/k3s/pull/11442)\n\
        -   Remove experimental from embedded-registry flag [(#&#8203;11444)](https://redirect.github.com/k3s-io/k3s/pull/11444)\n\
        -   Rework loadbalancer server selection logic [(#&#8203;11457)](https://redirect.github.com/k3s-io/k3s/pull/11457)\n\
        \    -   The embedded client loadbalancer that handles connectivity to control-plane\
        \ elements has been extensively reworked for improved performance, reliability,\
        \ and observability.\n-   Update coredns to 1.12.0 [(#&#8203;11454)](https://redirect.github.com/k3s-io/k3s/pull/11454)\n\
        -   Add node-internal-dns/node-external-dns address pass-through support \u2026\
        \ [(#&#8203;11464)](https://redirect.github.com/k3s-io/k3s/pull/11464)\n-\
        \   Update to v1.31.4-k3s1 and Go 1.22.9 [(#&#8203;11462)](https://redirect.github.com/k3s-io/k3s/pull/11462)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.4](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1314)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.3+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.3%2Bk3s1):\
        \ v1.31.3+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.2+k3s1...v1.31.3+k3s1)\n\
        \n<!-- v1.31.3+k3s1 -->\n\nThis release updates Kubernetes to v1.31.3, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1312).\n\
        \n##### Changes since v1.31.2+k3s1:\n\n-   Backport E2E GHA fixes [(#&#8203;11230)](https://redirect.github.com/k3s-io/k3s/pull/11230)\n\
        -   Backports for 2024-11 [(#&#8203;11261)](https://redirect.github.com/k3s-io/k3s/pull/11261)\n\
        -   Update flannel and base cni plugins version [(#&#8203;11247)](https://redirect.github.com/k3s-io/k3s/pull/11247)\n\
        -   Bump to latest k3s-root version in scripts/version.sh [(#&#8203;11302)](https://redirect.github.com/k3s-io/k3s/pull/11302)\n\
        -   More backports for 2024-11 [(#&#8203;11307)](https://redirect.github.com/k3s-io/k3s/pull/11307)\n\
        -   Fix issue with loadbalancer failover to default server [(#&#8203;11324)](https://redirect.github.com/k3s-io/k3s/pull/11324)\n\
        -   Update Kubernetes to v1.31.3-k3s1 [(#&#8203;11372)](https://redirect.github.com/k3s-io/k3s/pull/11372)\n\
        -   Bump containerd to -k3s2 to fix rewrites [(#&#8203;11403)](https://redirect.github.com/k3s-io/k3s/pull/11403)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.3](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1313)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.11.3](https://redirect.github.com/coredns/coredns/releases/tag/v1.11.3)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.2+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.2%2Bk3s1):\
        \ v1.31.2+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.1+k3s1...v1.31.2+k3s1)\n\
        \n<!-- v1.31.2+k3s1 -->\n\nThis release updates Kubernetes to v1.31.2, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1311).\n\
        \n##### Changes since v1.31.1+k3s1:\n\n-   Add int test for flannel-ipv6masq\
        \ [(#&#8203;10904)](https://redirect.github.com/k3s-io/k3s/pull/10904)\n-\
        \   Bump Wharfie to v0.6.7 [(#&#8203;10974)](https://redirect.github.com/k3s-io/k3s/pull/10974)\n\
        -   Add user path to runtimes search [(#&#8203;11002)](https://redirect.github.com/k3s-io/k3s/pull/11002)\n\
        -   Add e2e test for advanced fields in services [(#&#8203;11023)](https://redirect.github.com/k3s-io/k3s/pull/11023)\n\
        -   Launch private registry with init [(#&#8203;11048)](https://redirect.github.com/k3s-io/k3s/pull/11048)\n\
        -   Backports for 2024-10 [(#&#8203;11054)](https://redirect.github.com/k3s-io/k3s/pull/11054)\n\
        -   Allow additional Rootless CopyUpDirs through K3S_ROOTLESS_COPYUPDIRS [(#&#8203;11041)](https://redirect.github.com/k3s-io/k3s/pull/11041)\n\
        -   Bump containerd to v1.7.22 [(#&#8203;11072)](https://redirect.github.com/k3s-io/k3s/pull/11072)\n\
        -   Simplify svclb ds [(#&#8203;11079)](https://redirect.github.com/k3s-io/k3s/pull/11079)\n\
        -   Add the nvidia runtime cdi [(#&#8203;11093)](https://redirect.github.com/k3s-io/k3s/pull/11093)\n\
        -   Revert \"Make svclb as simple as possible\" [(#&#8203;11118)](https://redirect.github.com/k3s-io/k3s/pull/11118)\n\
        -   Fixes \"file exists\" error from CNI bins when upgrading k3s [(#&#8203;11125)](https://redirect.github.com/k3s-io/k3s/pull/11125)\n\
        -   Update Kubernetes to v1.31.2 [(#&#8203;11155)](https://redirect.github.com/k3s-io/k3s/pull/11155)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.2](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1312)\
        \ |\n| Kine | [v0.13.2](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.2)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.13-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1)\
        \ |\n| Containerd | [v1.7.22-k3s1](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.22-k3s1)\
        \ |\n| Runc | [v1.1.14](https://redirect.github.com/opencontainers/runc/releases/tag/v1.1.14)\
        \ |\n| Flannel | [v0.25.6](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.6)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.11.3](https://redirect.github.com/coredns/coredns/releases/tag/v1.11.3)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.1+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.1%2Bk3s1):\
        \ v1.31.1+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.0+k3s1...v1.31.1+k3s1)\n\
        \n<!-- v1.31.1+k3s1 -->\n\nThis release updates Kubernetes to v1.31.1, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1310).\n\
        \n##### Changes since v1.31.0+k3s1:\n\n-   Testing And Secrets-Encryption\
        \ Backports for 2024-09 [(#&#8203;10802)](https://redirect.github.com/k3s-io/k3s/pull/10802)\n\
        \    -   Remove secrets encryption controller\n    -   Cover edge case when\
        \ on new minor release for E2E upgrade test\n-   Update CNI plugins version\
        \ [(#&#8203;10817)](https://redirect.github.com/k3s-io/k3s/pull/10817)\n-\
        \   Backports for 2024-09 [(#&#8203;10842)](https://redirect.github.com/k3s-io/k3s/pull/10842)\n\
        -   Fix hosts.toml header var [(#&#8203;10871)](https://redirect.github.com/k3s-io/k3s/pull/10871)\n\
        -   Update Kubernetes to v1.31.1 [(#&#8203;10895)](https://redirect.github.com/k3s-io/k3s/pull/10895)\n\
        -   Update Kubernetes to v1.31.1-k3s3 [(#&#8203;10910)](https://redirect.github.com/k3s-io/k3s/pull/10910)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.1](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1311)\
        \ |\n| Kine | [v0.12.0](https://redirect.github.com/k3s-io/kine/releases/tag/v0.12.0)\
        \ |\n| SQLite | [3.44.0](https://sqlite.org/releaselog/3\\_44\\_0.html) |\n\
        | Etcd | [v3.5.13-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1)\
        \ |\n| Containerd | [v1.7.21-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.21-k3s2)\
        \ |\n| Runc | [v1.1.14](https://redirect.github.com/opencontainers/runc/releases/tag/v1.1.14)\
        \ |\n| Flannel | [v0.25.6](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.6)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.8](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.8)\
        \ |\n| CoreDNS | [v1.11.3](https://redirect.github.com/coredns/coredns/releases/tag/v1.11.3)\
        \ |\n| Helm-controller | [v0.16.4](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.4)\
        \ |\n| Local-path-provisioner | [v0.0.28](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.28)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.0+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.0%2Bk3s1):\
        \ v1.31.0+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.30.11+k3s1...v1.31.0+k3s1)\n\
        \n<!-- v1.31.0+k3s1 -->\n\nThis release is K3S's first in the v1.31 line.\
        \ This release updates Kubernetes to v1.31.0.\n\nFor more details on what's\
        \ new, see the [Kubernetes release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1300).\n\
        \n##### Changes since v1.30.4+k3s1:\n\n-   Move test-compat docker test to\
        \ GHA [(#&#8203;10414)](https://redirect.github.com/k3s-io/k3s/pull/10414)\n\
        -   Check for bad token permissions when install via PR [(#&#8203;10387)](https://redirect.github.com/k3s-io/k3s/pull/10387)\n\
        -   Bump k3s-root to v0.14.0 [(#&#8203;10466)](https://redirect.github.com/k3s-io/k3s/pull/10466)\n\
        \    -   The k3s bundled userspace has been bumped to a release based on buildroot\
        \ 2024.02.3, addressing several CVEs in busybox and coreutils.\n-   Fix INSTALL_K3S_PR\
        \ support [(#&#8203;10472)](https://redirect.github.com/k3s-io/k3s/pull/10472)\n\
        -   Add `data-dir` to uninstall and killall scripts [(#&#8203;10473)](https://redirect.github.com/k3s-io/k3s/pull/10473)\n\
        -   Bump github.com/hashicorp/go-retryablehttp from 0.7.4 to 0.7.7 [(#&#8203;10400)](https://redirect.github.com/k3s-io/k3s/pull/10400)\n\
        -   Bump golang:alpine image version [(#&#8203;10359)](https://redirect.github.com/k3s-io/k3s/pull/10359)\n\
        -   Bump Local Path Provisioner version [(#&#8203;10394)](https://redirect.github.com/k3s-io/k3s/pull/10394)\n\
        -   Ensure remotedialer kubelet connections use kubelet bind address [(#&#8203;10480)](https://redirect.github.com/k3s-io/k3s/pull/10480)\n\
        \    -   Fixed an issue where setting the `--bind-address` flag to a non-loopback\
        \ or wildcard address would prevent `kubectl logs` from working properly.\n\
        -   Bump Trivy version [(#&#8203;10339)](https://redirect.github.com/k3s-io/k3s/pull/10339)\n\
        -   Add etcd s3 config secret implementation [(#&#8203;10340)](https://redirect.github.com/k3s-io/k3s/pull/10340)\n\
        \    -   A proxy can now be configured for use when uploading etcd snapshots\
        \ to a s3-compatible storage service. This overrides any proxy settings passed\
        \ via environment variables.\n    -   Credentials and endpoint configuration\
        \ for storing etcd snapshots on a s3-compatible storage service can now be\
        \ read from a Secret, instead of passing them via the CLI or config file.\
        \ See https://github.com/k3s-io/k3s/blob/master/docs/adrs/etcd-s3-secret.md\
        \ for more information.\n-   For E2E upgrade test, automatically determine\
        \ the channel to use [(#&#8203;10461)](https://redirect.github.com/k3s-io/k3s/pull/10461)\n\
        -   Bump kine to v0.11.11 [(#&#8203;10494)](https://redirect.github.com/k3s-io/k3s/pull/10494)\n\
        -   Fix loadbalancer reentrant rlock [(#&#8203;10511)](https://redirect.github.com/k3s-io/k3s/pull/10511)\n\
        \    -   Fixed an issue that could cause the agent loadbalancer to deadlock\
        \ when the currently in-use server goes down.\n-   Don't use server value\
        \ from config file for etcd-snapshot commands [(#&#8203;10514)](https://redirect.github.com/k3s-io/k3s/pull/10514)\n\
        \    -   The `--server` and `--token` flags for the `k3s etcd-snapshot` command\
        \ have been renamed to `--etcd-server` and `--etcd-token`, to avoid unintentionally\
        \ running snapshot management commands against a remote node when the cluster\
        \ join address or token are present in a config file.\n-   Use pagination\
        \ when listing large numbers of resources [(#&#8203;10527)](https://redirect.github.com/k3s-io/k3s/pull/10527)\n\
        -   Fix multiple issues with servicelb [(#&#8203;10552)](https://redirect.github.com/k3s-io/k3s/pull/10552)\n\
        \    -   Fixed issue that caused ServiceLB to fail to create a daemonset for\
        \ services with long names\n    -   Fixed issue that caused ServiceLB pods\
        \ to crashloop on nodes with ipv6 disabled at the kernel level\n-   Enhance\
        \ E2E Hardened option [(#&#8203;10558)](https://redirect.github.com/k3s-io/k3s/pull/10558)\n\
        -   Allow Pprof and Superisor metrics in standalone mode [(#&#8203;10576)](https://redirect.github.com/k3s-io/k3s/pull/10576)\n\
        -   Use higher QPS for secrets reencryption [(#&#8203;10571)](https://redirect.github.com/k3s-io/k3s/pull/10571)\n\
        -   Fix issues loading data-dir value from env vars or dropin config files\
        \ [(#&#8203;10591)](https://redirect.github.com/k3s-io/k3s/pull/10591)\n-\
        \   Remove deprecated use of wait. functions [(#&#8203;10546)](https://redirect.github.com/k3s-io/k3s/pull/10546)\n\
        -   Wire lasso metrics up to metrics endpoint [(#&#8203;10528)](https://redirect.github.com/k3s-io/k3s/pull/10528)\n\
        -   Update stable channel to v1.30.3+k3s1 [(#&#8203;10647)](https://redirect.github.com/k3s-io/k3s/pull/10647)\n\
        -   Bump docker/docker to v25.0.6 [(#&#8203;10642)](https://redirect.github.com/k3s-io/k3s/pull/10642)\n\
        -   Add a change for killall to not unmount server and agent directory [(#&#8203;10403)](https://redirect.github.com/k3s-io/k3s/pull/10403)\n\
        -   Allow edge case OS rpm installs [(#&#8203;10680)](https://redirect.github.com/k3s-io/k3s/pull/10680)\n\
        -   Bump containerd to v1.7.20 [(#&#8203;10659)](https://redirect.github.com/k3s-io/k3s/pull/10659)\n\
        -   Update to newer OS images for install testing [(#&#8203;10681)](https://redirect.github.com/k3s-io/k3s/pull/10681)\n\
        -   Bump helm-controller to v0.16.3 to drop Helm v2 support [(#&#8203;10628)](https://redirect.github.com/k3s-io/k3s/pull/10628)\n\
        -   Add toleration support to ServiceLB DaemonSet [(#&#8203;10687)](https://redirect.github.com/k3s-io/k3s/pull/10687)\n\
        \    -   -   **New Feature**: Users can now define Kubernetes tolerations\
        \ for ServiceLB DaemonSet directly in the `svccontroller.k3s.cattle.io/tolerations`\
        \ annotation on services.\n-   Fix: Add $SUDO prefix to transactional-update\
        \ commands in install script [(#&#8203;10531)](https://redirect.github.com/k3s-io/k3s/pull/10531)\n\
        -   Update to v1.30.3-k3s1 and Go 1.22.5 [(#&#8203;10707)](https://redirect.github.com/k3s-io/k3s/pull/10707)\n\
        -   Fix caching name for e2e vagrant box [(#&#8203;10695)](https://redirect.github.com/k3s-io/k3s/pull/10695)\n\
        -   Fix k3s-killall.sh support for custom data dir [(#&#8203;10709)](https://redirect.github.com/k3s-io/k3s/pull/10709)\n\
        -   Adding MariaDB to README.md [(#&#8203;10717)](https://redirect.github.com/k3s-io/k3s/pull/10717)\n\
        -   Bump Trivy version [(#&#8203;10670)](https://redirect.github.com/k3s-io/k3s/pull/10670)\n\
        -   V1.31.0-k3s1 [(#&#8203;10715)](https://redirect.github.com/k3s-io/k3s/pull/10715)\n\
        -   Update kubernetes to v1.31.0-k3s3 [(#&#8203;10780)](https://redirect.github.com/k3s-io/k3s/pull/10780)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.0](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1310)\
        \ |\n| Kine | [v0.12.0](https://redirect.github.com/k3s-io/kine/releases/tag/v0.12.0)\
        \ |\n| SQLite | [3.44.0](https://sqlite.org/releaselog/3\\_44\\_0.html) |\n\
        | Etcd | [v3.5.13-k3s1](https://redi\n\n</details>\n\n---\n\n### Configuration\n\
        \n\U0001F4C5 **Schedule**: Branch creation - At any time (no schedule defined),\
        \ Automerge - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**:\
        \ Disabled by config. Please merge this manually once you are satisfied.\n\
        \n\u267B **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry\
        \ checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded\
        \ about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want\
        \ to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated\
        \ by [Mend Renovate](https://mend.io/renovate/). View the [repository job\
        \ log](https://developer.mend.io/github/osism/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/release/pull/1884
      child_jobs: []
      commit_id: aad3f1b0da68bb9c123d06ef784893390a2fc0e6
      event_id: 741dc0a0-13e9-11f0-94b3-90d4e0a5a229
      executor:
        hostname: 7d211f194f6a
        inventory_file: /var/lib/zuul/builds/46c82d7882d14dd5850df7022ebb2416/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/46c82d7882d14dd5850df7022ebb2416/work/logs
        result_data_file: /var/lib/zuul/builds/46c82d7882d14dd5850df7022ebb2416/work/results.json
        src_root: /var/lib/zuul/builds/46c82d7882d14dd5850df7022ebb2416/work/src
        work_root: /var/lib/zuul/builds/46c82d7882d14dd5850df7022ebb2416/work
      items:
      - branch: main
        change: '1884'
        change_url: https://github.com/osism/release/pull/1884
        patchset: aad3f1b0da68bb9c123d06ef784893390a2fc0e6
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
          src_dir: src/github.com/osism/release
      job: yamllint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGszcy1pby9rM3MgdG8gdjEuMzIuMytrM3MxCgpUaGlzIFBSIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdXBkYXRlczoKCnwgUGFja2FnZSB8IFVwZGF0ZSB8IENoYW5nZSB8CnwtLS18LS0tfC0tLXwKfCBbazNzLWlvL2szc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MpIHwgbWlub3IgfCBgdjEuMzAuMTArazNzMWAgLT4gYHYxLjMyLjMrazNzMWAgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5Pmszcy1pby9rM3MgKGszcy1pby9rM3MpPC9zdW1tYXJ5PgoKIyMjIFtgdjEuMzIuMytrM3MxYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcmVsZWFzZXMvdGFnL3YxLjMyLjMlMkJrM3MxKTogdjEuMzIuMytrM3MxCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL2NvbXBhcmUvdjEuMzIuMitrM3MxLi4udjEuMzIuMytrM3MxKQoKPCEtLSB2MS4zMi4zK2szczEgLS0+CgpUaGlzIHJlbGVhc2UgdXBkYXRlcyBLdWJlcm5ldGVzIHRvIHYxLjMyLjMsIGFuZCBmaXhlcyBhIG51bWJlciBvZiBpc3N1ZXMuCgpGb3IgbW9yZSBkZXRhaWxzIG9uIHdoYXQncyBuZXcsIHNlZSB0aGUgW0t1YmVybmV0ZXMgcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjY2hhbmdlbG9nLXNpbmNlLXYxMzIyKS4KCiMjIyMjIENoYW5nZXMgc2luY2UgdjEuMzIuMitrM3MxOgoKLSAgIFJldmVydCAiQWRkIGFiaWxpdHkgdG8gcGFzcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gZmxhbm5lbCBiYWNrZW5kIiBbKCMmIzgyMDM7MTE4NjcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExODY3KQotICAgQmFja3BvcnQgRG9ja2VyICsgRTJFIHRlc3RpbmcgUFJzIGZvciAyMDI1IE1hcmNoIFsoIyYjODIwMzsxMTg4OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE4ODgpCi0gICBCYWNrcG9ydHMgZm9yIDIwMjUtMDMgWygjJiM4MjAzOzExOTE5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTkxOSkKLSAgIEJ1bXAga2xpcHBlci1sYiBpbWFnZSB0byB2MC40LjEzIFsoIyYjODIwMzsxMTkzMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5MzApCi0gICBGaXggc3luY2luZyBlbXB0eSBsaXN0IG9mIGFwaXNlcnZlciBhZGRyZXNzZXMgZHVyaW5nIGluaXRpYWwgc3RhcnR1cCBbKCMmIzgyMDM7MTE5NTMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTUzKQotICAgVXBkYXRlIHRvIHYxLjMyLjMtazNzMSBbKCMmIzgyMDM7MTE5NjApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTYwKQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzIuMy1rM3MyIFsoIyYjODIwMzsxMTk2OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5NjgpCi0gICBGaXggc2tldyB0ZXN0IGZvciByZWxlYXNlIGNhbmRpZGF0ZXMgWygjJiM4MjAzOzExOTkxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk5MSkKLSAgIEJ1bXAgdG8gY29udGFpbmVyZCB2Mi4wLjQgWygjJiM4MjAzOzEyMDAzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjAwMykKLSAgIEZpeCB1cGdyYWRlIHRlc3QgY29udGFpbmVyIHZlcnNpb24gWygjJiM4MjAzOzEyMDAwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjAwMCkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMi4zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMi5tZCN2MTMyMykgfAp8IEtpbmUgfCBbdjAuMTMuOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy45KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xOS1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTktazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjIuMC40LWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjIuMC40LWszczIpIHwKfCBSdW5jIHwgW3YxLjIuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuNSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2My4zLjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YzLjMuMikgfAp8IENvcmVETlMgfCBbdjEuMTIuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NvcmVkbnMvY29yZWRucy9yZWxlYXNlcy90YWcvdjEuMTIuMCkgfAp8IEhlbG0tY29udHJvbGxlciB8IFt2MC4xNi42XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2hlbG0tY29udHJvbGxlci9yZWxlYXNlcy90YWcvdjAuMTYuNikgfAp8IExvY2FsLXBhdGgtcHJvdmlzaW9uZXIgfCBbdjAuMC4zMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvbG9jYWwtcGF0aC1wcm92aXNpb25lci9yZWxlYXNlcy90YWcvdjAuMC4zMSkgfAoKIyMjIyMgSGVscGZ1bCBMaW5rcwoKQXMgYWx3YXlzLCB3ZSB3ZWxjb21lIGFuZCBhcHByZWNpYXRlIGZlZWRiYWNrIGZyb20gb3VyIGNvbW11bml0eSBvZiB1c2Vycy4gUGxlYXNlIGZlZWwgZnJlZSB0bzoKCi0gICBbT3BlbiBpc3N1ZXMgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2lzc3Vlcy9uZXcvY2hvb3NlKQotICAgW0pvaW4gb3VyIFNsYWNrIGNoYW5uZWxdKGh0dHBzOi8vc2xhY2sucmFuY2hlci5pby8pCi0gICBbQ2hlY2sgb3V0IG91ciBkb2N1bWVudGF0aW9uXShodHRwczovL3JhbmNoZXIuY29tL2RvY3MvazNzL2xhdGVzdC9lbi8pIGZvciBndWlkYW5jZSBvbiBob3cgdG8gZ2V0IHN0YXJ0ZWQgb3IgdG8gZGl2ZSBkZWVwIGludG8gSzNzLgotICAgW1JlYWQgaG93IHlvdSBjYW4gY29udHJpYnV0ZSBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kKQoKIyMjIFtgdjEuMzIuMitrM3MxYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcmVsZWFzZXMvdGFnL3YxLjMyLjIlMkJrM3MxKTogdjEuMzIuMitrM3MxCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL2NvbXBhcmUvdjEuMzIuMStrM3MxLi4udjEuMzIuMitrM3MxKQoKPCEtLSB2MS4zMi4yK2szczEgLS0+CgpUaGlzIHJlbGVhc2UgdXBkYXRlcyBLdWJlcm5ldGVzIHRvIHYxLjMyLjIsIGFuZCBmaXhlcyBhIG51bWJlciBvZiBpc3N1ZXMuCgpGb3IgbW9yZSBkZXRhaWxzIG9uIHdoYXQncyBuZXcsIHNlZSB0aGUgW0t1YmVybmV0ZXMgcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjY2hhbmdlbG9nLXNpbmNlLXYxMzIxKS4KCiMjIyMjIENoYW5nZXMgc2luY2UgdjEuMzIuMStrM3MxOgoKLSAgIENvcnJlY3QgdGhlIGszcyB0b2tlbiBjb21tYW5kIGhlbHAgWygjJiM4MjAzOzExNjg2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTY4NikKLSAgIEphbiAyMDI1IFRlc3RpbmcgT3ZlcmhhdWwsIEUyRSB0byBEb2NrZXIgTWlncmF0aW9uLCBbKCMmIzgyMDM7MTE3MjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNzIzKQotICAgQmFja3BvcnRzIGZvciAyMDI1LTAyIFsoIyYjODIwMzsxMTczMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE3MzApCiAgICAtICAgQWxpZ24gdGhlIENMSS1yZXBvcnRlZCBkZWZhdWx0IGAtLWV0Y2Qtc25hcHNob3QtZGlyYCB2YWx1ZSB3aXRoIHRoZSBhY3R1YWwgb25lIChgc2VydmVyYCwgYGV0Y2Qtc25hcHNob3RgIGNvbW1hbmRzKS4KICAgIC0gICBEaXNhYmxlIHMzIHRyYW5zcG9ydCB0cmFuc3BhcmVudCBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uCiAgICAtICAgRXRjZCBzbmFwc2hvdCBiYWNrdXAvcmVzdG9yZSBub3cgc3VwcG9ydHMgbG9hZGluZyBzMyBjcmVkZW50aWFscyBmcm9tIGFuIEFXUyBTREsgc2hhcmVkIGNyZWRlbnRpYWxzIGZpbGUuCiAgICAtICAgQnVtcCBrbGlwcGVyLWhlbG0gdG8gdjAuOS40CiAgICAtICAgQnVtcCBrbGlwcGVyLWxiIHRvIHYwLjQuMTAKICAgIC0gICBCdW1wIHNwZWdlbCB0byB2MC4wLjMwCiAgICAtICAgQnVtcCBsb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHRvIHYwLjAuMzEKICAgIC0gICBCdW1wIGtpbmUgdG8gdjAuMTMuOAogICAgLSAgIEJ1bXAgZXRjZCB0byB2My41LjE4CiAgICAtICAgQnVtcCB0cmFlZmlrIHRvIDMuMy4yCiAgICAtICAgQ29udGFpbmVyZCBoYXMgYmVlbiBidW1wZWQgdG8gdmVyc2lvbiAyLjAuCiAgICAtICAgVGhlIGNvbnRhaW5lcmQgY29uZmlnIHRlbXBsYXRlcyBmb3IgbGludXggYW5kIHdpbmRvd3MgaGF2ZSBiZWVuIGNvbnNvbGlkYXRlZCBhbmQgYXJlIG5vIGxvbmdlciBvcy1zcGVjaWZpYy4KICAgIC0gICBDb250YWluZXJkIDIuMCB1c2VzIGEgbmV3IGNvbmZpZyBmaWxlIHNjaGVtYS4gSWYgeW91IGFyZSB1c2luZyBhIGN1c3RvbSBjb250YWluZXJkIGNvbmZpZyB0ZW1wbGF0ZSwgeW91IHNob3VsZCBtaWdyYXRlIHlvdXIgdGVtcGxhdGUgdG8gYGNvbmZpZy12My50b21sLnRtcGxgIHRvIHN3aXRjaCB0byB0aGUgbmV3IHZlcnNpb24uIFNlZSB0aGUgW3Vwc3RyZWFtIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb250YWluZXJkL2NvbnRhaW5lcmQvYmxvYi9yZWxlYXNlLzIuMC9kb2NzL2NyaS9jb25maWcubWQpIGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgVXBkYXRlIHRvIHYxLjMyLjItazNzMSBhbmQgR28gMS4yMy42IFsoIyYjODIwMzsxMTc4OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE3ODgpCi0gICBSZW5kZXIgQ05JIGRpciBjb25maWcgd2hlbmV2ZXIgdmFycyBhcmUgc2V0IFsoIyYjODIwMzsxMTgxOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE4MTkpCi0gICBCdW1wIGNvbnRhaW5lcmQgZm9yIGdvLWNuaSBkZWFkbG9jayBmaXggWygjJiM4MjAzOzExODMzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTgzMykKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMi4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMi5tZCN2MTMyMikgfAp8IEtpbmUgfCBbdjAuMTMuOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy45KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xOC1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTgtazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjIuMC4yLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjIuMC4yLWszczIpIHwKfCBSdW5jIHwgW3YxLjIuNC1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi40LWszczEpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjMuMy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZWZpay90cmFlZmlrL3JlbGVhc2VzL3RhZy92My4zLjIpIHwKfCBDb3JlRE5TIHwgW3YxLjEyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjEyLjApIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjYpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzEpIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMyLjErazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMi4xJTJCazNzMSk6IHYxLjMyLjErazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMyLjArazNzMS4uLnYxLjMyLjErazNzMSkKCjwhLS0gdjEuMzIuMStrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMi4xLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMyLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMyMCkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMyLjArazNzMToKCi0gICBCYWNrcG9ydHMgZm9yIDIwMjUtMDEgWygjJiM4MjAzOzExNTY1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTU2NSkKLSAgIEFkZCBhdXRvIGltcG9ydCBpbWFnZXMgZm9yIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmUgWygjJiM4MjAzOzExNTYzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTU2MykKLSAgIDIwMjUgSmFudWFyeSBCYWNrcG9ydHMgWygjJiM4MjAzOzExNTgzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTU4MykKLSAgIEZpeCBsb2NhbCBwYXNzd29yZCB2YWxpZGF0aW9uIHdoZW4gYmluZC1hZGRyZXNzIGlzIHNldCBbKCMmIzgyMDM7MTE2MTApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjEwKQotICAgVXBkYXRlIHRvIHYxLjMyLjEtazNzMSBhbmQgR28gMS4yMy40IFsoIyYjODIwMzsxMTYyMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE2MjApCi0gICBSZW1vdmUgbG9jYWwgcmVzdHJpY3Rpb24gZm9yIGRlZmVycmVkIG5vZGUgcGFzc3dvcmQgdmFsaWRhdGlvbiBbKCMmIzgyMDM7MTE2NDgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ4KQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMyLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMyLm1kI3YxMzIxKSB8CnwgS2luZSB8IFt2MC4xMy41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEzLjUpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjE2LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xNi1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIzLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMy1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjQtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuNC1rM3MxKSB8CnwgRmxhbm5lbCB8IFt2MC4yNS43XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmxhbm5lbC1pby9mbGFubmVsL3JlbGVhc2VzL3RhZy92MC4yNS43KSB8CnwgTWV0cmljcy1zZXJ2ZXIgfCBbdjAuNy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL21ldHJpY3Mtc2VydmVyL3JlbGVhc2VzL3RhZy92MC43LjIpIHwKfCBUcmFlZmlrIHwgW3YyLjExLjE4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZWZpay90cmFlZmlrL3JlbGVhc2VzL3RhZy92Mi4xMS4xOCkgfAp8IENvcmVETlMgfCBbdjEuMTIuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NvcmVkbnMvY29yZWRucy9yZWxlYXNlcy90YWcvdjEuMTIuMCkgfAp8IEhlbG0tY29udHJvbGxlciB8IFt2MC4xNi41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2hlbG0tY29udHJvbGxlci9yZWxlYXNlcy90YWcvdjAuMTYuNSkgfAp8IExvY2FsLXBhdGgtcHJvdmlzaW9uZXIgfCBbdjAuMC4zMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvbG9jYWwtcGF0aC1wcm92aXNpb25lci9yZWxlYXNlcy90YWcvdjAuMC4zMCkgfAoKIyMjIyMgSGVscGZ1bCBMaW5rcwoKQXMgYWx3YXlzLCB3ZSB3ZWxjb21lIGFuZCBhcHByZWNpYXRlIGZlZWRiYWNrIGZyb20gb3VyIGNvbW11bml0eSBvZiB1c2Vycy4gUGxlYXNlIGZlZWwgZnJlZSB0bzoKCi0gICBbT3BlbiBpc3N1ZXMgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2lzc3Vlcy9uZXcvY2hvb3NlKQotICAgW0pvaW4gb3VyIFNsYWNrIGNoYW5uZWxdKGh0dHBzOi8vc2xhY2sucmFuY2hlci5pby8pCi0gICBbQ2hlY2sgb3V0IG91ciBkb2N1bWVudGF0aW9uXShodHRwczovL3JhbmNoZXIuY29tL2RvY3MvazNzL2xhdGVzdC9lbi8pIGZvciBndWlkYW5jZSBvbiBob3cgdG8gZ2V0IHN0YXJ0ZWQgb3IgdG8gZGl2ZSBkZWVwIGludG8gSzNzLgotICAgW1JlYWQgaG93IHlvdSBjYW4gY29udHJpYnV0ZSBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kKQoKIyMjIyMgV2hhdCdzIENoYW5nZWQKCi0gICBcW3JlbGVhc2UtMS4zMl0gUmVtb3ZlIGxvY2FsIHJlc3RyaWN0aW9uIGZvciBkZWZlcnJlZCBub2RlIHBhc3N3b3JkIHZhbGlkYXRpb24gYnkgW0AmIzgyMDM7YnJhbmRvbmRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9icmFuZG9uZCkgaW4gW2h0dHBzOi8vZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE2NDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE2NDgpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IGh0dHBzOi8vZ2l0aHViLmNvbS9rM3MtaW8vazNzL2NvbXBhcmUvdjEuMzIuMS1yYzErazNzMS4uLnYxLjMyLjErazNzMQoKIyMjIFtgdjEuMzIuMCtrM3MxYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcmVsZWFzZXMvdGFnL3YxLjMyLjAlMkJrM3MxKTogdjEuMzIuMCtrM3MxCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL2NvbXBhcmUvdjEuMzEuNytrM3MxLi4udjEuMzIuMCtrM3MxKQoKPCEtLSB2MS4zMi4wK2szczEgLS0+CgpUaGlzIHJlbGVhc2UgaXMgSzNTJ3MgZmlyc3QgaW4gdGhlIHYxLjMyIGxpbmUuIFRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzIuMC4KCkt1YmVybmV0ZXMgMS4zMiBtb3ZlcyB0aGUgYEF1dGhvcml6ZU5vZGVXaXRoU2VsZWN0b3JzYCBmZWF0dXJlIGdhdGUgdG8gQmV0YSBhbmQgb24gYnkgZGVmYXVsdC4gU2VlIFtLRVAtNDYwMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMvZW5oYW5jZW1lbnRzL2Jsb2IvbWFzdGVyL2tlcHMvc2lnLWF1dGgvNDYwMS1hdXRob3JpemUtd2l0aC1zZWxlY3RvcnMvUkVBRE1FLm1kKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KClRoaXMgZmVhdHVyZS1nYXRlIGJyZWFrcyBzb21lIG9mIHRoZSBSQkFDIHRoYXQgcHJldmlvdXMgcmVsZWFzZXMgb2YgSzNzIHJlbGllZCB1cG9uLiBUaGUgSmFudWFyeSByZWxlYXNlcyBvZiBLM3MgdjEuMjksIHYxLjMwLCBhbmQgdjEuMzEgd2lsbCBjb250YWluIGJhY2twb3J0ZWQgZml4ZXMuIFVudGlsIHRoZW4sIHlvdSBtdXN0IHNldCBgLS1rdWJlLWFwaXNlcnZlci1hcmc9ZmVhdHVyZS1nYXRlcz1BdXRob3JpemVOb2RlV2l0aFNlbGVjdG9ycz1mYWxzZWAgb24gc2VydmVyIG5vZGVzLCBpZiB5b3Ugd2FudCB0byBtaXggSzNzIHYxLjMyIG5vZGVzIHdpdGggbm9kZXMgb2Ygb3RoZXIgdmVyc2lvbnMgKHdpdGhpbiB0aGUgbGltaXRzIG9mIHdoYXQgaXMgc3VwcG9ydGVkIGJ5IHRoZSBbS3ViZXJuZXRlcyBWZXJzaW9uIFNrZXcgUG9saWN5XShodHRwczovL2t1YmVybmV0ZXMuaW8vcmVsZWFzZXMvdmVyc2lvbi1za2V3LXBvbGljeS8pKS4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMi5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTApLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMS40K2szczE6CgotICAgRml4IHJvdGF0ZWNhIHZhbGlkYXRpb24gZmFpbHVyZXMgd2hlbiBub3QgdG91Y2hpbmcgZGVmYXVsdCBzZWxmLXNpZ25lZCBDQXMgWygjJiM4MjAzOzEwNzEwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDcxMCkKLSAgIEJ1bXAgcnVuYyB0byB2MS4xLjEzIFsoIyYjODIwMzsxMDczNyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MzcpCi0gICBVcGRhdGUgc3RhYmxlIGNoYW5uZWwgdG8gdjEuMzAuNCtrM3MxIFsoIyYjODIwMzsxMDczOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MzkpCi0gICBGaXggZGVwbG95IGxhdGVzdCBjb21taXQgb24gRTJFIHRlc3RzIFsoIyYjODIwMzsxMDcyNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MjUpCi0gICBSZW1vdmUgc2VjcmV0cyBlbmNyeXB0aW9uIGNvbnRyb2xsZXIgWygjJiM4MjAzOzEwNjEyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDYxMikKLSAgIFVwZGF0ZSBrdWJlcm5ldGVzIHRvIHYxLjMxLjAtazNzMyBbKCMmIzgyMDM7MTA3NjQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzY0KQotICAgQnVtcCB0cmFlZmlrIHRvIHYyLjExLjggWygjJiM4MjAzOzEwNzc5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc3OSkKLSAgIFVwZGF0ZSBjb3JlZG5zIHRvIDEuMTEuMyBhbmQgbWV0cmljcy1zZXJ2ZXIgdG8gMC43LjIgWygjJiM4MjAzOzEwNzYwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc2MCkKLSAgIEFkZCB0cml2eSBzY2FubmluZyB0byBQUiByZXBvcnRzIFsoIyYjODIwMzsxMDc1OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3NTgpCi0gICBDb3ZlciBlZGdlIGNhc2Ugd2hlbiBvbiBuZXcgbWlub3IgcmVsZWFzZSBmb3IgRTJFIHVwZ3JhZGUgdGVzdCBbKCMmIzgyMDM7MTA3ODEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzgxKQotICAgQnVtcCBhcXVhc2VjdXJpdHkvdHJpdnktYWN0aW9uIGZyb20gMC4yMC4wIHRvIDAuMjQuMCBbKCMmIzgyMDM7MTA3OTUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzk1KQotICAgVXBkYXRlIENOSSBwbHVnaW5zIHZlcnNpb24gWygjJiM4MjAzOzEwNzk4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc5OCkKLSAgIEJ1bXAgU29ub2J1b3kgdmVyc2lvbiBbKCMmIzgyMDM7MTA3OTIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzkyKQotICAgRml4IC90cml2eSBhY3Rpb24gcnVubmluZyBhZ2FpbnN0IHRhcmdldCBicmFuY2ggaW5zdGVhZCBvZiBQUiBicmFuY2ggWygjJiM4MjAzOzEwODI0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDgyNCkKLSAgIExhdW5jaCBwcml2YXRlIHJlZ2lzdHJ5IHdpdGggaW5pdCBbKCMmIzgyMDM7MTA4MjIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODIyKQotICAgQWRkIGNoYW5uZWwgZm9yIHYxLjMxIFsoIyYjODIwMzsxMDgyNildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MjYpCi0gICBCdW1wIGNvbnRhaW5lcmQgdG8gdjEuNy4yMSwgcnVuYyB0byB2MS4xLjE0IFsoIyYjODIwMzsxMDgwNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MDUpCi0gICBCdW1wIGhlbG0tY29udHJvbGxlciBmb3Igc2tpcC12ZXJpZnkvcGxhaW4taHR0cCBhbmQgdXBkYXRlZCB0b2xlcmF0aW9ucyBbKCMmIzgyMDM7MTA4MzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODMyKQotICAgVGFnIFBSIGltYWdlIGJ1aWxkIGFzIGxhdGVzdCBiZWZvcmUgc2Nhbm5pbmcgWygjJiM4MjAzOzEwODI1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDgyNSkKLSAgIE9ubHkgY2xlYW4gdXAgY29udGFpbmVyZCBob3N0cyBkaXJzIG1hbmFnZWQgYnkgazNzIFsoIyYjODIwMzsxMDgyMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MjMpCi0gICBSZW1vdmUgb3RlbGdycGMgcGlubmVkIGRlcGVuZGVuY3kgWygjJiM4MjAzOzEwNzk5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc5OSkKLSAgIEFkZCBub2RlLWludGVybmFsLWRucy9ub2RlLWV4dGVybmFsLWRucyBhZGRyZXNzIHBhc3MtdGhyb3VnaCBzdXBwb3J0IFsoIyYjODIwMzsxMDg1MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4NTIpCi0gICBHaXZlIGdvb2QgcmVwb3J0IGlmIG5vIENWRXMgZm91bmQgaW4gdHJpdnkgWygjJiM4MjAzOzEwODUzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg1MykKLSAgIEZpeCBob3N0cy50b21sIGhlYWRlciB2YXIgWygjJiM4MjAzOzEwODcwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg3MCkKLSAgIEJ1bXAgVHJpdnkgdmVyc2lvbiBbKCMmIzgyMDM7MTA4NjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODYzKQotICAgQWRkIGludCB0ZXN0IGZvciBmbGFubmVsLWlwdjZtYXNxIFsoIyYjODIwMzsxMDQ0MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA0NDApCi0gICBCdW1wIFRyaXZ5IHZlcnNpb24gWygjJiM4MjAzOzEwODk5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg5OSkKLSAgIFVwZGF0ZSBLdWJlcm5ldGVzIHRvIHYxLjMxLjEtazNzMyBbKCMmIzgyMDM7MTA5MTEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTExKQotICAgQWRkIE1hcmlhREIgdG8gQ0kgWygjJiM4MjAzOzEwNzI0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDcyNCkKLSAgIFVwZGF0ZSBzdGFibGUgY2hhbm5lbCB0b3YxLjMwLjUrazNzMSBbKCMmIzgyMDM7MTA5MjEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTIxKQotICAgVXNlIHN0YXRpYyBDTkkgYmluIGRpciBbKCMmIzgyMDM7MTA4NjgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODY4KQogICAgLSAgIEszcyBub3cgdXNlcyBhIHN0YWJsZSBkaXJlY3RvcnkgZm9yIENOSSBiaW5hcmllcywgd2hpY2ggc2ltcGxpZmllcyB0aGUgaW5zdGFsbGF0aW9uIG9mIGFkZGl0aW9uYWwgQ05JIHBsdWdpbnMuCi0gICBCcmVha3VwIHRyaXZ5IHNjYW4gYW5kIGNoZWNrIGNvbW1lbnQgYXV0aG9yIFsoIyYjODIwMzsxMDkzNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5MzUpCi0gICBGaXggZ2V0TWVtYmVyc2hpcEZvclVzZXJJbk9yZyBjYWxsIFsoIyYjODIwMzsxMDkzNyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5MzcpCi0gICBDaGVjayBrM3MtaW8gb3JnYW5pemF0aW9uIG1lbWJlcnNoaXAgbm90IHRlYW0gbWVtYmVyc2hpcCBmb3IgdHJpdnkgc2NhbnMgWygjJiM4MjAzOzEwOTQwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk0MCkKLSAgIEJ1bXAga2luZSB0byB2MC4xMy4wIFsoIyYjODIwMzsxMDkzMildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5MzIpCiAgICAtICAgS2luZSBoYXMgYmVlbiBidW1wZWQgdG8gdjAuMTMuMC4gVGhpcyByZWxlYXNlIGluY2x1ZGVzIGNoYW5nZXMgdGhhdCBzaG91bGQgZW5oYW5jZSBwZXJmb3JtYW5jZSB3aGVuIHVzaW5nIHBvc3RncmVzIGFzIGFuIGV4dGVybmFsIERCLiBUaGUgdXBkYXRlZCBzY2hlbWEgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHVzZWQgZm9yIG5ldyBkYXRhYmFzZXM7IHRvIG1pZ3JhdGUgdG8gdGhlIG5ldyBzY2hlbWEgb24gZXhpc3RpbmcgZGF0YWJhc2VzLCBLM3MgY2FuIGJlIHN0YXJ0ZWQgd2l0aCB0aGUgYEtJTkVfU0NIRU1BX01JR1JBVElPTj0yYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBzZXQuCi0gICBGaXggdHJpdnkgcmVwb3J0IGRvd25sb2FkIFsoIyYjODIwMzsxMDk0MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NDMpCi0gICBUcml2eSB3b3JrZmxvdzogU3BlY2lmeSBHSF9SRVBPIGVudiB0byB1c2UgZ2ggY2xpIFsoIyYjODIwMzsxMDk0OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NDkpCi0gICBCdW1wIFRyaXZ5IHZlcnNpb24gWygjJiM4MjAzOzEwOTI0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDkyNCkKLSAgIEJ1bXAgdHJhZWZpayB0byBjaGFydCAyNy4wLjIgWygjJiM4MjAzOzEwOTM5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDkzOSkKLSAgIFBhc3MgUmFuY2hlcidzIFZFWCByZXBvcnQgdG8gVHJpdnkgdG8gcmVtb3ZlIGtub3duIGZhbHNlLXBvc2l0aXZlcyBDVkVzIFsoIyYjODIwMzsxMDk1NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NTYpCi0gICBGaXggdHJpdnkgdmV4IGxpbmUgWygjJiM4MjAzOzEwOTcwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk3MCkKLSAgIEFkZCB1c2VyIHBhdGggdG8gcnVudGltZXMgc2VhcmNoIFsoIyYjODIwMzsxMDk1MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NTMpCiAgICAtICAgUnVudGltZXMgZGV0ZWN0aW9uIHdpbGwgbm93IHVzZSAkUEFUSAotICAgQnVtcCB0byBuZXcgd2hhcmZpZSB2ZXJzaW9uIFsoIyYjODIwMzsxMDk3MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NzEpCi0gICBVcGRhdGUgUkVBRE1FLm1kIFsoIyYjODIwMzsxMDUyMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA1MjMpCi0gICBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBbKCMmIzgyMDM7OTM2MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvOTM2MikKLSAgIEJ1bXAga2luZSB0byB2MC4xMy4yIFsoIyYjODIwMzsxMDk3OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NzgpCi0gICBBbGxvdyBjb25maWd1cmF0aW9uIG9mIFJvb3RsZXNza2l0J3MgQ29weVVwRGlycyB0aHJvdWdoIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIFsoIyYjODIwMzsxMDM4NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTAzODYpCiAgICAtICAgQWRkIG5ldyBlbnZpcm9ubWVudCB2YXJpYWJsZSAiSzNTX1JPT1RMRVNTX0NPUFlVUERJUlMiIHRvIGFkZCBmb2xkZXJzIHRvIHRoZSBSb290bGVzc2tpdCBjb25maWd1cmF0aW9uLgotICAgRml4IHJhY2UgY29uZGl0aW9uIHdoZW4gbXVsdGlwbGUgbm9kZXMgcmVjb25jaWxlIFMzIHNuYXBzaG90cyBbKCMmIzgyMDM7MTA5NzkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTc5KQotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMDk5NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5OTYpCi0gICBBZGQgY2EtY2VydCByb3RhdGlvbiBpbnRlZ3JhdGlvbiB0ZXN0LCBhbmQgZml4IGNhLWNlcnQgcm90YXRpb24gWygjJiM4MjAzOzExMDEzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTAxMykKLSAgIEFkZCBlMmUgdGVzdCB3aGljaCB2ZXJpZmllcyB0cmFmZmljIHBvbGljaWVzIGFuZCBmaXJld2FsbCBpbiBzZXJ2aWNlcyBbKCMmIzgyMDM7MTA5NzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTcyKQotICAgVXBkYXRlIHRjcHByb3h5IGZvciBpbXBvcnQgcGF0aCBjaGFuZ2UgWygjJiM4MjAzOzExMDI5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTAyOSkKLSAgIEJ1bXAgTG9jYWwgUGF0aCBQcm92aXNpb25lciB2ZXJzaW9uIFsoIyYjODIwMzsxMDg2MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4NjIpCi0gICBCdW1wIGxvY2FsLXBhdGgtcHJvdmlzaW9uZXIgdG8gdjAuMC4zMCBbKCMmIzgyMDM7MTEwNDkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDQ5KQotICAgQnVtcCBoZWxtLWNvbnRyb2xsZXIgYW5kIGtsaXBwZXItaGVsbSBbKCMmIzgyMDM7MTEwNjApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDYwKQotICAgQnVtcCBjb250YWluZXJkIHRvIHYxLjcuMjIgWygjJiM4MjAzOzExMDY3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA2NykKLSAgIFNpbXBsaWZ5IHN2Y2xiIGRhZW1vbnNldCBbKCMmIzgyMDM7MTA5NTQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTU0KQogICAgLSAgIFN0b3AgdXNpbmcga2xpcHBlci1sYiBhcyB0aGUgaW1hZ2UgZm9yIHN2Y2xiLiBSZXBsYWNlIGl0IHdpdGggYSBzaW1wbGUgYnVzeWJveCB3aGljaCBqdXN0IHNsZWVwcwotICAgQWRkIHRoZSBudmlkaWEgcnVudGltZSBjZGkgWygjJiM4MjAzOzExMDY1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA2NSkKICAgIC0gICBBZGQgbnZpZGlhIGNkaSBydW50aW1lIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBhbmQgZGlzY292ZXJhYmxlIHJ1bnRpbWVzCi0gICBCdW1wIFRyaXZ5IHZlcnNpb24gWygjJiM4MjAzOzExMTAzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTEwMykKLSAgIFJvbGxiYWNrIEdIQSB0byBVYnVudHUgMjIuMDQgWygjJiM4MjAzOzExMTExKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTExMSkKLSAgIFJldmVydCAiTWFrZSBzdmNsYiBhcyBzaW1wbGUgYXMgcG9zc2libGUiIFsoIyYjODIwMzsxMTEwOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTExMDkpCi0gICBGaXggR2l0aHViIEFjdGlvbnMgZm9yIFVidW50dS0yNC4wNCBbKCMmIzgyMDM7MTExMTIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTEyKQotICAgQnVtcCBhcXVhc2VjdXJpdHkvdHJpdnktYWN0aW9uIGZyb20gMC4yNC4wIHRvIDAuMjcuMCBbKCMmIzgyMDM7MTExMDUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTA1KQotICAgQ2hlY2sgdGhlIGxhc3QgMTAgY29tbWl0cyBmb3IgdXBncmFkZSBFMkUgdGVzdCBbKCMmIzgyMDM7MTEwODYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDg2KQotICAgQnVtcCBhcXVhc2VjdXJpdHkvdHJpdnktYWN0aW9uIGZyb20gMC4yNy4wIHRvIDAuMjguMCBbKCMmIzgyMDM7MTExMzgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTM4KQotICAgRml4ZXMgImZpbGUgZXhpc3RzIiBlcnJvciBmcm9tIENOSSBiaW5zIHdoZW4gdXBncmFkaW5nIGszcyBbKCMmIzgyMDM7MTExMjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTIzKQotICAgUmVkdWNlIHRoZSBudW1iZXIgb2YgR0ggYXBpIHJlcXVlc3QgZm9yIEUyRSBuaWdodGx5IFsoIyYjODIwMzsxMTE0OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTExNDgpCi0gICBVcGRhdGUgS3ViZXJuZXRlcyB0byB2MS4zMS4yLWszczEgYW5kIEdvIDEuMjIuOCBbKCMmIzgyMDM7MTExNjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTYzKQotICAgVXBkYXRlIHN0YWJsZSBjaGFubmVsIHRvIHYxLjMwLjYrazNzMSBbKCMmIzgyMDM7MTExODYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTg2KQotICAgRml4IHRpbWVvdXQgd2hlbiBkZWZyYWdtZW50aW5nIGV0Y2Qgb24gc3RhcnR1cCBbKCMmIzgyMDM7MTExNjQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTY0KQotICAgQ2FwdHVyZSBhbGwgZmVkb3JhIGF0b21pYyB2YXJpYW50cyBpbiBpbnN0YWxsIHNjcmlwdCBbKCMmIzgyMDM7MTExNzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTcwKQogICAgLSAgIEFsbG93IGVhc2llciBpbnN0YWxsYXRpb24gb2YgazNzIG9uIGFsbCB2YXJpYW50cyBvZiBmZWRvcmEgYXRvbWljIHRoYXQgdXNlIHJwbS1vc3RyZWUKLSAgIFR5cG8gZml4ZXMgaW4gY29udHJpYnV0aW5nLm1kIFsoIyYjODIwMzsxMTIwMSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMDEpCi0gICBCdW1wIFRyaXZ5IHZlcnNpb24gWygjJiM4MjAzOzExMjA2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTIwNikKLSAgIFBpbiB2YWdyYW50IHRvIG9sZGVyIHZlcnNpb24gdG8gYXZvaWQga25vd24gaXNzdWUgMTM1MjcgWygjJiM4MjAzOzExMjI2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTIyNikKLSAgIFNldCBraW5lIEVtdWxhdGVkRVRDRFZlcnNpb24gZnJvbSBlbWJlZGRlZCBldGNkIHZlcnNpb24gWygjJiM4MjAzOzExMjIxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTIyMSkKLSAgIEFkZCBub25yb290LWRldmljZXMgZmxhZyB0byBhZ2VudCBDTEkgWygjJiM4MjAzOzExMjAwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTIwMCkKICAgIC0gICBgRGV2aWNlX293bmVyc2hpcF9mcm9tX3NlY3VyaXR5X2NvbnRleHRgIGNhbiBub3cgYmUgZW5hYmxlZCBpbiB0aGUgY29udGFpbmVyZCBDUkkgY29uZmlnIGJ5IHNldHRpbmcgdGhlIGAtLW5vbnJvb3QtZGV2aWNlc2AgZmxhZyBvciBjb25maWcga2V5LgotICAgQnVtcCBydW5jIHRvIHYxLjIgWygjJiM4MjAzOzEwODk2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg5NikKLSAgIFVwZGF0ZSBmbGFubmVsIGFuZCBiYXNlIGNuaSBwbHVnaW5zIHZlcnNpb24gWygjJiM4MjAzOzExMTg4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTE4OCkKLSAgIEJ1bXAgZ2l0aHViLmNvbS9nb2xhbmctand0L2p3dC92NCBmcm9tIDQuNS4wIHRvIDQuNS4xIFsoIyYjODIwMzsxMTIzNildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMzYpCi0gICBGaXggTXVzdEZpbmRTdHJpbmcgcmV0dXJuaW5nIG92ZXJyaWRlIGZsYWdzIG9uIGV4dGVybmFsIENMSSBjb21tYW5kcyBbKCMmIzgyMDM7MTEyMzcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjM3KQotICAgQnVtcCBjb250YWluZXJkIHRvIHYxLjcuMjMtazNzMSB0byBmaXggcmVnaXN0cnkgcmV3cml0ZSB0b2tlbiBzY29wZXMgWygjJiM4MjAzOzExMjM4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTIzOCkKLSAgIEZpeCB0aGUgIlN0YW5kYWxvbmUiLW1vZGUgb2Ygb2lkYy1sb2dpbiBpbiB0aGUgd3JhcHBlZCBrdWJlY3RsIGxpYnJhcnkgWygjJiM4MjAzOzExMjY2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTI2NikKICAgIC0gICBGaXhlcyAnbm8gQXV0aCBQcm92aWRlciBmb3VuZCBmb3IgbmFtZSAib2lkYyInIHdoZW4gdXNpbmcgb2lkYy1sb2dpbiBpbiBzdGFuZGFsb25lIG1vZGUuCi0gICBCdW1wIEszcy1yb290IHZlcnNpb24gdG8gdjAuMTQuMSBbKCMmIzgyMDM7MTEyODIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjgyKQotICAgQnVtcCBraW5lIFsoIyYjODIwMzsxMTI3NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyNzcpCi0gICBCdW1wIGtpbmUgZm9yIG15c3FsIGNvbm5lY3Rpb24gY2xvc2UgZml4IFsoIyYjODIwMzsxMTMwNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzMDUpCi0gICBGaXggaGFuZGxpbmcgb2Ygd3JhcHBlZCBzdWJjb21tYW5kcyB3aGVuIHJ1biB3aXRoIGEgcGF0aCBbKCMmIzgyMDM7MTEzMDYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzA2KQotICAgRml4IHVwZGF0ZWNsaSBjb25maWcgZm9yIGtsaXBwZXIgYW5kIGhlbG0tY29udHJvbGxlciBbKCMmIzgyMDM7MTEyOTApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjkwKQotICAgRml4IGlzc3VlIHdpdGggbG9hZGJhbGFuY2VyIGZhaWxvdmVyIHRvIGRlZmF1bHQgc2VydmVyIFsoIyYjODIwMzsxMTMxOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzMTkpCi0gICBVcGRhdGUgYGxvY2Fsc3RvcmFnZV9pbnRfdGVzdC5nb2AgcmVmZXJlbmNlIFsoIyYjODIwMzsxMTMzOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzMzkpCiAgICAtICAgVXBkYXRlIGBsb2NhbHN0b3JhZ2VfaW50X3Rlc3QuZ29gIHJlZmVyZW5jZSBpbiBgdGVzdHMvaW50ZWdyYXRpb24vUkVBRE1FLm1kYAotICAgQWRkICB0byB0aGUgb3V0cHV0IGNvbW1hbmQgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBwcm9kdWN0IGNvbW1hbmQgWygjJiM4MjAzOzExMzQ1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM0NSkKLSAgIEFsbG93IGluc3RhbGwgc2NyaXB0IHRvIHByaW50IGVycm9yIG9uIGZhaWxlZCBiaW5hcnkgZG93bmxvYWQgWygjJiM4MjAzOzExMzM1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTMzNSkKLSAgIFJlbW92ZSB0aGUgZ28gdG9vbGNoYWluIGxpbmUgWygjJiM4MjAzOzExMzU4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM1OCkKLSAgIEFkZCB1YnVudHUgMjQuMDQgYXB0IGNvbW1hbmQgZm9yIGUyZSB0ZXN0IFsoIyYjODIwMzsxMTM2MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNjEpCi0gICBCdW1wIFRyaXZ5IHZlcnNpb24gWygjJiM4MjAzOzExMzYwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM2MCkKLSAgIEJ1bXAgYXF1YXNlY3VyaXR5L3RyaXZ5LWFjdGlvbiBmcm9tIDAuMjguMCB0byAwLjI5LjAgWygjJiM4MjAzOzExMzY0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM2NCkKLSAgIENvbnZlcnQgbGVnYWN5IGRvY2tlciB0ZXN0cyBmcm9tIGJhc2ggdG8gZ29sYW5nIFsoIyYjODIwMzsxMTM1NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNTcpCi0gICBVcGRhdGUgS3ViZXJuZXRlcyB0byB2MS4zMS4zLWszczEgWygjJiM4MjAzOzExMzczKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM3MykKLSAgIEZpeCBCcmFuY2ggTmFtZSBsb2dpYyBmb3IgRGVwZW5kYWJvdCBhbmQgVXBkYXRlQ0xJIHB1c2hlcyB0byBrM3MtaW8gWygjJiM4MjAzOzExMzc2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM3NikKLSAgIEZpeCBJTlNUQUxMX0szU19QUiBzdXBwb3J0IFsoIyYjODIwMzsxMTM4MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzODMpCi0gICBGaXggZXRjZCBiYWNrdXAvcmVzdG9yZSB0ZXN0IGFuZCBhZGQgZ3VhcmRyYWlsIGZvciBldGNkLXNuYXBzaG90IFsoIyYjODIwMzsxMTMxNCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzMTQpCi0gICBCdW1wIGNvbnRhaW5lcmQgdG8gLWszczIgdG8gZml4IHJld3JpdGVzIFsoIyYjODIwMzsxMTQwMSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0MDEpCi0gICBGaXggb3BlbnN1c2UtbGVhcCBpbnN0YWxsIHRlc3QgWygjJiM4MjAzOzExMzc5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM3OSkKLSAgIEZpeCBzZWNyZXRzLWVuY3J5cHQgcmVlbmNyeXB0IHRpbWVvdXQgZXJyb3IgWygjJiM4MjAzOzExMzg1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM4NSkKLSAgIFJld29yayBsb2FkYmFsYW5jZXIgc2VydmVyIHNlbGVjdGlvbiBsb2dpYyBbKCMmIzgyMDM7MTEzMjkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzI5KQotICAgUmVtb3ZlIGV4cGVyaW1lbnRhbCBmcm9tIGVtYmVkZGVkLXJlZ2lzdHJ5IGZsYWcgWygjJiM4MjAzOzExNDQzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQ0MykKLSAgIFVwZGF0ZSBzdGFibGUgY2hhbm5lbCB0byB2MS4zMS4zK2szczEgWygjJiM4MjAzOzExNDM2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQzNikKLSAgIEZpeCBhZ2VudCB0dW5uZWwgYWRkcmVzcyB3aXRoIGRlZGljYXRlZCBzdXBlcnZpc29yIHBvcnQgWygjJiM4MjAzOzExNDI3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQyNykKLSAgIFVwZGF0ZSBjb3JlZG5zIHRvIDEuMTIuMCBbKCMmIzgyMDM7MTEzODcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzg3KQotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMTQzMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0MzApCi0gICBVcGRhdGUgdG8gdjEuMzEuNC1rM3MxIGFuZCBHbyAxLjIyLjkgWygjJiM4MjAzOzExNDYzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQ2MykKLSAgIEJ1bXAgYWxwaW5lIGZyb20gMy4yMCB0byAzLjIxIGluIC9jb25mb3JtYW5jZSBbKCMmIzgyMDM7MTE0MzMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDMzKQotICAgRml4IGRvY2tlciBjaGVjayB3YXJuaW5ncyBbKCMmIzgyMDM7MTE0NzQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDc0KQotICAgVXBkYXRlIHN0YWJsZSBjaGFubmVsIHRvIHYxLjMxLjQrazNzMSBbKCMmIzgyMDM7MTE0ODMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDgzKQotICAgVjEuMzIuMCtrM3MxIFsoIyYjODIwMzsxMTQ3OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NzgpCi0gICBTd2l0Y2ggdG8gdXNpbmcga3ViZWxldCBjb25maWcgZmlsZSBmb3IgYWxsIHN1cHBvcnRlZCBmbGFncyBbKCMmIzgyMDM7MTA0MzMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNDMzKQotICAgTG9hZCBrZXJuZWwgbW9kdWxlcyBmb3IgbmZ0IGluIGFnZW50IHNldHVwIFsoIyYjODIwMzsxMTUyNyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1MjcpCgojIyMjIyBFbWJlZGRlZCBDb21wb25lbnQgVmVyc2lvbnMKCnwgQ29tcG9uZW50IHwgVmVyc2lvbiB8CnwtLS18LS0tfAp8IEt1YmVybmV0ZXMgfCBbdjEuMzIuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjdjEzMjApIHwKfCBLaW5lIHwgW3YwLjEzLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuNSkgfAp8IFNRTGl0ZSB8IFszLjQ2LjFdKGh0dHBzOi8vc3FsaXRlLm9yZy9yZWxlYXNlbG9nLzNcXzQ2XF8xLmh0bWwpIHwKfCBFdGNkIHwgW3YzLjUuMTYtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9ldGNkL3JlbGVhc2VzL3RhZy92My41LjE2LWszczEpIHwKfCBDb250YWluZXJkIHwgW3YxLjcuMjMtazNzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9jb250YWluZXJkL3JlbGVhc2VzL3RhZy92MS43LjIzLWszczIpIHwKfCBSdW5jIHwgW3YxLjIuMS1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi4xLWszczEpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjIuMTEuMTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YyLjExLjEwKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi41KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMwKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS43K2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuNyUyQmszczEpOiB2MS4zMS43K2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMS42K2szczEuLi52MS4zMS43K2szczEpCgo8IS0tIHYxLjMxLjcrazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuNywgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTYpLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMS42K2szczE6CgotICAgUmV2ZXJ0ICJBZGQgYWJpbGl0eSB0byBwYXNzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBmbGFubmVsIGJhY2tlbmQiIFsoIyYjODIwMzsxMTg2OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE4NjgpCi0gICBCYWNrcG9ydCBEb2NrZXIgKyBFMkUgdGVzdGluZyBQUnMgZm9yIDIwMjUgTWFyY2ggWygjJiM4MjAzOzExODg3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTg4NykKLSAgIEJhY2twb3J0cyBmb3IgMjAyNS0wMyBbKCMmIzgyMDM7MTE5MjApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTIwKQotICAgQnVtcCBrbGlwcGVyLWxiIHRvIHYwLjQuMTMgWygjJiM4MjAzOzExOTI3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTkyNykKLSAgIEZpeCBzeW5jaW5nIGVtcHR5IGxpc3Qgb2YgYXBpc2VydmVyIGFkZHJlc3NlcyBkdXJpbmcgaW5pdGlhbCBzdGFydHVwIFsoIyYjODIwMzsxMTk1NCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5NTQpCi0gICBVcGRhdGUgdG8gdjEuMzEuNy1rM3MxIFsoIyYjODIwMzsxMTk1OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5NTgpCi0gICBGaXggc2tldyB0ZXN0IGZvciByZWxlYXNlIGNhbmRpZGF0ZXMgWygjJiM4MjAzOzExOTkwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk5MCkKLSAgIEJ1bXAgdG8gY29udGFpbmVyZCB2Mi4wLjQgWygjJiM4MjAzOzEyMDA0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjAwNCkKLSAgIEZpeCB1cGdyYWRlIHRlc3QgY29udGFpbmVyIHZlcnNpb24gWygjJiM4MjAzOzExOTk5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk5OSkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS43XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxNykgfAp8IEtpbmUgfCBbdjAuMTMuOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy45KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xOS1rM3MxLjMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTktazNzMS4zMCkgfAp8IENvbnRhaW5lcmQgfCBbdjIuMC40LWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjIuMC40LWszczIpIHwKfCBSdW5jIHwgW3YxLjIuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuNSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4yMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMjApIHwKfCBDb3JlRE5TIHwgW3YxLjEyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjEyLjApIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjYpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzEpIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMxLjYrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS42JTJCazNzMSk6IHYxLjMxLjYrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjUrazNzMS4uLnYxLjMxLjYrazNzMSkKCjwhLS0gdjEuMzEuNitrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS42LCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxNSkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjUrazNzMToKCi0gICBDb3JyZWN0IHRoZSBrM3MgdG9rZW4gY29tbWFuZCBoZWxwIFsoIyYjODIwMzsxMTY4NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE2ODUpCi0gICBKYW4gMjAyNSBUZXN0aW5nIE92ZXJoYXVsLCBFMkUgdG8gRG9ja2VyIE1pZ3JhdGlvbiwgWygjJiM4MjAzOzExNzI0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTcyNCkKLSAgIEJhY2twb3J0cyBmb3IgMjAyNS0wMiBbKCMmIzgyMDM7MTE3MzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNzMyKQogICAgLSAgIEFsaWduIHRoZSBDTEktcmVwb3J0ZWQgZGVmYXVsdCBgLS1ldGNkLXNuYXBzaG90LWRpcmAgdmFsdWUgd2l0aCB0aGUgYWN0dWFsIG9uZSAoYHNlcnZlcmAsIGBldGNkLXNuYXBzaG90YCBjb21tYW5kcykuCiAgICAtICAgRGlzYWJsZSBzMyB0cmFuc3BvcnQgdHJhbnNwYXJlbnQgY29tcHJlc3Npb24vZGVjb21wcmVzc2lvbgogICAgLSAgIEV0Y2Qgc25hcHNob3QgYmFja3VwL3Jlc3RvcmUgbm93IHN1cHBvcnRzIGxvYWRpbmcgczMgY3JlZGVudGlhbHMgZnJvbSBhbiBBV1MgU0RLIHNoYXJlZCBjcmVkZW50aWFscyBmaWxlLgogICAgLSAgIEJ1bXAga2xpcHBlci1oZWxtIHRvIHYwLjkuNAogICAgLSAgIEJ1bXAga2xpcHBlci1sYiB0byB2MC40LjEwCiAgICAtICAgQnVtcCBzcGVnZWwgdG8gdjAuMC4zMAogICAgLSAgIEJ1bXAgbG9jYWwtcGF0aC1wcm92aXNpb25lciB0byB2MC4wLjMxCiAgICAtICAgQnVtcCBraW5lIHRvIHYwLjEzLjgKICAgIC0gICBCdW1wIGV0Y2QgdG8gdjMuNS4xOAogICAgLSAgIEJ1bXAgdHJhZWZpayB0byAyLjExLjIwCiAgICAtICAgQ29udGFpbmVyZCBoYXMgYmVlbiBidW1wZWQgdG8gdmVyc2lvbiAyLjAuCiAgICAtICAgVGhlIGNvbnRhaW5lcmQgY29uZmlnIHRlbXBsYXRlcyBmb3IgbGludXggYW5kIHdpbmRvd3MgaGF2ZSBiZWVuIGNvbnNvbGlkYXRlZCBhbmQgYXJlIG5vIGxvbmdlciBvcy1zcGVjaWZpYy4KICAgIC0gICBDb250YWluZXJkIDIuMCB1c2VzIGEgbmV3IGNvbmZpZyBmaWxlIHNjaGVtYS4gSWYgeW91IGFyZSB1c2luZyBhIGN1c3RvbSBjb250YWluZXJkIGNvbmZpZyB0ZW1wbGF0ZSwgeW91IHNob3VsZCBtaWdyYXRlIHlvdXIgdGVtcGxhdGUgdG8gYGNvbmZpZy12My50b21sLnRtcGxgIHRvIHN3aXRjaCB0byB0aGUgbmV3IHZlcnNpb24uIFNlZSB0aGUgW3Vwc3RyZWFtIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb250YWluZXJkL2NvbnRhaW5lcmQvYmxvYi9yZWxlYXNlLzIuMC9kb2NzL2NyaS9jb25maWcubWQpIGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgQnVtcCB0cmFlZmlrIHRvIHYyLjExLjIwIFsoIyYjODIwMzsxMTc2MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE3NjMpCi0gICBVcGRhdGUgdG8gdjEuMzEuNi1rM3MxIGFuZCBHbyAxLjIyLjEyIFsoIyYjODIwMzsxMTc4NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE3ODcpCi0gICBSZW5kZXIgQ05JIGRpciBjb25maWcgd2hlbmV2ZXIgdmFycyBhcmUgc2V0IFsoIyYjODIwMzsxMTgyMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE4MjApCi0gICBCdW1wIGNvbnRhaW5lcmQgZm9yIGdvLWNuaSBkZWFkbG9jayBmaXggWygjJiM4MjAzOzExODM0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTgzNCkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS42XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxNikgfAp8IEtpbmUgfCBbdjAuMTMuOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy45KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xOC1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTgtazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjIuMC4yLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjIuMC4yLWszczIpIHwKfCBSdW5jIHwgW3YxLjIuNC1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi40LWszczIpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjIuMTEuMjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YyLjExLjIwKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi42KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMxKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS41K2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuNSUyQmszczEpOiB2MS4zMS41K2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMS40K2szczEuLi52MS4zMS41K2szczEpCgo8IS0tIHYxLjMxLjUrazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuNSwgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTQpLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMS40K2szczE6CgotICAgQWRkIGd1YXJkcmFpbCBmb3IgZXRjZC1zbmFwc2hvdCBbKCMmIzgyMDM7MTEzOTMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzkzKQotICAgQmFja3BvcnRzIGZvciAyMDI1LTAxIFsoIyYjODIwMzsxMTU2NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1NjYpCi0gICBBZGQgYXV0byBpbXBvcnQgaW1hZ2VzIGZvciBjb250YWluZXJkIGltYWdlIHN0b3JlIFsoIyYjODIwMzsxMTU2MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1NjIpCi0gICAyMDI1IEphbnVhcnkgQmFja3BvcnRzIFsoIyYjODIwMzsxMTU4OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1ODgpCi0gICBMb2FkIGtlcm5lbCBtb2R1bGVzIGZvciBuZnQgaW4gYWdlbnQgc2V0dXAgWygjJiM4MjAzOzExNTk2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTU5NikKLSAgIEZpeCBsb2NhbCBwYXNzd29yZCB2YWxpZGF0aW9uIHdoZW4gYmluZC1hZGRyZXNzIGlzIHNldCBbKCMmIzgyMDM7MTE2MTEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjExKQotICAgVXBkYXRlIHRvIHYxLjMxLjUtazNzMSBhbmQgR28gMS4yMi4xMCBbKCMmIzgyMDM7MTE2MjEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjIxKQotICAgUmVtb3ZlIGxvY2FsIHJlc3RyaWN0aW9uIGZvciBkZWZlcnJlZCBub2RlIHBhc3N3b3JkIHZhbGlkYXRpb24gWygjJiM4MjAzOzExNjQ5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTY0OSkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxNSkgfAp8IEtpbmUgfCBbdjAuMTMuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy41KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xNi1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTYtazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjEuNy4yMy1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YxLjcuMjMtazNzMikgfAp8IFJ1bmMgfCBbdjEuMi40LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjQtazNzMSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTgpIHwKfCBDb3JlRE5TIHwgW3YxLjEyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjEyLjApIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgXFtyZWxlYXNlLTEuMzFdIFJlbW92ZSBsb2NhbCByZXN0cmljdGlvbiBmb3IgZGVmZXJyZWQgbm9kZSBwYXNzd29yZCB2YWxpZGF0aW9uIGJ5IFtAJiM4MjAzO2JyYW5kb25kXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYnJhbmRvbmQpIGluIFtodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ5KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjUtcmMxK2szczEuLi52MS4zMS41K2szczEKCiMjIyBbYHYxLjMxLjQrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS40JTJCazNzMSk6IHYxLjMxLjQrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjMrazNzMS4uLnYxLjMxLjQrazNzMSkKCjwhLS0gdjEuMzEuNCtrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS40LCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxMykuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjMrazNzMToKCi0gICBGaXggc2VjcmV0cy1lbmNyeXB0IHJlZW5jcnlwdCB0aW1lb3V0IGVycm9yIFsoIyYjODIwMzsxMTQ0MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NDIpCi0gICBSZW1vdmUgZXhwZXJpbWVudGFsIGZyb20gZW1iZWRkZWQtcmVnaXN0cnkgZmxhZyBbKCMmIzgyMDM7MTE0NDQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDQ0KQotICAgUmV3b3JrIGxvYWRiYWxhbmNlciBzZXJ2ZXIgc2VsZWN0aW9uIGxvZ2ljIFsoIyYjODIwMzsxMTQ1NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NTcpCiAgICAtICAgVGhlIGVtYmVkZGVkIGNsaWVudCBsb2FkYmFsYW5jZXIgdGhhdCBoYW5kbGVzIGNvbm5lY3Rpdml0eSB0byBjb250cm9sLXBsYW5lIGVsZW1lbnRzIGhhcyBiZWVuIGV4dGVuc2l2ZWx5IHJld29ya2VkIGZvciBpbXByb3ZlZCBwZXJmb3JtYW5jZSwgcmVsaWFiaWxpdHksIGFuZCBvYnNlcnZhYmlsaXR5LgotICAgVXBkYXRlIGNvcmVkbnMgdG8gMS4xMi4wIFsoIyYjODIwMzsxMTQ1NCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NTQpCi0gICBBZGQgbm9kZS1pbnRlcm5hbC1kbnMvbm9kZS1leHRlcm5hbC1kbnMgYWRkcmVzcyBwYXNzLXRocm91Z2ggc3VwcG9ydCDigKYgWygjJiM4MjAzOzExNDY0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQ2NCkKLSAgIFVwZGF0ZSB0byB2MS4zMS40LWszczEgYW5kIEdvIDEuMjIuOSBbKCMmIzgyMDM7MTE0NjIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDYyKQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMxLjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI3YxMzE0KSB8CnwgS2luZSB8IFt2MC4xMy41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEzLjUpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjE2LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xNi1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIzLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMy1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjEpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjIuMTEuMTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YyLjExLjEwKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi41KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMwKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS4zK2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuMyUyQmszczEpOiB2MS4zMS4zK2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMS4yK2szczEuLi52MS4zMS4zK2szczEpCgo8IS0tIHYxLjMxLjMrazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuMywgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTIpLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMS4yK2szczE6CgotICAgQmFja3BvcnQgRTJFIEdIQSBmaXhlcyBbKCMmIzgyMDM7MTEyMzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjMwKQotICAgQmFja3BvcnRzIGZvciAyMDI0LTExIFsoIyYjODIwMzsxMTI2MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyNjEpCi0gICBVcGRhdGUgZmxhbm5lbCBhbmQgYmFzZSBjbmkgcGx1Z2lucyB2ZXJzaW9uIFsoIyYjODIwMzsxMTI0NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyNDcpCi0gICBCdW1wIHRvIGxhdGVzdCBrM3Mtcm9vdCB2ZXJzaW9uIGluIHNjcmlwdHMvdmVyc2lvbi5zaCBbKCMmIzgyMDM7MTEzMDIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzAyKQotICAgTW9yZSBiYWNrcG9ydHMgZm9yIDIwMjQtMTEgWygjJiM4MjAzOzExMzA3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTMwNykKLSAgIEZpeCBpc3N1ZSB3aXRoIGxvYWRiYWxhbmNlciBmYWlsb3ZlciB0byBkZWZhdWx0IHNlcnZlciBbKCMmIzgyMDM7MTEzMjQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzI0KQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzEuMy1rM3MxIFsoIyYjODIwMzsxMTM3MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNzIpCi0gICBCdW1wIGNvbnRhaW5lcmQgdG8gLWszczIgdG8gZml4IHJld3JpdGVzIFsoIyYjODIwMzsxMTQwMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0MDMpCgojIyMjIyBFbWJlZGRlZCBDb21wb25lbnQgVmVyc2lvbnMKCnwgQ29tcG9uZW50IHwgVmVyc2lvbiB8CnwtLS18LS0tfAp8IEt1YmVybmV0ZXMgfCBbdjEuMzEuM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzEubWQjdjEzMTMpIHwKfCBLaW5lIHwgW3YwLjEzLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuNSkgfAp8IFNRTGl0ZSB8IFszLjQ2LjFdKGh0dHBzOi8vc3FsaXRlLm9yZy9yZWxlYXNlbG9nLzNcXzQ2XF8xLmh0bWwpIHwKfCBFdGNkIHwgW3YzLjUuMTYtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9ldGNkL3JlbGVhc2VzL3RhZy92My41LjE2LWszczEpIHwKfCBDb250YWluZXJkIHwgW3YxLjcuMjMtazNzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9jb250YWluZXJkL3JlbGVhc2VzL3RhZy92MS43LjIzLWszczIpIHwKfCBSdW5jIHwgW3YxLjIuMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuMSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTApIHwKfCBDb3JlRE5TIHwgW3YxLjExLjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjExLjMpIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMxLjIrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS4yJTJCazNzMSk6IHYxLjMxLjIrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjErazNzMS4uLnYxLjMxLjIrazNzMSkKCjwhLS0gdjEuMzEuMitrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS4yLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxMSkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjErazNzMToKCi0gICBBZGQgaW50IHRlc3QgZm9yIGZsYW5uZWwtaXB2Nm1hc3EgWygjJiM4MjAzOzEwOTA0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDkwNCkKLSAgIEJ1bXAgV2hhcmZpZSB0byB2MC42LjcgWygjJiM4MjAzOzEwOTc0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk3NCkKLSAgIEFkZCB1c2VyIHBhdGggdG8gcnVudGltZXMgc2VhcmNoIFsoIyYjODIwMzsxMTAwMildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwMDIpCi0gICBBZGQgZTJlIHRlc3QgZm9yIGFkdmFuY2VkIGZpZWxkcyBpbiBzZXJ2aWNlcyBbKCMmIzgyMDM7MTEwMjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDIzKQotICAgTGF1bmNoIHByaXZhdGUgcmVnaXN0cnkgd2l0aCBpbml0IFsoIyYjODIwMzsxMTA0OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwNDgpCi0gICBCYWNrcG9ydHMgZm9yIDIwMjQtMTAgWygjJiM4MjAzOzExMDU0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA1NCkKLSAgIEFsbG93IGFkZGl0aW9uYWwgUm9vdGxlc3MgQ29weVVwRGlycyB0aHJvdWdoIEszU19ST09UTEVTU19DT1BZVVBESVJTIFsoIyYjODIwMzsxMTA0MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwNDEpCi0gICBCdW1wIGNvbnRhaW5lcmQgdG8gdjEuNy4yMiBbKCMmIzgyMDM7MTEwNzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDcyKQotICAgU2ltcGxpZnkgc3ZjbGIgZHMgWygjJiM4MjAzOzExMDc5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA3OSkKLSAgIEFkZCB0aGUgbnZpZGlhIHJ1bnRpbWUgY2RpIFsoIyYjODIwMzsxMTA5MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwOTMpCi0gICBSZXZlcnQgIk1ha2Ugc3ZjbGIgYXMgc2ltcGxlIGFzIHBvc3NpYmxlIiBbKCMmIzgyMDM7MTExMTgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTE4KQotICAgRml4ZXMgImZpbGUgZXhpc3RzIiBlcnJvciBmcm9tIENOSSBiaW5zIHdoZW4gdXBncmFkaW5nIGszcyBbKCMmIzgyMDM7MTExMjUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTI1KQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzEuMiBbKCMmIzgyMDM7MTExNTUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTU1KQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMxLjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI3YxMzEyKSB8CnwgS2luZSB8IFt2MC4xMy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEzLjIpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjEzLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xMy1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIyLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMi1rM3MxKSB8CnwgUnVuYyB8IFt2MS4xLjE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMS4xNCkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNikgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTApIHwKfCBDb3JlRE5TIHwgW3YxLjExLjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjExLjMpIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMxLjErazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS4xJTJCazNzMSk6IHYxLjMxLjErazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjArazNzMS4uLnYxLjMxLjErazNzMSkKCjwhLS0gdjEuMzEuMStrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS4xLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxMCkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjArazNzMToKCi0gICBUZXN0aW5nIEFuZCBTZWNyZXRzLUVuY3J5cHRpb24gQmFja3BvcnRzIGZvciAyMDI0LTA5IFsoIyYjODIwMzsxMDgwMildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MDIpCiAgICAtICAgUmVtb3ZlIHNlY3JldHMgZW5jcnlwdGlvbiBjb250cm9sbGVyCiAgICAtICAgQ292ZXIgZWRnZSBjYXNlIHdoZW4gb24gbmV3IG1pbm9yIHJlbGVhc2UgZm9yIEUyRSB1cGdyYWRlIHRlc3QKLSAgIFVwZGF0ZSBDTkkgcGx1Z2lucyB2ZXJzaW9uIFsoIyYjODIwMzsxMDgxNyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MTcpCi0gICBCYWNrcG9ydHMgZm9yIDIwMjQtMDkgWygjJiM4MjAzOzEwODQyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg0MikKLSAgIEZpeCBob3N0cy50b21sIGhlYWRlciB2YXIgWygjJiM4MjAzOzEwODcxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg3MSkKLSAgIFVwZGF0ZSBLdWJlcm5ldGVzIHRvIHYxLjMxLjEgWygjJiM4MjAzOzEwODk1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg5NSkKLSAgIFVwZGF0ZSBLdWJlcm5ldGVzIHRvIHYxLjMxLjEtazNzMyBbKCMmIzgyMDM7MTA5MTApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTEwKQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMxLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI3YxMzExKSB8CnwgS2luZSB8IFt2MC4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEyLjApIHwKfCBTUUxpdGUgfCBbMy40NC4wXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NFxfMC5odG1sKSB8CnwgRXRjZCB8IFt2My41LjEzLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xMy1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIxLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMS1rM3MyKSB8CnwgUnVuYyB8IFt2MS4xLjE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMS4xNCkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNikgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS44XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZWZpay90cmFlZmlrL3JlbGVhc2VzL3RhZy92Mi4xMS44KSB8CnwgQ29yZUROUyB8IFt2MS4xMS4zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMS4zKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi40KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjI4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjI4KSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS4wK2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuMCUyQmszczEpOiB2MS4zMS4wK2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMC4xMStrM3MxLi4udjEuMzEuMCtrM3MxKQoKPCEtLSB2MS4zMS4wK2szczEgLS0+CgpUaGlzIHJlbGVhc2UgaXMgSzNTJ3MgZmlyc3QgaW4gdGhlIHYxLjMxIGxpbmUuIFRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuMC4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMDApLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMC40K2szczE6CgotICAgTW92ZSB0ZXN0LWNvbXBhdCBkb2NrZXIgdGVzdCB0byBHSEEgWygjJiM4MjAzOzEwNDE0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDQxNCkKLSAgIENoZWNrIGZvciBiYWQgdG9rZW4gcGVybWlzc2lvbnMgd2hlbiBpbnN0YWxsIHZpYSBQUiBbKCMmIzgyMDM7MTAzODcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwMzg3KQotICAgQnVtcCBrM3Mtcm9vdCB0byB2MC4xNC4wIFsoIyYjODIwMzsxMDQ2NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA0NjYpCiAgICAtICAgVGhlIGszcyBidW5kbGVkIHVzZXJzcGFjZSBoYXMgYmVlbiBidW1wZWQgdG8gYSByZWxlYXNlIGJhc2VkIG9uIGJ1aWxkcm9vdCAyMDI0LjAyLjMsIGFkZHJlc3Npbmcgc2V2ZXJhbCBDVkVzIGluIGJ1c3lib3ggYW5kIGNvcmV1dGlscy4KLSAgIEZpeCBJTlNUQUxMX0szU19QUiBzdXBwb3J0IFsoIyYjODIwMzsxMDQ3MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA0NzIpCi0gICBBZGQgYGRhdGEtZGlyYCB0byB1bmluc3RhbGwgYW5kIGtpbGxhbGwgc2NyaXB0cyBbKCMmIzgyMDM7MTA0NzMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNDczKQotICAgQnVtcCBnaXRodWIuY29tL2hhc2hpY29ycC9nby1yZXRyeWFibGVodHRwIGZyb20gMC43LjQgdG8gMC43LjcgWygjJiM4MjAzOzEwNDAwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDQwMCkKLSAgIEJ1bXAgZ29sYW5nOmFscGluZSBpbWFnZSB2ZXJzaW9uIFsoIyYjODIwMzsxMDM1OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTAzNTkpCi0gICBCdW1wIExvY2FsIFBhdGggUHJvdmlzaW9uZXIgdmVyc2lvbiBbKCMmIzgyMDM7MTAzOTQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwMzk0KQotICAgRW5zdXJlIHJlbW90ZWRpYWxlciBrdWJlbGV0IGNvbm5lY3Rpb25zIHVzZSBrdWJlbGV0IGJpbmQgYWRkcmVzcyBbKCMmIzgyMDM7MTA0ODApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNDgwKQogICAgLSAgIEZpeGVkIGFuIGlzc3VlIHdoZXJlIHNldHRpbmcgdGhlIGAtLWJpbmQtYWRkcmVzc2AgZmxhZyB0byBhIG5vbi1sb29wYmFjayBvciB3aWxkY2FyZCBhZGRyZXNzIHdvdWxkIHByZXZlbnQgYGt1YmVjdGwgbG9nc2AgZnJvbSB3b3JraW5nIHByb3Blcmx5LgotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMDMzOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTAzMzkpCi0gICBBZGQgZXRjZCBzMyBjb25maWcgc2VjcmV0IGltcGxlbWVudGF0aW9uIFsoIyYjODIwMzsxMDM0MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTAzNDApCiAgICAtICAgQSBwcm94eSBjYW4gbm93IGJlIGNvbmZpZ3VyZWQgZm9yIHVzZSB3aGVuIHVwbG9hZGluZyBldGNkIHNuYXBzaG90cyB0byBhIHMzLWNvbXBhdGlibGUgc3RvcmFnZSBzZXJ2aWNlLiBUaGlzIG92ZXJyaWRlcyBhbnkgcHJveHkgc2V0dGluZ3MgcGFzc2VkIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCiAgICAtICAgQ3JlZGVudGlhbHMgYW5kIGVuZHBvaW50IGNvbmZpZ3VyYXRpb24gZm9yIHN0b3JpbmcgZXRjZCBzbmFwc2hvdHMgb24gYSBzMy1jb21wYXRpYmxlIHN0b3JhZ2Ugc2VydmljZSBjYW4gbm93IGJlIHJlYWQgZnJvbSBhIFNlY3JldCwgaW5zdGVhZCBvZiBwYXNzaW5nIHRoZW0gdmlhIHRoZSBDTEkgb3IgY29uZmlnIGZpbGUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9ibG9iL21hc3Rlci9kb2NzL2FkcnMvZXRjZC1zMy1zZWNyZXQubWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0gICBGb3IgRTJFIHVwZ3JhZGUgdGVzdCwgYXV0b21hdGljYWxseSBkZXRlcm1pbmUgdGhlIGNoYW5uZWwgdG8gdXNlIFsoIyYjODIwMzsxMDQ2MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA0NjEpCi0gICBCdW1wIGtpbmUgdG8gdjAuMTEuMTEgWygjJiM4MjAzOzEwNDk0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDQ5NCkKLSAgIEZpeCBsb2FkYmFsYW5jZXIgcmVlbnRyYW50IHJsb2NrIFsoIyYjODIwMzsxMDUxMSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA1MTEpCiAgICAtICAgRml4ZWQgYW4gaXNzdWUgdGhhdCBjb3VsZCBjYXVzZSB0aGUgYWdlbnQgbG9hZGJhbGFuY2VyIHRvIGRlYWRsb2NrIHdoZW4gdGhlIGN1cnJlbnRseSBpbi11c2Ugc2VydmVyIGdvZXMgZG93bi4KLSAgIERvbid0IHVzZSBzZXJ2ZXIgdmFsdWUgZnJvbSBjb25maWcgZmlsZSBmb3IgZXRjZC1zbmFwc2hvdCBjb21tYW5kcyBbKCMmIzgyMDM7MTA1MTQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTE0KQogICAgLSAgIFRoZSBgLS1zZXJ2ZXJgIGFuZCBgLS10b2tlbmAgZmxhZ3MgZm9yIHRoZSBgazNzIGV0Y2Qtc25hcHNob3RgIGNvbW1hbmQgaGF2ZSBiZWVuIHJlbmFtZWQgdG8gYC0tZXRjZC1zZXJ2ZXJgIGFuZCBgLS1ldGNkLXRva2VuYCwgdG8gYXZvaWQgdW5pbnRlbnRpb25hbGx5IHJ1bm5pbmcgc25hcHNob3QgbWFuYWdlbWVudCBjb21tYW5kcyBhZ2FpbnN0IGEgcmVtb3RlIG5vZGUgd2hlbiB0aGUgY2x1c3RlciBqb2luIGFkZHJlc3Mgb3IgdG9rZW4gYXJlIHByZXNlbnQgaW4gYSBjb25maWcgZmlsZS4KLSAgIFVzZSBwYWdpbmF0aW9uIHdoZW4gbGlzdGluZyBsYXJnZSBudW1iZXJzIG9mIHJlc291cmNlcyBbKCMmIzgyMDM7MTA1MjcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTI3KQotICAgRml4IG11bHRpcGxlIGlzc3VlcyB3aXRoIHNlcnZpY2VsYiBbKCMmIzgyMDM7MTA1NTIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTUyKQogICAgLSAgIEZpeGVkIGlzc3VlIHRoYXQgY2F1c2VkIFNlcnZpY2VMQiB0byBmYWlsIHRvIGNyZWF0ZSBhIGRhZW1vbnNldCBmb3Igc2VydmljZXMgd2l0aCBsb25nIG5hbWVzCiAgICAtICAgRml4ZWQgaXNzdWUgdGhhdCBjYXVzZWQgU2VydmljZUxCIHBvZHMgdG8gY3Jhc2hsb29wIG9uIG5vZGVzIHdpdGggaXB2NiBkaXNhYmxlZCBhdCB0aGUga2VybmVsIGxldmVsCi0gICBFbmhhbmNlIEUyRSBIYXJkZW5lZCBvcHRpb24gWygjJiM4MjAzOzEwNTU4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDU1OCkKLSAgIEFsbG93IFBwcm9mIGFuZCBTdXBlcmlzb3IgbWV0cmljcyBpbiBzdGFuZGFsb25lIG1vZGUgWygjJiM4MjAzOzEwNTc2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDU3NikKLSAgIFVzZSBoaWdoZXIgUVBTIGZvciBzZWNyZXRzIHJlZW5jcnlwdGlvbiBbKCMmIzgyMDM7MTA1NzEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTcxKQotICAgRml4IGlzc3VlcyBsb2FkaW5nIGRhdGEtZGlyIHZhbHVlIGZyb20gZW52IHZhcnMgb3IgZHJvcGluIGNvbmZpZyBmaWxlcyBbKCMmIzgyMDM7MTA1OTEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTkxKQotICAgUmVtb3ZlIGRlcHJlY2F0ZWQgdXNlIG9mIHdhaXQuIGZ1bmN0aW9ucyBbKCMmIzgyMDM7MTA1NDYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTQ2KQotICAgV2lyZSBsYXNzbyBtZXRyaWNzIHVwIHRvIG1ldHJpY3MgZW5kcG9pbnQgWygjJiM4MjAzOzEwNTI4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDUyOCkKLSAgIFVwZGF0ZSBzdGFibGUgY2hhbm5lbCB0byB2MS4zMC4zK2szczEgWygjJiM4MjAzOzEwNjQ3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDY0NykKLSAgIEJ1bXAgZG9ja2VyL2RvY2tlciB0byB2MjUuMC42IFsoIyYjODIwMzsxMDY0MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA2NDIpCi0gICBBZGQgYSBjaGFuZ2UgZm9yIGtpbGxhbGwgdG8gbm90IHVubW91bnQgc2VydmVyIGFuZCBhZ2VudCBkaXJlY3RvcnkgWygjJiM4MjAzOzEwNDAzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDQwMykKLSAgIEFsbG93IGVkZ2UgY2FzZSBPUyBycG0gaW5zdGFsbHMgWygjJiM4MjAzOzEwNjgwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDY4MCkKLSAgIEJ1bXAgY29udGFpbmVyZCB0byB2MS43LjIwIFsoIyYjODIwMzsxMDY1OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA2NTkpCi0gICBVcGRhdGUgdG8gbmV3ZXIgT1MgaW1hZ2VzIGZvciBpbnN0YWxsIHRlc3RpbmcgWygjJiM4MjAzOzEwNjgxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDY4MSkKLSAgIEJ1bXAgaGVsbS1jb250cm9sbGVyIHRvIHYwLjE2LjMgdG8gZHJvcCBIZWxtIHYyIHN1cHBvcnQgWygjJiM4MjAzOzEwNjI4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDYyOCkKLSAgIEFkZCB0b2xlcmF0aW9uIHN1cHBvcnQgdG8gU2VydmljZUxCIERhZW1vblNldCBbKCMmIzgyMDM7MTA2ODcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNjg3KQogICAgLSAgIC0gICAqKk5ldyBGZWF0dXJlKio6IFVzZXJzIGNhbiBub3cgZGVmaW5lIEt1YmVybmV0ZXMgdG9sZXJhdGlvbnMgZm9yIFNlcnZpY2VMQiBEYWVtb25TZXQgZGlyZWN0bHkgaW4gdGhlIGBzdmNjb250cm9sbGVyLmszcy5jYXR0bGUuaW8vdG9sZXJhdGlvbnNgIGFubm90YXRpb24gb24gc2VydmljZXMuCi0gICBGaXg6IEFkZCAkU1VETyBwcmVmaXggdG8gdHJhbnNhY3Rpb25hbC11cGRhdGUgY29tbWFuZHMgaW4gaW5zdGFsbCBzY3JpcHQgWygjJiM4MjAzOzEwNTMxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDUzMSkKLSAgIFVwZGF0ZSB0byB2MS4zMC4zLWszczEgYW5kIEdvIDEuMjIuNSBbKCMmIzgyMDM7MTA3MDcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzA3KQotICAgRml4IGNhY2hpbmcgbmFtZSBmb3IgZTJlIHZhZ3JhbnQgYm94IFsoIyYjODIwMzsxMDY5NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA2OTUpCi0gICBGaXggazNzLWtpbGxhbGwuc2ggc3VwcG9ydCBmb3IgY3VzdG9tIGRhdGEgZGlyIFsoIyYjODIwMzsxMDcwOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MDkpCi0gICBBZGRpbmcgTWFyaWFEQiB0byBSRUFETUUubWQgWygjJiM4MjAzOzEwNzE3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDcxNykKLSAgIEJ1bXAgVHJpdnkgdmVyc2lvbiBbKCMmIzgyMDM7MTA2NzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNjcwKQotICAgVjEuMzEuMC1rM3MxIFsoIyYjODIwMzsxMDcxNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MTUpCi0gICBVcGRhdGUga3ViZXJuZXRlcyB0byB2MS4zMS4wLWszczMgWygjJiM4MjAzOzEwNzgwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc4MCkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxMCkgfAp8IEtpbmUgfCBbdjAuMTIuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMi4wKSB8CnwgU1FMaXRlIHwgWzMuNDQuMF0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDRcXzAuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xMy1rM3MxXShodHRwczovL3JlZGkKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vcmVsZWFzZSkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSXpPUzR5TWpjdU15SXNJblZ3WkdGMFpXUkpibFpsY2lJNklqTTVMakl5Tnk0eklpd2lkR0Z5WjJWMFFuSmhibU5vSWpvaWJXRnBiaUlzSW14aFltVnNjeUk2V3lKeVpXNXZkbUYwWlNKZGZRPT0tLT4K
      patchset: aad3f1b0da68bb9c123d06ef784893390a2fc0e6
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: fa94074a33c2a4b1ff3eaadb063e1f29046bf671
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9708ed452ed9fce72a674b31923b7d6b8269e8c8
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: c212ef9fff456ceede260bdfaaf903f6e2d2313a
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: fa94074a33c2a4b1ff3eaadb063e1f29046bf671
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9708ed452ed9fce72a674b31923b7d6b8269e8c8
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/yamllint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/release
        name: osism/release
        short_name: release
        src_dir: src/github.com/osism/release
      projects:
        github.com/osism/release:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          checkout: main
          checkout_description: zuul branch
          commit: 21d154c103082c76b6bc7430d7dbb8448f237e96
          name: osism/release
          required: false
          short_name: release
          src_dir: src/github.com/osism/release
      ref: refs/pull/1884/head
      resources: {}
      tenant: osism
      timeout: 1800
      voting: true
