<!--
 Copyright 2020 Google LLC

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

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

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

<manifest>

  <include name="flaky_repos.xml" />

  <remote  name="cos"
           fetch="https://cos.googlesource.com"
           review="https://cos-review.googlesource.com"  />
  <default remote="cos" revision="refs/heads/main-R85-13310.B" sync-j="8" />
  <notice>
Your sources have been sync'd successfully.
  </notice>

  <!-- mirrored cros_sdk dependencies -->
  <project path="chromite/infra/proto"
           name="mirrors/cros/chromiumos/infra/proto"
           revision="318376056bca545db5d536c734424b7c0457688e" />
  <project path="chromite/third_party/pyelftools"
           name="mirrors/cros/chromiumos/third_party/pyelftools"
           revision="0890b98431a9b2e637c18f719232d06a4e5c3cd8" />
  <project path="src/platform/crostestutils"
           name="mirrors/cros/chromiumos/platform/crostestutils"
           revision="eb7540005dc36527f3c800f20da876fc4602de71" />
  <project path="src/scripts"
           name="mirrors/cros/chromiumos/platform/crosutils"
           revision="431cf23a01176ff966364f80c6b9ed6e046dfd8b" />
  <project path="src/third_party/autotest/files"
           name="mirrors/cros/chromiumos/third_party/autotest"
           revision="b9a7131be637ee4dbe5dac716ccda145594c73aa" />
  <project path="src/platform/dev"
           name="mirrors/cros/chromiumos/platform/dev-util"
           revision="3b94aaf7ab46f1e73d00748414bfec9c97986de7" />
  <project path="src/platform/verity"
           name="mirrors/cros/chromiumos/platform/dm-verity"
           revision="393cd4d510256b0bb2bdd0acd9656105cfd28771" />
  <project path="src/third_party/toolchain-utils"
           name="mirrors/cros/chromiumos/third_party/toolchain-utils"
           revision="dc996b9cd333b330ca79985a93f9a71995676a71" />
  <project path="src/third_party/portage_tool"
           name="mirrors/cros/chromiumos/third_party/portage_tool"
           revision="0e1f3adafd56a94cbf3b0aa63b150eb5a64f2ca1" />
  <project path="src/chromium/depot_tools"
           name="mirrors/cros/chromium/tools/depot_tools"
           revision="19d4809e112652f918494840bab819603b0a2816" />
  <project path="src/third_party/coreboot"
           name="mirrors/cros/chromiumos/third_party/coreboot"
           revision="125a5ec1a5e381af69dddfb921621affc307466d" />
  <project path="src/third_party/modp_b64"
           name="mirrors/cros/aosp/platform/external/modp_b64"
           revision="467734f4870d3ab23968f5ebdd461f6112e4103b" />
  <project path="src/platform2"
           name="mirrors/cros/chromiumos/platform2"
           revision="24b587ef5ef0ede247dd005819ac22c6d889b0e4" />
  <project path="src/third_party/u-boot/files"
           name="mirrors/cros/chromiumos/third_party/u-boot"
           revision="4fdd055df627ffe351cfdf03d230eaf63399e1c2" />
  <project path="src/third_party/flashmap"
           name="mirrors/cros/chromiumos/third_party/flashmap"
           revision="2f7b2e16f588dde75a0c9c28175f16b8cb9e11dc" />


  <!-- COS sources -->
  <project path="src/overlays"
           name="cos/overlays/board-overlays" />
  <project path="src/third_party/portage-stable"
           name="third_party/overlays/portage-stable" />
  <project path="src/third_party/eclass-overlay"
           name="third_party/overlays/eclass-overlay"
           revision="refs/heads/release-R85-13310.B" />
  <project path="src/third_party/chromiumos-overlay"
           sync-c="true"
           name="third_party/overlays/chromiumos-overlay" />
  <project path="src/platform/vboot_reference"
           name="third_party/platform/vboot_reference"
           revision="refs/heads/release-R85-13310.B" />
  <project path="src/repohooks"
           name="cos/repohooks"
           revision="refs/heads/master" />
  <project path="src/platform/cobble"
           name="cos/cobble"
           revision="refs/heads/release-R85-13310.B" />
  <project path="manifest" name="cos/manifest" >
      <copyfile src="LICENSE" dest="LICENSE" />
  </project>
  <project path="src/third_party/kernel/v5.4"
           name="third_party/kernel"
           revision="refs/heads/main-R85-13310.B-cos-5.4" />
  <project path="src/third_party/kernel/v4.19"
           name="third_party/kernel"
           revision="refs/heads/cos-4.19" />

  <!-- forked cros_sdk dependencies -->
  <project path="chromite"
           name="third_party/chromite"
           revision="refs/heads/release-R85-13310.B" />

  <repo-hooks enabled-list="pre-upload"
           in-project="cos/repohooks" />

</manifest>
