[dartdoc] Updating dart reference docs
diff --git a/sdk/dart/_toc.yaml b/sdk/dart/_toc.yaml
index 312ece7..2a32953 100644
--- a/sdk/dart/_toc.yaml
+++ b/sdk/dart/_toc.yaml
@@ -4,6 +4,2462 @@
 - heading: Fuchsia
 - title: Fuchsia
   path: /reference/dart/Fuchsia/Fuchsia-library.md
+- heading: collection
+- title: collection
+  path: /reference/dart/package-collection_collection/package-collection_collection-library.md
+  section:
+  - heading: Classes
+  - title: CanonicalizedMap
+    path: /reference/dart/package-collection_collection/CanonicalizedMap-class.md
+    section:
+    - heading: Constructors
+    - title: CanonicalizedMap
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.md
+    - title: CanonicalizedMap.from
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.from.md
+    - heading: Methods
+    - title: addAll
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/addAll.md
+    - title: addEntries
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/addEntries.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/clear.md
+    - title: containsKey
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/containsKey.md
+    - title: containsValue
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/containsValue.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/forEach.md
+    - title: map
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/operator_put.md
+    - title: putIfAbsent
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/putIfAbsent.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/remove.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/removeWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/retype.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/toString.md
+    - title: update
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/update.md
+    - title: updateAll
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/updateAll.md
+    - heading: Properties
+    - title: entries
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/entries.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/isNotEmpty.md
+    - title: keys
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/keys.md
+    - title: length
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/runtimeType.md
+    - title: values
+      path: /reference/dart/package-collection_collection/CanonicalizedMap/values.md
+  - title: CaseInsensitiveEquality
+    path: /reference/dart/package-collection_collection/CaseInsensitiveEquality-class.md
+    section:
+    - heading: Constructors
+    - title: CaseInsensitiveEquality
+      path: /reference/dart/package-collection_collection/CaseInsensitiveEquality/CaseInsensitiveEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/CaseInsensitiveEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/CaseInsensitiveEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/CaseInsensitiveEquality/isValidKey.md
+  - title: CombinedIterableView
+    path: /reference/dart/package-collection_collection/CombinedIterableView-class.md
+    section:
+    - heading: Constructors
+    - title: CombinedIterableView
+      path: /reference/dart/package-collection_collection/CombinedIterableView/CombinedIterableView.md
+    - heading: Methods
+    - title: any
+      path: /reference/dart/package-collection_collection/CombinedIterableView/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/CombinedIterableView/cast.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/CombinedIterableView/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/CombinedIterableView/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/CombinedIterableView/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/CombinedIterableView/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/CombinedIterableView/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/CombinedIterableView/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/CombinedIterableView/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/CombinedIterableView/forEach.md
+    - title: join
+      path: /reference/dart/package-collection_collection/CombinedIterableView/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/CombinedIterableView/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/CombinedIterableView/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/CombinedIterableView/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/CombinedIterableView/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/CombinedIterableView/reduce.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/CombinedIterableView/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/CombinedIterableView/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/CombinedIterableView/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/CombinedIterableView/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/CombinedIterableView/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/CombinedIterableView/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/CombinedIterableView/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/CombinedIterableView/toString.md
+    - title: where
+      path: /reference/dart/package-collection_collection/CombinedIterableView/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/CombinedIterableView/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/CombinedIterableView/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/CombinedIterableView/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/CombinedIterableView/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/CombinedIterableView/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/CombinedIterableView/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/CombinedIterableView/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/CombinedIterableView/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/CombinedIterableView/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/CombinedIterableView/single.md
+  - title: CombinedListView
+    path: /reference/dart/package-collection_collection/CombinedListView-class.md
+    section:
+    - heading: Constructors
+    - title: CombinedListView
+      path: /reference/dart/package-collection_collection/CombinedListView/CombinedListView.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/CombinedListView/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/CombinedListView/addAll.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/CombinedListView/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/CombinedListView/clear.md
+    - title: fillRange
+      path: /reference/dart/package-collection_collection/CombinedListView/fillRange.md
+    - title: insert
+      path: /reference/dart/package-collection_collection/CombinedListView/insert.md
+    - title: insertAll
+      path: /reference/dart/package-collection_collection/CombinedListView/insertAll.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/CombinedListView/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/CombinedListView/operator_put.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/CombinedListView/remove.md
+    - title: removeAt
+      path: /reference/dart/package-collection_collection/CombinedListView/removeAt.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/CombinedListView/removeLast.md
+    - title: removeRange
+      path: /reference/dart/package-collection_collection/CombinedListView/removeRange.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/CombinedListView/removeWhere.md
+    - title: replaceRange
+      path: /reference/dart/package-collection_collection/CombinedListView/replaceRange.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/CombinedListView/retainWhere.md
+    - title: setAll
+      path: /reference/dart/package-collection_collection/CombinedListView/setAll.md
+    - title: setRange
+      path: /reference/dart/package-collection_collection/CombinedListView/setRange.md
+    - title: shuffle
+      path: /reference/dart/package-collection_collection/CombinedListView/shuffle.md
+    - title: sort
+      path: /reference/dart/package-collection_collection/CombinedListView/sort.md
+    - heading: Properties
+    - title: iterator
+      path: /reference/dart/package-collection_collection/CombinedListView/iterator.md
+    - title: length
+      path: /reference/dart/package-collection_collection/CombinedListView/length.md
+  - title: CombinedMapView
+    path: /reference/dart/package-collection_collection/CombinedMapView-class.md
+    section:
+    - heading: Constructors
+    - title: CombinedMapView
+      path: /reference/dart/package-collection_collection/CombinedMapView/CombinedMapView.md
+    - heading: Methods
+    - title: addAll
+      path: /reference/dart/package-collection_collection/CombinedMapView/addAll.md
+    - title: addEntries
+      path: /reference/dart/package-collection_collection/CombinedMapView/addEntries.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/CombinedMapView/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/CombinedMapView/clear.md
+    - title: containsKey
+      path: /reference/dart/package-collection_collection/CombinedMapView/containsKey.md
+    - title: containsValue
+      path: /reference/dart/package-collection_collection/CombinedMapView/containsValue.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/CombinedMapView/forEach.md
+    - title: map
+      path: /reference/dart/package-collection_collection/CombinedMapView/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/CombinedMapView/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/CombinedMapView/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/CombinedMapView/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/CombinedMapView/operator_put.md
+    - title: putIfAbsent
+      path: /reference/dart/package-collection_collection/CombinedMapView/putIfAbsent.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/CombinedMapView/remove.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/CombinedMapView/removeWhere.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/CombinedMapView/toString.md
+    - title: update
+      path: /reference/dart/package-collection_collection/CombinedMapView/update.md
+    - title: updateAll
+      path: /reference/dart/package-collection_collection/CombinedMapView/updateAll.md
+    - heading: Properties
+    - title: entries
+      path: /reference/dart/package-collection_collection/CombinedMapView/entries.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/CombinedMapView/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/CombinedMapView/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/CombinedMapView/isNotEmpty.md
+    - title: keys
+      path: /reference/dart/package-collection_collection/CombinedMapView/keys.md
+    - title: length
+      path: /reference/dart/package-collection_collection/CombinedMapView/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/CombinedMapView/runtimeType.md
+    - title: values
+      path: /reference/dart/package-collection_collection/CombinedMapView/values.md
+  - title: DeepCollectionEquality
+    path: /reference/dart/package-collection_collection/DeepCollectionEquality-class.md
+    section:
+    - heading: Constructors
+    - title: DeepCollectionEquality
+      path: /reference/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.md
+    - title: DeepCollectionEquality.unordered
+      path: /reference/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.unordered.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/DeepCollectionEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/DeepCollectionEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/DeepCollectionEquality/isValidKey.md
+  - title: DefaultEquality
+    path: /reference/dart/package-collection_collection/DefaultEquality-class.md
+    section:
+    - heading: Constructors
+    - title: DefaultEquality
+      path: /reference/dart/package-collection_collection/DefaultEquality/DefaultEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/DefaultEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/DefaultEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/DefaultEquality/isValidKey.md
+  - title: DelegatingIterable
+    path: /reference/dart/package-collection_collection/DelegatingIterable-class.md
+    section:
+    - heading: Constructors
+    - title: DelegatingIterable
+      path: /reference/dart/package-collection_collection/DelegatingIterable/DelegatingIterable.md
+    - heading: Methods
+    - title: any
+      path: /reference/dart/package-collection_collection/DelegatingIterable/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/DelegatingIterable/cast.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/DelegatingIterable/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/DelegatingIterable/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/DelegatingIterable/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/DelegatingIterable/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/DelegatingIterable/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/DelegatingIterable/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/DelegatingIterable/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/DelegatingIterable/forEach.md
+    - title: join
+      path: /reference/dart/package-collection_collection/DelegatingIterable/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/DelegatingIterable/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/DelegatingIterable/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/DelegatingIterable/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/DelegatingIterable/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/DelegatingIterable/reduce.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/DelegatingIterable/retype.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/DelegatingIterable/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/DelegatingIterable/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/DelegatingIterable/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/DelegatingIterable/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/DelegatingIterable/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/DelegatingIterable/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/DelegatingIterable/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/DelegatingIterable/toString.md
+    - title: typed
+      path: /reference/dart/package-collection_collection/DelegatingIterable/typed.md
+    - title: where
+      path: /reference/dart/package-collection_collection/DelegatingIterable/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/DelegatingIterable/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/DelegatingIterable/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/DelegatingIterable/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/DelegatingIterable/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/DelegatingIterable/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/DelegatingIterable/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/DelegatingIterable/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/DelegatingIterable/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/DelegatingIterable/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/DelegatingIterable/single.md
+  - title: DelegatingList
+    path: /reference/dart/package-collection_collection/DelegatingList-class.md
+    section:
+    - heading: Constructors
+    - title: DelegatingList
+      path: /reference/dart/package-collection_collection/DelegatingList/DelegatingList.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/DelegatingList/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/DelegatingList/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/DelegatingList/any.md
+    - title: asMap
+      path: /reference/dart/package-collection_collection/DelegatingList/asMap.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/DelegatingList/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/DelegatingList/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/DelegatingList/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/DelegatingList/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/DelegatingList/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/DelegatingList/expand.md
+    - title: fillRange
+      path: /reference/dart/package-collection_collection/DelegatingList/fillRange.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/DelegatingList/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/DelegatingList/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/DelegatingList/forEach.md
+    - title: getRange
+      path: /reference/dart/package-collection_collection/DelegatingList/getRange.md
+    - title: indexOf
+      path: /reference/dart/package-collection_collection/DelegatingList/indexOf.md
+    - title: indexWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/indexWhere.md
+    - title: insert
+      path: /reference/dart/package-collection_collection/DelegatingList/insert.md
+    - title: insertAll
+      path: /reference/dart/package-collection_collection/DelegatingList/insertAll.md
+    - title: join
+      path: /reference/dart/package-collection_collection/DelegatingList/join.md
+    - title: lastIndexOf
+      path: /reference/dart/package-collection_collection/DelegatingList/lastIndexOf.md
+    - title: lastIndexWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/lastIndexWhere.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/DelegatingList/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/DelegatingList/noSuchMethod.md
+    - title: operator +
+      path: /reference/dart/package-collection_collection/DelegatingList/operator_plus.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/DelegatingList/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/DelegatingList/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/DelegatingList/operator_put.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/DelegatingList/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/DelegatingList/remove.md
+    - title: removeAt
+      path: /reference/dart/package-collection_collection/DelegatingList/removeAt.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/DelegatingList/removeLast.md
+    - title: removeRange
+      path: /reference/dart/package-collection_collection/DelegatingList/removeRange.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/removeWhere.md
+    - title: replaceRange
+      path: /reference/dart/package-collection_collection/DelegatingList/replaceRange.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/retainWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/DelegatingList/retype.md
+    - title: setAll
+      path: /reference/dart/package-collection_collection/DelegatingList/setAll.md
+    - title: setRange
+      path: /reference/dart/package-collection_collection/DelegatingList/setRange.md
+    - title: shuffle
+      path: /reference/dart/package-collection_collection/DelegatingList/shuffle.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/DelegatingList/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/DelegatingList/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/DelegatingList/skipWhile.md
+    - title: sort
+      path: /reference/dart/package-collection_collection/DelegatingList/sort.md
+    - title: sublist
+      path: /reference/dart/package-collection_collection/DelegatingList/sublist.md
+    - title: take
+      path: /reference/dart/package-collection_collection/DelegatingList/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/DelegatingList/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/DelegatingList/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/DelegatingList/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/DelegatingList/toString.md
+    - title: typed
+      path: /reference/dart/package-collection_collection/DelegatingList/typed.md
+    - title: where
+      path: /reference/dart/package-collection_collection/DelegatingList/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/DelegatingList/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/DelegatingList/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/DelegatingList/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/DelegatingList/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/DelegatingList/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/DelegatingList/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/DelegatingList/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/DelegatingList/length.md
+    - title: reversed
+      path: /reference/dart/package-collection_collection/DelegatingList/reversed.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/DelegatingList/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/DelegatingList/single.md
+  - title: DelegatingMap
+    path: /reference/dart/package-collection_collection/DelegatingMap-class.md
+    section:
+    - heading: Constructors
+    - title: DelegatingMap
+      path: /reference/dart/package-collection_collection/DelegatingMap/DelegatingMap.md
+    - heading: Methods
+    - title: addAll
+      path: /reference/dart/package-collection_collection/DelegatingMap/addAll.md
+    - title: addEntries
+      path: /reference/dart/package-collection_collection/DelegatingMap/addEntries.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/DelegatingMap/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/DelegatingMap/clear.md
+    - title: containsKey
+      path: /reference/dart/package-collection_collection/DelegatingMap/containsKey.md
+    - title: containsValue
+      path: /reference/dart/package-collection_collection/DelegatingMap/containsValue.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/DelegatingMap/forEach.md
+    - title: map
+      path: /reference/dart/package-collection_collection/DelegatingMap/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/DelegatingMap/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/DelegatingMap/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/DelegatingMap/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/DelegatingMap/operator_put.md
+    - title: putIfAbsent
+      path: /reference/dart/package-collection_collection/DelegatingMap/putIfAbsent.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/DelegatingMap/remove.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/DelegatingMap/removeWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/DelegatingMap/retype.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/DelegatingMap/toString.md
+    - title: typed
+      path: /reference/dart/package-collection_collection/DelegatingMap/typed.md
+    - title: update
+      path: /reference/dart/package-collection_collection/DelegatingMap/update.md
+    - title: updateAll
+      path: /reference/dart/package-collection_collection/DelegatingMap/updateAll.md
+    - heading: Properties
+    - title: entries
+      path: /reference/dart/package-collection_collection/DelegatingMap/entries.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/DelegatingMap/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/DelegatingMap/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/DelegatingMap/isNotEmpty.md
+    - title: keys
+      path: /reference/dart/package-collection_collection/DelegatingMap/keys.md
+    - title: length
+      path: /reference/dart/package-collection_collection/DelegatingMap/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/DelegatingMap/runtimeType.md
+    - title: values
+      path: /reference/dart/package-collection_collection/DelegatingMap/values.md
+  - title: DelegatingQueue
+    path: /reference/dart/package-collection_collection/DelegatingQueue-class.md
+    section:
+    - heading: Constructors
+    - title: DelegatingQueue
+      path: /reference/dart/package-collection_collection/DelegatingQueue/DelegatingQueue.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/DelegatingQueue/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/DelegatingQueue/addAll.md
+    - title: addFirst
+      path: /reference/dart/package-collection_collection/DelegatingQueue/addFirst.md
+    - title: addLast
+      path: /reference/dart/package-collection_collection/DelegatingQueue/addLast.md
+    - title: any
+      path: /reference/dart/package-collection_collection/DelegatingQueue/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/DelegatingQueue/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/DelegatingQueue/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/DelegatingQueue/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/DelegatingQueue/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/DelegatingQueue/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/DelegatingQueue/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/DelegatingQueue/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/DelegatingQueue/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/DelegatingQueue/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/DelegatingQueue/forEach.md
+    - title: join
+      path: /reference/dart/package-collection_collection/DelegatingQueue/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/DelegatingQueue/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/DelegatingQueue/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/DelegatingQueue/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/DelegatingQueue/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/DelegatingQueue/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/DelegatingQueue/remove.md
+    - title: removeFirst
+      path: /reference/dart/package-collection_collection/DelegatingQueue/removeFirst.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/DelegatingQueue/removeLast.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/DelegatingQueue/removeWhere.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/DelegatingQueue/retainWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/DelegatingQueue/retype.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/DelegatingQueue/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/DelegatingQueue/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/DelegatingQueue/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/DelegatingQueue/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/DelegatingQueue/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/DelegatingQueue/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/DelegatingQueue/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/DelegatingQueue/toString.md
+    - title: typed
+      path: /reference/dart/package-collection_collection/DelegatingQueue/typed.md
+    - title: where
+      path: /reference/dart/package-collection_collection/DelegatingQueue/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/DelegatingQueue/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/DelegatingQueue/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/DelegatingQueue/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/DelegatingQueue/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/DelegatingQueue/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/DelegatingQueue/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/DelegatingQueue/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/DelegatingQueue/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/DelegatingQueue/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/DelegatingQueue/single.md
+  - title: DelegatingSet
+    path: /reference/dart/package-collection_collection/DelegatingSet-class.md
+    section:
+    - heading: Constructors
+    - title: DelegatingSet
+      path: /reference/dart/package-collection_collection/DelegatingSet/DelegatingSet.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/DelegatingSet/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/DelegatingSet/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/DelegatingSet/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/DelegatingSet/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/DelegatingSet/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/DelegatingSet/contains.md
+    - title: containsAll
+      path: /reference/dart/package-collection_collection/DelegatingSet/containsAll.md
+    - title: difference
+      path: /reference/dart/package-collection_collection/DelegatingSet/difference.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/DelegatingSet/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/DelegatingSet/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/DelegatingSet/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/DelegatingSet/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/DelegatingSet/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/DelegatingSet/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/DelegatingSet/forEach.md
+    - title: intersection
+      path: /reference/dart/package-collection_collection/DelegatingSet/intersection.md
+    - title: join
+      path: /reference/dart/package-collection_collection/DelegatingSet/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/DelegatingSet/lastWhere.md
+    - title: lookup
+      path: /reference/dart/package-collection_collection/DelegatingSet/lookup.md
+    - title: map
+      path: /reference/dart/package-collection_collection/DelegatingSet/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/DelegatingSet/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/DelegatingSet/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/DelegatingSet/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/DelegatingSet/remove.md
+    - title: removeAll
+      path: /reference/dart/package-collection_collection/DelegatingSet/removeAll.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/DelegatingSet/removeWhere.md
+    - title: retainAll
+      path: /reference/dart/package-collection_collection/DelegatingSet/retainAll.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/DelegatingSet/retainWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/DelegatingSet/retype.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/DelegatingSet/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/DelegatingSet/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/DelegatingSet/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/DelegatingSet/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/DelegatingSet/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/DelegatingSet/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/DelegatingSet/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/DelegatingSet/toString.md
+    - title: typed
+      path: /reference/dart/package-collection_collection/DelegatingSet/typed.md
+    - title: union
+      path: /reference/dart/package-collection_collection/DelegatingSet/union.md
+    - title: where
+      path: /reference/dart/package-collection_collection/DelegatingSet/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/DelegatingSet/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/DelegatingSet/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/DelegatingSet/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/DelegatingSet/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/DelegatingSet/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/DelegatingSet/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/DelegatingSet/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/DelegatingSet/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/DelegatingSet/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/DelegatingSet/single.md
+  - title: Equality
+    path: /reference/dart/package-collection_collection/Equality-class.md
+    section:
+    - heading: Constructors
+    - title: Equality
+      path: /reference/dart/package-collection_collection/Equality/Equality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/Equality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/Equality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/Equality/isValidKey.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/Equality/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/Equality/operator_equals.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/Equality/toString.md
+    - heading: Properties
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/Equality/hashCode.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/Equality/runtimeType.md
+  - title: EqualityBy
+    path: /reference/dart/package-collection_collection/EqualityBy-class.md
+    section:
+    - heading: Constructors
+    - title: EqualityBy
+      path: /reference/dart/package-collection_collection/EqualityBy/EqualityBy.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/EqualityBy/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/EqualityBy/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/EqualityBy/isValidKey.md
+  - title: EqualityMap
+    path: /reference/dart/package-collection_collection/EqualityMap-class.md
+    section:
+    - heading: Constructors
+    - title: EqualityMap
+      path: /reference/dart/package-collection_collection/EqualityMap/EqualityMap.md
+    - title: EqualityMap.from
+      path: /reference/dart/package-collection_collection/EqualityMap/EqualityMap.from.md
+  - title: EqualitySet
+    path: /reference/dart/package-collection_collection/EqualitySet-class.md
+    section:
+    - heading: Constructors
+    - title: EqualitySet
+      path: /reference/dart/package-collection_collection/EqualitySet/EqualitySet.md
+    - title: EqualitySet.from
+      path: /reference/dart/package-collection_collection/EqualitySet/EqualitySet.from.md
+  - title: HeapPriorityQueue
+    path: /reference/dart/package-collection_collection/HeapPriorityQueue-class.md
+    section:
+    - heading: Constructors
+    - title: HeapPriorityQueue
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/HeapPriorityQueue.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/addAll.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/contains.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/remove.md
+    - title: removeAll
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/removeAll.md
+    - title: removeFirst
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/removeFirst.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/toString.md
+    - title: toUnorderedList
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/toUnorderedList.md
+    - heading: Properties
+    - title: comparison
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/comparison.md
+    - title: first
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/first.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/isNotEmpty.md
+    - title: length
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/length.md
+    - title: unorderedElements
+      path: /reference/dart/package-collection_collection/HeapPriorityQueue/unorderedElements.md
+  - title: IdentityEquality
+    path: /reference/dart/package-collection_collection/IdentityEquality-class.md
+    section:
+    - heading: Constructors
+    - title: IdentityEquality
+      path: /reference/dart/package-collection_collection/IdentityEquality/IdentityEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/IdentityEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/IdentityEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/IdentityEquality/isValidKey.md
+  - title: IterableEquality
+    path: /reference/dart/package-collection_collection/IterableEquality-class.md
+    section:
+    - heading: Constructors
+    - title: IterableEquality
+      path: /reference/dart/package-collection_collection/IterableEquality/IterableEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/IterableEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/IterableEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/IterableEquality/isValidKey.md
+  - title: IterableZip
+    path: /reference/dart/package-collection_collection/IterableZip-class.md
+    section:
+    - heading: Constructors
+    - title: IterableZip
+      path: /reference/dart/package-collection_collection/IterableZip/IterableZip.md
+    - heading: Methods
+    - title: any
+      path: /reference/dart/package-collection_collection/IterableZip/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/IterableZip/cast.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/IterableZip/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/IterableZip/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/IterableZip/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/IterableZip/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/IterableZip/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/IterableZip/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/IterableZip/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/IterableZip/forEach.md
+    - title: join
+      path: /reference/dart/package-collection_collection/IterableZip/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/IterableZip/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/IterableZip/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/IterableZip/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/IterableZip/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/IterableZip/reduce.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/IterableZip/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/IterableZip/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/IterableZip/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/IterableZip/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/IterableZip/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/IterableZip/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/IterableZip/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/IterableZip/toString.md
+    - title: where
+      path: /reference/dart/package-collection_collection/IterableZip/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/IterableZip/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/IterableZip/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/IterableZip/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/IterableZip/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/IterableZip/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/IterableZip/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/IterableZip/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/IterableZip/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/IterableZip/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/IterableZip/single.md
+  - title: ListEquality
+    path: /reference/dart/package-collection_collection/ListEquality-class.md
+    section:
+    - heading: Constructors
+    - title: ListEquality
+      path: /reference/dart/package-collection_collection/ListEquality/ListEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/ListEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/ListEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/ListEquality/isValidKey.md
+  - title: ListSlice
+    path: /reference/dart/package-collection_collection/ListSlice-class.md
+    section:
+    - heading: Constructors
+    - title: ListSlice
+      path: /reference/dart/package-collection_collection/ListSlice/ListSlice.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/ListSlice/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/ListSlice/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/ListSlice/any.md
+    - title: asMap
+      path: /reference/dart/package-collection_collection/ListSlice/asMap.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/ListSlice/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/ListSlice/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/ListSlice/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/ListSlice/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/ListSlice/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/ListSlice/expand.md
+    - title: fillRange
+      path: /reference/dart/package-collection_collection/ListSlice/fillRange.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/ListSlice/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/ListSlice/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/ListSlice/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/ListSlice/forEach.md
+    - title: getRange
+      path: /reference/dart/package-collection_collection/ListSlice/getRange.md
+    - title: indexOf
+      path: /reference/dart/package-collection_collection/ListSlice/indexOf.md
+    - title: indexWhere
+      path: /reference/dart/package-collection_collection/ListSlice/indexWhere.md
+    - title: insert
+      path: /reference/dart/package-collection_collection/ListSlice/insert.md
+    - title: insertAll
+      path: /reference/dart/package-collection_collection/ListSlice/insertAll.md
+    - title: join
+      path: /reference/dart/package-collection_collection/ListSlice/join.md
+    - title: lastIndexOf
+      path: /reference/dart/package-collection_collection/ListSlice/lastIndexOf.md
+    - title: lastIndexWhere
+      path: /reference/dart/package-collection_collection/ListSlice/lastIndexWhere.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/ListSlice/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/ListSlice/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/ListSlice/noSuchMethod.md
+    - title: operator +
+      path: /reference/dart/package-collection_collection/ListSlice/operator_plus.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/ListSlice/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/ListSlice/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/ListSlice/operator_put.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/ListSlice/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/ListSlice/remove.md
+    - title: removeAt
+      path: /reference/dart/package-collection_collection/ListSlice/removeAt.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/ListSlice/removeLast.md
+    - title: removeRange
+      path: /reference/dart/package-collection_collection/ListSlice/removeRange.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/ListSlice/removeWhere.md
+    - title: replaceRange
+      path: /reference/dart/package-collection_collection/ListSlice/replaceRange.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/ListSlice/retainWhere.md
+    - title: reverseRange
+      path: /reference/dart/package-collection_collection/ListSlice/reverseRange.md
+    - title: setAll
+      path: /reference/dart/package-collection_collection/ListSlice/setAll.md
+    - title: setRange
+      path: /reference/dart/package-collection_collection/ListSlice/setRange.md
+    - title: shuffle
+      path: /reference/dart/package-collection_collection/ListSlice/shuffle.md
+    - title: shuffleRange
+      path: /reference/dart/package-collection_collection/ListSlice/shuffleRange.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/ListSlice/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/ListSlice/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/ListSlice/skipWhile.md
+    - title: slice
+      path: /reference/dart/package-collection_collection/ListSlice/slice.md
+    - title: sort
+      path: /reference/dart/package-collection_collection/ListSlice/sort.md
+    - title: sortRange
+      path: /reference/dart/package-collection_collection/ListSlice/sortRange.md
+    - title: sublist
+      path: /reference/dart/package-collection_collection/ListSlice/sublist.md
+    - title: take
+      path: /reference/dart/package-collection_collection/ListSlice/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/ListSlice/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/ListSlice/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/ListSlice/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/ListSlice/toString.md
+    - title: where
+      path: /reference/dart/package-collection_collection/ListSlice/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/ListSlice/whereType.md
+    - heading: Properties
+    - title: end
+      path: /reference/dart/package-collection_collection/ListSlice/end.md
+    - title: first
+      path: /reference/dart/package-collection_collection/ListSlice/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/ListSlice/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/ListSlice/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/ListSlice/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/ListSlice/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/ListSlice/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/ListSlice/length.md
+    - title: reversed
+      path: /reference/dart/package-collection_collection/ListSlice/reversed.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/ListSlice/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/ListSlice/single.md
+    - title: source
+      path: /reference/dart/package-collection_collection/ListSlice/source.md
+    - title: start
+      path: /reference/dart/package-collection_collection/ListSlice/start.md
+  - title: MapEquality
+    path: /reference/dart/package-collection_collection/MapEquality-class.md
+    section:
+    - heading: Constructors
+    - title: MapEquality
+      path: /reference/dart/package-collection_collection/MapEquality/MapEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/MapEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/MapEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/MapEquality/isValidKey.md
+  - title: MapKeySet
+    path: /reference/dart/package-collection_collection/MapKeySet-class.md
+    section:
+    - heading: Constructors
+    - title: MapKeySet
+      path: /reference/dart/package-collection_collection/MapKeySet/MapKeySet.md
+    - heading: Methods
+    - title: any
+      path: /reference/dart/package-collection_collection/MapKeySet/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/MapKeySet/cast.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/MapKeySet/contains.md
+    - title: containsAll
+      path: /reference/dart/package-collection_collection/MapKeySet/containsAll.md
+    - title: difference
+      path: /reference/dart/package-collection_collection/MapKeySet/difference.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/MapKeySet/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/MapKeySet/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/MapKeySet/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/MapKeySet/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/MapKeySet/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/MapKeySet/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/MapKeySet/forEach.md
+    - title: intersection
+      path: /reference/dart/package-collection_collection/MapKeySet/intersection.md
+    - title: join
+      path: /reference/dart/package-collection_collection/MapKeySet/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/MapKeySet/lastWhere.md
+    - title: lookup
+      path: /reference/dart/package-collection_collection/MapKeySet/lookup.md
+    - title: map
+      path: /reference/dart/package-collection_collection/MapKeySet/map.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/MapKeySet/reduce.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/MapKeySet/retype.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/MapKeySet/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/MapKeySet/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/MapKeySet/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/MapKeySet/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/MapKeySet/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/MapKeySet/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/MapKeySet/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/MapKeySet/toString.md
+    - title: union
+      path: /reference/dart/package-collection_collection/MapKeySet/union.md
+    - title: where
+      path: /reference/dart/package-collection_collection/MapKeySet/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/MapKeySet/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/MapKeySet/first.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/MapKeySet/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/MapKeySet/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/MapKeySet/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/MapKeySet/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/MapKeySet/length.md
+    - title: single
+      path: /reference/dart/package-collection_collection/MapKeySet/single.md
+  - title: MapValueSet
+    path: /reference/dart/package-collection_collection/MapValueSet-class.md
+    section:
+    - heading: Constructors
+    - title: MapValueSet
+      path: /reference/dart/package-collection_collection/MapValueSet/MapValueSet.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/MapValueSet/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/MapValueSet/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/MapValueSet/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/MapValueSet/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/MapValueSet/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/MapValueSet/contains.md
+    - title: containsAll
+      path: /reference/dart/package-collection_collection/MapValueSet/containsAll.md
+    - title: difference
+      path: /reference/dart/package-collection_collection/MapValueSet/difference.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/MapValueSet/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/MapValueSet/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/MapValueSet/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/MapValueSet/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/MapValueSet/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/MapValueSet/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/MapValueSet/forEach.md
+    - title: intersection
+      path: /reference/dart/package-collection_collection/MapValueSet/intersection.md
+    - title: join
+      path: /reference/dart/package-collection_collection/MapValueSet/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/MapValueSet/lastWhere.md
+    - title: lookup
+      path: /reference/dart/package-collection_collection/MapValueSet/lookup.md
+    - title: map
+      path: /reference/dart/package-collection_collection/MapValueSet/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/MapValueSet/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/MapValueSet/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/MapValueSet/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/MapValueSet/remove.md
+    - title: removeAll
+      path: /reference/dart/package-collection_collection/MapValueSet/removeAll.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/MapValueSet/removeWhere.md
+    - title: retainAll
+      path: /reference/dart/package-collection_collection/MapValueSet/retainAll.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/MapValueSet/retainWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/MapValueSet/retype.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/MapValueSet/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/MapValueSet/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/MapValueSet/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/MapValueSet/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/MapValueSet/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/MapValueSet/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/MapValueSet/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/MapValueSet/toString.md
+    - title: union
+      path: /reference/dart/package-collection_collection/MapValueSet/union.md
+    - title: where
+      path: /reference/dart/package-collection_collection/MapValueSet/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/MapValueSet/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/MapValueSet/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/MapValueSet/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/MapValueSet/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/MapValueSet/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/MapValueSet/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/MapValueSet/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/MapValueSet/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/MapValueSet/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/MapValueSet/single.md
+  - title: MultiEquality
+    path: /reference/dart/package-collection_collection/MultiEquality-class.md
+    section:
+    - heading: Constructors
+    - title: MultiEquality
+      path: /reference/dart/package-collection_collection/MultiEquality/MultiEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/MultiEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/MultiEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/MultiEquality/isValidKey.md
+  - title: NonGrowableListMixin
+    path: /reference/dart/package-collection_collection/NonGrowableListMixin-class.md
+    section:
+    - heading: Constructors
+    - title: NonGrowableListMixin
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/NonGrowableListMixin.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/any.md
+    - title: asMap
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/asMap.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/expand.md
+    - title: fillRange
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/fillRange.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/forEach.md
+    - title: getRange
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/getRange.md
+    - title: indexOf
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/indexOf.md
+    - title: indexWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/indexWhere.md
+    - title: insert
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/insert.md
+    - title: insertAll
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/insertAll.md
+    - title: join
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/join.md
+    - title: lastIndexOf
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/lastIndexOf.md
+    - title: lastIndexWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/lastIndexWhere.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/noSuchMethod.md
+    - title: operator +
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/operator_plus.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/operator_put.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/remove.md
+    - title: removeAt
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/removeAt.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/removeLast.md
+    - title: removeRange
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/removeRange.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/removeWhere.md
+    - title: replaceRange
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/replaceRange.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/retainWhere.md
+    - title: setAll
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/setAll.md
+    - title: setRange
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/setRange.md
+    - title: shuffle
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/shuffle.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/skipWhile.md
+    - title: sort
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/sort.md
+    - title: sublist
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/sublist.md
+    - title: take
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/toString.md
+    - title: where
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/length.md
+    - title: reversed
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/reversed.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/NonGrowableListMixin/single.md
+  - title: NonGrowableListView
+    path: /reference/dart/package-collection_collection/NonGrowableListView-class.md
+    section:
+    - heading: Constructors
+    - title: NonGrowableListView
+      path: /reference/dart/package-collection_collection/NonGrowableListView/NonGrowableListView.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/NonGrowableListView/first.md
+    - title: last
+      path: /reference/dart/package-collection_collection/NonGrowableListView/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/NonGrowableListView/length.md
+  - title: PriorityQueue
+    path: /reference/dart/package-collection_collection/PriorityQueue-class.md
+    section:
+    - heading: Constructors
+    - title: PriorityQueue
+      path: /reference/dart/package-collection_collection/PriorityQueue/PriorityQueue.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/PriorityQueue/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/PriorityQueue/addAll.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/PriorityQueue/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/PriorityQueue/contains.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/PriorityQueue/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/PriorityQueue/operator_equals.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/PriorityQueue/remove.md
+    - title: removeAll
+      path: /reference/dart/package-collection_collection/PriorityQueue/removeAll.md
+    - title: removeFirst
+      path: /reference/dart/package-collection_collection/PriorityQueue/removeFirst.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/PriorityQueue/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/PriorityQueue/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/PriorityQueue/toString.md
+    - title: toUnorderedList
+      path: /reference/dart/package-collection_collection/PriorityQueue/toUnorderedList.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/PriorityQueue/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/PriorityQueue/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/PriorityQueue/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/PriorityQueue/isNotEmpty.md
+    - title: length
+      path: /reference/dart/package-collection_collection/PriorityQueue/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/PriorityQueue/runtimeType.md
+    - title: unorderedElements
+      path: /reference/dart/package-collection_collection/PriorityQueue/unorderedElements.md
+  - title: QueueList
+    path: /reference/dart/package-collection_collection/QueueList-class.md
+    section:
+    - heading: Constructors
+    - title: QueueList
+      path: /reference/dart/package-collection_collection/QueueList/QueueList.md
+    - title: QueueList.from
+      path: /reference/dart/package-collection_collection/QueueList/QueueList.from.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/QueueList/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/QueueList/addAll.md
+    - title: addFirst
+      path: /reference/dart/package-collection_collection/QueueList/addFirst.md
+    - title: addLast
+      path: /reference/dart/package-collection_collection/QueueList/addLast.md
+    - title: any
+      path: /reference/dart/package-collection_collection/QueueList/any.md
+    - title: asMap
+      path: /reference/dart/package-collection_collection/QueueList/asMap.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/QueueList/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/QueueList/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/QueueList/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/QueueList/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/QueueList/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/QueueList/expand.md
+    - title: fillRange
+      path: /reference/dart/package-collection_collection/QueueList/fillRange.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/QueueList/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/QueueList/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/QueueList/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/QueueList/forEach.md
+    - title: getRange
+      path: /reference/dart/package-collection_collection/QueueList/getRange.md
+    - title: indexOf
+      path: /reference/dart/package-collection_collection/QueueList/indexOf.md
+    - title: indexWhere
+      path: /reference/dart/package-collection_collection/QueueList/indexWhere.md
+    - title: insert
+      path: /reference/dart/package-collection_collection/QueueList/insert.md
+    - title: insertAll
+      path: /reference/dart/package-collection_collection/QueueList/insertAll.md
+    - title: join
+      path: /reference/dart/package-collection_collection/QueueList/join.md
+    - title: lastIndexOf
+      path: /reference/dart/package-collection_collection/QueueList/lastIndexOf.md
+    - title: lastIndexWhere
+      path: /reference/dart/package-collection_collection/QueueList/lastIndexWhere.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/QueueList/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/QueueList/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/QueueList/noSuchMethod.md
+    - title: operator +
+      path: /reference/dart/package-collection_collection/QueueList/operator_plus.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/QueueList/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/QueueList/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/QueueList/operator_put.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/QueueList/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/QueueList/remove.md
+    - title: removeAt
+      path: /reference/dart/package-collection_collection/QueueList/removeAt.md
+    - title: removeFirst
+      path: /reference/dart/package-collection_collection/QueueList/removeFirst.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/QueueList/removeLast.md
+    - title: removeRange
+      path: /reference/dart/package-collection_collection/QueueList/removeRange.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/QueueList/removeWhere.md
+    - title: replaceRange
+      path: /reference/dart/package-collection_collection/QueueList/replaceRange.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/QueueList/retainWhere.md
+    - title: retype
+      path: /reference/dart/package-collection_collection/QueueList/retype.md
+    - title: setAll
+      path: /reference/dart/package-collection_collection/QueueList/setAll.md
+    - title: setRange
+      path: /reference/dart/package-collection_collection/QueueList/setRange.md
+    - title: shuffle
+      path: /reference/dart/package-collection_collection/QueueList/shuffle.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/QueueList/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/QueueList/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/QueueList/skipWhile.md
+    - title: sort
+      path: /reference/dart/package-collection_collection/QueueList/sort.md
+    - title: sublist
+      path: /reference/dart/package-collection_collection/QueueList/sublist.md
+    - title: take
+      path: /reference/dart/package-collection_collection/QueueList/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/QueueList/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/QueueList/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/QueueList/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/QueueList/toString.md
+    - title: where
+      path: /reference/dart/package-collection_collection/QueueList/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/QueueList/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/QueueList/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/QueueList/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/QueueList/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/QueueList/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/QueueList/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/QueueList/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/QueueList/length.md
+    - title: reversed
+      path: /reference/dart/package-collection_collection/QueueList/reversed.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/QueueList/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/QueueList/single.md
+  - title: SetEquality
+    path: /reference/dart/package-collection_collection/SetEquality-class.md
+    section:
+    - heading: Constructors
+    - title: SetEquality
+      path: /reference/dart/package-collection_collection/SetEquality/SetEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/SetEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/SetEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/SetEquality/isValidKey.md
+  - title: UnionSet
+    path: /reference/dart/package-collection_collection/UnionSet-class.md
+    section:
+    - heading: Constructors
+    - title: UnionSet
+      path: /reference/dart/package-collection_collection/UnionSet/UnionSet.md
+    - title: UnionSet.from
+      path: /reference/dart/package-collection_collection/UnionSet/UnionSet.from.md
+    - heading: Methods
+    - title: any
+      path: /reference/dart/package-collection_collection/UnionSet/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/UnionSet/cast.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/UnionSet/contains.md
+    - title: containsAll
+      path: /reference/dart/package-collection_collection/UnionSet/containsAll.md
+    - title: difference
+      path: /reference/dart/package-collection_collection/UnionSet/difference.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/UnionSet/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/UnionSet/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/UnionSet/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/UnionSet/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/UnionSet/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/UnionSet/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/UnionSet/forEach.md
+    - title: intersection
+      path: /reference/dart/package-collection_collection/UnionSet/intersection.md
+    - title: join
+      path: /reference/dart/package-collection_collection/UnionSet/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/UnionSet/lastWhere.md
+    - title: lookup
+      path: /reference/dart/package-collection_collection/UnionSet/lookup.md
+    - title: map
+      path: /reference/dart/package-collection_collection/UnionSet/map.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/UnionSet/reduce.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/UnionSet/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/UnionSet/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/UnionSet/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/UnionSet/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/UnionSet/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/UnionSet/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/UnionSet/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/UnionSet/toString.md
+    - title: union
+      path: /reference/dart/package-collection_collection/UnionSet/union.md
+    - title: where
+      path: /reference/dart/package-collection_collection/UnionSet/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/UnionSet/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/UnionSet/first.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/UnionSet/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/UnionSet/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/UnionSet/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/UnionSet/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/UnionSet/length.md
+    - title: single
+      path: /reference/dart/package-collection_collection/UnionSet/single.md
+  - title: UnionSetController
+    path: /reference/dart/package-collection_collection/UnionSetController-class.md
+    section:
+    - heading: Constructors
+    - title: UnionSetController
+      path: /reference/dart/package-collection_collection/UnionSetController/UnionSetController.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/UnionSetController/add.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/UnionSetController/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/UnionSetController/operator_equals.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/UnionSetController/remove.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/UnionSetController/toString.md
+    - heading: Properties
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/UnionSetController/hashCode.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/UnionSetController/runtimeType.md
+    - title: set
+      path: /reference/dart/package-collection_collection/UnionSetController/set.md
+  - title: UnmodifiableListView
+    path: /reference/dart/package-collection_collection/UnmodifiableListView-class.md
+    section:
+    - heading: Constructors
+    - title: UnmodifiableListView
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/UnmodifiableListView.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/any.md
+    - title: asMap
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/asMap.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/contains.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/expand.md
+    - title: fillRange
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/fillRange.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/forEach.md
+    - title: getRange
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/getRange.md
+    - title: indexOf
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/indexOf.md
+    - title: indexWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/indexWhere.md
+    - title: insert
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/insert.md
+    - title: insertAll
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/insertAll.md
+    - title: join
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/join.md
+    - title: lastIndexOf
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/lastIndexOf.md
+    - title: lastIndexWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/lastIndexWhere.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/lastWhere.md
+    - title: map
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/noSuchMethod.md
+    - title: operator +
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/operator_plus.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/operator_put.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/remove.md
+    - title: removeAt
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/removeAt.md
+    - title: removeLast
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/removeLast.md
+    - title: removeRange
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/removeRange.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/removeWhere.md
+    - title: replaceRange
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/replaceRange.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/retainWhere.md
+    - title: setAll
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/setAll.md
+    - title: setRange
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/setRange.md
+    - title: shuffle
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/shuffle.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/skipWhile.md
+    - title: sort
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/sort.md
+    - title: sublist
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/sublist.md
+    - title: take
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/toString.md
+    - title: where
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/length.md
+    - title: reversed
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/reversed.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/UnmodifiableListView/single.md
+  - title: UnmodifiableMapMixin
+    path: /reference/dart/package-collection_collection/UnmodifiableMapMixin-class.md
+    section:
+    - heading: Constructors
+    - title: UnmodifiableMapMixin
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/UnmodifiableMapMixin.md
+    - heading: Methods
+    - title: addAll
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/addAll.md
+    - title: addEntries
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/addEntries.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/clear.md
+    - title: containsKey
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/containsKey.md
+    - title: containsValue
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/containsValue.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/forEach.md
+    - title: map
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/operator_put.md
+    - title: putIfAbsent
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/putIfAbsent.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/remove.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/removeWhere.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/toString.md
+    - title: update
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/update.md
+    - title: updateAll
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/updateAll.md
+    - heading: Properties
+    - title: entries
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/entries.md
+    - title: first
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/isNotEmpty.md
+    - title: keys
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/keys.md
+    - title: last
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/runtimeType.md
+    - title: values
+      path: /reference/dart/package-collection_collection/UnmodifiableMapMixin/values.md
+  - title: UnmodifiableMapView
+    path: /reference/dart/package-collection_collection/UnmodifiableMapView-class.md
+    section:
+    - heading: Constructors
+    - title: UnmodifiableMapView
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/UnmodifiableMapView.md
+    - heading: Methods
+    - title: addAll
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/addAll.md
+    - title: addEntries
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/addEntries.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/clear.md
+    - title: containsKey
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/containsKey.md
+    - title: containsValue
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/containsValue.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/forEach.md
+    - title: map
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/operator_equals.md
+    - title: operator []
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/operator_get.md
+    - title: operator []=
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/operator_put.md
+    - title: putIfAbsent
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/putIfAbsent.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/remove.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/removeWhere.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/toString.md
+    - title: update
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/update.md
+    - title: updateAll
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/updateAll.md
+    - heading: Properties
+    - title: entries
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/entries.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/isNotEmpty.md
+    - title: keys
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/keys.md
+    - title: length
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/runtimeType.md
+    - title: values
+      path: /reference/dart/package-collection_collection/UnmodifiableMapView/values.md
+  - title: UnmodifiableSetMixin
+    path: /reference/dart/package-collection_collection/UnmodifiableSetMixin-class.md
+    section:
+    - heading: Constructors
+    - title: UnmodifiableSetMixin
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/UnmodifiableSetMixin.md
+    - heading: Methods
+    - title: add
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/add.md
+    - title: addAll
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/addAll.md
+    - title: any
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/any.md
+    - title: cast
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/cast.md
+    - title: clear
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/clear.md
+    - title: contains
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/contains.md
+    - title: containsAll
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/containsAll.md
+    - title: difference
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/difference.md
+    - title: elementAt
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/elementAt.md
+    - title: every
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/every.md
+    - title: expand
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/expand.md
+    - title: firstWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/firstWhere.md
+    - title: fold
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/fold.md
+    - title: followedBy
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/followedBy.md
+    - title: forEach
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/forEach.md
+    - title: intersection
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/intersection.md
+    - title: join
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/join.md
+    - title: lastWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/lastWhere.md
+    - title: lookup
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/lookup.md
+    - title: map
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/map.md
+    - title: noSuchMethod
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/operator_equals.md
+    - title: reduce
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/reduce.md
+    - title: remove
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/remove.md
+    - title: removeAll
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/removeAll.md
+    - title: removeWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/removeWhere.md
+    - title: retainAll
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/retainAll.md
+    - title: retainWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/retainWhere.md
+    - title: singleWhere
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/singleWhere.md
+    - title: skip
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/skip.md
+    - title: skipWhile
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/skipWhile.md
+    - title: take
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/take.md
+    - title: takeWhile
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/takeWhile.md
+    - title: toList
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/toList.md
+    - title: toSet
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/toSet.md
+    - title: toString
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/toString.md
+    - title: union
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/union.md
+    - title: where
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/where.md
+    - title: whereType
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/whereType.md
+    - heading: Properties
+    - title: first
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/first.md
+    - title: hashCode
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/hashCode.md
+    - title: isEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/isEmpty.md
+    - title: isNotEmpty
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/isNotEmpty.md
+    - title: iterator
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/iterator.md
+    - title: last
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/last.md
+    - title: length
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/length.md
+    - title: runtimeType
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/runtimeType.md
+    - title: single
+      path: /reference/dart/package-collection_collection/UnmodifiableSetMixin/single.md
+  - title: UnmodifiableSetView
+    path: /reference/dart/package-collection_collection/UnmodifiableSetView-class.md
+    section:
+    - heading: Constructors
+    - title: UnmodifiableSetView
+      path: /reference/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.md
+    - title: UnmodifiableSetView.empty
+      path: /reference/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.empty.md
+  - title: UnorderedIterableEquality
+    path: /reference/dart/package-collection_collection/UnorderedIterableEquality-class.md
+    section:
+    - heading: Constructors
+    - title: UnorderedIterableEquality
+      path: /reference/dart/package-collection_collection/UnorderedIterableEquality/UnorderedIterableEquality.md
+    - heading: Methods
+    - title: equals
+      path: /reference/dart/package-collection_collection/UnorderedIterableEquality/equals.md
+    - title: hash
+      path: /reference/dart/package-collection_collection/UnorderedIterableEquality/hash.md
+    - title: isValidKey
+      path: /reference/dart/package-collection_collection/UnorderedIterableEquality/isValidKey.md
+  - heading: Extensions
+  - title: ComparatorExtension
+    path: /reference/dart/package-collection_collection/ComparatorExtension.md
+    section:
+    - heading: Methods
+    - title: compareBy
+      path: /reference/dart/package-collection_collection/ComparatorExtension/compareBy.md
+    - title: then
+      path: /reference/dart/package-collection_collection/ComparatorExtension/then.md
+    - heading: Properties
+    - title: inverse
+      path: /reference/dart/package-collection_collection/ComparatorExtension/inverse.md
+  - title: IterableComparableExtension
+    path: /reference/dart/package-collection_collection/IterableComparableExtension.md
+    section:
+    - heading: Methods
+    - title: isSorted
+      path: /reference/dart/package-collection_collection/IterableComparableExtension/isSorted.md
+    - title: sorted
+      path: /reference/dart/package-collection_collection/IterableComparableExtension/sorted.md
+    - heading: Properties
+    - title: max
+      path: /reference/dart/package-collection_collection/IterableComparableExtension/max.md
+    - title: maxOrNull
+      path: /reference/dart/package-collection_collection/IterableComparableExtension/maxOrNull.md
+    - title: min
+      path: /reference/dart/package-collection_collection/IterableComparableExtension/min.md
+    - title: minOrNull
+      path: /reference/dart/package-collection_collection/IterableComparableExtension/minOrNull.md
+  - title: IterableDoubleExtension
+    path: /reference/dart/package-collection_collection/IterableDoubleExtension.md
+    section:
+    - heading: Properties
+    - title: sum
+      path: /reference/dart/package-collection_collection/IterableDoubleExtension/sum.md
+  - title: IterableExtension
+    path: /reference/dart/package-collection_collection/IterableExtension.md
+    section:
+    - heading: Methods
+    - title: expandIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/expandIndexed.md
+    - title: firstWhereIndexedOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/firstWhereIndexedOrNull.md
+    - title: firstWhereOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/firstWhereOrNull.md
+    - title: foldIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/foldIndexed.md
+    - title: forEachIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/forEachIndexed.md
+    - title: forEachIndexedWhile
+      path: /reference/dart/package-collection_collection/IterableExtension/forEachIndexedWhile.md
+    - title: forEachWhile
+      path: /reference/dart/package-collection_collection/IterableExtension/forEachWhile.md
+    - title: groupFoldBy
+      path: /reference/dart/package-collection_collection/IterableExtension/groupFoldBy.md
+    - title: groupListsBy
+      path: /reference/dart/package-collection_collection/IterableExtension/groupListsBy.md
+    - title: groupSetsBy
+      path: /reference/dart/package-collection_collection/IterableExtension/groupSetsBy.md
+    - title: isSorted
+      path: /reference/dart/package-collection_collection/IterableExtension/isSorted.md
+    - title: isSortedBy
+      path: /reference/dart/package-collection_collection/IterableExtension/isSortedBy.md
+    - title: isSortedByCompare
+      path: /reference/dart/package-collection_collection/IterableExtension/isSortedByCompare.md
+    - title: lastWhereIndexedOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/lastWhereIndexedOrNull.md
+    - title: lastWhereOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/lastWhereOrNull.md
+    - title: mapIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/mapIndexed.md
+    - title: none
+      path: /reference/dart/package-collection_collection/IterableExtension/none.md
+    - title: reduceIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/reduceIndexed.md
+    - title: sample
+      path: /reference/dart/package-collection_collection/IterableExtension/sample.md
+    - title: singleWhereIndexedOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/singleWhereIndexedOrNull.md
+    - title: singleWhereOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/singleWhereOrNull.md
+    - title: sorted
+      path: /reference/dart/package-collection_collection/IterableExtension/sorted.md
+    - title: sortedBy
+      path: /reference/dart/package-collection_collection/IterableExtension/sortedBy.md
+    - title: sortedByCompare
+      path: /reference/dart/package-collection_collection/IterableExtension/sortedByCompare.md
+    - title: splitAfter
+      path: /reference/dart/package-collection_collection/IterableExtension/splitAfter.md
+    - title: splitAfterIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/splitAfterIndexed.md
+    - title: splitBefore
+      path: /reference/dart/package-collection_collection/IterableExtension/splitBefore.md
+    - title: splitBeforeIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/splitBeforeIndexed.md
+    - title: splitBetween
+      path: /reference/dart/package-collection_collection/IterableExtension/splitBetween.md
+    - title: splitBetweenIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/splitBetweenIndexed.md
+    - title: whereIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/whereIndexed.md
+    - title: whereNot
+      path: /reference/dart/package-collection_collection/IterableExtension/whereNot.md
+    - title: whereNotIndexed
+      path: /reference/dart/package-collection_collection/IterableExtension/whereNotIndexed.md
+    - heading: Properties
+    - title: firstOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/firstOrNull.md
+    - title: lastOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/lastOrNull.md
+    - title: singleOrNull
+      path: /reference/dart/package-collection_collection/IterableExtension/singleOrNull.md
+  - title: IterableIntegerExtension
+    path: /reference/dart/package-collection_collection/IterableIntegerExtension.md
+    section:
+    - heading: Properties
+    - title: average
+      path: /reference/dart/package-collection_collection/IterableIntegerExtension/average.md
+    - title: sum
+      path: /reference/dart/package-collection_collection/IterableIntegerExtension/sum.md
+  - title: IterableIterableExtension
+    path: /reference/dart/package-collection_collection/IterableIterableExtension.md
+    section:
+    - heading: Properties
+    - title: flattened
+      path: /reference/dart/package-collection_collection/IterableIterableExtension/flattened.md
+  - title: IterableNullableExtension
+    path: /reference/dart/package-collection_collection/IterableNullableExtension.md
+    section:
+    - heading: Methods
+    - title: whereNotNull
+      path: /reference/dart/package-collection_collection/IterableNullableExtension/whereNotNull.md
+  - title: IterableNumberExtension
+    path: /reference/dart/package-collection_collection/IterableNumberExtension.md
+    section:
+    - heading: Properties
+    - title: average
+      path: /reference/dart/package-collection_collection/IterableNumberExtension/average.md
+    - title: sum
+      path: /reference/dart/package-collection_collection/IterableNumberExtension/sum.md
+  - title: ListComparableExtensions
+    path: /reference/dart/package-collection_collection/ListComparableExtensions.md
+    section:
+    - heading: Methods
+    - title: binarySearch
+      path: /reference/dart/package-collection_collection/ListComparableExtensions/binarySearch.md
+    - title: lowerBound
+      path: /reference/dart/package-collection_collection/ListComparableExtensions/lowerBound.md
+    - title: sortRange
+      path: /reference/dart/package-collection_collection/ListComparableExtensions/sortRange.md
+  - title: ListExtensions
+    path: /reference/dart/package-collection_collection/ListExtensions.md
+    section:
+    - heading: Methods
+    - title: binarySearch
+      path: /reference/dart/package-collection_collection/ListExtensions/binarySearch.md
+    - title: binarySearchBy
+      path: /reference/dart/package-collection_collection/ListExtensions/binarySearchBy.md
+    - title: binarySearchByCompare
+      path: /reference/dart/package-collection_collection/ListExtensions/binarySearchByCompare.md
+    - title: equals
+      path: /reference/dart/package-collection_collection/ListExtensions/equals.md
+    - title: expandIndexed
+      path: /reference/dart/package-collection_collection/ListExtensions/expandIndexed.md
+    - title: forEachIndexed
+      path: /reference/dart/package-collection_collection/ListExtensions/forEachIndexed.md
+    - title: forEachIndexedWhile
+      path: /reference/dart/package-collection_collection/ListExtensions/forEachIndexedWhile.md
+    - title: forEachWhile
+      path: /reference/dart/package-collection_collection/ListExtensions/forEachWhile.md
+    - title: lowerBound
+      path: /reference/dart/package-collection_collection/ListExtensions/lowerBound.md
+    - title: lowerBoundBy
+      path: /reference/dart/package-collection_collection/ListExtensions/lowerBoundBy.md
+    - title: lowerBoundByCompare
+      path: /reference/dart/package-collection_collection/ListExtensions/lowerBoundByCompare.md
+    - title: mapIndexed
+      path: /reference/dart/package-collection_collection/ListExtensions/mapIndexed.md
+    - title: reverseRange
+      path: /reference/dart/package-collection_collection/ListExtensions/reverseRange.md
+    - title: shuffleRange
+      path: /reference/dart/package-collection_collection/ListExtensions/shuffleRange.md
+    - title: slice
+      path: /reference/dart/package-collection_collection/ListExtensions/slice.md
+    - title: sortBy
+      path: /reference/dart/package-collection_collection/ListExtensions/sortBy.md
+    - title: sortByCompare
+      path: /reference/dart/package-collection_collection/ListExtensions/sortByCompare.md
+    - title: sortRange
+      path: /reference/dart/package-collection_collection/ListExtensions/sortRange.md
+    - title: swap
+      path: /reference/dart/package-collection_collection/ListExtensions/swap.md
+    - title: whereIndexed
+      path: /reference/dart/package-collection_collection/ListExtensions/whereIndexed.md
+    - title: whereNotIndexed
+      path: /reference/dart/package-collection_collection/ListExtensions/whereNotIndexed.md
+  - heading: Functions
+  - title: binarySearch
+    path: /reference/dart/package-collection_collection/binarySearch.md
+  - title: compareAsciiLowerCase
+    path: /reference/dart/package-collection_collection/compareAsciiLowerCase.md
+  - title: compareAsciiLowerCaseNatural
+    path: /reference/dart/package-collection_collection/compareAsciiLowerCaseNatural.md
+  - title: compareAsciiUpperCase
+    path: /reference/dart/package-collection_collection/compareAsciiUpperCase.md
+  - title: compareAsciiUpperCaseNatural
+    path: /reference/dart/package-collection_collection/compareAsciiUpperCaseNatural.md
+  - title: compareNatural
+    path: /reference/dart/package-collection_collection/compareNatural.md
+  - title: equalsIgnoreAsciiCase
+    path: /reference/dart/package-collection_collection/equalsIgnoreAsciiCase.md
+  - title: groupBy
+    path: /reference/dart/package-collection_collection/groupBy.md
+  - title: hashIgnoreAsciiCase
+    path: /reference/dart/package-collection_collection/hashIgnoreAsciiCase.md
+  - title: insertionSort
+    path: /reference/dart/package-collection_collection/insertionSort.md
+  - title: lowerBound
+    path: /reference/dart/package-collection_collection/lowerBound.md
+  - title: mapMap
+    path: /reference/dart/package-collection_collection/mapMap.md
+  - title: maxBy
+    path: /reference/dart/package-collection_collection/maxBy.md
+  - title: mergeMaps
+    path: /reference/dart/package-collection_collection/mergeMaps.md
+  - title: mergeSort
+    path: /reference/dart/package-collection_collection/mergeSort.md
+  - title: minBy
+    path: /reference/dart/package-collection_collection/minBy.md
+  - title: reverse
+    path: /reference/dart/package-collection_collection/reverse.md
+  - title: shuffle
+    path: /reference/dart/package-collection_collection/shuffle.md
+  - title: stronglyConnectedComponents
+    path: /reference/dart/package-collection_collection/stronglyConnectedComponents.md
+  - title: transitiveClosure
+    path: /reference/dart/package-collection_collection/transitiveClosure.md
+- title: dart.pkg.collection.algorithms
+  path: /reference/dart/dart.pkg.collection.algorithms/dart.pkg.collection.algorithms-library.md
+- title: dart.pkg.collection.equality
+  path: /reference/dart/dart.pkg.collection.equality/dart.pkg.collection.equality-library.md
+- title: dart.pkg.collection.iterable_zip
+  path: /reference/dart/dart.pkg.collection.iterable_zip/dart.pkg.collection.iterable_zip-library.md
+- title: dart.pkg.collection.priority_queue
+  path: /reference/dart/dart.pkg.collection.priority_queue/dart.pkg.collection.priority_queue-library.md
+- title: dart.pkg.collection.wrappers
+  path: /reference/dart/dart.pkg.collection.wrappers/dart.pkg.collection.wrappers-library.md
 - heading: fidl
 - title: fidl
   path: /reference/dart/package-fidl_fidl/package-fidl_fidl-library.md
@@ -1889,6 +4345,16 @@
   - heading: Top-level Constants
   - title: hasNoErrors
     path: /reference/dart/package-fuchsia_inspect_testing/hasNoErrors-constant.md
+- heading: fuchsia_logger
+- title: logger
+  path: /reference/dart/package-fuchsia_logger_logger/package-fuchsia_logger_logger-library.md
+  section:
+  - heading: Functions
+  - title: setupLogger
+    path: /reference/dart/package-fuchsia_logger_logger/setupLogger.md
+  - heading: Top-level Properties
+  - title: log
+    path: /reference/dart/package-fuchsia_logger_logger/log.md
 - heading: fuchsia_scenic
 - title: views
   path: /reference/dart/package-fuchsia_scenic_views/package-fuchsia_scenic_views-library.md
@@ -2221,6 +4687,169 @@
     path: /reference/dart/package-fuchsia_vfs_vfs/WriteFn.md
   - title: WriteFnStr
     path: /reference/dart/package-fuchsia_vfs_vfs/WriteFnStr.md
+- heading: logging
+- title: logging
+  path: /reference/dart/package-logging_logging/package-logging_logging-library.md
+  section:
+  - heading: Classes
+  - title: Level
+    path: /reference/dart/package-logging_logging/Level-class.md
+    section:
+    - heading: Constants
+    - title: ALL
+      path: /reference/dart/package-logging_logging/Level/ALL-constant.md
+    - title: CONFIG
+      path: /reference/dart/package-logging_logging/Level/CONFIG-constant.md
+    - title: FINE
+      path: /reference/dart/package-logging_logging/Level/FINE-constant.md
+    - title: FINER
+      path: /reference/dart/package-logging_logging/Level/FINER-constant.md
+    - title: FINEST
+      path: /reference/dart/package-logging_logging/Level/FINEST-constant.md
+    - title: INFO
+      path: /reference/dart/package-logging_logging/Level/INFO-constant.md
+    - title: LEVELS
+      path: /reference/dart/package-logging_logging/Level/LEVELS-constant.md
+    - title: 'OFF'
+      path: /reference/dart/package-logging_logging/Level/OFF-constant.md
+    - title: SEVERE
+      path: /reference/dart/package-logging_logging/Level/SEVERE-constant.md
+    - title: SHOUT
+      path: /reference/dart/package-logging_logging/Level/SHOUT-constant.md
+    - title: WARNING
+      path: /reference/dart/package-logging_logging/Level/WARNING-constant.md
+    - heading: Constructors
+    - title: Level
+      path: /reference/dart/package-logging_logging/Level/Level.md
+    - heading: Methods
+    - title: compareTo
+      path: /reference/dart/package-logging_logging/Level/compareTo.md
+    - title: noSuchMethod
+      path: /reference/dart/package-logging_logging/Level/noSuchMethod.md
+    - title: operator <
+      path: /reference/dart/package-logging_logging/Level/operator_less.md
+    - title: operator <=
+      path: /reference/dart/package-logging_logging/Level/operator_less_equal.md
+    - title: operator ==
+      path: /reference/dart/package-logging_logging/Level/operator_equals.md
+    - title: operator >
+      path: /reference/dart/package-logging_logging/Level/operator_greater.md
+    - title: operator >=
+      path: /reference/dart/package-logging_logging/Level/operator_greater_equal.md
+    - title: toString
+      path: /reference/dart/package-logging_logging/Level/toString.md
+    - heading: Properties
+    - title: hashCode
+      path: /reference/dart/package-logging_logging/Level/hashCode.md
+    - title: name
+      path: /reference/dart/package-logging_logging/Level/name.md
+    - title: runtimeType
+      path: /reference/dart/package-logging_logging/Level/runtimeType.md
+    - title: value
+      path: /reference/dart/package-logging_logging/Level/value.md
+  - title: LogRecord
+    path: /reference/dart/package-logging_logging/LogRecord-class.md
+    section:
+    - heading: Constructors
+    - title: LogRecord
+      path: /reference/dart/package-logging_logging/LogRecord/LogRecord.md
+    - heading: Methods
+    - title: noSuchMethod
+      path: /reference/dart/package-logging_logging/LogRecord/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-logging_logging/LogRecord/operator_equals.md
+    - title: toString
+      path: /reference/dart/package-logging_logging/LogRecord/toString.md
+    - heading: Properties
+    - title: error
+      path: /reference/dart/package-logging_logging/LogRecord/error.md
+    - title: hashCode
+      path: /reference/dart/package-logging_logging/LogRecord/hashCode.md
+    - title: level
+      path: /reference/dart/package-logging_logging/LogRecord/level.md
+    - title: loggerName
+      path: /reference/dart/package-logging_logging/LogRecord/loggerName.md
+    - title: message
+      path: /reference/dart/package-logging_logging/LogRecord/message.md
+    - title: object
+      path: /reference/dart/package-logging_logging/LogRecord/object.md
+    - title: runtimeType
+      path: /reference/dart/package-logging_logging/LogRecord/runtimeType.md
+    - title: sequenceNumber
+      path: /reference/dart/package-logging_logging/LogRecord/sequenceNumber.md
+    - title: stackTrace
+      path: /reference/dart/package-logging_logging/LogRecord/stackTrace.md
+    - title: time
+      path: /reference/dart/package-logging_logging/LogRecord/time.md
+    - title: zone
+      path: /reference/dart/package-logging_logging/LogRecord/zone.md
+  - title: Logger
+    path: /reference/dart/package-logging_logging/Logger-class.md
+    section:
+    - heading: Constructors
+    - title: Logger
+      path: /reference/dart/package-logging_logging/Logger/Logger.md
+    - title: Logger.detached
+      path: /reference/dart/package-logging_logging/Logger/Logger.detached.md
+    - heading: Methods
+    - title: clearListeners
+      path: /reference/dart/package-logging_logging/Logger/clearListeners.md
+    - title: config
+      path: /reference/dart/package-logging_logging/Logger/config.md
+    - title: fine
+      path: /reference/dart/package-logging_logging/Logger/fine.md
+    - title: finer
+      path: /reference/dart/package-logging_logging/Logger/finer.md
+    - title: finest
+      path: /reference/dart/package-logging_logging/Logger/finest.md
+    - title: info
+      path: /reference/dart/package-logging_logging/Logger/info.md
+    - title: isLoggable
+      path: /reference/dart/package-logging_logging/Logger/isLoggable.md
+    - title: log
+      path: /reference/dart/package-logging_logging/Logger/log.md
+    - title: noSuchMethod
+      path: /reference/dart/package-logging_logging/Logger/noSuchMethod.md
+    - title: operator ==
+      path: /reference/dart/package-logging_logging/Logger/operator_equals.md
+    - title: severe
+      path: /reference/dart/package-logging_logging/Logger/severe.md
+    - title: shout
+      path: /reference/dart/package-logging_logging/Logger/shout.md
+    - title: toString
+      path: /reference/dart/package-logging_logging/Logger/toString.md
+    - title: warning
+      path: /reference/dart/package-logging_logging/Logger/warning.md
+    - heading: Properties
+    - title: children
+      path: /reference/dart/package-logging_logging/Logger/children.md
+    - title: fullName
+      path: /reference/dart/package-logging_logging/Logger/fullName.md
+    - title: hashCode
+      path: /reference/dart/package-logging_logging/Logger/hashCode.md
+    - title: level
+      path: /reference/dart/package-logging_logging/Logger/level.md
+    - title: name
+      path: /reference/dart/package-logging_logging/Logger/name.md
+    - title: onRecord
+      path: /reference/dart/package-logging_logging/Logger/onRecord.md
+    - title: parent
+      path: /reference/dart/package-logging_logging/Logger/parent.md
+    - title: root
+      path: /reference/dart/package-logging_logging/Logger/root.md
+    - title: runtimeType
+      path: /reference/dart/package-logging_logging/Logger/runtimeType.md
+  - heading: Top-level Constants
+  - title: defaultLevel
+    path: /reference/dart/package-logging_logging/defaultLevel-constant.md
+  - heading: Top-level Properties
+  - title: hierarchicalLoggingEnabled
+    path: /reference/dart/package-logging_logging/hierarchicalLoggingEnabled.md
+  - title: recordStackTraceAtLevel
+    path: /reference/dart/package-logging_logging/recordStackTraceAtLevel.md
+  - heading: Typedefs
+  - title: LoggerHandler
+    path: /reference/dart/package-logging_logging/LoggerHandler.md
 - heading: zircon
 - title: zircon
   path: /reference/dart/zircon/zircon-library.md
diff --git a/sdk/dart/dart.pkg.collection.algorithms/dart.pkg.collection.algorithms-library.md b/sdk/dart/dart.pkg.collection.algorithms/dart.pkg.collection.algorithms-library.md
new file mode 100644
index 0000000..2de8487
--- /dev/null
+++ b/sdk/dart/dart.pkg.collection.algorithms/dart.pkg.collection.algorithms-library.md
@@ -0,0 +1,51 @@
+
+# dart.pkg.collection.algorithms library
+
+    *<Null safety>*
+
+<p>Import <code>collection.dart</code> instead.</p>
+
+
+
+
+
+
+## Functions
+
+##### [binarySearch](../package-collection_collection/binarySearch.md)&lt;E>(List&lt;E> sortedList, E value, {int compare(E, E)}) int
+
+Returns a position of the <code>value</code> in <code>sortedList</code>, if it is there. [...](../package-collection_collection/binarySearch.md)  
+
+
+##### [insertionSort](../package-collection_collection/insertionSort.md)&lt;E>(List&lt;E> elements, {int compare(E, E), int start: 0, int? end}) void
+
+Sort a list between <code>start</code> (inclusive) and <code>end</code> (exclusive) using
+insertion sort. [...](../package-collection_collection/insertionSort.md)  
+
+
+##### [lowerBound](../package-collection_collection/lowerBound.md)&lt;E>(List&lt;E> sortedList, E value, {int compare(E, E)}) int
+
+Returns the first position in <code>sortedList</code> that does not compare less than
+<code>value</code>. [...](../package-collection_collection/lowerBound.md)  
+
+
+##### [mergeSort](../package-collection_collection/mergeSort.md)&lt;E>(List&lt;E> elements, {int start: 0, int? end, int compare(E, E)}) void
+
+Sorts a list between <code>start</code> (inclusive) and <code>end</code> (exclusive) using the
+merge sort algorithm. [...](../package-collection_collection/mergeSort.md)  
+
+
+##### [reverse](../package-collection_collection/reverse.md)&lt;E>(List&lt;E> elements, [int start = 0, int? end]) void
+
+Reverses a list, or a part of a list, in-place.   
+
+
+##### [shuffle](../package-collection_collection/shuffle.md)(List elements, [int start = 0, int? end, Random? random]) void
+
+Shuffles a list randomly. [...](../package-collection_collection/shuffle.md)  
+
+
+
+
+
+
diff --git a/sdk/dart/dart.pkg.collection.equality/dart.pkg.collection.equality-library.md b/sdk/dart/dart.pkg.collection.equality/dart.pkg.collection.equality-library.md
new file mode 100644
index 0000000..eb67c7c
--- /dev/null
+++ b/sdk/dart/dart.pkg.collection.equality/dart.pkg.collection.equality-library.md
@@ -0,0 +1,66 @@
+
+# dart.pkg.collection.equality library
+
+    *<Null safety>*
+
+<p>Import <code>collection.dart</code> instead.</p>
+
+## Classes
+
+##### [CaseInsensitiveEquality](../package-collection_collection/CaseInsensitiveEquality-class.md)
+
+String equality that's insensitive to differences in ASCII case. [...](../package-collection_collection/CaseInsensitiveEquality-class.md)
+
+##### [DeepCollectionEquality](../package-collection_collection/DeepCollectionEquality-class.md)
+
+Deep equality on collections. [...](../package-collection_collection/DeepCollectionEquality-class.md)
+
+##### [DefaultEquality](../package-collection_collection/DefaultEquality-class.md)&lt;E>
+
+Equality of objects that compares only the natural equality of the objects. [...](../package-collection_collection/DefaultEquality-class.md)
+
+##### [Equality](../package-collection_collection/Equality-class.md)&lt;E>
+
+A generic equality relation on objects. 
+
+##### [EqualityBy](../package-collection_collection/EqualityBy-class.md)&lt;E, F>
+
+Equality of objects based on derived values. [...](../package-collection_collection/EqualityBy-class.md)
+
+##### [IdentityEquality](../package-collection_collection/IdentityEquality-class.md)&lt;E>
+
+Equality of objects that compares only the identity of the objects. 
+
+##### [IterableEquality](../package-collection_collection/IterableEquality-class.md)&lt;E>
+
+Equality on iterables. [...](../package-collection_collection/IterableEquality-class.md)
+
+##### [ListEquality](../package-collection_collection/ListEquality-class.md)&lt;E>
+
+Equality on lists. [...](../package-collection_collection/ListEquality-class.md)
+
+##### [MapEquality](../package-collection_collection/MapEquality-class.md)&lt;K, V>
+
+Equality on maps. [...](../package-collection_collection/MapEquality-class.md)
+
+##### [MultiEquality](../package-collection_collection/MultiEquality-class.md)&lt;E>
+
+Combines several equalities into a single equality. [...](../package-collection_collection/MultiEquality-class.md)
+
+##### [SetEquality](../package-collection_collection/SetEquality-class.md)&lt;E>
+
+Equality of sets. [...](../package-collection_collection/SetEquality-class.md)
+
+##### [UnorderedIterableEquality](../package-collection_collection/UnorderedIterableEquality-class.md)&lt;E>
+
+Equality of the elements of two iterables without considering order. [...](../package-collection_collection/UnorderedIterableEquality-class.md)
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/dart/dart.pkg.collection.iterable_zip/dart.pkg.collection.iterable_zip-library.md b/sdk/dart/dart.pkg.collection.iterable_zip/dart.pkg.collection.iterable_zip-library.md
new file mode 100644
index 0000000..bccd0b9
--- /dev/null
+++ b/sdk/dart/dart.pkg.collection.iterable_zip/dart.pkg.collection.iterable_zip-library.md
@@ -0,0 +1,22 @@
+
+# dart.pkg.collection.iterable_zip library
+
+    *<Null safety>*
+
+<p>Import <code>collection.dart</code> instead.</p>
+
+## Classes
+
+##### [IterableZip](../package-collection_collection/IterableZip-class.md)&lt;T>
+
+Iterable that iterates over lists of values from other iterables. [...](../package-collection_collection/IterableZip-class.md)
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/dart/dart.pkg.collection.priority_queue/dart.pkg.collection.priority_queue-library.md b/sdk/dart/dart.pkg.collection.priority_queue/dart.pkg.collection.priority_queue-library.md
new file mode 100644
index 0000000..eb31fb3
--- /dev/null
+++ b/sdk/dart/dart.pkg.collection.priority_queue/dart.pkg.collection.priority_queue-library.md
@@ -0,0 +1,26 @@
+
+# dart.pkg.collection.priority_queue library
+
+    *<Null safety>*
+
+<p>Import <code>collection.dart</code> instead.</p>
+
+## Classes
+
+##### [HeapPriorityQueue](../package-collection_collection/HeapPriorityQueue-class.md)&lt;E>
+
+Heap based priority queue. [...](../package-collection_collection/HeapPriorityQueue-class.md)
+
+##### [PriorityQueue](../package-collection_collection/PriorityQueue-class.md)&lt;E>
+
+A priority queue is a priority based work-list of elements. [...](../package-collection_collection/PriorityQueue-class.md)
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/dart/dart.pkg.collection.wrappers/dart.pkg.collection.wrappers-library.md b/sdk/dart/dart.pkg.collection.wrappers/dart.pkg.collection.wrappers-library.md
new file mode 100644
index 0000000..9f26b62
--- /dev/null
+++ b/sdk/dart/dart.pkg.collection.wrappers/dart.pkg.collection.wrappers-library.md
@@ -0,0 +1,81 @@
+
+# dart.pkg.collection.wrappers library
+
+    *<Null safety>*
+
+<p>Import <code>collection.dart</code> instead.</p>
+
+## Classes
+
+##### [CanonicalizedMap](../package-collection_collection/CanonicalizedMap-class.md)&lt;C, K, V>
+
+A map whose keys are converted to canonical values of type <code>C</code>. [...](../package-collection_collection/CanonicalizedMap-class.md)
+
+##### [DelegatingIterable](../package-collection_collection/DelegatingIterable-class.md)&lt;E>
+
+An <code>Iterable</code> that delegates all operations to a base iterable. [...](../package-collection_collection/DelegatingIterable-class.md)
+
+##### [DelegatingList](../package-collection_collection/DelegatingList-class.md)&lt;E>
+
+A <code>List</code> that delegates all operations to a base list. [...](../package-collection_collection/DelegatingList-class.md)
+
+##### [DelegatingMap](../package-collection_collection/DelegatingMap-class.md)&lt;K, V>
+
+A <code>Map</code> that delegates all operations to a base map. [...](../package-collection_collection/DelegatingMap-class.md)
+
+##### [DelegatingQueue](../package-collection_collection/DelegatingQueue-class.md)&lt;E>
+
+A <code>Queue</code> that delegates all operations to a base queue. [...](../package-collection_collection/DelegatingQueue-class.md)
+
+##### [DelegatingSet](../package-collection_collection/DelegatingSet-class.md)&lt;E>
+
+A <code>Set</code> that delegates all operations to a base set. [...](../package-collection_collection/DelegatingSet-class.md)
+
+##### [MapKeySet](../package-collection_collection/MapKeySet-class.md)&lt;E>
+
+An unmodifiable <code>Set</code> view of the keys of a <code>Map</code>. [...](../package-collection_collection/MapKeySet-class.md)
+
+##### [MapValueSet](../package-collection_collection/MapValueSet-class.md)&lt;K, V>
+
+Creates a modifiable <code>Set</code> view of the values of a <code>Map</code>. [...](../package-collection_collection/MapValueSet-class.md)
+
+##### [NonGrowableListMixin](../package-collection_collection/NonGrowableListMixin-class.md)&lt;E>
+
+Mixin class that implements a throwing version of all list operations that
+change the List's length. 
+
+##### [NonGrowableListView](../package-collection_collection/NonGrowableListView-class.md)&lt;E>
+
+A fixed-length list. [...](../package-collection_collection/NonGrowableListView-class.md)
+
+##### [UnmodifiableListView](../package-collection_collection/UnmodifiableListView-class.md)&lt;E>
+
+An unmodifiable <code>List</code> view of another List. [...](../package-collection_collection/UnmodifiableListView-class.md)
+
+##### [UnmodifiableMapMixin](../package-collection_collection/UnmodifiableMapMixin-class.md)&lt;K, V>
+
+Mixin class that implements a throwing version of all map operations that
+change the Map. 
+
+##### [UnmodifiableMapView](../package-collection_collection/UnmodifiableMapView-class.md)&lt;K, V>
+
+View of a <code>Map</code> that disallow modifying the map. [...](../package-collection_collection/UnmodifiableMapView-class.md)
+
+##### [UnmodifiableSetMixin](../package-collection_collection/UnmodifiableSetMixin-class.md)&lt;E>
+
+Mixin class that implements a throwing version of all set operations that
+change the Set. 
+
+##### [UnmodifiableSetView](../package-collection_collection/UnmodifiableSetView-class.md)&lt;E>
+
+An unmodifiable set. [...](../package-collection_collection/UnmodifiableSetView-class.md)
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/dart/index.md b/sdk/dart/index.md
index ca071da..0354b8d 100644
--- a/sdk/dart/index.md
+++ b/sdk/dart/index.md
@@ -23,6 +23,12 @@
  
 
 
+## fuchsia_logger
+
+##### [logger](package-fuchsia_logger_logger/package-fuchsia_logger_logger-library.md)
+ 
+
+
 ## fuchsia_scenic
 
 ##### [views](package-fuchsia_scenic_views/package-fuchsia_scenic_views-library.md)
@@ -41,12 +47,39 @@
  
 
 
+## collection
+
+##### [collection](package-collection_collection/package-collection_collection-library.md)
+ 
+
+##### [~~dart.pkg.collection.algorithms~~](dart.pkg.collection.algorithms/dart.pkg.collection.algorithms-library.md)
+Import <code>collection.dart</code> instead. 
+
+##### [~~dart.pkg.collection.equality~~](dart.pkg.collection.equality/dart.pkg.collection.equality-library.md)
+Import <code>collection.dart</code> instead. 
+
+##### [~~dart.pkg.collection.iterable_zip~~](dart.pkg.collection.iterable_zip/dart.pkg.collection.iterable_zip-library.md)
+Import <code>collection.dart</code> instead. 
+
+##### [~~dart.pkg.collection.priority_queue~~](dart.pkg.collection.priority_queue/dart.pkg.collection.priority_queue-library.md)
+Import <code>collection.dart</code> instead. 
+
+##### [~~dart.pkg.collection.wrappers~~](dart.pkg.collection.wrappers/dart.pkg.collection.wrappers-library.md)
+Import <code>collection.dart</code> instead. 
+
+
 ## fidl
 
 ##### [fidl](package-fidl_fidl/package-fidl_fidl-library.md)
  
 
 
+## logging
+
+##### [logging](package-logging_logging/package-logging_logging-library.md)
+ 
+
+
 ## zircon
 
 ##### [zircon](zircon/zircon-library.md)
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap-class.md b/sdk/dart/package-collection_collection/CanonicalizedMap-class.md
new file mode 100644
index 0000000..317d828
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap-class.md
@@ -0,0 +1,183 @@
+
+# CanonicalizedMap&lt;C, K, V> class
+
+    *<Null safety>*
+
+<p>A map whose keys are converted to canonical values of type <code>C</code>.</p>
+<p>This is useful for using case-insensitive String keys, for example. It's
+more efficient than a <code>LinkedHashMap</code> with a custom equality operator
+because it only canonicalizes each key once, rather than doing so for each
+comparison.</p>
+
+
+**Implemented types**
+
+- Map&lt;K, V>
+
+
+
+
+
+## Constructors
+
+[CanonicalizedMap](../package-collection_collection/CanonicalizedMap/CanonicalizedMap.md) (C canonicalize(K key), {bool isValidKey(K key)})
+
+Creates an empty canonicalized map. [...](../package-collection_collection/CanonicalizedMap/CanonicalizedMap.md)  
+ 
+
+[CanonicalizedMap.from](../package-collection_collection/CanonicalizedMap/CanonicalizedMap.from.md) (Map&lt;K, V> other, C canonicalize(K key), {bool isValidKey(K key)})
+
+Creates a canonicalized map that is initialized with the key/value pairs
+of <code>other</code>. [...](../package-collection_collection/CanonicalizedMap/CanonicalizedMap.from.md)  
+ 
+
+
+## Properties
+
+##### [entries](../package-collection_collection/CanonicalizedMap/entries.md) &#8594; Iterable&lt;MapEntry&lt;K, V>>
+
+The map entries of <a href="../package-collection_collection/CanonicalizedMap-class.md">this</a>.   
+_read-only, override_
+
+##### [hashCode](../package-collection_collection/CanonicalizedMap/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/CanonicalizedMap/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/CanonicalizedMap/isEmpty.md) &#8594; bool
+
+Returns true if there is no key/value pair in the map.   
+_read-only, override_
+
+##### [isNotEmpty](../package-collection_collection/CanonicalizedMap/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one key/value pair in the map.   
+_read-only, override_
+
+##### [keys](../package-collection_collection/CanonicalizedMap/keys.md) &#8594; Iterable&lt;K>
+
+The keys of <a href="../package-collection_collection/CanonicalizedMap-class.md">this</a>. [...](../package-collection_collection/CanonicalizedMap/keys.md)  
+_read-only, override_
+
+##### [length](../package-collection_collection/CanonicalizedMap/length.md) &#8594; int
+
+The number of key/value pairs in the map.   
+_read-only, override_
+
+##### [runtimeType](../package-collection_collection/CanonicalizedMap/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [values](../package-collection_collection/CanonicalizedMap/values.md) &#8594; Iterable&lt;V>
+
+The values of <a href="../package-collection_collection/CanonicalizedMap-class.md">this</a>. [...](../package-collection_collection/CanonicalizedMap/values.md)  
+_read-only, override_
+
+
+## Methods
+
+##### [addAll](../package-collection_collection/CanonicalizedMap/addAll.md)(Map&lt;K, V> other) void
+
+Adds all key/value pairs of <code>other</code> to this map. [...](../package-collection_collection/CanonicalizedMap/addAll.md)  
+_override_
+
+##### [addEntries](../package-collection_collection/CanonicalizedMap/addEntries.md)(Iterable&lt;MapEntry&lt;K, V>> entries) void
+
+Adds all key/value pairs of <code>newEntries</code> to this map. [...](../package-collection_collection/CanonicalizedMap/addEntries.md)  
+_override_
+
+##### [cast](../package-collection_collection/CanonicalizedMap/cast.md)&lt;K2, V2>() Map&lt;K2, V2>
+
+Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary. [...](../package-collection_collection/CanonicalizedMap/cast.md)  
+_override_
+
+##### [clear](../package-collection_collection/CanonicalizedMap/clear.md)() void
+
+Removes all pairs from the map. [...](../package-collection_collection/CanonicalizedMap/clear.md)  
+_override_
+
+##### [containsKey](../package-collection_collection/CanonicalizedMap/containsKey.md)(Object? key) bool
+
+Returns true if this map contains the given <code>key</code>. [...](../package-collection_collection/CanonicalizedMap/containsKey.md)  
+_override_
+
+##### [containsValue](../package-collection_collection/CanonicalizedMap/containsValue.md)(Object? value) bool
+
+Returns true if this map contains the given <code>value</code>. [...](../package-collection_collection/CanonicalizedMap/containsValue.md)  
+_override_
+
+##### [forEach](../package-collection_collection/CanonicalizedMap/forEach.md)(void f(K, V)) void
+
+Applies <code>f</code> to each key/value pair of the map. [...](../package-collection_collection/CanonicalizedMap/forEach.md)  
+_override_
+
+##### [map](../package-collection_collection/CanonicalizedMap/map.md)&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K, V)) Map&lt;K2, V2>
+
+Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.   
+_override_
+
+##### [noSuchMethod](../package-collection_collection/CanonicalizedMap/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/CanonicalizedMap/noSuchMethod.md)  
+_inherited_
+
+##### [putIfAbsent](../package-collection_collection/CanonicalizedMap/putIfAbsent.md)(K key, V ifAbsent()) V
+
+Look up the value of <code>key</code>, or add a new value if it isn't there. [...](../package-collection_collection/CanonicalizedMap/putIfAbsent.md)  
+_override_
+
+##### [remove](../package-collection_collection/CanonicalizedMap/remove.md)(Object? key) V?
+
+Removes <code>key</code> and its associated value, if present, from the map. [...](../package-collection_collection/CanonicalizedMap/remove.md)  
+_override_
+
+##### [removeWhere](../package-collection_collection/CanonicalizedMap/removeWhere.md)(bool test(K key, V value)) void
+
+Removes all entries of this map that satisfy the given <code>predicate</code>.   
+_override_
+
+##### [~~retype~~](../package-collection_collection/CanonicalizedMap/retype.md)&lt;K2, V2>() Map&lt;K2, V2>
+
+   
+
+
+##### [toString](../package-collection_collection/CanonicalizedMap/toString.md)() String
+
+Returns a string representation of this object.   
+_override_
+
+##### [update](../package-collection_collection/CanonicalizedMap/update.md)(K key, V update(V), {V ifAbsent()}) V
+
+Updates the value for the provided <code>key</code>. [...](../package-collection_collection/CanonicalizedMap/update.md)  
+_override_
+
+##### [updateAll](../package-collection_collection/CanonicalizedMap/updateAll.md)(V update(K key, V value)) void
+
+Updates all values. [...](../package-collection_collection/CanonicalizedMap/updateAll.md)  
+_override_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/CanonicalizedMap/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/CanonicalizedMap/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/CanonicalizedMap/operator_get.md)(Object? key) V?
+
+Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map. [...](../package-collection_collection/CanonicalizedMap/operator_get.md)  
+_override_
+
+##### [operator []=](../package-collection_collection/CanonicalizedMap/operator_put.md)(K key, V value) void
+
+Associates the <code>key</code> with the given <code>value</code>. [...](../package-collection_collection/CanonicalizedMap/operator_put.md)  
+_override_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.from.md b/sdk/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.from.md
new file mode 100644
index 0000000..6ad1da5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.from.md
@@ -0,0 +1,29 @@
+
+# CanonicalizedMap&lt;C, K, V>.from constructor
+
+    *<Null safety>*
+
+
+
+CanonicalizedMap&lt;C, K, V>.from(Map&lt;K, V> other, C canonicalize(K key), {bool isValidKey(K key)})
+
+<p>Creates a canonicalized map that is initialized with the key/value pairs
+of <code>other</code>.</p>
+<p>The <code>canonicalize</code> function should return the canonical value for the
+given key. Keys with the same canonical value are considered equivalent.</p>
+<p>The <code>isValidKey</code> function is called before calling <code>canonicalize</code> for
+methods that take arbitrary objects. It can be used to filter out keys
+that can't be canonicalized.</p>
+
+## Implementation
+
+```dart
+CanonicalizedMap.from(Map<K, V> other, C Function(K key) canonicalize,
+    {bool Function(K key)? isValidKey})
+    : _canonicalize = canonicalize,
+      _isValidKeyFn = isValidKey {
+  addAll(other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.md b/sdk/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.md
new file mode 100644
index 0000000..83d0998
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/CanonicalizedMap.md
@@ -0,0 +1,26 @@
+
+# CanonicalizedMap&lt;C, K, V> constructor
+
+    *<Null safety>*
+
+
+
+CanonicalizedMap&lt;C, K, V>(C canonicalize(K key), {bool isValidKey(K key)})
+
+<p>Creates an empty canonicalized map.</p>
+<p>The <code>canonicalize</code> function should return the canonical value for the
+given key. Keys with the same canonical value are considered equivalent.</p>
+<p>The <code>isValidKey</code> function is called before calling <code>canonicalize</code> for
+methods that take arbitrary objects. It can be used to filter out keys
+that can't be canonicalized.</p>
+
+## Implementation
+
+```dart
+CanonicalizedMap(C Function(K key) canonicalize,
+    {bool Function(K key)? isValidKey})
+    : _canonicalize = canonicalize,
+      _isValidKeyFn = isValidKey;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/addAll.md b/sdk/dart/package-collection_collection/CanonicalizedMap/addAll.md
new file mode 100644
index 0000000..8059831
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/addAll.md
@@ -0,0 +1,27 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Map&lt;K, V> other)
+_override_
+
+<p>Adds all key/value pairs of <code>other</code> to this map.</p>
+<p>If a key of <code>other</code> is already in this map, its value is overwritten.</p>
+<p>The operation is equivalent to doing <code>this[key] = value</code> for each key
+and associated value in other. It iterates over <code>other</code>, which must
+therefore not change during the iteration.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Map<K, V> other) {
+  other.forEach((key, value) => this[key] = value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/addEntries.md b/sdk/dart/package-collection_collection/CanonicalizedMap/addEntries.md
new file mode 100644
index 0000000..a8992d1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/addEntries.md
@@ -0,0 +1,26 @@
+
+# addEntries method
+
+    *<Null safety>*
+
+- @override
+
+void addEntries
+(Iterable&lt;MapEntry&lt;K, V>> entries)
+_override_
+
+<p>Adds all key/value pairs of <code>newEntries</code> to this map.</p>
+<p>If a key of <code>newEntries</code> is already in this map,
+the corresponding value is overwritten.</p>
+<p>The operation is equivalent to doing <code>this[entry.key] = entry.value</code>
+for each <code>MapEntry</code> of the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+void addEntries(Iterable<MapEntry<K, V>> entries) => _base.addEntries(entries
+    .map((e) => MapEntry(_canonicalize(e.key), MapEntry(e.key, e.value))));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/cast.md b/sdk/dart/package-collection_collection/CanonicalizedMap/cast.md
new file mode 100644
index 0000000..f63c1bd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/cast.md
@@ -0,0 +1,29 @@
+
+# cast&lt;K2, V2> method
+
+    *<Null safety>*
+
+- @override
+
+Map&lt;K2, V2> cast
+&lt;K2, V2>()
+_override_
+
+<p>Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary.</p>
+<p>If this map is already a <code>Map&lt;RK, RV&gt;</code>, it is returned unchanged.</p>
+<p>If this set contains only keys of type <code>RK</code> and values of type <code>RV</code>,
+all read operations will work correctly.
+If any operation exposes a non-<code>RK</code> key or non-<code>RV</code> value,
+the operation will throw instead.</p>
+<p>Entries added to the map must be valid for both a <code>Map&lt;K, V&gt;</code> and a
+<code>Map&lt;RK, RV&gt;</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Map<K2, V2> cast<K2, V2>() => _base.cast<K2, V2>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/clear.md b/sdk/dart/package-collection_collection/CanonicalizedMap/clear.md
new file mode 100644
index 0000000..d61dee2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/clear.md
@@ -0,0 +1,24 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all pairs from the map.</p>
+<p>After this, the map is empty.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _base.clear();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/containsKey.md b/sdk/dart/package-collection_collection/CanonicalizedMap/containsKey.md
new file mode 100644
index 0000000..b23b8bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/containsKey.md
@@ -0,0 +1,26 @@
+
+# containsKey method
+
+    *<Null safety>*
+
+- @override
+
+bool containsKey
+(Object? key)
+_override_
+
+<p>Returns true if this map contains the given <code>key</code>.</p>
+<p>Returns true if any of the keys in the map are equal to <code>key</code>
+according to the equality used by the map.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsKey(Object? key) {
+  if (!_isValidKey(key)) return false;
+  return _base.containsKey(_canonicalize(key as K));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/containsValue.md b/sdk/dart/package-collection_collection/CanonicalizedMap/containsValue.md
new file mode 100644
index 0000000..cf730c7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/containsValue.md
@@ -0,0 +1,24 @@
+
+# containsValue method
+
+    *<Null safety>*
+
+- @override
+
+bool containsValue
+(Object? value)
+_override_
+
+<p>Returns true if this map contains the given <code>value</code>.</p>
+<p>Returns true if any of the values in the map are equal to <code>value</code>
+according to the <code>==</code> operator.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsValue(Object? value) =>
+    _base.values.any((pair) => pair.value == value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/entries.md b/sdk/dart/package-collection_collection/CanonicalizedMap/entries.md
new file mode 100644
index 0000000..ca467f7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/entries.md
@@ -0,0 +1,21 @@
+
+# entries property
+
+    *<Null safety>*
+
+
+Iterable&lt;MapEntry&lt;K, V>> entries
+  
+_override_
+
+<p>The map entries of <a href="../../package-collection_collection/CanonicalizedMap-class.md">this</a>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<MapEntry<K, V>> get entries =>
+    _base.entries.map((e) => MapEntry(e.value.key, e.value.value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/forEach.md b/sdk/dart/package-collection_collection/CanonicalizedMap/forEach.md
new file mode 100644
index 0000000..72c9b37
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/forEach.md
@@ -0,0 +1,24 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(K, V))
+_override_
+
+<p>Applies <code>f</code> to each key/value pair of the map.</p>
+<p>Calling <code>f</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(K, V) f) {
+  _base.forEach((key, pair) => f(pair.key, pair.value));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/hashCode.md b/sdk/dart/package-collection_collection/CanonicalizedMap/hashCode.md
new file mode 100644
index 0000000..518b80b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/CanonicalizedMap/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/CanonicalizedMap/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/CanonicalizedMap/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/CanonicalizedMap/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/CanonicalizedMap/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/CanonicalizedMap/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/isEmpty.md b/sdk/dart/package-collection_collection/CanonicalizedMap/isEmpty.md
new file mode 100644
index 0000000..98102f5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/isEmpty.md
@@ -0,0 +1,20 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_override_
+
+<p>Returns true if there is no key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _base.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/isNotEmpty.md b/sdk/dart/package-collection_collection/CanonicalizedMap/isNotEmpty.md
new file mode 100644
index 0000000..8209a4a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/isNotEmpty.md
@@ -0,0 +1,20 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_override_
+
+<p>Returns true if there is at least one key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _base.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/keys.md b/sdk/dart/package-collection_collection/CanonicalizedMap/keys.md
new file mode 100644
index 0000000..b0587c4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/keys.md
@@ -0,0 +1,26 @@
+
+# keys property
+
+    *<Null safety>*
+
+
+Iterable&lt;K> keys
+  
+_override_
+
+<p>The keys of <a href="../../package-collection_collection/CanonicalizedMap-class.md">this</a>.</p>
+<p>The returned iterable has efficient <code>length</code> and <code>contains</code> operations,
+based on <a href="../../package-collection_collection/CanonicalizedMap/length.md">length</a> and <a href="../../package-collection_collection/CanonicalizedMap/containsKey.md">containsKey</a> of the map.</p>
+<p>The order of iteration is defined by the individual <code>Map</code> implementation,
+but must be consistent between changes to the map.</p>
+<p>Modifying the map while iterating the keys
+may break the iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<K> get keys => _base.values.map((pair) => pair.key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/length.md b/sdk/dart/package-collection_collection/CanonicalizedMap/length.md
new file mode 100644
index 0000000..871e23d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/length.md
@@ -0,0 +1,20 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>The number of key/value pairs in the map.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/map.md b/sdk/dart/package-collection_collection/CanonicalizedMap/map.md
new file mode 100644
index 0000000..afda3c3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/map.md
@@ -0,0 +1,23 @@
+
+# map&lt;K2, V2> method
+
+    *<Null safety>*
+
+- @override
+
+Map&lt;K2, V2> map
+&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K, V))
+_override_
+
+<p>Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.</p>
+
+## Implementation
+
+```dart
+@override
+Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> Function(K, V) transform) =>
+    _base.map((_, pair) => transform(pair.key, pair.value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/noSuchMethod.md b/sdk/dart/package-collection_collection/CanonicalizedMap/noSuchMethod.md
new file mode 100644
index 0000000..3c78bb2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/CanonicalizedMap/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/operator_equals.md b/sdk/dart/package-collection_collection/CanonicalizedMap/operator_equals.md
new file mode 100644
index 0000000..74bfdf7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/CanonicalizedMap/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/operator_get.md b/sdk/dart/package-collection_collection/CanonicalizedMap/operator_get.md
new file mode 100644
index 0000000..a754885
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/operator_get.md
@@ -0,0 +1,30 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+V? operator []
+(Object? key)
+_override_
+
+<p>Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map.</p>
+<p>Some maps allow keys to have <code>null</code> as a value.
+For those maps, a lookup using this operator cannot distinguish between a
+key not being in the map and the key having a <code>null</code> value.
+Methods like <a href="../../package-collection_collection/CanonicalizedMap/containsKey.md">containsKey</a> or <a href="../../package-collection_collection/CanonicalizedMap/putIfAbsent.md">putIfAbsent</a> can be used if the distinction
+is important.</p>
+
+## Implementation
+
+```dart
+@override
+V? operator [](Object? key) {
+  if (!_isValidKey(key)) return null;
+  var pair = _base[_canonicalize(key as K)];
+  return pair == null ? null : pair.value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/operator_put.md b/sdk/dart/package-collection_collection/CanonicalizedMap/operator_put.md
new file mode 100644
index 0000000..82bbd4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/operator_put.md
@@ -0,0 +1,26 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(K key, V value)
+_override_
+
+<p>Associates the <code>key</code> with the given <code>value</code>.</p>
+<p>If the key was already in the map, its associated value is changed.
+Otherwise the key/value pair is added to the map.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(K key, V value) {
+  if (!_isValidKey(key)) return;
+  _base[_canonicalize(key)] = MapEntry(key, value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/putIfAbsent.md b/sdk/dart/package-collection_collection/CanonicalizedMap/putIfAbsent.md
new file mode 100644
index 0000000..70e603d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/putIfAbsent.md
@@ -0,0 +1,37 @@
+
+# putIfAbsent method
+
+    *<Null safety>*
+
+- @override
+
+V putIfAbsent
+(K key, V ifAbsent())
+_override_
+
+<p>Look up the value of <code>key</code>, or add a new value if it isn't there.</p>
+<p>Returns the value associated to <code>key</code>, if there is one.
+Otherwise calls <code>ifAbsent</code> to get a new value, associates <code>key</code> to
+that value, and then returns the new value.</p>
+<pre class="language-dart"><code>Map&lt;String, int&gt; scores = {'Bob': 36};
+for (var key in ['Bob', 'Rohan', 'Sophena']) {
+  scores.putIfAbsent(key, () =&gt; key.length);
+}
+scores['Bob'];      // 36
+scores['Rohan'];    //  5
+scores['Sophena'];  //  7
+</code></pre>
+<p>Calling <code>ifAbsent</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+@override
+V putIfAbsent(K key, V Function() ifAbsent) {
+  return _base
+      .putIfAbsent(_canonicalize(key), () => MapEntry(key, ifAbsent()))
+      .value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/remove.md b/sdk/dart/package-collection_collection/CanonicalizedMap/remove.md
new file mode 100644
index 0000000..22019f6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/remove.md
@@ -0,0 +1,29 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+V? remove
+(Object? key)
+_override_
+
+<p>Removes <code>key</code> and its associated value, if present, from the map.</p>
+<p>Returns the value associated with <code>key</code> before it was removed.
+Returns <code>null</code> if <code>key</code> was not in the map.</p>
+<p>Note that values can be <code>null</code> and a returned <code>null</code> value doesn't
+always mean that the key was absent.</p>
+
+## Implementation
+
+```dart
+@override
+V? remove(Object? key) {
+  if (!_isValidKey(key)) return null;
+  var pair = _base.remove(_canonicalize(key as K));
+  return pair?.value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/removeWhere.md b/sdk/dart/package-collection_collection/CanonicalizedMap/removeWhere.md
new file mode 100644
index 0000000..dc2708f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/removeWhere.md
@@ -0,0 +1,22 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(K key, V value))
+_override_
+
+<p>Removes all entries of this map that satisfy the given <code>predicate</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(K key, V value) test) =>
+    _base.removeWhere((_, pair) => test(pair.key, pair.value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/retype.md b/sdk/dart/package-collection_collection/CanonicalizedMap/retype.md
new file mode 100644
index 0000000..5463260
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/retype.md
@@ -0,0 +1,20 @@
+
+# retype&lt;K2, V2> method
+
+    *<Null safety>*
+
+- @deprecated
+
+Map&lt;K2, V2> ~~retype~~
+&lt;K2, V2>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+Map<K2, V2> retype<K2, V2>() => cast<K2, V2>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/runtimeType.md b/sdk/dart/package-collection_collection/CanonicalizedMap/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/toString.md b/sdk/dart/package-collection_collection/CanonicalizedMap/toString.md
new file mode 100644
index 0000000..97d12ff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_override_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => MapBase.mapToString(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/update.md b/sdk/dart/package-collection_collection/CanonicalizedMap/update.md
new file mode 100644
index 0000000..08b36ad
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/update.md
@@ -0,0 +1,35 @@
+
+# update method
+
+    *<Null safety>*
+
+- @override
+
+V update
+(K key, V update(V), {V ifAbsent()})
+_override_
+
+<p>Updates the value for the provided <code>key</code>.</p>
+<p>Returns the new value of the key.</p>
+<p>If the key is present, invokes <code>update</code> with the current value and stores
+the new value in the map.</p>
+<p>If the key is not present and <code>ifAbsent</code> is provided, calls <code>ifAbsent</code>
+and adds the key with the returned value to the map.</p>
+<p>It's an error if the key is not present and <code>ifAbsent</code> is not provided.</p>
+
+## Implementation
+
+```dart
+@override
+V update(K key, V Function(V) update, {V Function()? ifAbsent}) =>
+    _base.update(_canonicalize(key), (pair) {
+      var value = pair.value;
+      var newValue = update(value);
+      if (identical(newValue, value)) return pair;
+      return MapEntry(key, newValue);
+    },
+        ifAbsent:
+            ifAbsent == null ? null : () => MapEntry(key, ifAbsent())).value;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/updateAll.md b/sdk/dart/package-collection_collection/CanonicalizedMap/updateAll.md
new file mode 100644
index 0000000..3546f30
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/updateAll.md
@@ -0,0 +1,30 @@
+
+# updateAll method
+
+    *<Null safety>*
+
+- @override
+
+void updateAll
+(V update(K key, V value))
+_override_
+
+<p>Updates all values.</p>
+<p>Iterates over all entries in the map and updates them with the result
+of invoking <code>update</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void updateAll(V Function(K key, V value) update) =>
+    _base.updateAll((_, pair) {
+      var value = pair.value;
+      var key = pair.key;
+      var newValue = update(key, value);
+      if (identical(value, newValue)) return pair;
+      return MapEntry(key, newValue);
+    });
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CanonicalizedMap/values.md b/sdk/dart/package-collection_collection/CanonicalizedMap/values.md
new file mode 100644
index 0000000..8dce9e3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CanonicalizedMap/values.md
@@ -0,0 +1,28 @@
+
+# values property
+
+    *<Null safety>*
+
+
+Iterable&lt;V> values
+  
+_override_
+
+<p>The values of <a href="../../package-collection_collection/CanonicalizedMap-class.md">this</a>.</p>
+<p>The values are iterated in the order of their corresponding keys.
+This means that iterating <a href="../../package-collection_collection/CanonicalizedMap/keys.md">keys</a> and <a href="../../package-collection_collection/CanonicalizedMap/values.md">values</a> in parallel will
+provide matching pairs of keys and values.</p>
+<p>The returned iterable has an efficient <code>length</code> method based on the
+<a href="../../package-collection_collection/CanonicalizedMap/length.md">length</a> of the map. Its <code>Iterable.contains</code> method is based on
+<code>==</code> comparison.</p>
+<p>Modifying the map while iterating the
+values may break the iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<V> get values => _base.values.map((pair) => pair.value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CaseInsensitiveEquality-class.md b/sdk/dart/package-collection_collection/CaseInsensitiveEquality-class.md
new file mode 100644
index 0000000..25f5f80
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CaseInsensitiveEquality-class.md
@@ -0,0 +1,77 @@
+
+# CaseInsensitiveEquality class
+
+    *<Null safety>*
+
+<p>String equality that's insensitive to differences in ASCII case.</p>
+<p>Non-ASCII characters are compared as-is, with no conversion.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;String>
+
+
+
+
+
+## Constructors
+
+[CaseInsensitiveEquality](../package-collection_collection/CaseInsensitiveEquality/CaseInsensitiveEquality.md) ()
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/CaseInsensitiveEquality/equals.md)(String string1, String string2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/CaseInsensitiveEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/CaseInsensitiveEquality/hash.md)(String string) int
+
+Get a hashcode of an element. [...](../package-collection_collection/CaseInsensitiveEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/CaseInsensitiveEquality/isValidKey.md)(Object? object) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/CaseInsensitiveEquality/equals.md">equals</a> and <a href="../package-collection_collection/CaseInsensitiveEquality/hash.md">hash</a>. [...](../package-collection_collection/CaseInsensitiveEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/CaseInsensitiveEquality/CaseInsensitiveEquality.md b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/CaseInsensitiveEquality.md
new file mode 100644
index 0000000..40613db
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/CaseInsensitiveEquality.md
@@ -0,0 +1,17 @@
+
+# CaseInsensitiveEquality constructor
+
+    *<Null safety>*
+
+
+const
+CaseInsensitiveEquality()
+
+
+## Implementation
+
+```dart
+const CaseInsensitiveEquality();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CaseInsensitiveEquality/equals.md b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/equals.md
new file mode 100644
index 0000000..8e92e14
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/equals.md
@@ -0,0 +1,23 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(String string1, String string2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(String string1, String string2) =>
+    equalsIgnoreAsciiCase(string1, string2);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CaseInsensitiveEquality/hash.md b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/hash.md
new file mode 100644
index 0000000..eea68d3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/hash.md
@@ -0,0 +1,23 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(String string)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/CaseInsensitiveEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(String string) => hashIgnoreAsciiCase(string);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CaseInsensitiveEquality/isValidKey.md b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/isValidKey.md
new file mode 100644
index 0000000..d2927f4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CaseInsensitiveEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? object)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/CaseInsensitiveEquality/equals.md">equals</a> and <a href="../../package-collection_collection/CaseInsensitiveEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? object) => object is String;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView-class.md b/sdk/dart/package-collection_collection/CombinedIterableView-class.md
new file mode 100644
index 0000000..e603cad
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView-class.md
@@ -0,0 +1,230 @@
+
+# CombinedIterableView&lt;T> class
+
+    *<Null safety>*
+
+<p>A view of several iterables combined sequentially into a single iterable.</p>
+<p>All methods and accessors treat the <a href="../package-collection_collection/CombinedIterableView-class.md">CombinedIterableView</a> as if it were a
+single concatenated iterable, but the underlying implementation is based on
+lazily accessing individual iterable instances. This means that if the
+underlying iterables change, the <a href="../package-collection_collection/CombinedIterableView-class.md">CombinedIterableView</a> will reflect those
+changes.</p>
+
+**Inheritance**
+
+- Object
+- Iterable&lt;T>
+- IterableBase&lt;T>
+- CombinedIterableView
+
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[CombinedIterableView](../package-collection_collection/CombinedIterableView/CombinedIterableView.md) (Iterable&lt;Iterable&lt;T>> _iterables)
+
+Creates a combined view of <code>iterables</code>.   
+_const_ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/CombinedIterableView/first.md) &#8594; T
+
+Returns the first element. [...](../package-collection_collection/CombinedIterableView/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/CombinedIterableView/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/CombinedIterableView/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/CombinedIterableView/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/CombinedIterableView/isEmpty.md)  
+_read-only, override_
+
+##### [isNotEmpty](../package-collection_collection/CombinedIterableView/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/CombinedIterableView/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/CombinedIterableView/iterator.md) &#8594; Iterator&lt;T>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/CombinedIterableView/iterator.md)  
+_read-only, override_
+
+##### [last](../package-collection_collection/CombinedIterableView/last.md) &#8594; T
+
+Returns the last element. [...](../package-collection_collection/CombinedIterableView/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/CombinedIterableView/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/CombinedIterableView-class.md">this</a>. [...](../package-collection_collection/CombinedIterableView/length.md)  
+_read-only, override_
+
+##### [runtimeType](../package-collection_collection/CombinedIterableView/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/CombinedIterableView/single.md) &#8594; T
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/CombinedIterableView/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [any](../package-collection_collection/CombinedIterableView/any.md)(bool test(T element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/CombinedIterableView/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/CombinedIterableView/cast.md)&lt;R>() Iterable&lt;R>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/CombinedIterableView/cast.md)  
+_inherited_
+
+##### [contains](../package-collection_collection/CombinedIterableView/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/CombinedIterableView/contains.md)  
+_override_
+
+##### [elementAt](../package-collection_collection/CombinedIterableView/elementAt.md)(int index) T
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/CombinedIterableView/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/CombinedIterableView/every.md)(bool test(T element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/CombinedIterableView/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/CombinedIterableView/expand.md)&lt;T>(Iterable&lt;T> f(T element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/CombinedIterableView/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/CombinedIterableView/firstWhere.md)(bool test(T element), {T orElse()}) T
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/CombinedIterableView/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/CombinedIterableView/fold.md)&lt;T>(T initialValue, T combine(T previousValue, T element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/CombinedIterableView/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/CombinedIterableView/followedBy.md)(Iterable&lt;T> other) Iterable&lt;T>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/CombinedIterableView/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/CombinedIterableView/forEach.md)(void f(T element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [join](../package-collection_collection/CombinedIterableView/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/CombinedIterableView/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/CombinedIterableView/lastWhere.md)(bool test(T element), {T orElse()}) T
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/CombinedIterableView/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/CombinedIterableView/map.md)&lt;T>(T f(T e)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/CombinedIterableView/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/CombinedIterableView/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/CombinedIterableView/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/CombinedIterableView/reduce.md)(T combine(T value, T element)) T
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/CombinedIterableView/reduce.md)  
+_inherited_
+
+##### [singleWhere](../package-collection_collection/CombinedIterableView/singleWhere.md)(bool test(T element), {T orElse()}) T
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/CombinedIterableView/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/CombinedIterableView/skip.md)(int count) Iterable&lt;T>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/CombinedIterableView/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/CombinedIterableView/skipWhile.md)(bool test(T value)) Iterable&lt;T>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/CombinedIterableView/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/CombinedIterableView/take.md)(int count) Iterable&lt;T>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/CombinedIterableView/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/CombinedIterableView/takeWhile.md)(bool test(T value)) Iterable&lt;T>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/CombinedIterableView/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/CombinedIterableView/toList.md)({bool growable: true}) List&lt;T>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/CombinedIterableView/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/CombinedIterableView/toSet.md)() Set&lt;T>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/CombinedIterableView/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/CombinedIterableView/toString.md)() String
+
+Returns a string representation of (some of) the elements of <code>this</code>. [...](../package-collection_collection/CombinedIterableView/toString.md)  
+_inherited_
+
+##### [where](../package-collection_collection/CombinedIterableView/where.md)(bool test(T element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/CombinedIterableView/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/CombinedIterableView/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/CombinedIterableView/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/CombinedIterableView/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/CombinedIterableView/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/CombinedIterableView.md b/sdk/dart/package-collection_collection/CombinedIterableView/CombinedIterableView.md
new file mode 100644
index 0000000..6aac69e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/CombinedIterableView.md
@@ -0,0 +1,18 @@
+
+# CombinedIterableView&lt;T> constructor
+
+    *<Null safety>*
+
+
+const
+CombinedIterableView&lt;T>(Iterable&lt;Iterable&lt;T>> _iterables)
+
+<p>Creates a combined view of <code>iterables</code>.</p>
+
+## Implementation
+
+```dart
+const CombinedIterableView(this._iterables);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/any.md b/sdk/dart/package-collection_collection/CombinedIterableView/any.md
new file mode 100644
index 0000000..e216088
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/any.md
@@ -0,0 +1,27 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L390)
+    *<Null safety>*
+
+
+bool any
+(bool test(T element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  for (E element in this) {
+    if (test(element)) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/cast.md b/sdk/dart/package-collection_collection/CombinedIterableView/cast.md
new file mode 100644
index 0000000..428e25a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/cast.md
@@ -0,0 +1,25 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L170)
+    *<Null safety>*
+
+
+Iterable&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/CombinedIterableView/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<R> cast<R>() => Iterable.castFrom<E, R>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/contains.md b/sdk/dart/package-collection_collection/CombinedIterableView/contains.md
new file mode 100644
index 0000000..12e18dc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/contains.md
@@ -0,0 +1,31 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+_override_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _iterables.any((i) => i.contains(element));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/elementAt.md b/sdk/dart/package-collection_collection/CombinedIterableView/elementAt.md
new file mode 100644
index 0000000..4d9d226
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/elementAt.md
@@ -0,0 +1,34 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L646)
+    *<Null safety>*
+
+
+T elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/CombinedIterableView/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) {
+  RangeError.checkNotNegative(index, "index");
+  int elementIndex = 0;
+  for (E element in this) {
+    if (index == elementIndex) return element;
+    elementIndex++;
+  }
+  throw RangeError.index(index, this, "index", null, elementIndex);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/every.md b/sdk/dart/package-collection_collection/CombinedIterableView/every.md
new file mode 100644
index 0000000..fcb71e4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/every.md
@@ -0,0 +1,27 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L351)
+    *<Null safety>*
+
+
+bool every
+(bool test(T element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  for (E element in this) {
+    if (!test(element)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/expand.md b/sdk/dart/package-collection_collection/CombinedIterableView/expand.md
new file mode 100644
index 0000000..968ec7c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L252)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(T element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/first.md b/sdk/dart/package-collection_collection/CombinedIterableView/first.md
new file mode 100644
index 0000000..426c621
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/first.md
@@ -0,0 +1,29 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L521)
+    *<Null safety>*
+
+
+T first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  return it.current;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/firstWhere.md b/sdk/dart/package-collection_collection/CombinedIterableView/firstWhere.md
new file mode 100644
index 0000000..c7e3bdc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/firstWhere.md
@@ -0,0 +1,30 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L573)
+    *<Null safety>*
+
+
+T firstWhere
+(bool test(T element), {T orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E orElse()?}) {
+  for (E element in this) {
+    if (test(element)) return element;
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/fold.md b/sdk/dart/package-collection_collection/CombinedIterableView/fold.md
new file mode 100644
index 0000000..a562199
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/fold.md
@@ -0,0 +1,37 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L339)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, T element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  for (E element in this) value = combine(value, element);
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/followedBy.md b/sdk/dart/package-collection_collection/CombinedIterableView/followedBy.md
new file mode 100644
index 0000000..335fae6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/followedBy.md
@@ -0,0 +1,29 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L179)
+    *<Null safety>*
+
+
+Iterable&lt;T> followedBy
+(Iterable&lt;T> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) {
+  var self = this; // TODO(lrn): Remove when we can promote `this`.
+  if (self is EfficientLengthIterable<E>) {
+    return FollowedByIterable<E>.firstEfficient(self, other);
+  }
+  return FollowedByIterable<E>(this, other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/forEach.md b/sdk/dart/package-collection_collection/CombinedIterableView/forEach.md
new file mode 100644
index 0000000..8916857
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/forEach.md
@@ -0,0 +1,23 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L282)
+    *<Null safety>*
+
+
+void forEach
+(void f(T element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void f(E element)) {
+  for (E element in this) f(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/hashCode.md b/sdk/dart/package-collection_collection/CombinedIterableView/hashCode.md
new file mode 100644
index 0000000..ae934fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/CombinedIterableView/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/CombinedIterableView/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/CombinedIterableView/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/CombinedIterableView/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/CombinedIterableView/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/CombinedIterableView/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/isEmpty.md b/sdk/dart/package-collection_collection/CombinedIterableView/isEmpty.md
new file mode 100644
index 0000000..3445655
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_override_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _iterables.every((i) => i.isEmpty);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/isNotEmpty.md b/sdk/dart/package-collection_collection/CombinedIterableView/isNotEmpty.md
new file mode 100644
index 0000000..79fa8e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L447)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/iterator.md b/sdk/dart/package-collection_collection/CombinedIterableView/iterator.md
new file mode 100644
index 0000000..8504337
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/iterator.md
@@ -0,0 +1,42 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;T> iterator
+  
+_override_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<T> get iterator =>
+    CombinedIterator<T>(_iterables.map((i) => i.iterator).iterator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/join.md b/sdk/dart/package-collection_collection/CombinedIterableView/join.md
new file mode 100644
index 0000000..abe91fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/join.md
@@ -0,0 +1,40 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L366)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) return "";
+  StringBuffer buffer = StringBuffer();
+  if (separator == null || separator == "") {
+    do {
+      buffer.write(iterator.current.toString());
+    } while (iterator.moveNext());
+  } else {
+    buffer.write(iterator.current.toString());
+    while (iterator.moveNext()) {
+      buffer.write(separator);
+      buffer.write(iterator.current.toString());
+    }
+  }
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/last.md b/sdk/dart/package-collection_collection/CombinedIterableView/last.md
new file mode 100644
index 0000000..a4a0c47
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/last.md
@@ -0,0 +1,36 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L539)
+    *<Null safety>*
+
+
+T last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E result;
+  do {
+    result = it.current;
+  } while (it.moveNext());
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/lastWhere.md b/sdk/dart/package-collection_collection/CombinedIterableView/lastWhere.md
new file mode 100644
index 0000000..d4898c0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/lastWhere.md
@@ -0,0 +1,41 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L595)
+    *<Null safety>*
+
+
+T lastWhere
+(bool test(T element), {T orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/length.md b/sdk/dart/package-collection_collection/CombinedIterableView/length.md
new file mode 100644
index 0000000..f234303
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/length.md
@@ -0,0 +1,23 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/CombinedIterableView-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _iterables.fold(0, (length, i) => length + i.length);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/map.md b/sdk/dart/package-collection_collection/CombinedIterableView/map.md
new file mode 100644
index 0000000..0add8fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L201)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(T e))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/CombinedIterableView/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E e)) => MappedIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/noSuchMethod.md b/sdk/dart/package-collection_collection/CombinedIterableView/noSuchMethod.md
new file mode 100644
index 0000000..6b89614
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/CombinedIterableView/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/operator_equals.md b/sdk/dart/package-collection_collection/CombinedIterableView/operator_equals.md
new file mode 100644
index 0000000..44319b1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/CombinedIterableView/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/reduce.md b/sdk/dart/package-collection_collection/CombinedIterableView/reduce.md
new file mode 100644
index 0000000..521aa04
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/reduce.md
@@ -0,0 +1,45 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L308)
+    *<Null safety>*
+
+
+T reduce
+(T combine(T value, T element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E value, E element)) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E value = iterator.current;
+  while (iterator.moveNext()) {
+    value = combine(value, iterator.current);
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/runtimeType.md b/sdk/dart/package-collection_collection/CombinedIterableView/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/single.md b/sdk/dart/package-collection_collection/CombinedIterableView/single.md
new file mode 100644
index 0000000..b8b7a27
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/single.md
@@ -0,0 +1,27 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L556)
+    *<Null safety>*
+
+
+T single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) throw IterableElementError.noElement();
+  E result = it.current;
+  if (it.moveNext()) throw IterableElementError.tooMany();
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/singleWhere.md b/sdk/dart/package-collection_collection/CombinedIterableView/singleWhere.md
new file mode 100644
index 0000000..9670f6e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/singleWhere.md
@@ -0,0 +1,40 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L618)
+    *<Null safety>*
+
+
+T singleWhere
+(bool test(T element), {T orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      if (foundMatching) {
+        throw IterableElementError.tooMany();
+      }
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/skip.md b/sdk/dart/package-collection_collection/CombinedIterableView/skip.md
new file mode 100644
index 0000000..12af70e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/skip.md
@@ -0,0 +1,32 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L494)
+    *<Null safety>*
+
+
+Iterable&lt;T> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) {
+  return SkipIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/skipWhile.md b/sdk/dart/package-collection_collection/CombinedIterableView/skipWhile.md
new file mode 100644
index 0000000..1981878
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L510)
+    *<Null safety>*
+
+
+Iterable&lt;T> skipWhile
+(bool test(T value))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E value)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/take.md b/sdk/dart/package-collection_collection/CombinedIterableView/take.md
new file mode 100644
index 0000000..ce43912
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/take.md
@@ -0,0 +1,27 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L460)
+    *<Null safety>*
+
+
+Iterable&lt;T> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/CombinedIterableView/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) {
+  return TakeIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/takeWhile.md b/sdk/dart/package-collection_collection/CombinedIterableView/takeWhile.md
new file mode 100644
index 0000000..a7d8114
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L474)
+    *<Null safety>*
+
+
+Iterable&lt;T> takeWhile
+(bool test(T value))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/CombinedIterableView/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E value)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/toList.md b/sdk/dart/package-collection_collection/CombinedIterableView/toList.md
new file mode 100644
index 0000000..4ce96b6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/toList.md
@@ -0,0 +1,24 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L403)
+    *<Null safety>*
+
+
+List&lt;T> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  return List<E>.of(this, growable: growable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/toSet.md b/sdk/dart/package-collection_collection/CombinedIterableView/toSet.md
new file mode 100644
index 0000000..e5ecd4c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/toSet.md
@@ -0,0 +1,25 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L416)
+    *<Null safety>*
+
+
+Set&lt;T> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet() => Set<E>.of(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/toString.md b/sdk/dart/package-collection_collection/CombinedIterableView/toString.md
new file mode 100644
index 0000000..4070807
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/toString.md
@@ -0,0 +1,29 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L672)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of (some of) the elements of <code>this</code>.</p>
+<p>Elements are represented by their own <code>toString</code> results.</p>
+<p>The default representation always contains the first three elements.
+If there are less than a hundred elements in the iterable, it also
+contains the last two elements.</p>
+<p>If the resulting string isn't above 80 characters, more elements are
+included from the start of the iterable.</p>
+<p>The conversion may omit calling <code>toString</code> on some elements if they
+are known to not occur in the output, and it may stop iterating after
+a hundred elements.</p>
+
+## Implementation
+
+```dart
+String toString() => IterableBase.iterableToShortString(this, '(', ')');
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/where.md b/sdk/dart/package-collection_collection/CombinedIterableView/where.md
new file mode 100644
index 0000000..eeba642
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;T> where
+(bool test(T element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/CombinedIterableView/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedIterableView/whereType.md b/sdk/dart/package-collection_collection/CombinedIterableView/whereType.md
new file mode 100644
index 0000000..bf856ee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedIterableView/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L230)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/CombinedIterableView/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView-class.md b/sdk/dart/package-collection_collection/CombinedListView-class.md
new file mode 100644
index 0000000..800b59c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView-class.md
@@ -0,0 +1,384 @@
+
+# CombinedListView&lt;T> class
+
+    *<Null safety>*
+
+<p>A view of several lists combined into a single list.</p>
+<p>All methods and accessors treat the <a href="../package-collection_collection/CombinedListView-class.md">CombinedListView</a> list as if it were a
+single concatenated list, but the underlying implementation is based on
+lazily accessing individual list instances. This means that if the
+underlying lists change, the <a href="../package-collection_collection/CombinedListView-class.md">CombinedListView</a> will reflect those changes.</p>
+<p>The index operator (<code>[]</code>) and <a href="../package-collection_collection/CombinedListView/length.md">length</a> property of a <a href="../package-collection_collection/CombinedListView-class.md">CombinedListView</a> are
+both <code>O(lists)</code> rather than <code>O(1)</code>. A <a href="../package-collection_collection/CombinedListView-class.md">CombinedListView</a> is unmodifiable.</p>
+
+**Inheritance**
+
+- Object
+- ListBase&lt;T>
+- CombinedListView
+
+**Implemented types**
+
+- [UnmodifiableListView](../package-collection_collection/UnmodifiableListView-class.md)&lt;T>
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[CombinedListView](../package-collection_collection/CombinedListView/CombinedListView.md) (List&lt;List&lt;T>> _lists)
+
+Creates a combined view of <code>lists</code>.   
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/UnmodifiableListView/first.md) &#8596; T
+
+Returns the first element. [...](../package-collection_collection/UnmodifiableListView/first.md)  
+_read / write, inherited_
+
+##### [hashCode](../package-collection_collection/UnmodifiableListView/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableListView/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/UnmodifiableListView/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/UnmodifiableListView/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/UnmodifiableListView/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/UnmodifiableListView/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/CombinedListView/iterator.md) &#8594; Iterator&lt;T>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/CombinedListView/iterator.md)  
+_read-only, override_
+
+##### [last](../package-collection_collection/UnmodifiableListView/last.md) &#8596; T
+
+Returns the last element. [...](../package-collection_collection/UnmodifiableListView/last.md)  
+_read / write, inherited_
+
+##### [length](../package-collection_collection/CombinedListView/length.md) &#8596; int
+
+The number of objects in this list. [...](../package-collection_collection/CombinedListView/length.md)  
+_read / write, override_
+
+##### [reversed](../package-collection_collection/UnmodifiableListView/reversed.md) &#8594; Iterable&lt;T>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableListView/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/UnmodifiableListView/single.md) &#8594; T
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/UnmodifiableListView/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/CombinedListView/add.md)(T element) void
+
+Adds <code>value</code> to the end of this list,
+extending the length by one. [...](../package-collection_collection/CombinedListView/add.md)  
+_inherited_
+
+##### [addAll](../package-collection_collection/CombinedListView/addAll.md)(Iterable&lt;T> iterable) void
+
+Appends all objects of <code>iterable</code> to the end of this list. [...](../package-collection_collection/CombinedListView/addAll.md)  
+_inherited_
+
+##### [any](../package-collection_collection/UnmodifiableListView/any.md)(bool test(T element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/UnmodifiableListView/asMap.md)() Map&lt;int, T>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/UnmodifiableListView/asMap.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/CombinedListView/cast.md)&lt;R>() List&lt;R>
+
+Returns a view of this list as a list of <code>R</code> instances. [...](../package-collection_collection/CombinedListView/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/CombinedListView/clear.md)() void
+
+Removes all objects from this list;
+the length of the list becomes zero. [...](../package-collection_collection/CombinedListView/clear.md)  
+_override_
+
+##### [contains](../package-collection_collection/UnmodifiableListView/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/UnmodifiableListView/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/UnmodifiableListView/elementAt.md)(int index) T
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/UnmodifiableListView/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/UnmodifiableListView/every.md)(bool test(T element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/UnmodifiableListView/expand.md)&lt;T>(Iterable&lt;T> f(T element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/UnmodifiableListView/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/CombinedListView/fillRange.md)(int start, int end, [T? fill]) void
+
+Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>. [...](../package-collection_collection/CombinedListView/fillRange.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/UnmodifiableListView/firstWhere.md)(bool test(T element), {T orElse()}) T
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/UnmodifiableListView/fold.md)&lt;T>(T initialValue, T combine(T previousValue, T element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/UnmodifiableListView/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/UnmodifiableListView/followedBy.md)(Iterable&lt;T> other) Iterable&lt;T>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/UnmodifiableListView/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/UnmodifiableListView/forEach.md)(void action(T element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/UnmodifiableListView/getRange.md)(int start, int end) Iterable&lt;T>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/UnmodifiableListView/getRange.md)  
+_inherited_
+
+##### [indexOf](../package-collection_collection/UnmodifiableListView/indexOf.md)(Object? element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/UnmodifiableListView/indexOf.md)  
+_inherited_
+
+##### [indexWhere](../package-collection_collection/UnmodifiableListView/indexWhere.md)(bool test(T element), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/indexWhere.md)  
+_inherited_
+
+##### [insert](../package-collection_collection/CombinedListView/insert.md)(int index, T element) void
+
+Inserts the object at position <code>index</code> in this list. [...](../package-collection_collection/CombinedListView/insert.md)  
+_inherited_
+
+##### [insertAll](../package-collection_collection/CombinedListView/insertAll.md)(int index, Iterable&lt;T> iterable) void
+
+Inserts all objects of <code>iterable</code> at position <code>index</code> in this list. [...](../package-collection_collection/CombinedListView/insertAll.md)  
+_inherited_
+
+##### [join](../package-collection_collection/UnmodifiableListView/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/UnmodifiableListView/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/UnmodifiableListView/lastIndexOf.md)(Object? element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/UnmodifiableListView/lastIndexOf.md)  
+_inherited_
+
+##### [lastIndexWhere](../package-collection_collection/UnmodifiableListView/lastIndexWhere.md)(bool test(T element), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/lastIndexWhere.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/UnmodifiableListView/lastWhere.md)(bool test(T element), {T orElse()}) T
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/UnmodifiableListView/map.md)&lt;T>(T f(T element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/UnmodifiableListView/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableListView/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableListView/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/UnmodifiableListView/reduce.md)(T combine(T previousValue, T element)) T
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/UnmodifiableListView/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/CombinedListView/remove.md)(Object? element) bool
+
+Removes the first occurrence of <code>value</code> from this list. [...](../package-collection_collection/CombinedListView/remove.md)  
+_override_
+
+##### [removeAt](../package-collection_collection/CombinedListView/removeAt.md)(int index) T
+
+Removes the object at position <code>index</code> from this list. [...](../package-collection_collection/CombinedListView/removeAt.md)  
+_inherited_
+
+##### [removeLast](../package-collection_collection/CombinedListView/removeLast.md)() T
+
+Pops and returns the last object in this list. [...](../package-collection_collection/CombinedListView/removeLast.md)  
+_inherited_
+
+##### [removeRange](../package-collection_collection/CombinedListView/removeRange.md)(int start, int end) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/CombinedListView/removeRange.md)  
+_inherited_
+
+##### [removeWhere](../package-collection_collection/CombinedListView/removeWhere.md)(bool test(T)) void
+
+Removes all objects from this list that satisfy <code>test</code>. [...](../package-collection_collection/CombinedListView/removeWhere.md)  
+_override_
+
+##### [replaceRange](../package-collection_collection/CombinedListView/replaceRange.md)(int start, int end, Iterable&lt;T> newContents) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place. [...](../package-collection_collection/CombinedListView/replaceRange.md)  
+_inherited_
+
+##### [retainWhere](../package-collection_collection/CombinedListView/retainWhere.md)(bool test(T)) void
+
+Removes all objects from this list that fail to satisfy <code>test</code>. [...](../package-collection_collection/CombinedListView/retainWhere.md)  
+_override_
+
+##### [setAll](../package-collection_collection/CombinedListView/setAll.md)(int index, Iterable&lt;T> iterable) void
+
+Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list. [...](../package-collection_collection/CombinedListView/setAll.md)  
+_inherited_
+
+##### [setRange](../package-collection_collection/CombinedListView/setRange.md)(int start, int end, Iterable&lt;T> iterable, [int skipCount = 0]) void
+
+Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list. [...](../package-collection_collection/CombinedListView/setRange.md)  
+_inherited_
+
+##### [shuffle](../package-collection_collection/CombinedListView/shuffle.md)([Random? random]) void
+
+Shuffles the elements of this list randomly.   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/UnmodifiableListView/singleWhere.md)(bool test(T element), {T orElse()}) T
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/UnmodifiableListView/skip.md)(int count) Iterable&lt;T>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/UnmodifiableListView/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/UnmodifiableListView/skipWhile.md)(bool test(T element)) Iterable&lt;T>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/UnmodifiableListView/skipWhile.md)  
+_inherited_
+
+##### [sort](../package-collection_collection/CombinedListView/sort.md)([int compare(T a, T b)]) void
+
+Sorts this list according to the order specified by the <code>compare</code> function. [...](../package-collection_collection/CombinedListView/sort.md)  
+_inherited_
+
+##### [sublist](../package-collection_collection/UnmodifiableListView/sublist.md)(int start, [int? end]) List&lt;T>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/UnmodifiableListView/sublist.md)  
+_inherited_
+
+##### [take](../package-collection_collection/UnmodifiableListView/take.md)(int count) Iterable&lt;T>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/UnmodifiableListView/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/UnmodifiableListView/takeWhile.md)(bool test(T element)) Iterable&lt;T>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/UnmodifiableListView/toList.md)({bool growable: true}) List&lt;T>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/UnmodifiableListView/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/UnmodifiableListView/toSet.md)() Set&lt;T>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/UnmodifiableListView/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/UnmodifiableListView/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/UnmodifiableListView/where.md)(bool test(T element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/UnmodifiableListView/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/UnmodifiableListView/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/UnmodifiableListView/operator_plus.md)(List&lt;T> other) List&lt;T>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/UnmodifiableListView/operator_plus.md)  
+_inherited_
+
+##### [operator ==](../package-collection_collection/UnmodifiableListView/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableListView/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/CombinedListView/operator_get.md)(int index) T
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+##### [operator []=](../package-collection_collection/CombinedListView/operator_put.md)(int index, T value) void
+
+Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/CombinedListView.md b/sdk/dart/package-collection_collection/CombinedListView/CombinedListView.md
new file mode 100644
index 0000000..ab38d6c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/CombinedListView.md
@@ -0,0 +1,18 @@
+
+# CombinedListView&lt;T> constructor
+
+    *<Null safety>*
+
+
+
+CombinedListView&lt;T>(List&lt;List&lt;T>> _lists)
+
+<p>Creates a combined view of <code>lists</code>.</p>
+
+## Implementation
+
+```dart
+CombinedListView(this._lists);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/add.md b/sdk/dart/package-collection_collection/CombinedListView/add.md
new file mode 100644
index 0000000..59181bc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/add.md
@@ -0,0 +1,25 @@
+
+# add method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L276)
+    *<Null safety>*
+
+
+void add
+(T element)
+_inherited_
+
+<p>Adds <code>value</code> to the end of this list,
+extending the length by one.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+void add(E element) {
+  // This implementation only works for lists which allow `null` as element.
+  this[this.length++] = element;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/addAll.md b/sdk/dart/package-collection_collection/CombinedListView/addAll.md
new file mode 100644
index 0000000..3394595
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/addAll.md
@@ -0,0 +1,29 @@
+
+# addAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L281)
+    *<Null safety>*
+
+
+void addAll
+(Iterable&lt;T> iterable)
+_inherited_
+
+<p>Appends all objects of <code>iterable</code> to the end of this list.</p>
+<p>Extends the length of the list by the number of objects in <code>iterable</code>.
+Throws an <code>UnsupportedError</code> if this list is fixed-length.</p>
+
+## Implementation
+
+```dart
+void addAll(Iterable<E> iterable) {
+  int i = this.length;
+  for (E element in iterable) {
+    assert(this.length == i || (throw ConcurrentModificationError(this)));
+    add(element);
+    i++;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/cast.md b/sdk/dart/package-collection_collection/CombinedListView/cast.md
new file mode 100644
index 0000000..d6bf583
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/cast.md
@@ -0,0 +1,28 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L344)
+    *<Null safety>*
+
+
+List&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Returns a view of this list as a list of <code>R</code> instances.</p>
+<p>If this list contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the list (e.g., by using <a href="../../package-collection_collection/CombinedListView/add.md">add</a> or <a href="../../package-collection_collection/CombinedListView/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this list as well.</p>
+<p>Typically implemented as <code>List.castFrom&lt;E, R&gt;(this)</code>.</p>
+
+## Implementation
+
+```dart
+List<R> cast<R>() => List.castFrom<E, R>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/clear.md b/sdk/dart/package-collection_collection/CombinedListView/clear.md
new file mode 100644
index 0000000..18f1868
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/clear.md
@@ -0,0 +1,26 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all objects from this list;
+the length of the list becomes zero.</p>
+<p>Throws an <code>UnsupportedError</code>, and retains all objects, if this
+is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _throw();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/fillRange.md b/sdk/dart/package-collection_collection/CombinedListView/fillRange.md
new file mode 100644
index 0000000..ceabd49
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/fillRange.md
@@ -0,0 +1,40 @@
+
+# fillRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L403)
+    *<Null safety>*
+
+
+void fillRange
+(int start, int end, [T? fill])
+_inherited_
+
+<p>Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart"> List&lt;int&gt; list = new List(3);
+    list.fillRange(0, 2, 1);
+    print(list); //  [1, 1, null]
+</code></pre>
+<p>If the element type is not nullable, omitting <code>fillValue</code> or passing <code>null</code>
+as <code>fillValue</code> will make the <code>fillRange</code> fail.</p>
+
+## Implementation
+
+```dart
+void fillRange(int start, int end, [E? fill]) {
+  // Hoist the case to fail eagerly if the user provides an invalid `null`
+  // value (or omits it) when E is a non-nullable type.
+  E value = fill as E;
+  RangeError.checkValidRange(start, end, this.length);
+  for (int i = start; i < end; i++) {
+    this[i] = value;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/insert.md b/sdk/dart/package-collection_collection/CombinedListView/insert.md
new file mode 100644
index 0000000..eacffc4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/insert.md
@@ -0,0 +1,33 @@
+
+# insert method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L525)
+    *<Null safety>*
+
+
+void insert
+(int index, T element)
+_inherited_
+
+<p>Inserts the object at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by one and shifts all objects
+at or after the index towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/CombinedListView/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+void insert(int index, E element) {
+  ArgumentError.checkNotNull(index, "index");
+  var length = this.length;
+  RangeError.checkValueInInterval(index, 0, length, "index");
+  add(element);
+  if (index != length) {
+    setRange(index + 1, length + 1, this, index);
+    this[index] = element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/insertAll.md b/sdk/dart/package-collection_collection/CombinedListView/insertAll.md
new file mode 100644
index 0000000..7927be9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/insertAll.md
@@ -0,0 +1,55 @@
+
+# insertAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L542)
+    *<Null safety>*
+
+
+void insertAll
+(int index, Iterable&lt;T> iterable)
+_inherited_
+
+<p>Inserts all objects of <code>iterable</code> at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by the length of <code>iterable</code> and
+shifts all later objects towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/CombinedListView/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+void insertAll(int index, Iterable<E> iterable) {
+  RangeError.checkValueInInterval(index, 0, length, "index");
+  if (index == length) {
+    addAll(iterable);
+    return;
+  }
+  if (iterable is! EfficientLengthIterable || identical(iterable, this)) {
+    iterable = iterable.toList();
+  }
+  int insertionLength = iterable.length;
+  if (insertionLength == 0) {
+    return;
+  }
+  // There might be errors after the length change, in which case the list
+  // will end up being modified but the operation not complete. Unless we
+  // always go through a "toList" we can't really avoid that.
+  int oldLength = length;
+  for (int i = oldLength - insertionLength; i < oldLength; ++i) {
+    add(this[i > 0 ? i : 0]);
+  }
+  if (iterable.length != insertionLength) {
+    // If the iterable's length is linked to this list's length somehow,
+    // we can't insert one in the other.
+    this.length -= insertionLength;
+    throw ConcurrentModificationError(iterable);
+  }
+  int oldCopyStart = index + insertionLength;
+  if (oldCopyStart < oldLength) {
+    setRange(oldCopyStart, oldLength, this, index);
+  }
+  setAll(index, iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/iterator.md b/sdk/dart/package-collection_collection/CombinedListView/iterator.md
new file mode 100644
index 0000000..4e54fc4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/iterator.md
@@ -0,0 +1,42 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;T> iterator
+  
+_override_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<T> get iterator =>
+    CombinedIterator<T>(_lists.map((i) => i.iterator).iterator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/length.md b/sdk/dart/package-collection_collection/CombinedListView/length.md
new file mode 100644
index 0000000..b232838
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/length.md
@@ -0,0 +1,40 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>The number of objects in this list.</p>
+<p>The valid indices for a list are <code>0</code> through <code>length - 1</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _lists.fold(0, (length, list) => length + list.length);
+```
+
+length=
+(int length)  
+_override_
+
+<p>Changes the length of this list.</p>
+<p>If <code>newLength</code> is greater than
+the current length, entries are initialized to <code>null</code>.
+Increasing the length fails if the element type does not allow <code>null</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length or
+if attempting tp enlarge the list when <code>null</code> is not a valid element.</p>
+
+## Implementation
+
+```dart
+@override
+set length(int length) {
+  _throw();
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/operator_get.md b/sdk/dart/package-collection_collection/CombinedListView/operator_get.md
new file mode 100644
index 0000000..3c53bc9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/operator_get.md
@@ -0,0 +1,32 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+T operator []
+(int index)
+_override_
+
+<p>Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+T operator [](int index) {
+  var initialIndex = index;
+  for (var i = 0; i < _lists.length; i++) {
+    var list = _lists[i];
+    if (index < list.length) {
+      return list[index];
+    }
+    index -= list.length;
+  }
+  throw RangeError.index(initialIndex, this, 'index', null, length);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/operator_put.md b/sdk/dart/package-collection_collection/CombinedListView/operator_put.md
new file mode 100644
index 0000000..f29d258
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/operator_put.md
@@ -0,0 +1,24 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(int index, T value)
+_override_
+
+<p>Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(int index, T value) {
+  _throw();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/remove.md b/sdk/dart/package-collection_collection/CombinedListView/remove.md
new file mode 100644
index 0000000..4840c90
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/remove.md
@@ -0,0 +1,34 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? element)
+_override_
+
+<p>Removes the first occurrence of <code>value</code> from this list.</p>
+<p>Returns true if <code>value</code> was in the list, false otherwise.</p>
+<pre class="language-dart"><code>List&lt;String&gt; parts = ['head', 'shoulders', 'knees', 'toes'];
+parts.remove('head'); // true
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>The method has no effect if <code>value</code> was not in the list.</p>
+<pre class="language-dart"><code>// Note: 'head' has already been removed.
+parts.remove('head'); // false
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>An <code>UnsupportedError</code> occurs if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? element) {
+  _throw();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/removeAt.md b/sdk/dart/package-collection_collection/CombinedListView/removeAt.md
new file mode 100644
index 0000000..965b28b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/removeAt.md
@@ -0,0 +1,30 @@
+
+# removeAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L536)
+    *<Null safety>*
+
+
+T removeAt
+(int index)
+_inherited_
+
+<p>Removes the object at position <code>index</code> from this list.</p>
+<p>This method reduces the length of <code>this</code> by one and moves all later objects
+down by one position.</p>
+<p>Returns the removed object.</p>
+<p>The <code>index</code> must be in the range <code>0 ≤ index &lt; length</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+E removeAt(int index) {
+  E result = this[index];
+  _closeGap(index, index + 1);
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/removeLast.md b/sdk/dart/package-collection_collection/CombinedListView/removeLast.md
new file mode 100644
index 0000000..0b772a6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/removeLast.md
@@ -0,0 +1,29 @@
+
+# removeLast method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L345)
+    *<Null safety>*
+
+
+T removeLast
+()
+_inherited_
+
+<p>Pops and returns the last object in this list.</p>
+<p>The list must not be empty.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+E removeLast() {
+  if (length == 0) {
+    throw IterableElementError.noElement();
+  }
+  E result = this[length - 1];
+  length--;
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/removeRange.md b/sdk/dart/package-collection_collection/CombinedListView/removeRange.md
new file mode 100644
index 0000000..740bc1a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/removeRange.md
@@ -0,0 +1,31 @@
+
+# removeRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L396)
+    *<Null safety>*
+
+
+void removeRange
+(int start, int end)
+_inherited_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+void removeRange(int start, int end) {
+  RangeError.checkValidRange(start, end, this.length);
+  if (end > start) {
+    _closeGap(start, end);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/removeWhere.md b/sdk/dart/package-collection_collection/CombinedListView/removeWhere.md
new file mode 100644
index 0000000..5e38cb6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/removeWhere.md
@@ -0,0 +1,29 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(T))
+_override_
+
+<p>Removes all objects from this list that satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.removeWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'three, four'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(T) test) {
+  _throw();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/replaceRange.md b/sdk/dart/package-collection_collection/CombinedListView/replaceRange.md
new file mode 100644
index 0000000..5a63a44
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/replaceRange.md
@@ -0,0 +1,71 @@
+
+# replaceRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L444)
+    *<Null safety>*
+
+
+void replaceRange
+(int start, int end, Iterable&lt;T> newContents)
+_inherited_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list = [1, 2, 3, 4, 5];
+list.replaceRange(1, 4, [6, 7]);
+list.join(', '); // '1, 6, 7, 5'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>This method does not work on fixed-length lists, even when <code>replacement</code>
+has the same number of elements as the replaced range. In that case use
+<a href="../../package-collection_collection/CombinedListView/setRange.md">setRange</a> instead.</p>
+
+## Implementation
+
+```dart
+void replaceRange(int start, int end, Iterable<E> newContents) {
+  RangeError.checkValidRange(start, end, this.length);
+  if (start == this.length) {
+    addAll(newContents);
+    return;
+  }
+  if (newContents is! EfficientLengthIterable) {
+    newContents = newContents.toList();
+  }
+  int removeLength = end - start;
+  int insertLength = newContents.length;
+  if (removeLength >= insertLength) {
+    int insertEnd = start + insertLength;
+    this.setRange(start, insertEnd, newContents);
+    if (removeLength > insertLength) {
+      _closeGap(insertEnd, end);
+    }
+  } else if (end == this.length) {
+    int i = start;
+    for (E element in newContents) {
+      if (i < end) {
+        this[i] = element;
+      } else {
+        add(element);
+      }
+      i++;
+    }
+  } else {
+    int delta = insertLength - removeLength;
+    int oldLength = this.length;
+    int insertEnd = start + insertLength; // aka. end + delta.
+    for (int i = oldLength - delta; i < oldLength; ++i) {
+      add(this[i > 0 ? i : 0]);
+    }
+    if (insertEnd < oldLength) {
+      this.setRange(insertEnd, oldLength, this, end);
+    }
+    this.setRange(start, insertEnd, newContents);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/retainWhere.md b/sdk/dart/package-collection_collection/CombinedListView/retainWhere.md
new file mode 100644
index 0000000..a2d046c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/retainWhere.md
@@ -0,0 +1,29 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(T))
+_override_
+
+<p>Removes all objects from this list that fail to satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.retainWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'one, two'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(T) test) {
+  _throw();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/setAll.md b/sdk/dart/package-collection_collection/CombinedListView/setAll.md
new file mode 100644
index 0000000..c6f7bb1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/setAll.md
@@ -0,0 +1,39 @@
+
+# setAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L575)
+    *<Null safety>*
+
+
+void setAll
+(int index, Iterable&lt;T> iterable)
+_inherited_
+
+<p>Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; list = ['a', 'b', 'c'];
+list.setAll(1, ['bee', 'sea']);
+list.join(', '); // 'a, bee, sea'
+</code></pre>
+<p>This operation does not increase the length of <code>this</code>.</p>
+<p>The <code>index</code> must be non-negative and no greater than <a href="../../package-collection_collection/CombinedListView/length.md">length</a>.</p>
+<p>The <code>iterable</code> must not have more elements than what can fit from <code>index</code>
+to <a href="../../package-collection_collection/CombinedListView/length.md">length</a>.</p>
+<p>If <code>iterable</code> is based on this list, its values may change /during/ the
+<code>setAll</code> operation.</p>
+
+## Implementation
+
+```dart
+void setAll(int index, Iterable<E> iterable) {
+  if (iterable is List) {
+    setRange(index, index + iterable.length, iterable);
+  } else {
+    for (E element in iterable) {
+      this[index++] = element;
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/setRange.md b/sdk/dart/package-collection_collection/CombinedListView/setRange.md
new file mode 100644
index 0000000..08591a1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/setRange.md
@@ -0,0 +1,68 @@
+
+# setRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L413)
+    *<Null safety>*
+
+
+void setRange
+(int start, int end, Iterable&lt;T> iterable, [int skipCount = 0])
+_inherited_
+
+<p>Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list1 = [1, 2, 3, 4];
+List&lt;int&gt; list2 = [5, 6, 7, 8, 9];
+// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
+// of list1.
+list1.setRange(1, 3, list2, 3);
+list1.join(', '); // '1, 8, 9, 4'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The <code>iterable</code> must have enough objects to fill the range from <code>start</code>
+to <code>end</code> after skipping <code>skipCount</code> objects.</p>
+<p>If <code>iterable</code> is this list, the operation copies the elements
+originally in the range from <code>skipCount</code> to <code>skipCount + (end - start)</code> to
+the range <code>start</code> to <code>end</code>, even if the two ranges overlap.</p>
+<p>If <code>iterable</code> depends on this list in some other way, no guarantees are
+made.</p>
+
+## Implementation
+
+```dart
+void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
+  RangeError.checkValidRange(start, end, this.length);
+  int length = end - start;
+  if (length == 0) return;
+  RangeError.checkNotNegative(skipCount, "skipCount");
+
+  List<E> otherList;
+  int otherStart;
+  // TODO(floitsch): Make this accept more.
+  if (iterable is List<E>) {
+    otherList = iterable;
+    otherStart = skipCount;
+  } else {
+    otherList = iterable.skip(skipCount).toList(growable: false);
+    otherStart = 0;
+  }
+  if (otherStart + length > otherList.length) {
+    throw IterableElementError.tooFew();
+  }
+  if (otherStart < start) {
+    // Copy backwards to ensure correct copy if [from] is this.
+    for (int i = length - 1; i >= 0; i--) {
+      this[start + i] = otherList[otherStart + i];
+    }
+  } else {
+    for (int i = 0; i < length; i++) {
+      this[start + i] = otherList[otherStart + i];
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/shuffle.md b/sdk/dart/package-collection_collection/CombinedListView/shuffle.md
new file mode 100644
index 0000000..19bcd68
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/shuffle.md
@@ -0,0 +1,32 @@
+
+# shuffle method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L362)
+    *<Null safety>*
+
+
+void shuffle
+([Random? random])
+_inherited_
+
+<p>Shuffles the elements of this list randomly.</p>
+
+## Implementation
+
+```dart
+void shuffle([Random? random]) {
+  random ??= Random();
+  if (random == null) throw "!"; // TODO(38493): The `??=` should promote.
+
+  int length = this.length;
+  while (length > 1) {
+    int pos = random.nextInt(length);
+    length -= 1;
+    var tmp = this[length];
+    this[length] = this[pos];
+    this[pos] = tmp;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedListView/sort.md b/sdk/dart/package-collection_collection/CombinedListView/sort.md
new file mode 100644
index 0000000..13f2733
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedListView/sort.md
@@ -0,0 +1,42 @@
+
+# sort method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L354)
+    *<Null safety>*
+
+
+void sort
+([int compare(T a, T b)])
+_inherited_
+
+<p>Sorts this list according to the order specified by the <code>compare</code> function.</p>
+<p>The <code>compare</code> function must act as a <code>Comparator</code>.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['two', 'three', 'four'];
+// Sort from shortest to longest.
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [two, four, three]
+</code></pre>
+<p>The default List implementations use <code>Comparable.compare</code> if
+<code>compare</code> is omitted.</p>
+<pre class="language-dart"><code>List&lt;int&gt; nums = [13, 2, -11];
+nums.sort();
+print(nums);  // [-11, 2, 13]
+</code></pre>
+<p>A <code>Comparator</code> may compare objects as equal (return zero), even if they
+are distinct objects.
+The sort function is not guaranteed to be stable, so distinct objects
+that compare as equal may occur in any order in the result:</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [one, two, four, three] OR [two, one, four, three]
+</code></pre>
+
+## Implementation
+
+```dart
+void sort([int Function(E a, E b)? compare]) {
+  Sort.sort(this, compare ?? _compareAny);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView-class.md b/sdk/dart/package-collection_collection/CombinedMapView-class.md
new file mode 100644
index 0000000..91487e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView-class.md
@@ -0,0 +1,181 @@
+
+# CombinedMapView&lt;K, V> class
+
+    *<Null safety>*
+
+<p>Returns a new map that represents maps flattened into a single map.</p>
+<p>All methods and accessors treat the new map as-if it were a single
+concatenated map, but the underlying implementation is based on lazily
+accessing individual map instances. In the occasion where a key occurs in
+multiple maps the first value is returned.</p>
+<p>The resulting map has an index operator (<code>[]</code>) that is <code>O(maps)</code>, rather
+than <code>O(1)</code>, and the map is unmodifiable, but underlying changes to these
+maps are still accessible from the resulting map.</p>
+<p>The <code>length</code> getter is <code>O(M)</code> where M is the total number of entries in
+all maps, since it has to remove duplicate entries.</p>
+
+**Inheritance**
+
+- Object
+- MapMixin&lt;K, V>
+- MapBase&lt;K, V>
+- UnmodifiableMapBase&lt;K, V>
+- CombinedMapView
+
+
+
+
+
+
+## Constructors
+
+[CombinedMapView](../package-collection_collection/CombinedMapView/CombinedMapView.md) (Iterable&lt;Map&lt;K, V>> _maps)
+
+Create a new combined view of multiple maps. [...](../package-collection_collection/CombinedMapView/CombinedMapView.md)  
+ 
+
+
+## Properties
+
+##### [entries](../package-collection_collection/CombinedMapView/entries.md) &#8594; Iterable&lt;MapEntry&lt;K, V>>
+
+The map entries of <a href="../package-collection_collection/CombinedMapView-class.md">this</a>.   
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/CombinedMapView/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/CombinedMapView/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/CombinedMapView/isEmpty.md) &#8594; bool
+
+Returns true if there is no key/value pair in the map.   
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/CombinedMapView/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one key/value pair in the map.   
+_read-only, inherited_
+
+##### [keys](../package-collection_collection/CombinedMapView/keys.md) &#8594; Iterable&lt;K>
+
+The keys of <a href="../package-collection_collection/CombinedMapView-class.md">this</a>. [...](../package-collection_collection/CombinedMapView/keys.md)  
+_read-only, override_
+
+##### [length](../package-collection_collection/CombinedMapView/length.md) &#8594; int
+
+The number of key/value pairs in the map.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/CombinedMapView/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [values](../package-collection_collection/CombinedMapView/values.md) &#8594; Iterable&lt;V>
+
+The values of <a href="../package-collection_collection/CombinedMapView-class.md">this</a>. [...](../package-collection_collection/CombinedMapView/values.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [addAll](../package-collection_collection/CombinedMapView/addAll.md)(Map&lt;K, V> other) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [addEntries](../package-collection_collection/CombinedMapView/addEntries.md)(Iterable&lt;MapEntry&lt;K, V>> entries) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [cast](../package-collection_collection/CombinedMapView/cast.md)&lt;RK, RV>() Map&lt;RK, RV>
+
+Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary. [...](../package-collection_collection/CombinedMapView/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/CombinedMapView/clear.md)() void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [containsKey](../package-collection_collection/CombinedMapView/containsKey.md)(Object? key) bool
+
+Returns true if this map contains the given <code>key</code>. [...](../package-collection_collection/CombinedMapView/containsKey.md)  
+_inherited_
+
+##### [containsValue](../package-collection_collection/CombinedMapView/containsValue.md)(Object? value) bool
+
+Returns true if this map contains the given <code>value</code>. [...](../package-collection_collection/CombinedMapView/containsValue.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/CombinedMapView/forEach.md)(void action(K key, V value)) void
+
+Applies <code>f</code> to each key/value pair of the map. [...](../package-collection_collection/CombinedMapView/forEach.md)  
+_inherited_
+
+##### [map](../package-collection_collection/CombinedMapView/map.md)&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K key, V value)) Map&lt;K2, V2>
+
+Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.   
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/CombinedMapView/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/CombinedMapView/noSuchMethod.md)  
+_inherited_
+
+##### [putIfAbsent](../package-collection_collection/CombinedMapView/putIfAbsent.md)(K key, V ifAbsent()) V
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [remove](../package-collection_collection/CombinedMapView/remove.md)(Object? key) V
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/CombinedMapView/removeWhere.md)(bool test(K key, V value)) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [toString](../package-collection_collection/CombinedMapView/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [update](../package-collection_collection/CombinedMapView/update.md)(K key, V update(V value), {V ifAbsent()}) V
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [updateAll](../package-collection_collection/CombinedMapView/updateAll.md)(V update(K key, V value)) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/CombinedMapView/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/CombinedMapView/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/CombinedMapView/operator_get.md)(Object? key) V?
+
+Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map. [...](../package-collection_collection/CombinedMapView/operator_get.md)  
+_override_
+
+##### [operator []=](../package-collection_collection/CombinedMapView/operator_put.md)(K key, V value) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/CombinedMapView.md b/sdk/dart/package-collection_collection/CombinedMapView/CombinedMapView.md
new file mode 100644
index 0000000..ee4b9552c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/CombinedMapView.md
@@ -0,0 +1,20 @@
+
+# CombinedMapView&lt;K, V> constructor
+
+    *<Null safety>*
+
+
+
+CombinedMapView&lt;K, V>(Iterable&lt;Map&lt;K, V>> _maps)
+
+<p>Create a new combined view of multiple maps.</p>
+<p>The iterable is accessed lazily so it should be collection type like
+<code>List</code> or <code>Set</code> rather than a lazy iterable produced by <code>map()</code> et al.</p>
+
+## Implementation
+
+```dart
+CombinedMapView(this._maps);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/addAll.md b/sdk/dart/package-collection_collection/CombinedMapView/addAll.md
new file mode 100644
index 0000000..1b96873
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/addAll.md
@@ -0,0 +1,22 @@
+
+# addAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L276)
+    *<Null safety>*
+
+
+void addAll
+(Map&lt;K, V> other)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void addAll(Map<K, V> other) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/addEntries.md b/sdk/dart/package-collection_collection/CombinedMapView/addEntries.md
new file mode 100644
index 0000000..27e60d8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/addEntries.md
@@ -0,0 +1,22 @@
+
+# addEntries method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L281)
+    *<Null safety>*
+
+
+void addEntries
+(Iterable&lt;MapEntry&lt;K, V>> entries)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void addEntries(Iterable<MapEntry<K, V>> entries) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/cast.md b/sdk/dart/package-collection_collection/CombinedMapView/cast.md
new file mode 100644
index 0000000..0246512
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/cast.md
@@ -0,0 +1,28 @@
+
+# cast&lt;RK, RV> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L120)
+    *<Null safety>*
+
+
+Map&lt;RK, RV> cast
+&lt;RK, RV>()
+_inherited_
+
+<p>Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary.</p>
+<p>If this map is already a <code>Map&lt;RK, RV&gt;</code>, it is returned unchanged.</p>
+<p>If this set contains only keys of type <code>RK</code> and values of type <code>RV</code>,
+all read operations will work correctly.
+If any operation exposes a non-<code>RK</code> key or non-<code>RV</code> value,
+the operation will throw instead.</p>
+<p>Entries added to the map must be valid for both a <code>Map&lt;K, V&gt;</code> and a
+<code>Map&lt;RK, RV&gt;</code>.</p>
+
+## Implementation
+
+```dart
+Map<RK, RV> cast<RK, RV>() => Map.castFrom<K, V, RK, RV>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/clear.md b/sdk/dart/package-collection_collection/CombinedMapView/clear.md
new file mode 100644
index 0000000..377d127
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/clear.md
@@ -0,0 +1,22 @@
+
+# clear method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L286)
+    *<Null safety>*
+
+
+void clear
+()
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void clear() {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/containsKey.md b/sdk/dart/package-collection_collection/CombinedMapView/containsKey.md
new file mode 100644
index 0000000..8e01b7c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/containsKey.md
@@ -0,0 +1,22 @@
+
+# containsKey method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L192)
+    *<Null safety>*
+
+
+bool containsKey
+(Object? key)
+_inherited_
+
+<p>Returns true if this map contains the given <code>key</code>.</p>
+<p>Returns true if any of the keys in the map are equal to <code>key</code>
+according to the equality used by the map.</p>
+
+## Implementation
+
+```dart
+bool containsKey(Object? key) => keys.contains(key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/containsValue.md b/sdk/dart/package-collection_collection/CombinedMapView/containsValue.md
new file mode 100644
index 0000000..87778c9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/containsValue.md
@@ -0,0 +1,27 @@
+
+# containsValue method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L133)
+    *<Null safety>*
+
+
+bool containsValue
+(Object? value)
+_inherited_
+
+<p>Returns true if this map contains the given <code>value</code>.</p>
+<p>Returns true if any of the values in the map are equal to <code>value</code>
+according to the <code>==</code> operator.</p>
+
+## Implementation
+
+```dart
+bool containsValue(Object? value) {
+  for (K key in keys) {
+    if (this[key] == value) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/entries.md b/sdk/dart/package-collection_collection/CombinedMapView/entries.md
new file mode 100644
index 0000000..b38a574
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/entries.md
@@ -0,0 +1,22 @@
+
+# entries property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L163)
+    *<Null safety>*
+
+
+Iterable&lt;MapEntry&lt;K, V>> entries
+  
+_inherited_
+
+<p>The map entries of <a href="../../package-collection_collection/CombinedMapView-class.md">this</a>.</p>
+
+## Implementation
+
+```dart
+Iterable<MapEntry<K, V>> get entries {
+  return keys.map((K key) => MapEntry<K, V>(key, this[key] as V));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/forEach.md b/sdk/dart/package-collection_collection/CombinedMapView/forEach.md
new file mode 100644
index 0000000..bad135d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/forEach.md
@@ -0,0 +1,25 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L121)
+    *<Null safety>*
+
+
+void forEach
+(void action(K key, V value))
+_inherited_
+
+<p>Applies <code>f</code> to each key/value pair of the map.</p>
+<p>Calling <code>f</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+void forEach(void action(K key, V value)) {
+  for (K key in keys) {
+    action(key, this[key] as V);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/hashCode.md b/sdk/dart/package-collection_collection/CombinedMapView/hashCode.md
new file mode 100644
index 0000000..06eccf5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/CombinedMapView/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/CombinedMapView/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/CombinedMapView/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/CombinedMapView/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/CombinedMapView/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/CombinedMapView/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/isEmpty.md b/sdk/dart/package-collection_collection/CombinedMapView/isEmpty.md
new file mode 100644
index 0000000..c41e4a6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/isEmpty.md
@@ -0,0 +1,20 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L194)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns true if there is no key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty => keys.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/isNotEmpty.md b/sdk/dart/package-collection_collection/CombinedMapView/isNotEmpty.md
new file mode 100644
index 0000000..56b0255
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/isNotEmpty.md
@@ -0,0 +1,20 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L195)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => keys.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/keys.md b/sdk/dart/package-collection_collection/CombinedMapView/keys.md
new file mode 100644
index 0000000..76f682d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/keys.md
@@ -0,0 +1,30 @@
+
+# keys property
+
+    *<Null safety>*
+
+
+Iterable&lt;K> keys
+  
+_override_
+
+<p>The keys of <a href="../../package-collection_collection/CombinedMapView-class.md">this</a>.</p>
+<p>The returned iterable has efficient <code>contains</code> operations, assuming the
+iterables returned by the wrapped maps have efficient <code>contains</code> operations
+for their <code>keys</code> iterables.</p>
+<p>The <code>length</code> must do deduplication and thus is not optimized.</p>
+<p>The order of iteration is defined by the individual <code>Map</code> implementations,
+but must be consistent between changes to the maps.</p>
+<p>Unlike most <code>Map</code> implementations, modifying an individual map while
+iterating the keys will <em>sometimes</em> throw. This behavior may change in
+the future.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<K> get keys => _DeduplicatingIterableView(
+    CombinedIterableView(_maps.map((m) => m.keys)));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/length.md b/sdk/dart/package-collection_collection/CombinedMapView/length.md
new file mode 100644
index 0000000..a8460a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/length.md
@@ -0,0 +1,20 @@
+
+# length property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L193)
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>The number of key/value pairs in the map.</p>
+
+## Implementation
+
+```dart
+int get length => keys.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/map.md b/sdk/dart/package-collection_collection/CombinedMapView/map.md
new file mode 100644
index 0000000..569c878
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/map.md
@@ -0,0 +1,28 @@
+
+# map&lt;K2, V2> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L167)
+    *<Null safety>*
+
+
+Map&lt;K2, V2> map
+&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K key, V value))
+_inherited_
+
+<p>Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.</p>
+
+## Implementation
+
+```dart
+Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> transform(K key, V value)) {
+  var result = <K2, V2>{};
+  for (var key in this.keys) {
+    var entry = transform(key, this[key] as V);
+    result[entry.key] = entry.value;
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/noSuchMethod.md b/sdk/dart/package-collection_collection/CombinedMapView/noSuchMethod.md
new file mode 100644
index 0000000..03fea4a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/CombinedMapView/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/operator_equals.md b/sdk/dart/package-collection_collection/CombinedMapView/operator_equals.md
new file mode 100644
index 0000000..e7c8c13
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/CombinedMapView/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/operator_get.md b/sdk/dart/package-collection_collection/CombinedMapView/operator_get.md
new file mode 100644
index 0000000..14c8ece
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/operator_get.md
@@ -0,0 +1,35 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+V? operator []
+(Object? key)
+_override_
+
+<p>Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map.</p>
+<p>Some maps allow keys to have <code>null</code> as a value.
+For those maps, a lookup using this operator cannot distinguish between a
+key not being in the map and the key having a <code>null</code> value.
+Methods like <a href="../../package-collection_collection/CombinedMapView/containsKey.md">containsKey</a> or <a href="../../package-collection_collection/CombinedMapView/putIfAbsent.md">putIfAbsent</a> can be used if the distinction
+is important.</p>
+
+## Implementation
+
+```dart
+@override
+V? operator [](Object? key) {
+  for (var map in _maps) {
+    // Avoid two hash lookups on a positive hit.
+    var value = map[key];
+    if (value != null || map.containsKey(value)) {
+      return value;
+    }
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/operator_put.md b/sdk/dart/package-collection_collection/CombinedMapView/operator_put.md
new file mode 100644
index 0000000..26007d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/operator_put.md
@@ -0,0 +1,22 @@
+
+# operator []= method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L271)
+    *<Null safety>*
+
+
+void operator []=
+(K key, V value)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void operator []=(K key, V value) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/putIfAbsent.md b/sdk/dart/package-collection_collection/CombinedMapView/putIfAbsent.md
new file mode 100644
index 0000000..a2e3f1c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/putIfAbsent.md
@@ -0,0 +1,22 @@
+
+# putIfAbsent method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L301)
+    *<Null safety>*
+
+
+V putIfAbsent
+(K key, V ifAbsent())
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+V putIfAbsent(K key, V ifAbsent()) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/remove.md b/sdk/dart/package-collection_collection/CombinedMapView/remove.md
new file mode 100644
index 0000000..cc698d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/remove.md
@@ -0,0 +1,22 @@
+
+# remove method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L291)
+    *<Null safety>*
+
+
+V remove
+(Object? key)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+V remove(Object? key) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/removeWhere.md b/sdk/dart/package-collection_collection/CombinedMapView/removeWhere.md
new file mode 100644
index 0000000..722254d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/removeWhere.md
@@ -0,0 +1,22 @@
+
+# removeWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L296)
+    *<Null safety>*
+
+
+void removeWhere
+(bool test(K key, V value))
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void removeWhere(bool test(K key, V value)) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/runtimeType.md b/sdk/dart/package-collection_collection/CombinedMapView/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/toString.md b/sdk/dart/package-collection_collection/CombinedMapView/toString.md
new file mode 100644
index 0000000..74a8015
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L197)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+String toString() => MapBase.mapToString(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/update.md b/sdk/dart/package-collection_collection/CombinedMapView/update.md
new file mode 100644
index 0000000..c24cfde
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/update.md
@@ -0,0 +1,22 @@
+
+# update method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L306)
+    *<Null safety>*
+
+
+V update
+(K key, V update(V value), {V ifAbsent()})
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+V update(K key, V update(V value), {V Function()? ifAbsent}) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/updateAll.md b/sdk/dart/package-collection_collection/CombinedMapView/updateAll.md
new file mode 100644
index 0000000..a9a4a14
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/updateAll.md
@@ -0,0 +1,22 @@
+
+# updateAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L311)
+    *<Null safety>*
+
+
+void updateAll
+(V update(K key, V value))
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void updateAll(V update(K key, V value)) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/CombinedMapView/values.md b/sdk/dart/package-collection_collection/CombinedMapView/values.md
new file mode 100644
index 0000000..944bf33
--- /dev/null
+++ b/sdk/dart/package-collection_collection/CombinedMapView/values.md
@@ -0,0 +1,28 @@
+
+# values property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L196)
+    *<Null safety>*
+
+
+Iterable&lt;V> values
+  
+_inherited_
+
+<p>The values of <a href="../../package-collection_collection/CombinedMapView-class.md">this</a>.</p>
+<p>The values are iterated in the order of their corresponding keys.
+This means that iterating <a href="../../package-collection_collection/CombinedMapView/keys.md">keys</a> and <a href="../../package-collection_collection/CombinedMapView/values.md">values</a> in parallel will
+provide matching pairs of keys and values.</p>
+<p>The returned iterable has an efficient <code>length</code> method based on the
+<a href="../../package-collection_collection/CombinedMapView/length.md">length</a> of the map. Its <code>Iterable.contains</code> method is based on
+<code>==</code> comparison.</p>
+<p>Modifying the map while iterating the
+values may break the iteration.</p>
+
+## Implementation
+
+```dart
+Iterable<V> get values => _MapBaseValueIterable<K, V>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ComparatorExtension.md b/sdk/dart/package-collection_collection/ComparatorExtension.md
new file mode 100644
index 0000000..f399dac
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ComparatorExtension.md
@@ -0,0 +1,34 @@
+
+# ComparatorExtension&lt;T> extension
+on Comparator&lt;T>
+
+
+    *<Null safety>*
+
+<p>Extensions on comparator functions.</p>
+
+## Properties
+
+##### [inverse](../package-collection_collection/ComparatorExtension/inverse.md) &#8594; Comparator&lt;T>
+
+The inverse ordering of this comparator.   
+_read-only_
+
+
+## Methods
+
+##### [compareBy](../package-collection_collection/ComparatorExtension/compareBy.md)&lt;R>(T keyOf(R)) Comparator&lt;R>
+
+Makes a comparator on <code>R</code> values using this comparator. [...](../package-collection_collection/ComparatorExtension/compareBy.md)  
+
+
+##### [then](../package-collection_collection/ComparatorExtension/then.md)(Comparator&lt;T> tieBreaker) Comparator&lt;T>
+
+Combine comparators sequentially. [...](../package-collection_collection/ComparatorExtension/then.md)  
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/ComparatorExtension/compareBy.md b/sdk/dart/package-collection_collection/ComparatorExtension/compareBy.md
new file mode 100644
index 0000000..c813a61
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ComparatorExtension/compareBy.md
@@ -0,0 +1,22 @@
+
+# compareBy&lt;R> method
+
+    *<Null safety>*
+
+
+Comparator&lt;R> compareBy
+&lt;R>(T keyOf(R))
+
+
+<p>Makes a comparator on <code>R</code> values using this comparator.</p>
+<p>Compares <code>R</code> values by comparing their <code>keyOf</code> value
+using this comparator.</p>
+
+## Implementation
+
+```dart
+Comparator<R> compareBy<R>(T Function(R) keyOf) =>
+    (R a, R b) => this(keyOf(a), keyOf(b));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ComparatorExtension/inverse.md b/sdk/dart/package-collection_collection/ComparatorExtension/inverse.md
new file mode 100644
index 0000000..404f6b4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ComparatorExtension/inverse.md
@@ -0,0 +1,19 @@
+
+# inverse property
+
+    *<Null safety>*
+
+
+Comparator&lt;T> inverse
+  
+
+
+<p>The inverse ordering of this comparator.</p>
+
+## Implementation
+
+```dart
+Comparator<T> get inverse => (T a, T b) => this(b, a);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ComparatorExtension/then.md b/sdk/dart/package-collection_collection/ComparatorExtension/then.md
new file mode 100644
index 0000000..ad6b637
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ComparatorExtension/then.md
@@ -0,0 +1,26 @@
+
+# then method
+
+    *<Null safety>*
+
+
+Comparator&lt;T> then
+(Comparator&lt;T> tieBreaker)
+
+
+<p>Combine comparators sequentially.</p>
+<p>Creates a comparator which orders elements the same way as
+this comparator, except that when two elements are considered
+equal, the <code>tieBreaker</code> comparator is used instead.</p>
+
+## Implementation
+
+```dart
+Comparator<T> then(Comparator<T> tieBreaker) => (T a, T b) {
+      var result = this(a, b);
+      if (result == 0) result = tieBreaker(a, b);
+      return result;
+    };
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DeepCollectionEquality-class.md b/sdk/dart/package-collection_collection/DeepCollectionEquality-class.md
new file mode 100644
index 0000000..7308529
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DeepCollectionEquality-class.md
@@ -0,0 +1,92 @@
+
+# DeepCollectionEquality class
+
+    *<Null safety>*
+
+<p>Deep equality on collections.</p>
+<p>Recognizes lists, sets, iterables and maps and compares their elements using
+deep equality as well.</p>
+<p>Non-iterable/map objects are compared using a configurable base equality.</p>
+<p>Works in one of two modes: ordered or unordered.</p>
+<p>In ordered mode, lists and iterables are required to have equal elements
+in the same order. In unordered mode, the order of elements in iterables
+and lists are not important.</p>
+<p>A list is only equal to another list, likewise for sets and maps. All other
+iterables are compared as iterables only.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)
+
+
+
+
+
+## Constructors
+
+[DeepCollectionEquality](../package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.md) ([[Equality](../package-collection_collection/Equality-class.md) base = const DefaultEquality<Never>()])
+
+   
+_const_ 
+
+[DeepCollectionEquality.unordered](../package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.unordered.md) ([[Equality](../package-collection_collection/Equality-class.md) base = const DefaultEquality<Never>()])
+
+Creates a deep equality on collections where the order of lists and
+iterables are not considered important. That is, lists and iterables are
+treated as unordered iterables.   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/DeepCollectionEquality/equals.md)(dynamic e1, dynamic e2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/DeepCollectionEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/DeepCollectionEquality/hash.md)(Object? o) int
+
+Get a hashcode of an element. [...](../package-collection_collection/DeepCollectionEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/DeepCollectionEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/DeepCollectionEquality/equals.md">equals</a> and <a href="../package-collection_collection/DeepCollectionEquality/hash.md">hash</a>. [...](../package-collection_collection/DeepCollectionEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.md b/sdk/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.md
new file mode 100644
index 0000000..1b250f4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.md
@@ -0,0 +1,19 @@
+
+# DeepCollectionEquality constructor
+
+    *<Null safety>*
+
+
+const
+DeepCollectionEquality([[Equality](../../package-collection_collection/Equality-class.md) base = const DefaultEquality<Never>()])
+
+
+## Implementation
+
+```dart
+const DeepCollectionEquality([Equality base = const DefaultEquality<Never>()])
+    : _base = base,
+      _unordered = false;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.unordered.md b/sdk/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.unordered.md
new file mode 100644
index 0000000..e33fd06
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DeepCollectionEquality/DeepCollectionEquality.unordered.md
@@ -0,0 +1,23 @@
+
+# DeepCollectionEquality.unordered constructor
+
+    *<Null safety>*
+
+
+const
+DeepCollectionEquality.unordered([[Equality](../../package-collection_collection/Equality-class.md) base = const DefaultEquality<Never>()])
+
+<p>Creates a deep equality on collections where the order of lists and
+iterables are not considered important. That is, lists and iterables are
+treated as unordered iterables.</p>
+
+## Implementation
+
+```dart
+const DeepCollectionEquality.unordered(
+    [Equality base = const DefaultEquality<Never>()])
+    : _base = base,
+      _unordered = true;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DeepCollectionEquality/equals.md b/sdk/dart/package-collection_collection/DeepCollectionEquality/equals.md
new file mode 100644
index 0000000..1624d59
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DeepCollectionEquality/equals.md
@@ -0,0 +1,41 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(dynamic e1, dynamic e2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(e1, e2) {
+  if (e1 is Set) {
+    return e2 is Set && SetEquality(this).equals(e1, e2);
+  }
+  if (e1 is Map) {
+    return e2 is Map && MapEquality(keys: this, values: this).equals(e1, e2);
+  }
+  if (!_unordered) {
+    if (e1 is List) {
+      return e2 is List && ListEquality(this).equals(e1, e2);
+    }
+    if (e1 is Iterable) {
+      return e2 is Iterable && IterableEquality(this).equals(e1, e2);
+    }
+  } else if (e1 is Iterable) {
+    if (e1 is List != e2 is List) return false;
+    return e2 is Iterable && UnorderedIterableEquality(this).equals(e1, e2);
+  }
+  return _base.equals(e1, e2);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DeepCollectionEquality/hash.md b/sdk/dart/package-collection_collection/DeepCollectionEquality/hash.md
new file mode 100644
index 0000000..3f10597
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DeepCollectionEquality/hash.md
@@ -0,0 +1,33 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(Object? o)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/DeepCollectionEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(Object? o) {
+  if (o is Set) return SetEquality(this).hash(o);
+  if (o is Map) return MapEquality(keys: this, values: this).hash(o);
+  if (!_unordered) {
+    if (o is List) return ListEquality(this).hash(o);
+    if (o is Iterable) return IterableEquality(this).hash(o);
+  } else if (o is Iterable) {
+    return UnorderedIterableEquality(this).hash(o);
+  }
+  return _base.hash(o);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DeepCollectionEquality/isValidKey.md b/sdk/dart/package-collection_collection/DeepCollectionEquality/isValidKey.md
new file mode 100644
index 0000000..36022e1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DeepCollectionEquality/isValidKey.md
@@ -0,0 +1,24 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/DeepCollectionEquality/equals.md">equals</a> and <a href="../../package-collection_collection/DeepCollectionEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) =>
+    o is Iterable || o is Map || _base.isValidKey(o);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DefaultEquality-class.md b/sdk/dart/package-collection_collection/DefaultEquality-class.md
new file mode 100644
index 0000000..1e7023e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DefaultEquality-class.md
@@ -0,0 +1,81 @@
+
+# DefaultEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Equality of objects that compares only the natural equality of the objects.</p>
+<p>This equality uses the objects' own <code>Object.==</code> and <code>Object.hashCode</code> for
+the equality.</p>
+<p>Note that <a href="../package-collection_collection/DefaultEquality/equals.md">equals</a> and <a href="../package-collection_collection/DefaultEquality/hash.md">hash</a> take <code>Object</code>s rather than <code>E</code>s. This allows
+<code>E</code> to be inferred as <code>Null</code> in const contexts where <code>E</code> wouldn't be a
+compile-time constant, while still allowing the class to be used at runtime.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;E>
+
+
+
+
+
+## Constructors
+
+[DefaultEquality](../package-collection_collection/DefaultEquality/DefaultEquality.md) ()
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/DefaultEquality/equals.md)(Object? e1, Object? e2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/DefaultEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/DefaultEquality/hash.md)(Object? e) int
+
+Get a hashcode of an element. [...](../package-collection_collection/DefaultEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/DefaultEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/DefaultEquality/equals.md">equals</a> and <a href="../package-collection_collection/DefaultEquality/hash.md">hash</a>. [...](../package-collection_collection/DefaultEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/DefaultEquality/DefaultEquality.md b/sdk/dart/package-collection_collection/DefaultEquality/DefaultEquality.md
new file mode 100644
index 0000000..2ca73fe
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DefaultEquality/DefaultEquality.md
@@ -0,0 +1,17 @@
+
+# DefaultEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+DefaultEquality&lt;E>()
+
+
+## Implementation
+
+```dart
+const DefaultEquality();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DefaultEquality/equals.md b/sdk/dart/package-collection_collection/DefaultEquality/equals.md
new file mode 100644
index 0000000..b5d6b4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DefaultEquality/equals.md
@@ -0,0 +1,22 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(Object? e1, Object? e2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(Object? e1, Object? e2) => e1 == e2;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DefaultEquality/hash.md b/sdk/dart/package-collection_collection/DefaultEquality/hash.md
new file mode 100644
index 0000000..707b2ee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DefaultEquality/hash.md
@@ -0,0 +1,23 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(Object? e)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/DefaultEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(Object? e) => e.hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DefaultEquality/isValidKey.md b/sdk/dart/package-collection_collection/DefaultEquality/isValidKey.md
new file mode 100644
index 0000000..34f02f3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DefaultEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/DefaultEquality/equals.md">equals</a> and <a href="../../package-collection_collection/DefaultEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => true;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable-class.md b/sdk/dart/package-collection_collection/DelegatingIterable-class.md
new file mode 100644
index 0000000..7638591
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable-class.md
@@ -0,0 +1,234 @@
+
+# DelegatingIterable&lt;E> class
+
+    *<Null safety>*
+
+<p>An <code>Iterable</code> that delegates all operations to a base iterable.</p>
+<p>This class can be used to hide non-<code>Iterable</code> methods of an iterable object,
+or it can be extended to add extra functionality on top of an existing
+iterable object.</p>
+
+
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[DelegatingIterable](../package-collection_collection/DelegatingIterable/DelegatingIterable.md) (Iterable&lt;E> base)
+
+Creates a wrapper that forwards operations to <code>base</code>.   
+_const_ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/DelegatingIterable/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/DelegatingIterable/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingIterable/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingIterable/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingIterable/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingIterable/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingIterable/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingIterable/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingIterable/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingIterable/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/DelegatingIterable/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/DelegatingIterable/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/DelegatingIterable/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/DelegatingIterable-class.md">this</a>. [...](../package-collection_collection/DelegatingIterable/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingIterable/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingIterable/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingIterable/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [any](../package-collection_collection/DelegatingIterable/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingIterable/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingIterable/cast.md)&lt;T>() Iterable&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingIterable/cast.md)  
+_inherited_
+
+##### [contains](../package-collection_collection/DelegatingIterable/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingIterable/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/DelegatingIterable/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingIterable/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingIterable/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingIterable/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingIterable/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingIterable/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/DelegatingIterable/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingIterable/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingIterable/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingIterable/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingIterable/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingIterable/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingIterable/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [join](../package-collection_collection/DelegatingIterable/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingIterable/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/DelegatingIterable/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingIterable/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingIterable/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingIterable/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingIterable/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingIterable/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingIterable/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingIterable/reduce.md)  
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/DelegatingIterable/retype.md)&lt;T>() Iterable&lt;T>
+
+   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/DelegatingIterable/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingIterable/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingIterable/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingIterable/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingIterable/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingIterable/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/DelegatingIterable/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingIterable/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingIterable/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingIterable/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingIterable/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingIterable/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingIterable/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingIterable/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingIterable/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/DelegatingIterable/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingIterable/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingIterable/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingIterable/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingIterable/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingIterable/operator_equals.md)  
+_inherited_
+
+
+
+## Static Methods
+
+##### [~~typed~~](../package-collection_collection/DelegatingIterable/typed.md)&lt;E>(Iterable base) Iterable&lt;E>
+
+Creates a wrapper that asserts the types of values in <code>base</code>. [...](../package-collection_collection/DelegatingIterable/typed.md)  
+_@Deprecated(&#39;Use iterable.cast&lt;E&gt; instead.&#39;)_
+
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/DelegatingIterable.md b/sdk/dart/package-collection_collection/DelegatingIterable/DelegatingIterable.md
new file mode 100644
index 0000000..2db4e8e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/DelegatingIterable.md
@@ -0,0 +1,18 @@
+
+# DelegatingIterable&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+DelegatingIterable&lt;E>(Iterable&lt;E> base)
+
+<p>Creates a wrapper that forwards operations to <code>base</code>.</p>
+
+## Implementation
+
+```dart
+const DelegatingIterable(Iterable<E> base) : _base = base;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/any.md b/sdk/dart/package-collection_collection/DelegatingIterable/any.md
new file mode 100644
index 0000000..22547d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/any.md
@@ -0,0 +1,23 @@
+
+# any method
+
+    *<Null safety>*
+
+- @override
+
+bool any
+(bool test(E))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+@override
+bool any(bool Function(E) test) => _base.any(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/cast.md b/sdk/dart/package-collection_collection/DelegatingIterable/cast.md
new file mode 100644
index 0000000..cd12852
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/cast.md
@@ -0,0 +1,26 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> cast
+&lt;T>()
+_inherited_
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/DelegatingIterable/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> cast<T>() => _base.cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/contains.md b/sdk/dart/package-collection_collection/DelegatingIterable/contains.md
new file mode 100644
index 0000000..da3a2d0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/contains.md
@@ -0,0 +1,31 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _base.contains(element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/elementAt.md b/sdk/dart/package-collection_collection/DelegatingIterable/elementAt.md
new file mode 100644
index 0000000..09e8c27
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/elementAt.md
@@ -0,0 +1,27 @@
+
+# elementAt method
+
+    *<Null safety>*
+
+- @override
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/DelegatingIterable/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+@override
+E elementAt(int index) => _base.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/every.md b/sdk/dart/package-collection_collection/DelegatingIterable/every.md
new file mode 100644
index 0000000..59872eb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/every.md
@@ -0,0 +1,23 @@
+
+# every method
+
+    *<Null safety>*
+
+- @override
+
+bool every
+(bool test(E))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool every(bool Function(E) test) => _base.every(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/expand.md b/sdk/dart/package-collection_collection/DelegatingIterable/expand.md
new file mode 100644
index 0000000..11532b5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> expand<T>(Iterable<T> Function(E) f) => _base.expand(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/first.md b/sdk/dart/package-collection_collection/DelegatingIterable/first.md
new file mode 100644
index 0000000..5b64601
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/first.md
@@ -0,0 +1,23 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/firstWhere.md b/sdk/dart/package-collection_collection/DelegatingIterable/firstWhere.md
new file mode 100644
index 0000000..9dd8cca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/firstWhere.md
@@ -0,0 +1,26 @@
+
+# firstWhere method
+
+    *<Null safety>*
+
+- @override
+
+E firstWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E firstWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.firstWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/fold.md b/sdk/dart/package-collection_collection/DelegatingIterable/fold.md
new file mode 100644
index 0000000..2b07bff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/fold.md
@@ -0,0 +1,35 @@
+
+# fold&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+T fold<T>(T initialValue, T Function(T previousValue, E element) combine) =>
+    _base.fold(initialValue, combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/followedBy.md b/sdk/dart/package-collection_collection/DelegatingIterable/followedBy.md
new file mode 100644
index 0000000..1a53b84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> followedBy(Iterable<E> other) => _base.followedBy(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/forEach.md b/sdk/dart/package-collection_collection/DelegatingIterable/forEach.md
new file mode 100644
index 0000000..058b3fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/forEach.md
@@ -0,0 +1,22 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(E))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(E) f) => _base.forEach(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/hashCode.md b/sdk/dart/package-collection_collection/DelegatingIterable/hashCode.md
new file mode 100644
index 0000000..9f22a34
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/DelegatingIterable/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/DelegatingIterable/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/DelegatingIterable/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/DelegatingIterable/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/DelegatingIterable/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/DelegatingIterable/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/isEmpty.md b/sdk/dart/package-collection_collection/DelegatingIterable/isEmpty.md
new file mode 100644
index 0000000..2f6a4ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _base.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/isNotEmpty.md b/sdk/dart/package-collection_collection/DelegatingIterable/isNotEmpty.md
new file mode 100644
index 0000000..7ba6135
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _base.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/iterator.md b/sdk/dart/package-collection_collection/DelegatingIterable/iterator.md
new file mode 100644
index 0000000..9aaebb8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _base.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/join.md b/sdk/dart/package-collection_collection/DelegatingIterable/join.md
new file mode 100644
index 0000000..fd770a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/join.md
@@ -0,0 +1,25 @@
+
+# join method
+
+    *<Null safety>*
+
+- @override
+
+String join
+([String separator = ''])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+@override
+String join([String separator = '']) => _base.join(separator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/last.md b/sdk/dart/package-collection_collection/DelegatingIterable/last.md
new file mode 100644
index 0000000..f828c08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/last.md
@@ -0,0 +1,26 @@
+
+# last property
+
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/lastWhere.md b/sdk/dart/package-collection_collection/DelegatingIterable/lastWhere.md
new file mode 100644
index 0000000..a8c56bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/lastWhere.md
@@ -0,0 +1,31 @@
+
+# lastWhere method
+
+    *<Null safety>*
+
+- @override
+
+E lastWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E lastWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.lastWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/length.md b/sdk/dart/package-collection_collection/DelegatingIterable/length.md
new file mode 100644
index 0000000..b865106
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/length.md
@@ -0,0 +1,23 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/DelegatingIterable-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/map.md b/sdk/dart/package-collection_collection/DelegatingIterable/map.md
new file mode 100644
index 0000000..a6a5861
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> map
+&lt;T>(T f(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/DelegatingIterable/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> map<T>(T Function(E) f) => _base.map(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/noSuchMethod.md b/sdk/dart/package-collection_collection/DelegatingIterable/noSuchMethod.md
new file mode 100644
index 0000000..5f6f831
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/DelegatingIterable/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/operator_equals.md b/sdk/dart/package-collection_collection/DelegatingIterable/operator_equals.md
new file mode 100644
index 0000000..e7ed153
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/DelegatingIterable/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/reduce.md b/sdk/dart/package-collection_collection/DelegatingIterable/reduce.md
new file mode 100644
index 0000000..a0e0b41
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/reduce.md
@@ -0,0 +1,36 @@
+
+# reduce method
+
+    *<Null safety>*
+
+- @override
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+E reduce(E Function(E value, E element) combine) => _base.reduce(combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/retype.md b/sdk/dart/package-collection_collection/DelegatingIterable/retype.md
new file mode 100644
index 0000000..ca84354
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/retype.md
@@ -0,0 +1,20 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+
+Iterable&lt;T> ~~retype~~
+&lt;T>()
+_inherited_
+
+
+## Implementation
+
+```dart
+@deprecated
+Iterable<T> retype<T>() => cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/runtimeType.md b/sdk/dart/package-collection_collection/DelegatingIterable/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/single.md b/sdk/dart/package-collection_collection/DelegatingIterable/single.md
new file mode 100644
index 0000000..fd9ac76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/single.md
@@ -0,0 +1,21 @@
+
+# single property
+
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+@override
+E get single => _base.single;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/singleWhere.md b/sdk/dart/package-collection_collection/DelegatingIterable/singleWhere.md
new file mode 100644
index 0000000..97fad7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/singleWhere.md
@@ -0,0 +1,28 @@
+
+# singleWhere method
+
+    *<Null safety>*
+
+- @override
+
+E singleWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E singleWhere(bool Function(E) test, {E Function()? orElse}) {
+  return _base.singleWhere(test, orElse: orElse);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/skip.md b/sdk/dart/package-collection_collection/DelegatingIterable/skip.md
new file mode 100644
index 0000000..74cea57
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/skip.md
@@ -0,0 +1,31 @@
+
+# skip method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skip(int n) => _base.skip(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/skipWhile.md b/sdk/dart/package-collection_collection/DelegatingIterable/skipWhile.md
new file mode 100644
index 0000000..60a41be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/skipWhile.md
@@ -0,0 +1,28 @@
+
+# skipWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skipWhile
+(bool test(E))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skipWhile(bool Function(E) test) => _base.skipWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/take.md b/sdk/dart/package-collection_collection/DelegatingIterable/take.md
new file mode 100644
index 0000000..87de41c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/take.md
@@ -0,0 +1,26 @@
+
+# take method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingIterable/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> take(int n) => _base.take(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/takeWhile.md b/sdk/dart/package-collection_collection/DelegatingIterable/takeWhile.md
new file mode 100644
index 0000000..50717ab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/takeWhile.md
@@ -0,0 +1,26 @@
+
+# takeWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> takeWhile
+(bool test(E))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingIterable/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> takeWhile(bool Function(E) test) => _base.takeWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/toList.md b/sdk/dart/package-collection_collection/DelegatingIterable/toList.md
new file mode 100644
index 0000000..bd048ce
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList({bool growable = true}) => _base.toList(growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/toSet.md b/sdk/dart/package-collection_collection/DelegatingIterable/toSet.md
new file mode 100644
index 0000000..0d55e4d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => _base.toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/toString.md b/sdk/dart/package-collection_collection/DelegatingIterable/toString.md
new file mode 100644
index 0000000..dac82a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => _base.toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/typed.md b/sdk/dart/package-collection_collection/DelegatingIterable/typed.md
new file mode 100644
index 0000000..f1c5896
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/typed.md
@@ -0,0 +1,27 @@
+
+# typed&lt;E> method
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Use iterable.cast&lt;E&gt; instead.&#39;)
+
+Iterable&lt;E> ~~typed~~
+&lt;E>(Iterable base)
+_@Deprecated(&#39;Use iterable.cast&lt;E&gt; instead.&#39;)_
+
+<p>Creates a wrapper that asserts the types of values in <code>base</code>.</p>
+<p>This soundly converts an <code>Iterable</code> without a generic type to an
+<code>Iterable&lt;E&gt;</code> by asserting that its elements are instances of <code>E</code> whenever
+they're accessed. If they're not, it throws a <code>CastError</code>.</p>
+<p>This forwards all operations to <code>base</code>, so any changes in <code>base</code> will be
+reflected in <a href="../../package-collection_collection/DelegatingIterable-class.md">this</a>. If <code>base</code> is already an <code>Iterable&lt;E&gt;</code>, it's returned
+unmodified.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Use iterable.cast<E> instead.')
+static Iterable<E> typed<E>(Iterable base) => base.cast<E>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/where.md b/sdk/dart/package-collection_collection/DelegatingIterable/where.md
new file mode 100644
index 0000000..3cdab6c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/where.md
@@ -0,0 +1,30 @@
+
+# where method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> where
+(bool test(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingIterable/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> where(bool Function(E) test) => _base.where(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingIterable/whereType.md b/sdk/dart/package-collection_collection/DelegatingIterable/whereType.md
new file mode 100644
index 0000000..9a7fd21
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingIterable/whereType.md
@@ -0,0 +1,27 @@
+
+# whereType&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingIterable/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> whereType<T>() => _base.whereType<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList-class.md b/sdk/dart/package-collection_collection/DelegatingList-class.md
new file mode 100644
index 0000000..f7be0c9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList-class.md
@@ -0,0 +1,391 @@
+
+# DelegatingList&lt;E> class
+
+    *<Null safety>*
+
+<p>A <code>List</code> that delegates all operations to a base list.</p>
+<p>This class can be used to hide non-<code>List</code> methods of a list object, or it
+can be extended to add extra functionality on top of an existing list
+object.</p>
+
+
+**Implemented types**
+
+- List&lt;E>
+
+
+**Implementers**
+
+- [NonGrowableListView](../package-collection_collection/NonGrowableListView-class.md)
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[DelegatingList](../package-collection_collection/DelegatingList/DelegatingList.md) (List&lt;E> base)
+
+   
+_const_ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/DelegatingList/first.md) &#8596; E
+
+Returns the first element. [...](../package-collection_collection/DelegatingList/first.md)  
+_read / write, inherited-getter, override-setter_
+
+##### [hashCode](../package-collection_collection/DelegatingList/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingList/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingList/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingList/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingList/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingList/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingList/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingList/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/DelegatingList/last.md) &#8596; E
+
+Returns the last element. [...](../package-collection_collection/DelegatingList/last.md)  
+_read / write, inherited-getter, override-setter_
+
+##### [length](../package-collection_collection/DelegatingList/length.md) &#8596; int
+
+Returns the number of elements in <a href="../package-collection_collection/DelegatingList-class.md">this</a>. [...](../package-collection_collection/DelegatingList/length.md)  
+_read / write, inherited-getter, override-setter_
+
+##### [reversed](../package-collection_collection/DelegatingList/reversed.md) &#8594; Iterable&lt;E>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, override_
+
+##### [runtimeType](../package-collection_collection/DelegatingList/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingList/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingList/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/DelegatingList/add.md)(E value) void
+
+Adds <code>value</code> to the end of this list,
+extending the length by one. [...](../package-collection_collection/DelegatingList/add.md)  
+_override_
+
+##### [addAll](../package-collection_collection/DelegatingList/addAll.md)(Iterable&lt;E> iterable) void
+
+Appends all objects of <code>iterable</code> to the end of this list. [...](../package-collection_collection/DelegatingList/addAll.md)  
+_override_
+
+##### [any](../package-collection_collection/DelegatingList/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingList/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/DelegatingList/asMap.md)() Map&lt;int, E>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/DelegatingList/asMap.md)  
+_override_
+
+##### [cast](../package-collection_collection/DelegatingList/cast.md)&lt;T>() List&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingList/cast.md)  
+
+
+##### [clear](../package-collection_collection/DelegatingList/clear.md)() void
+
+Removes all objects from this list;
+the length of the list becomes zero. [...](../package-collection_collection/DelegatingList/clear.md)  
+_override_
+
+##### [contains](../package-collection_collection/DelegatingList/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingList/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/DelegatingList/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingList/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingList/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingList/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingList/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingList/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/DelegatingList/fillRange.md)(int start, int end, [E? fillValue]) void
+
+Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>. [...](../package-collection_collection/DelegatingList/fillRange.md)  
+_override_
+
+##### [firstWhere](../package-collection_collection/DelegatingList/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingList/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingList/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingList/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingList/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingList/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingList/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/DelegatingList/getRange.md)(int start, int end) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/DelegatingList/getRange.md)  
+_override_
+
+##### [indexOf](../package-collection_collection/DelegatingList/indexOf.md)(E element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/DelegatingList/indexOf.md)  
+_override_
+
+##### [indexWhere](../package-collection_collection/DelegatingList/indexWhere.md)(bool test(E), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/DelegatingList/indexWhere.md)  
+_override_
+
+##### [insert](../package-collection_collection/DelegatingList/insert.md)(int index, E element) void
+
+Inserts the object at position <code>index</code> in this list. [...](../package-collection_collection/DelegatingList/insert.md)  
+_override_
+
+##### [insertAll](../package-collection_collection/DelegatingList/insertAll.md)(int index, Iterable&lt;E> iterable) void
+
+Inserts all objects of <code>iterable</code> at position <code>index</code> in this list. [...](../package-collection_collection/DelegatingList/insertAll.md)  
+_override_
+
+##### [join](../package-collection_collection/DelegatingList/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingList/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/DelegatingList/lastIndexOf.md)(E element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/DelegatingList/lastIndexOf.md)  
+_override_
+
+##### [lastIndexWhere](../package-collection_collection/DelegatingList/lastIndexWhere.md)(bool test(E), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/DelegatingList/lastIndexWhere.md)  
+_override_
+
+##### [lastWhere](../package-collection_collection/DelegatingList/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingList/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingList/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingList/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingList/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingList/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingList/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingList/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/DelegatingList/remove.md)(Object? value) bool
+
+Removes the first occurrence of <code>value</code> from this list. [...](../package-collection_collection/DelegatingList/remove.md)  
+_override_
+
+##### [removeAt](../package-collection_collection/DelegatingList/removeAt.md)(int index) E
+
+Removes the object at position <code>index</code> from this list. [...](../package-collection_collection/DelegatingList/removeAt.md)  
+_override_
+
+##### [removeLast](../package-collection_collection/DelegatingList/removeLast.md)() E
+
+Pops and returns the last object in this list. [...](../package-collection_collection/DelegatingList/removeLast.md)  
+_override_
+
+##### [removeRange](../package-collection_collection/DelegatingList/removeRange.md)(int start, int end) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/DelegatingList/removeRange.md)  
+_override_
+
+##### [removeWhere](../package-collection_collection/DelegatingList/removeWhere.md)(bool test(E)) void
+
+Removes all objects from this list that satisfy <code>test</code>. [...](../package-collection_collection/DelegatingList/removeWhere.md)  
+_override_
+
+##### [replaceRange](../package-collection_collection/DelegatingList/replaceRange.md)(int start, int end, Iterable&lt;E> iterable) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place. [...](../package-collection_collection/DelegatingList/replaceRange.md)  
+_override_
+
+##### [retainWhere](../package-collection_collection/DelegatingList/retainWhere.md)(bool test(E)) void
+
+Removes all objects from this list that fail to satisfy <code>test</code>. [...](../package-collection_collection/DelegatingList/retainWhere.md)  
+_override_
+
+##### [~~retype~~](../package-collection_collection/DelegatingList/retype.md)&lt;T>() List&lt;T>
+
+   
+
+
+##### [setAll](../package-collection_collection/DelegatingList/setAll.md)(int index, Iterable&lt;E> iterable) void
+
+Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list. [...](../package-collection_collection/DelegatingList/setAll.md)  
+_override_
+
+##### [setRange](../package-collection_collection/DelegatingList/setRange.md)(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0]) void
+
+Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list. [...](../package-collection_collection/DelegatingList/setRange.md)  
+_override_
+
+##### [shuffle](../package-collection_collection/DelegatingList/shuffle.md)([Random? random]) void
+
+Shuffles the elements of this list randomly.   
+_override_
+
+##### [singleWhere](../package-collection_collection/DelegatingList/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingList/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingList/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingList/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingList/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingList/skipWhile.md)  
+_inherited_
+
+##### [sort](../package-collection_collection/DelegatingList/sort.md)([int compare(E, E)]) void
+
+Sorts this list according to the order specified by the <code>compare</code> function. [...](../package-collection_collection/DelegatingList/sort.md)  
+_override_
+
+##### [sublist](../package-collection_collection/DelegatingList/sublist.md)(int start, [int? end]) List&lt;E>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/DelegatingList/sublist.md)  
+_override_
+
+##### [take](../package-collection_collection/DelegatingList/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingList/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingList/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingList/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingList/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingList/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingList/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingList/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingList/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/DelegatingList/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingList/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingList/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingList/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/DelegatingList/operator_plus.md)(List&lt;E> other) List&lt;E>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/DelegatingList/operator_plus.md)  
+_override_
+
+##### [operator ==](../package-collection_collection/DelegatingList/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingList/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/DelegatingList/operator_get.md)(int index) E
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+##### [operator []=](../package-collection_collection/DelegatingList/operator_put.md)(int index, E value) void
+
+Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+
+
+## Static Methods
+
+##### [~~typed~~](../package-collection_collection/DelegatingList/typed.md)&lt;E>(List base) List&lt;E>
+
+Creates a wrapper that asserts the types of values in <code>base</code>. [...](../package-collection_collection/DelegatingList/typed.md)  
+_@Deprecated(&#39;Use list.cast&lt;E&gt; instead.&#39;)_
+
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/DelegatingList.md b/sdk/dart/package-collection_collection/DelegatingList/DelegatingList.md
new file mode 100644
index 0000000..f44605a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/DelegatingList.md
@@ -0,0 +1,17 @@
+
+# DelegatingList&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+DelegatingList&lt;E>(List&lt;E> base)
+
+
+## Implementation
+
+```dart
+const DelegatingList(List<E> base) : _base = base;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/add.md b/sdk/dart/package-collection_collection/DelegatingList/add.md
new file mode 100644
index 0000000..571dcd7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/add.md
@@ -0,0 +1,25 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+void add
+(E value)
+_override_
+
+<p>Adds <code>value</code> to the end of this list,
+extending the length by one.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+void add(E value) {
+  _base.add(value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/addAll.md b/sdk/dart/package-collection_collection/DelegatingList/addAll.md
new file mode 100644
index 0000000..9b7f8c4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/addAll.md
@@ -0,0 +1,25 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> iterable)
+_override_
+
+<p>Appends all objects of <code>iterable</code> to the end of this list.</p>
+<p>Extends the length of the list by the number of objects in <code>iterable</code>.
+Throws an <code>UnsupportedError</code> if this list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> iterable) {
+  _base.addAll(iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/any.md b/sdk/dart/package-collection_collection/DelegatingList/any.md
new file mode 100644
index 0000000..22547d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/any.md
@@ -0,0 +1,23 @@
+
+# any method
+
+    *<Null safety>*
+
+- @override
+
+bool any
+(bool test(E))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+@override
+bool any(bool Function(E) test) => _base.any(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/asMap.md b/sdk/dart/package-collection_collection/DelegatingList/asMap.md
new file mode 100644
index 0000000..6bf4e29
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/asMap.md
@@ -0,0 +1,29 @@
+
+# asMap method
+
+    *<Null safety>*
+
+- @override
+
+Map&lt;int, E> asMap
+()
+_override_
+
+<p>Returns an unmodifiable <code>Map</code> view of <code>this</code>.</p>
+<p>The map uses the indices of this list as keys and the corresponding objects
+as values. The <code>Map.keys</code> <code>Iterable</code> iterates the indices of this list
+in numerical order.</p>
+<pre class="language-dart"><code>List&lt;String&gt; words = ['fee', 'fi', 'fo', 'fum'];
+Map&lt;int, String&gt; map = words.asMap();
+map[0] + map[1];   // 'feefi';
+map.keys.toList(); // [0, 1, 2, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Map<int, E> asMap() => _base.asMap();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/cast.md b/sdk/dart/package-collection_collection/DelegatingList/cast.md
new file mode 100644
index 0000000..8c4db4c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/cast.md
@@ -0,0 +1,26 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;T> cast
+&lt;T>()
+
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/DelegatingList/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+@override
+List<T> cast<T>() => _base.cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/clear.md b/sdk/dart/package-collection_collection/DelegatingList/clear.md
new file mode 100644
index 0000000..9db2061
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/clear.md
@@ -0,0 +1,26 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all objects from this list;
+the length of the list becomes zero.</p>
+<p>Throws an <code>UnsupportedError</code>, and retains all objects, if this
+is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _base.clear();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/contains.md b/sdk/dart/package-collection_collection/DelegatingList/contains.md
new file mode 100644
index 0000000..da3a2d0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/contains.md
@@ -0,0 +1,31 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _base.contains(element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/elementAt.md b/sdk/dart/package-collection_collection/DelegatingList/elementAt.md
new file mode 100644
index 0000000..3fc9cc1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/elementAt.md
@@ -0,0 +1,27 @@
+
+# elementAt method
+
+    *<Null safety>*
+
+- @override
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/DelegatingList/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+@override
+E elementAt(int index) => _base.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/every.md b/sdk/dart/package-collection_collection/DelegatingList/every.md
new file mode 100644
index 0000000..59872eb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/every.md
@@ -0,0 +1,23 @@
+
+# every method
+
+    *<Null safety>*
+
+- @override
+
+bool every
+(bool test(E))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool every(bool Function(E) test) => _base.every(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/expand.md b/sdk/dart/package-collection_collection/DelegatingList/expand.md
new file mode 100644
index 0000000..11532b5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> expand<T>(Iterable<T> Function(E) f) => _base.expand(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/fillRange.md b/sdk/dart/package-collection_collection/DelegatingList/fillRange.md
new file mode 100644
index 0000000..561273b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/fillRange.md
@@ -0,0 +1,35 @@
+
+# fillRange method
+
+    *<Null safety>*
+
+- @override
+
+void fillRange
+(int start, int end, [E? fillValue])
+_override_
+
+<p>Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart"> List&lt;int&gt; list = new List(3);
+    list.fillRange(0, 2, 1);
+    print(list); //  [1, 1, null]
+</code></pre>
+<p>If the element type is not nullable, omitting <code>fillValue</code> or passing <code>null</code>
+as <code>fillValue</code> will make the <code>fillRange</code> fail.</p>
+
+## Implementation
+
+```dart
+@override
+void fillRange(int start, int end, [E? fillValue]) {
+  _base.fillRange(start, end, fillValue);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/first.md b/sdk/dart/package-collection_collection/DelegatingList/first.md
new file mode 100644
index 0000000..becac5f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/first.md
@@ -0,0 +1,40 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+first=
+(E value)  
+_override_
+
+<p>Updates the first position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[0] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+@override
+set first(E value) {
+  if (isEmpty) throw RangeError.index(0, this);
+  this[0] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/firstWhere.md b/sdk/dart/package-collection_collection/DelegatingList/firstWhere.md
new file mode 100644
index 0000000..9dd8cca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/firstWhere.md
@@ -0,0 +1,26 @@
+
+# firstWhere method
+
+    *<Null safety>*
+
+- @override
+
+E firstWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E firstWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.firstWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/fold.md b/sdk/dart/package-collection_collection/DelegatingList/fold.md
new file mode 100644
index 0000000..2b07bff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/fold.md
@@ -0,0 +1,35 @@
+
+# fold&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+T fold<T>(T initialValue, T Function(T previousValue, E element) combine) =>
+    _base.fold(initialValue, combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/followedBy.md b/sdk/dart/package-collection_collection/DelegatingList/followedBy.md
new file mode 100644
index 0000000..1a53b84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> followedBy(Iterable<E> other) => _base.followedBy(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/forEach.md b/sdk/dart/package-collection_collection/DelegatingList/forEach.md
new file mode 100644
index 0000000..058b3fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/forEach.md
@@ -0,0 +1,22 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(E))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(E) f) => _base.forEach(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/getRange.md b/sdk/dart/package-collection_collection/DelegatingList/getRange.md
new file mode 100644
index 0000000..427ea34
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/getRange.md
@@ -0,0 +1,35 @@
+
+# getRange method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> getRange
+(int start, int end)
+_override_
+
+<p>Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid at the time
+of the call.</p>
+<p>A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The returned <code>Iterable</code> behaves like <code>skip(start).take(end - start)</code>.
+That is, it does <em>not</em> throw if this list changes size.</p>
+<pre class="language-dart"><code>List&lt;String&gt; colors = ['red', 'green', 'blue', 'orange', 'pink'];
+Iterable&lt;String&gt; range = colors.getRange(1, 4);
+range.join(', ');  // 'green, blue, orange'
+colors.length = 3;
+range.join(', ');  // 'green, blue'
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> getRange(int start, int end) => _base.getRange(start, end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/hashCode.md b/sdk/dart/package-collection_collection/DelegatingList/hashCode.md
new file mode 100644
index 0000000..c1a4f88
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/DelegatingList/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/DelegatingList/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/DelegatingList/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/DelegatingList/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/DelegatingList/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/DelegatingList/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/indexOf.md b/sdk/dart/package-collection_collection/DelegatingList/indexOf.md
new file mode 100644
index 0000000..1518ae0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/indexOf.md
@@ -0,0 +1,31 @@
+
+# indexOf method
+
+    *<Null safety>*
+
+- @override
+
+int indexOf
+(E element, [int start = 0])
+_override_
+
+<p>Returns the first index of <code>element</code> in this list.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexOf('re');    // 1
+notes.indexOf('re', 2); // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexOf('fa');    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+int indexOf(E element, [int start = 0]) => _base.indexOf(element, start);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/indexWhere.md b/sdk/dart/package-collection_collection/DelegatingList/indexWhere.md
new file mode 100644
index 0000000..bd9880d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/indexWhere.md
@@ -0,0 +1,32 @@
+
+# indexWhere method
+
+    *<Null safety>*
+
+- @override
+
+int indexWhere
+(bool test(E), [int start = 0])
+_override_
+
+<p>Returns the first index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexWhere((note) =&gt; note.startsWith('r'));       // 1
+notes.indexWhere((note) =&gt; note.startsWith('r'), 2);    // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+int indexWhere(bool Function(E) test, [int start = 0]) =>
+    _base.indexWhere(test, start);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/insert.md b/sdk/dart/package-collection_collection/DelegatingList/insert.md
new file mode 100644
index 0000000..912a61f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/insert.md
@@ -0,0 +1,27 @@
+
+# insert method
+
+    *<Null safety>*
+
+- @override
+
+void insert
+(int index, E element)
+_override_
+
+<p>Inserts the object at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by one and shifts all objects
+at or after the index towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/DelegatingList/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+@override
+void insert(int index, E element) {
+  _base.insert(index, element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/insertAll.md b/sdk/dart/package-collection_collection/DelegatingList/insertAll.md
new file mode 100644
index 0000000..b2f87ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/insertAll.md
@@ -0,0 +1,27 @@
+
+# insertAll method
+
+    *<Null safety>*
+
+- @override
+
+void insertAll
+(int index, Iterable&lt;E> iterable)
+_override_
+
+<p>Inserts all objects of <code>iterable</code> at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by the length of <code>iterable</code> and
+shifts all later objects towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/DelegatingList/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+@override
+void insertAll(int index, Iterable<E> iterable) {
+  _base.insertAll(index, iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/isEmpty.md b/sdk/dart/package-collection_collection/DelegatingList/isEmpty.md
new file mode 100644
index 0000000..2f6a4ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _base.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/isNotEmpty.md b/sdk/dart/package-collection_collection/DelegatingList/isNotEmpty.md
new file mode 100644
index 0000000..7ba6135
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _base.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/iterator.md b/sdk/dart/package-collection_collection/DelegatingList/iterator.md
new file mode 100644
index 0000000..9aaebb8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _base.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/join.md b/sdk/dart/package-collection_collection/DelegatingList/join.md
new file mode 100644
index 0000000..fd770a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/join.md
@@ -0,0 +1,25 @@
+
+# join method
+
+    *<Null safety>*
+
+- @override
+
+String join
+([String separator = ''])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+@override
+String join([String separator = '']) => _base.join(separator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/last.md b/sdk/dart/package-collection_collection/DelegatingList/last.md
new file mode 100644
index 0000000..0a2f1d1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/last.md
@@ -0,0 +1,43 @@
+
+# last property
+
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+last=
+(E value)  
+_override_
+
+<p>Updates the last position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[theList.length - 1] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+@override
+set last(E value) {
+  if (isEmpty) throw RangeError.index(0, this);
+  this[length - 1] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/lastIndexOf.md b/sdk/dart/package-collection_collection/DelegatingList/lastIndexOf.md
new file mode 100644
index 0000000..bf894ca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/lastIndexOf.md
@@ -0,0 +1,34 @@
+
+# lastIndexOf method
+
+    *<Null safety>*
+
+- @override
+
+int lastIndexOf
+(E element, [int? start])
+_override_
+
+<p>Returns the last index of <code>element</code> in this list.</p>
+<p>Searches the list backwards from index <code>start</code> to 0.</p>
+<p>The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexOf('re', 2); // 1
+</code></pre>
+<p>If <code>start</code> is not provided, this method searches from the end of the
+list.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('re');  // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('fa');  // -1
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+int lastIndexOf(E element, [int? start]) => _base.lastIndexOf(element, start);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/lastIndexWhere.md b/sdk/dart/package-collection_collection/DelegatingList/lastIndexWhere.md
new file mode 100644
index 0000000..f417899
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/lastIndexWhere.md
@@ -0,0 +1,33 @@
+
+# lastIndexWhere method
+
+    *<Null safety>*
+
+- @override
+
+int lastIndexWhere
+(bool test(E), [int? start])
+_override_
+
+<p>Returns the last index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to 0.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.
+If <code>start</code> is omitted, it defaults to the <a href="../../package-collection_collection/DelegatingList/length.md">length</a> of the list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'));       // 3
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'), 2);    // 1
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+int lastIndexWhere(bool Function(E) test, [int? start]) =>
+    _base.lastIndexWhere(test, start);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/lastWhere.md b/sdk/dart/package-collection_collection/DelegatingList/lastWhere.md
new file mode 100644
index 0000000..a8c56bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/lastWhere.md
@@ -0,0 +1,31 @@
+
+# lastWhere method
+
+    *<Null safety>*
+
+- @override
+
+E lastWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E lastWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.lastWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/length.md b/sdk/dart/package-collection_collection/DelegatingList/length.md
new file mode 100644
index 0000000..de09166
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/length.md
@@ -0,0 +1,42 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/DelegatingList-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+length=
+(int newLength)  
+_override_
+
+<p>Changes the length of this list.</p>
+<p>If <code>newLength</code> is greater than
+the current length, entries are initialized to <code>null</code>.
+Increasing the length fails if the element type does not allow <code>null</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length or
+if attempting tp enlarge the list when <code>null</code> is not a valid element.</p>
+
+## Implementation
+
+```dart
+@override
+set length(int newLength) {
+  _base.length = newLength;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/map.md b/sdk/dart/package-collection_collection/DelegatingList/map.md
new file mode 100644
index 0000000..14b137e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> map
+&lt;T>(T f(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/DelegatingList/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> map<T>(T Function(E) f) => _base.map(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/noSuchMethod.md b/sdk/dart/package-collection_collection/DelegatingList/noSuchMethod.md
new file mode 100644
index 0000000..8090439
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/DelegatingList/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/operator_equals.md b/sdk/dart/package-collection_collection/DelegatingList/operator_equals.md
new file mode 100644
index 0000000..040316d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/DelegatingList/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/operator_get.md b/sdk/dart/package-collection_collection/DelegatingList/operator_get.md
new file mode 100644
index 0000000..ae44a4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/operator_get.md
@@ -0,0 +1,22 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+E operator []
+(int index)
+_override_
+
+<p>Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+E operator [](int index) => _base[index];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/operator_plus.md b/sdk/dart/package-collection_collection/DelegatingList/operator_plus.md
new file mode 100644
index 0000000..ff0b5e1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/operator_plus.md
@@ -0,0 +1,26 @@
+
+# operator + method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> operator +
+(List&lt;E> other)
+_override_
+
+<p>Returns the concatenation of this list and <code>other</code>.</p>
+<p>Returns a new list containing the elements of this list followed by
+the elements of <code>other</code>.</p>
+<p>The default behavior is to return a normal growable list.
+Some list types may choose to return a list of the same type as themselves
+(see <code>Uint8List.+</code>);</p>
+
+## Implementation
+
+```dart
+@override
+List<E> operator +(List<E> other) => _base + other;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/operator_put.md b/sdk/dart/package-collection_collection/DelegatingList/operator_put.md
new file mode 100644
index 0000000..15f552a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/operator_put.md
@@ -0,0 +1,24 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(int index, E value)
+_override_
+
+<p>Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(int index, E value) {
+  _base[index] = value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/reduce.md b/sdk/dart/package-collection_collection/DelegatingList/reduce.md
new file mode 100644
index 0000000..a0e0b41
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/reduce.md
@@ -0,0 +1,36 @@
+
+# reduce method
+
+    *<Null safety>*
+
+- @override
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+E reduce(E Function(E value, E element) combine) => _base.reduce(combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/remove.md b/sdk/dart/package-collection_collection/DelegatingList/remove.md
new file mode 100644
index 0000000..ec1863a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/remove.md
@@ -0,0 +1,32 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? value)
+_override_
+
+<p>Removes the first occurrence of <code>value</code> from this list.</p>
+<p>Returns true if <code>value</code> was in the list, false otherwise.</p>
+<pre class="language-dart"><code>List&lt;String&gt; parts = ['head', 'shoulders', 'knees', 'toes'];
+parts.remove('head'); // true
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>The method has no effect if <code>value</code> was not in the list.</p>
+<pre class="language-dart"><code>// Note: 'head' has already been removed.
+parts.remove('head'); // false
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>An <code>UnsupportedError</code> occurs if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? value) => _base.remove(value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/removeAt.md b/sdk/dart/package-collection_collection/DelegatingList/removeAt.md
new file mode 100644
index 0000000..a2ab4c4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/removeAt.md
@@ -0,0 +1,27 @@
+
+# removeAt method
+
+    *<Null safety>*
+
+- @override
+
+E removeAt
+(int index)
+_override_
+
+<p>Removes the object at position <code>index</code> from this list.</p>
+<p>This method reduces the length of <code>this</code> by one and moves all later objects
+down by one position.</p>
+<p>Returns the removed object.</p>
+<p>The <code>index</code> must be in the range <code>0 ≤ index &lt; length</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+@override
+E removeAt(int index) => _base.removeAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/removeLast.md b/sdk/dart/package-collection_collection/DelegatingList/removeLast.md
new file mode 100644
index 0000000..39133c2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/removeLast.md
@@ -0,0 +1,23 @@
+
+# removeLast method
+
+    *<Null safety>*
+
+- @override
+
+E removeLast
+()
+_override_
+
+<p>Pops and returns the last object in this list.</p>
+<p>The list must not be empty.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+E removeLast() => _base.removeLast();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/removeRange.md b/sdk/dart/package-collection_collection/DelegatingList/removeRange.md
new file mode 100644
index 0000000..729b1e8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/removeRange.md
@@ -0,0 +1,29 @@
+
+# removeRange method
+
+    *<Null safety>*
+
+- @override
+
+void removeRange
+(int start, int end)
+_override_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+@override
+void removeRange(int start, int end) {
+  _base.removeRange(start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/removeWhere.md b/sdk/dart/package-collection_collection/DelegatingList/removeWhere.md
new file mode 100644
index 0000000..bc278fc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/removeWhere.md
@@ -0,0 +1,29 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(E))
+_override_
+
+<p>Removes all objects from this list that satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.removeWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'three, four'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(E) test) {
+  _base.removeWhere(test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/replaceRange.md b/sdk/dart/package-collection_collection/DelegatingList/replaceRange.md
new file mode 100644
index 0000000..9b95c55
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/replaceRange.md
@@ -0,0 +1,35 @@
+
+# replaceRange method
+
+    *<Null safety>*
+
+- @override
+
+void replaceRange
+(int start, int end, Iterable&lt;E> iterable)
+_override_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list = [1, 2, 3, 4, 5];
+list.replaceRange(1, 4, [6, 7]);
+list.join(', '); // '1, 6, 7, 5'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>This method does not work on fixed-length lists, even when <code>replacement</code>
+has the same number of elements as the replaced range. In that case use
+<a href="../../package-collection_collection/DelegatingList/setRange.md">setRange</a> instead.</p>
+
+## Implementation
+
+```dart
+@override
+void replaceRange(int start, int end, Iterable<E> iterable) {
+  _base.replaceRange(start, end, iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/retainWhere.md b/sdk/dart/package-collection_collection/DelegatingList/retainWhere.md
new file mode 100644
index 0000000..6b7ae1f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/retainWhere.md
@@ -0,0 +1,29 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(E))
+_override_
+
+<p>Removes all objects from this list that fail to satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.retainWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'one, two'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(E) test) {
+  _base.retainWhere(test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/retype.md b/sdk/dart/package-collection_collection/DelegatingList/retype.md
new file mode 100644
index 0000000..a5ad2e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/retype.md
@@ -0,0 +1,22 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+- @override
+
+List&lt;T> ~~retype~~
+&lt;T>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+@override
+List<T> retype<T>() => cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/reversed.md b/sdk/dart/package-collection_collection/DelegatingList/reversed.md
new file mode 100644
index 0000000..8308eff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/reversed.md
@@ -0,0 +1,20 @@
+
+# reversed property
+
+    *<Null safety>*
+
+
+Iterable&lt;E> reversed
+  
+_override_
+
+<p>Returns an <code>Iterable</code> of the objects in this list in reverse order.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> get reversed => _base.reversed;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/runtimeType.md b/sdk/dart/package-collection_collection/DelegatingList/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/setAll.md b/sdk/dart/package-collection_collection/DelegatingList/setAll.md
new file mode 100644
index 0000000..387b8b8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/setAll.md
@@ -0,0 +1,34 @@
+
+# setAll method
+
+    *<Null safety>*
+
+- @override
+
+void setAll
+(int index, Iterable&lt;E> iterable)
+_override_
+
+<p>Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; list = ['a', 'b', 'c'];
+list.setAll(1, ['bee', 'sea']);
+list.join(', '); // 'a, bee, sea'
+</code></pre>
+<p>This operation does not increase the length of <code>this</code>.</p>
+<p>The <code>index</code> must be non-negative and no greater than <a href="../../package-collection_collection/DelegatingList/length.md">length</a>.</p>
+<p>The <code>iterable</code> must not have more elements than what can fit from <code>index</code>
+to <a href="../../package-collection_collection/DelegatingList/length.md">length</a>.</p>
+<p>If <code>iterable</code> is based on this list, its values may change /during/ the
+<code>setAll</code> operation.</p>
+
+## Implementation
+
+```dart
+@override
+void setAll(int index, Iterable<E> iterable) {
+  _base.setAll(index, iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/setRange.md b/sdk/dart/package-collection_collection/DelegatingList/setRange.md
new file mode 100644
index 0000000..08fd772
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/setRange.md
@@ -0,0 +1,42 @@
+
+# setRange method
+
+    *<Null safety>*
+
+- @override
+
+void setRange
+(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0])
+_override_
+
+<p>Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list1 = [1, 2, 3, 4];
+List&lt;int&gt; list2 = [5, 6, 7, 8, 9];
+// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
+// of list1.
+list1.setRange(1, 3, list2, 3);
+list1.join(', '); // '1, 8, 9, 4'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The <code>iterable</code> must have enough objects to fill the range from <code>start</code>
+to <code>end</code> after skipping <code>skipCount</code> objects.</p>
+<p>If <code>iterable</code> is this list, the operation copies the elements
+originally in the range from <code>skipCount</code> to <code>skipCount + (end - start)</code> to
+the range <code>start</code> to <code>end</code>, even if the two ranges overlap.</p>
+<p>If <code>iterable</code> depends on this list in some other way, no guarantees are
+made.</p>
+
+## Implementation
+
+```dart
+@override
+void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
+  _base.setRange(start, end, iterable, skipCount);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/shuffle.md b/sdk/dart/package-collection_collection/DelegatingList/shuffle.md
new file mode 100644
index 0000000..df55a25
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/shuffle.md
@@ -0,0 +1,23 @@
+
+# shuffle method
+
+    *<Null safety>*
+
+- @override
+
+void shuffle
+([Random? random])
+_override_
+
+<p>Shuffles the elements of this list randomly.</p>
+
+## Implementation
+
+```dart
+@override
+void shuffle([math.Random? random]) {
+  _base.shuffle(random);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/single.md b/sdk/dart/package-collection_collection/DelegatingList/single.md
new file mode 100644
index 0000000..fd9ac76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/single.md
@@ -0,0 +1,21 @@
+
+# single property
+
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+@override
+E get single => _base.single;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/singleWhere.md b/sdk/dart/package-collection_collection/DelegatingList/singleWhere.md
new file mode 100644
index 0000000..97fad7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/singleWhere.md
@@ -0,0 +1,28 @@
+
+# singleWhere method
+
+    *<Null safety>*
+
+- @override
+
+E singleWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E singleWhere(bool Function(E) test, {E Function()? orElse}) {
+  return _base.singleWhere(test, orElse: orElse);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/skip.md b/sdk/dart/package-collection_collection/DelegatingList/skip.md
new file mode 100644
index 0000000..74cea57
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/skip.md
@@ -0,0 +1,31 @@
+
+# skip method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skip(int n) => _base.skip(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/skipWhile.md b/sdk/dart/package-collection_collection/DelegatingList/skipWhile.md
new file mode 100644
index 0000000..60a41be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/skipWhile.md
@@ -0,0 +1,28 @@
+
+# skipWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skipWhile
+(bool test(E))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skipWhile(bool Function(E) test) => _base.skipWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/sort.md b/sdk/dart/package-collection_collection/DelegatingList/sort.md
new file mode 100644
index 0000000..61cd876
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/sort.md
@@ -0,0 +1,43 @@
+
+# sort method
+
+    *<Null safety>*
+
+- @override
+
+void sort
+([int compare(E, E)])
+_override_
+
+<p>Sorts this list according to the order specified by the <code>compare</code> function.</p>
+<p>The <code>compare</code> function must act as a <code>Comparator</code>.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['two', 'three', 'four'];
+// Sort from shortest to longest.
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [two, four, three]
+</code></pre>
+<p>The default List implementations use <code>Comparable.compare</code> if
+<code>compare</code> is omitted.</p>
+<pre class="language-dart"><code>List&lt;int&gt; nums = [13, 2, -11];
+nums.sort();
+print(nums);  // [-11, 2, 13]
+</code></pre>
+<p>A <code>Comparator</code> may compare objects as equal (return zero), even if they
+are distinct objects.
+The sort function is not guaranteed to be stable, so distinct objects
+that compare as equal may occur in any order in the result:</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [one, two, four, three] OR [two, one, four, three]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+void sort([int Function(E, E)? compare]) {
+  _base.sort(compare);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/sublist.md b/sdk/dart/package-collection_collection/DelegatingList/sublist.md
new file mode 100644
index 0000000..d974199
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/sublist.md
@@ -0,0 +1,33 @@
+
+# sublist method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> sublist
+(int start, [int? end])
+_override_
+
+<p>Returns a new list containing the elements between <code>start</code> and <code>end</code>.</p>
+<p>The new list is a <code>List&lt;E&gt;</code> containing the elements of this list at
+positions greater than or equal to <code>start</code> and less than <code>end</code> in the same
+order as they occur in this list.</p>
+<pre class="language-dart"><code class="language-dart">var colors = ["red", "green", "blue", "orange", "pink"];
+print(colors.sublist(1, 3)); // [green, blue]
+</code></pre>
+<p>If <code>end</code> is omitted, it defaults to the <a href="../../package-collection_collection/DelegatingList/length.md">length</a> of this list.</p>
+<pre class="language-dart"><code class="language-dart">print(colors.sublist(1)); // [green, blue, orange, pink]
+</code></pre>
+<p>The <code>start</code> and <code>end</code> positions must satisfy the relations
+0 ≤ <code>start</code> ≤ <code>end</code> ≤ <code>this.length</code>
+If <code>end</code> is equal to <code>start</code>, then the returned list is empty.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> sublist(int start, [int? end]) => _base.sublist(start, end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/take.md b/sdk/dart/package-collection_collection/DelegatingList/take.md
new file mode 100644
index 0000000..a708918
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/take.md
@@ -0,0 +1,26 @@
+
+# take method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingList/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> take(int n) => _base.take(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/takeWhile.md b/sdk/dart/package-collection_collection/DelegatingList/takeWhile.md
new file mode 100644
index 0000000..8b31174
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/takeWhile.md
@@ -0,0 +1,26 @@
+
+# takeWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> takeWhile
+(bool test(E))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingList/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> takeWhile(bool Function(E) test) => _base.takeWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/toList.md b/sdk/dart/package-collection_collection/DelegatingList/toList.md
new file mode 100644
index 0000000..bd048ce
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList({bool growable = true}) => _base.toList(growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/toSet.md b/sdk/dart/package-collection_collection/DelegatingList/toSet.md
new file mode 100644
index 0000000..0d55e4d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => _base.toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/toString.md b/sdk/dart/package-collection_collection/DelegatingList/toString.md
new file mode 100644
index 0000000..dac82a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => _base.toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/typed.md b/sdk/dart/package-collection_collection/DelegatingList/typed.md
new file mode 100644
index 0000000..add3419
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/typed.md
@@ -0,0 +1,29 @@
+
+# typed&lt;E> method
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Use list.cast&lt;E&gt; instead.&#39;)
+
+List&lt;E> ~~typed~~
+&lt;E>(List base)
+_@Deprecated(&#39;Use list.cast&lt;E&gt; instead.&#39;)_
+
+<p>Creates a wrapper that asserts the types of values in <code>base</code>.</p>
+<p>This soundly converts a <code>List</code> without a generic type to a <code>List&lt;E&gt;</code> by
+asserting that its elements are instances of <code>E</code> whenever they're
+accessed. If they're not, it throws a <code>CastError</code>. Note that even if an
+operation throws a <code>CastError</code>, it may still mutate the underlying
+collection.</p>
+<p>This forwards all operations to <code>base</code>, so any changes in <code>base</code> will be
+reflected in <a href="../../package-collection_collection/DelegatingList-class.md">this</a>. If <code>base</code> is already a <code>List&lt;E&gt;</code>, it's returned
+unmodified.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Use list.cast<E> instead.')
+static List<E> typed<E>(List base) => base.cast<E>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/where.md b/sdk/dart/package-collection_collection/DelegatingList/where.md
new file mode 100644
index 0000000..3acf9fe
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/where.md
@@ -0,0 +1,30 @@
+
+# where method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> where
+(bool test(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingList/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> where(bool Function(E) test) => _base.where(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingList/whereType.md b/sdk/dart/package-collection_collection/DelegatingList/whereType.md
new file mode 100644
index 0000000..3e20aa2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingList/whereType.md
@@ -0,0 +1,27 @@
+
+# whereType&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingList/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> whereType<T>() => _base.whereType<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap-class.md b/sdk/dart/package-collection_collection/DelegatingMap-class.md
new file mode 100644
index 0000000..73a275f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap-class.md
@@ -0,0 +1,186 @@
+
+# DelegatingMap&lt;K, V> class
+
+    *<Null safety>*
+
+<p>A <code>Map</code> that delegates all operations to a base map.</p>
+<p>This class can be used to hide non-<code>Map</code> methods of an object that extends
+<code>Map</code>, or it can be extended to add extra functionality on top of an
+existing map object.</p>
+
+
+**Implemented types**
+
+- Map&lt;K, V>
+
+
+**Implementers**
+
+- [EqualityMap](../package-collection_collection/EqualityMap-class.md)
+
+
+
+## Constructors
+
+[DelegatingMap](../package-collection_collection/DelegatingMap/DelegatingMap.md) (Map&lt;K, V> base)
+
+   
+_const_ 
+
+
+## Properties
+
+##### [entries](../package-collection_collection/DelegatingMap/entries.md) &#8594; Iterable&lt;MapEntry&lt;K, V>>
+
+The map entries of <a href="../package-collection_collection/DelegatingMap-class.md">this</a>.   
+_read-only, override_
+
+##### [hashCode](../package-collection_collection/DelegatingMap/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingMap/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingMap/isEmpty.md) &#8594; bool
+
+Returns true if there is no key/value pair in the map.   
+_read-only, override_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingMap/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one key/value pair in the map.   
+_read-only, override_
+
+##### [keys](../package-collection_collection/DelegatingMap/keys.md) &#8594; Iterable&lt;K>
+
+The keys of <a href="../package-collection_collection/DelegatingMap-class.md">this</a>. [...](../package-collection_collection/DelegatingMap/keys.md)  
+_read-only, override_
+
+##### [length](../package-collection_collection/DelegatingMap/length.md) &#8594; int
+
+The number of key/value pairs in the map.   
+_read-only, override_
+
+##### [runtimeType](../package-collection_collection/DelegatingMap/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [values](../package-collection_collection/DelegatingMap/values.md) &#8594; Iterable&lt;V>
+
+The values of <a href="../package-collection_collection/DelegatingMap-class.md">this</a>. [...](../package-collection_collection/DelegatingMap/values.md)  
+_read-only, override_
+
+
+## Methods
+
+##### [addAll](../package-collection_collection/DelegatingMap/addAll.md)(Map&lt;K, V> other) void
+
+Adds all key/value pairs of <code>other</code> to this map. [...](../package-collection_collection/DelegatingMap/addAll.md)  
+_override_
+
+##### [addEntries](../package-collection_collection/DelegatingMap/addEntries.md)(Iterable&lt;MapEntry&lt;K, V>> entries) void
+
+Adds all key/value pairs of <code>newEntries</code> to this map. [...](../package-collection_collection/DelegatingMap/addEntries.md)  
+_override_
+
+##### [cast](../package-collection_collection/DelegatingMap/cast.md)&lt;K2, V2>() Map&lt;K2, V2>
+
+Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary. [...](../package-collection_collection/DelegatingMap/cast.md)  
+_override_
+
+##### [clear](../package-collection_collection/DelegatingMap/clear.md)() void
+
+Removes all pairs from the map. [...](../package-collection_collection/DelegatingMap/clear.md)  
+_override_
+
+##### [containsKey](../package-collection_collection/DelegatingMap/containsKey.md)(Object? key) bool
+
+Returns true if this map contains the given <code>key</code>. [...](../package-collection_collection/DelegatingMap/containsKey.md)  
+_override_
+
+##### [containsValue](../package-collection_collection/DelegatingMap/containsValue.md)(Object? value) bool
+
+Returns true if this map contains the given <code>value</code>. [...](../package-collection_collection/DelegatingMap/containsValue.md)  
+_override_
+
+##### [forEach](../package-collection_collection/DelegatingMap/forEach.md)(void f(K, V)) void
+
+Applies <code>f</code> to each key/value pair of the map. [...](../package-collection_collection/DelegatingMap/forEach.md)  
+_override_
+
+##### [map](../package-collection_collection/DelegatingMap/map.md)&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K, V)) Map&lt;K2, V2>
+
+Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.   
+_override_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingMap/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingMap/noSuchMethod.md)  
+_inherited_
+
+##### [putIfAbsent](../package-collection_collection/DelegatingMap/putIfAbsent.md)(K key, V ifAbsent()) V
+
+Look up the value of <code>key</code>, or add a new value if it isn't there. [...](../package-collection_collection/DelegatingMap/putIfAbsent.md)  
+_override_
+
+##### [remove](../package-collection_collection/DelegatingMap/remove.md)(Object? key) V?
+
+Removes <code>key</code> and its associated value, if present, from the map. [...](../package-collection_collection/DelegatingMap/remove.md)  
+_override_
+
+##### [removeWhere](../package-collection_collection/DelegatingMap/removeWhere.md)(bool test(K, V)) void
+
+Removes all entries of this map that satisfy the given <code>predicate</code>.   
+_override_
+
+##### [~~retype~~](../package-collection_collection/DelegatingMap/retype.md)&lt;K2, V2>() Map&lt;K2, V2>
+
+   
+
+
+##### [toString](../package-collection_collection/DelegatingMap/toString.md)() String
+
+Returns a string representation of this object.   
+_override_
+
+##### [update](../package-collection_collection/DelegatingMap/update.md)(K key, V update(V), {V ifAbsent()}) V
+
+Updates the value for the provided <code>key</code>. [...](../package-collection_collection/DelegatingMap/update.md)  
+_override_
+
+##### [updateAll](../package-collection_collection/DelegatingMap/updateAll.md)(V update(K, V)) void
+
+Updates all values. [...](../package-collection_collection/DelegatingMap/updateAll.md)  
+_override_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingMap/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingMap/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/DelegatingMap/operator_get.md)(Object? key) V?
+
+Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map. [...](../package-collection_collection/DelegatingMap/operator_get.md)  
+_override_
+
+##### [operator []=](../package-collection_collection/DelegatingMap/operator_put.md)(K key, V value) void
+
+Associates the <code>key</code> with the given <code>value</code>. [...](../package-collection_collection/DelegatingMap/operator_put.md)  
+_override_
+
+
+
+## Static Methods
+
+##### [~~typed~~](../package-collection_collection/DelegatingMap/typed.md)&lt;K, V>(Map base) Map&lt;K, V>
+
+Creates a wrapper that asserts the types of keys and values in <code>base</code>. [...](../package-collection_collection/DelegatingMap/typed.md)  
+_@Deprecated(&#39;Use map.cast&lt;K, V&gt; instead.&#39;)_
+
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/DelegatingMap.md b/sdk/dart/package-collection_collection/DelegatingMap/DelegatingMap.md
new file mode 100644
index 0000000..3b1dfb9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/DelegatingMap.md
@@ -0,0 +1,17 @@
+
+# DelegatingMap&lt;K, V> constructor
+
+    *<Null safety>*
+
+
+const
+DelegatingMap&lt;K, V>(Map&lt;K, V> base)
+
+
+## Implementation
+
+```dart
+const DelegatingMap(Map<K, V> base) : _base = base;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/addAll.md b/sdk/dart/package-collection_collection/DelegatingMap/addAll.md
new file mode 100644
index 0000000..2e1a501
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/addAll.md
@@ -0,0 +1,27 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Map&lt;K, V> other)
+_override_
+
+<p>Adds all key/value pairs of <code>other</code> to this map.</p>
+<p>If a key of <code>other</code> is already in this map, its value is overwritten.</p>
+<p>The operation is equivalent to doing <code>this[key] = value</code> for each key
+and associated value in other. It iterates over <code>other</code>, which must
+therefore not change during the iteration.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Map<K, V> other) {
+  _base.addAll(other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/addEntries.md b/sdk/dart/package-collection_collection/DelegatingMap/addEntries.md
new file mode 100644
index 0000000..0a9d3d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/addEntries.md
@@ -0,0 +1,27 @@
+
+# addEntries method
+
+    *<Null safety>*
+
+- @override
+
+void addEntries
+(Iterable&lt;MapEntry&lt;K, V>> entries)
+_override_
+
+<p>Adds all key/value pairs of <code>newEntries</code> to this map.</p>
+<p>If a key of <code>newEntries</code> is already in this map,
+the corresponding value is overwritten.</p>
+<p>The operation is equivalent to doing <code>this[entry.key] = entry.value</code>
+for each <code>MapEntry</code> of the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+void addEntries(Iterable<MapEntry<K, V>> entries) {
+  _base.addEntries(entries);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/cast.md b/sdk/dart/package-collection_collection/DelegatingMap/cast.md
new file mode 100644
index 0000000..f63c1bd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/cast.md
@@ -0,0 +1,29 @@
+
+# cast&lt;K2, V2> method
+
+    *<Null safety>*
+
+- @override
+
+Map&lt;K2, V2> cast
+&lt;K2, V2>()
+_override_
+
+<p>Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary.</p>
+<p>If this map is already a <code>Map&lt;RK, RV&gt;</code>, it is returned unchanged.</p>
+<p>If this set contains only keys of type <code>RK</code> and values of type <code>RV</code>,
+all read operations will work correctly.
+If any operation exposes a non-<code>RK</code> key or non-<code>RV</code> value,
+the operation will throw instead.</p>
+<p>Entries added to the map must be valid for both a <code>Map&lt;K, V&gt;</code> and a
+<code>Map&lt;RK, RV&gt;</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Map<K2, V2> cast<K2, V2>() => _base.cast<K2, V2>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/clear.md b/sdk/dart/package-collection_collection/DelegatingMap/clear.md
new file mode 100644
index 0000000..d61dee2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/clear.md
@@ -0,0 +1,24 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all pairs from the map.</p>
+<p>After this, the map is empty.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _base.clear();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/containsKey.md b/sdk/dart/package-collection_collection/DelegatingMap/containsKey.md
new file mode 100644
index 0000000..014520a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/containsKey.md
@@ -0,0 +1,23 @@
+
+# containsKey method
+
+    *<Null safety>*
+
+- @override
+
+bool containsKey
+(Object? key)
+_override_
+
+<p>Returns true if this map contains the given <code>key</code>.</p>
+<p>Returns true if any of the keys in the map are equal to <code>key</code>
+according to the equality used by the map.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsKey(Object? key) => _base.containsKey(key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/containsValue.md b/sdk/dart/package-collection_collection/DelegatingMap/containsValue.md
new file mode 100644
index 0000000..21549f1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/containsValue.md
@@ -0,0 +1,23 @@
+
+# containsValue method
+
+    *<Null safety>*
+
+- @override
+
+bool containsValue
+(Object? value)
+_override_
+
+<p>Returns true if this map contains the given <code>value</code>.</p>
+<p>Returns true if any of the values in the map are equal to <code>value</code>
+according to the <code>==</code> operator.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsValue(Object? value) => _base.containsValue(value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/entries.md b/sdk/dart/package-collection_collection/DelegatingMap/entries.md
new file mode 100644
index 0000000..554273d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/entries.md
@@ -0,0 +1,20 @@
+
+# entries property
+
+    *<Null safety>*
+
+
+Iterable&lt;MapEntry&lt;K, V>> entries
+  
+_override_
+
+<p>The map entries of <a href="../../package-collection_collection/DelegatingMap-class.md">this</a>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<MapEntry<K, V>> get entries => _base.entries;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/forEach.md b/sdk/dart/package-collection_collection/DelegatingMap/forEach.md
new file mode 100644
index 0000000..20b6a01
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/forEach.md
@@ -0,0 +1,24 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(K, V))
+_override_
+
+<p>Applies <code>f</code> to each key/value pair of the map.</p>
+<p>Calling <code>f</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(K, V) f) {
+  _base.forEach(f);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/hashCode.md b/sdk/dart/package-collection_collection/DelegatingMap/hashCode.md
new file mode 100644
index 0000000..d9b5a5e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/DelegatingMap/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/DelegatingMap/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/DelegatingMap/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/DelegatingMap/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/DelegatingMap/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/DelegatingMap/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/isEmpty.md b/sdk/dart/package-collection_collection/DelegatingMap/isEmpty.md
new file mode 100644
index 0000000..98102f5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/isEmpty.md
@@ -0,0 +1,20 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_override_
+
+<p>Returns true if there is no key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _base.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/isNotEmpty.md b/sdk/dart/package-collection_collection/DelegatingMap/isNotEmpty.md
new file mode 100644
index 0000000..8209a4a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/isNotEmpty.md
@@ -0,0 +1,20 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_override_
+
+<p>Returns true if there is at least one key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _base.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/keys.md b/sdk/dart/package-collection_collection/DelegatingMap/keys.md
new file mode 100644
index 0000000..e392c99
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/keys.md
@@ -0,0 +1,26 @@
+
+# keys property
+
+    *<Null safety>*
+
+
+Iterable&lt;K> keys
+  
+_override_
+
+<p>The keys of <a href="../../package-collection_collection/DelegatingMap-class.md">this</a>.</p>
+<p>The returned iterable has efficient <code>length</code> and <code>contains</code> operations,
+based on <a href="../../package-collection_collection/DelegatingMap/length.md">length</a> and <a href="../../package-collection_collection/DelegatingMap/containsKey.md">containsKey</a> of the map.</p>
+<p>The order of iteration is defined by the individual <code>Map</code> implementation,
+but must be consistent between changes to the map.</p>
+<p>Modifying the map while iterating the keys
+may break the iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<K> get keys => _base.keys;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/length.md b/sdk/dart/package-collection_collection/DelegatingMap/length.md
new file mode 100644
index 0000000..871e23d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/length.md
@@ -0,0 +1,20 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>The number of key/value pairs in the map.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/map.md b/sdk/dart/package-collection_collection/DelegatingMap/map.md
new file mode 100644
index 0000000..deeecc5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/map.md
@@ -0,0 +1,23 @@
+
+# map&lt;K2, V2> method
+
+    *<Null safety>*
+
+- @override
+
+Map&lt;K2, V2> map
+&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K, V))
+_override_
+
+<p>Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.</p>
+
+## Implementation
+
+```dart
+@override
+Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> Function(K, V) transform) =>
+    _base.map(transform);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/noSuchMethod.md b/sdk/dart/package-collection_collection/DelegatingMap/noSuchMethod.md
new file mode 100644
index 0000000..a0b1457
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/DelegatingMap/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/operator_equals.md b/sdk/dart/package-collection_collection/DelegatingMap/operator_equals.md
new file mode 100644
index 0000000..d814a61
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/DelegatingMap/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/operator_get.md b/sdk/dart/package-collection_collection/DelegatingMap/operator_get.md
new file mode 100644
index 0000000..829556e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/operator_get.md
@@ -0,0 +1,26 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+V? operator []
+(Object? key)
+_override_
+
+<p>Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map.</p>
+<p>Some maps allow keys to have <code>null</code> as a value.
+For those maps, a lookup using this operator cannot distinguish between a
+key not being in the map and the key having a <code>null</code> value.
+Methods like <a href="../../package-collection_collection/DelegatingMap/containsKey.md">containsKey</a> or <a href="../../package-collection_collection/DelegatingMap/putIfAbsent.md">putIfAbsent</a> can be used if the distinction
+is important.</p>
+
+## Implementation
+
+```dart
+@override
+V? operator [](Object? key) => _base[key];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/operator_put.md b/sdk/dart/package-collection_collection/DelegatingMap/operator_put.md
new file mode 100644
index 0000000..68edaf5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/operator_put.md
@@ -0,0 +1,25 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(K key, V value)
+_override_
+
+<p>Associates the <code>key</code> with the given <code>value</code>.</p>
+<p>If the key was already in the map, its associated value is changed.
+Otherwise the key/value pair is added to the map.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(K key, V value) {
+  _base[key] = value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/putIfAbsent.md b/sdk/dart/package-collection_collection/DelegatingMap/putIfAbsent.md
new file mode 100644
index 0000000..7717061
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/putIfAbsent.md
@@ -0,0 +1,34 @@
+
+# putIfAbsent method
+
+    *<Null safety>*
+
+- @override
+
+V putIfAbsent
+(K key, V ifAbsent())
+_override_
+
+<p>Look up the value of <code>key</code>, or add a new value if it isn't there.</p>
+<p>Returns the value associated to <code>key</code>, if there is one.
+Otherwise calls <code>ifAbsent</code> to get a new value, associates <code>key</code> to
+that value, and then returns the new value.</p>
+<pre class="language-dart"><code>Map&lt;String, int&gt; scores = {'Bob': 36};
+for (var key in ['Bob', 'Rohan', 'Sophena']) {
+  scores.putIfAbsent(key, () =&gt; key.length);
+}
+scores['Bob'];      // 36
+scores['Rohan'];    //  5
+scores['Sophena'];  //  7
+</code></pre>
+<p>Calling <code>ifAbsent</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+@override
+V putIfAbsent(K key, V Function() ifAbsent) =>
+    _base.putIfAbsent(key, ifAbsent);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/remove.md b/sdk/dart/package-collection_collection/DelegatingMap/remove.md
new file mode 100644
index 0000000..bd5e063
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/remove.md
@@ -0,0 +1,25 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+V? remove
+(Object? key)
+_override_
+
+<p>Removes <code>key</code> and its associated value, if present, from the map.</p>
+<p>Returns the value associated with <code>key</code> before it was removed.
+Returns <code>null</code> if <code>key</code> was not in the map.</p>
+<p>Note that values can be <code>null</code> and a returned <code>null</code> value doesn't
+always mean that the key was absent.</p>
+
+## Implementation
+
+```dart
+@override
+V? remove(Object? key) => _base.remove(key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/removeWhere.md b/sdk/dart/package-collection_collection/DelegatingMap/removeWhere.md
new file mode 100644
index 0000000..ec32247
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/removeWhere.md
@@ -0,0 +1,21 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(K, V))
+_override_
+
+<p>Removes all entries of this map that satisfy the given <code>predicate</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(K, V) test) => _base.removeWhere(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/retype.md b/sdk/dart/package-collection_collection/DelegatingMap/retype.md
new file mode 100644
index 0000000..5463260
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/retype.md
@@ -0,0 +1,20 @@
+
+# retype&lt;K2, V2> method
+
+    *<Null safety>*
+
+- @deprecated
+
+Map&lt;K2, V2> ~~retype~~
+&lt;K2, V2>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+Map<K2, V2> retype<K2, V2>() => cast<K2, V2>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/runtimeType.md b/sdk/dart/package-collection_collection/DelegatingMap/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/toString.md b/sdk/dart/package-collection_collection/DelegatingMap/toString.md
new file mode 100644
index 0000000..849c42a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_override_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => _base.toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/typed.md b/sdk/dart/package-collection_collection/DelegatingMap/typed.md
new file mode 100644
index 0000000..b5a3000
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/typed.md
@@ -0,0 +1,29 @@
+
+# typed&lt;K, V> method
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Use map.cast&lt;K, V&gt; instead.&#39;)
+
+Map&lt;K, V> ~~typed~~
+&lt;K, V>(Map base)
+_@Deprecated(&#39;Use map.cast&lt;K, V&gt; instead.&#39;)_
+
+<p>Creates a wrapper that asserts the types of keys and values in <code>base</code>.</p>
+<p>This soundly converts a <code>Map</code> without generic types to a <code>Map&lt;K, V&gt;</code> by
+asserting that its keys are instances of <code>E</code> and its values are instances
+of <code>V</code> whenever they're accessed. If they're not, it throws a <code>CastError</code>.
+Note that even if an operation throws a <code>CastError</code>, it may still mutate
+the underlying collection.</p>
+<p>This forwards all operations to <code>base</code>, so any changes in <code>base</code> will be
+reflected in <a href="../../package-collection_collection/DelegatingMap-class.md">this</a>. If <code>base</code> is already a <code>Map&lt;K, V&gt;</code>, it's returned
+unmodified.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Use map.cast<K, V> instead.')
+static Map<K, V> typed<K, V>(Map base) => base.cast<K, V>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/update.md b/sdk/dart/package-collection_collection/DelegatingMap/update.md
new file mode 100644
index 0000000..744e81a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/update.md
@@ -0,0 +1,28 @@
+
+# update method
+
+    *<Null safety>*
+
+- @override
+
+V update
+(K key, V update(V), {V ifAbsent()})
+_override_
+
+<p>Updates the value for the provided <code>key</code>.</p>
+<p>Returns the new value of the key.</p>
+<p>If the key is present, invokes <code>update</code> with the current value and stores
+the new value in the map.</p>
+<p>If the key is not present and <code>ifAbsent</code> is provided, calls <code>ifAbsent</code>
+and adds the key with the returned value to the map.</p>
+<p>It's an error if the key is not present and <code>ifAbsent</code> is not provided.</p>
+
+## Implementation
+
+```dart
+@override
+V update(K key, V Function(V) update, {V Function()? ifAbsent}) =>
+    _base.update(key, update, ifAbsent: ifAbsent);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/updateAll.md b/sdk/dart/package-collection_collection/DelegatingMap/updateAll.md
new file mode 100644
index 0000000..86a4c7a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/updateAll.md
@@ -0,0 +1,23 @@
+
+# updateAll method
+
+    *<Null safety>*
+
+- @override
+
+void updateAll
+(V update(K, V))
+_override_
+
+<p>Updates all values.</p>
+<p>Iterates over all entries in the map and updates them with the result
+of invoking <code>update</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void updateAll(V Function(K, V) update) => _base.updateAll(update);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingMap/values.md b/sdk/dart/package-collection_collection/DelegatingMap/values.md
new file mode 100644
index 0000000..85d4638
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingMap/values.md
@@ -0,0 +1,28 @@
+
+# values property
+
+    *<Null safety>*
+
+
+Iterable&lt;V> values
+  
+_override_
+
+<p>The values of <a href="../../package-collection_collection/DelegatingMap-class.md">this</a>.</p>
+<p>The values are iterated in the order of their corresponding keys.
+This means that iterating <a href="../../package-collection_collection/DelegatingMap/keys.md">keys</a> and <a href="../../package-collection_collection/DelegatingMap/values.md">values</a> in parallel will
+provide matching pairs of keys and values.</p>
+<p>The returned iterable has an efficient <code>length</code> method based on the
+<a href="../../package-collection_collection/DelegatingMap/length.md">length</a> of the map. Its <code>Iterable.contains</code> method is based on
+<code>==</code> comparison.</p>
+<p>Modifying the map while iterating the
+values may break the iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<V> get values => _base.values;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue-class.md b/sdk/dart/package-collection_collection/DelegatingQueue-class.md
new file mode 100644
index 0000000..3a1cc73
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue-class.md
@@ -0,0 +1,288 @@
+
+# DelegatingQueue&lt;E> class
+
+    *<Null safety>*
+
+<p>A <code>Queue</code> that delegates all operations to a base queue.</p>
+<p>This class can be used to hide non-<code>Queue</code> methods of a queue object, or it
+can be extended to add extra functionality on top of an existing queue
+object.</p>
+
+
+**Implemented types**
+
+- Queue&lt;E>
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[DelegatingQueue](../package-collection_collection/DelegatingQueue/DelegatingQueue.md) (Queue&lt;E> queue)
+
+   
+_const_ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/DelegatingQueue/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/DelegatingQueue/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingQueue/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingQueue/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingQueue/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingQueue/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingQueue/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingQueue/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingQueue/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingQueue/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/DelegatingQueue/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/DelegatingQueue/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/DelegatingQueue/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/DelegatingQueue-class.md">this</a>. [...](../package-collection_collection/DelegatingQueue/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingQueue/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingQueue/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingQueue/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/DelegatingQueue/add.md)(E value) void
+
+Adds <code>value</code> at the end of the queue.   
+_override_
+
+##### [addAll](../package-collection_collection/DelegatingQueue/addAll.md)(Iterable&lt;E> iterable) void
+
+Adds all elements of <code>iterable</code> at the end of the queue. The
+length of the queue is extended by the length of <code>iterable</code>.   
+_override_
+
+##### [addFirst](../package-collection_collection/DelegatingQueue/addFirst.md)(E value) void
+
+Adds <code>value</code> at the beginning of the queue.   
+_override_
+
+##### [addLast](../package-collection_collection/DelegatingQueue/addLast.md)(E value) void
+
+Adds <code>value</code> at the end of the queue.   
+_override_
+
+##### [any](../package-collection_collection/DelegatingQueue/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingQueue/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingQueue/cast.md)&lt;T>() Queue&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingQueue/cast.md)  
+
+
+##### [clear](../package-collection_collection/DelegatingQueue/clear.md)() void
+
+Removes all elements in the queue. The size of the queue becomes zero.   
+_override_
+
+##### [contains](../package-collection_collection/DelegatingQueue/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingQueue/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/DelegatingQueue/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingQueue/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingQueue/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingQueue/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingQueue/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingQueue/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/DelegatingQueue/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingQueue/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingQueue/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingQueue/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingQueue/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingQueue/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingQueue/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [join](../package-collection_collection/DelegatingQueue/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingQueue/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/DelegatingQueue/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingQueue/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingQueue/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingQueue/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingQueue/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingQueue/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingQueue/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingQueue/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/DelegatingQueue/remove.md)(Object? object) bool
+
+Remove a single instance of <code>value</code> from the queue. [...](../package-collection_collection/DelegatingQueue/remove.md)  
+_override_
+
+##### [removeFirst](../package-collection_collection/DelegatingQueue/removeFirst.md)() E
+
+Removes and returns the first element of this queue. [...](../package-collection_collection/DelegatingQueue/removeFirst.md)  
+_override_
+
+##### [removeLast](../package-collection_collection/DelegatingQueue/removeLast.md)() E
+
+Removes and returns the last element of the queue. [...](../package-collection_collection/DelegatingQueue/removeLast.md)  
+_override_
+
+##### [removeWhere](../package-collection_collection/DelegatingQueue/removeWhere.md)(bool test(E)) void
+
+Removes all elements matched by <code>test</code> from the queue. [...](../package-collection_collection/DelegatingQueue/removeWhere.md)  
+_override_
+
+##### [retainWhere](../package-collection_collection/DelegatingQueue/retainWhere.md)(bool test(E)) void
+
+Removes all elements not matched by <code>test</code> from the queue. [...](../package-collection_collection/DelegatingQueue/retainWhere.md)  
+_override_
+
+##### [~~retype~~](../package-collection_collection/DelegatingQueue/retype.md)&lt;T>() Queue&lt;T>
+
+   
+
+
+##### [singleWhere](../package-collection_collection/DelegatingQueue/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingQueue/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingQueue/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingQueue/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingQueue/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingQueue/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/DelegatingQueue/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingQueue/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingQueue/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingQueue/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingQueue/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingQueue/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingQueue/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingQueue/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingQueue/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/DelegatingQueue/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingQueue/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingQueue/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingQueue/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingQueue/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingQueue/operator_equals.md)  
+_inherited_
+
+
+
+## Static Methods
+
+##### [~~typed~~](../package-collection_collection/DelegatingQueue/typed.md)&lt;E>(Queue base) Queue&lt;E>
+
+Creates a wrapper that asserts the types of values in <code>base</code>. [...](../package-collection_collection/DelegatingQueue/typed.md)  
+_@Deprecated(&#39;Use queue.cast&lt;E&gt; instead.&#39;)_
+
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/DelegatingQueue.md b/sdk/dart/package-collection_collection/DelegatingQueue/DelegatingQueue.md
new file mode 100644
index 0000000..646b714
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/DelegatingQueue.md
@@ -0,0 +1,17 @@
+
+# DelegatingQueue&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+DelegatingQueue&lt;E>(Queue&lt;E> queue)
+
+
+## Implementation
+
+```dart
+const DelegatingQueue(Queue<E> queue) : _base = queue;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/add.md b/sdk/dart/package-collection_collection/DelegatingQueue/add.md
new file mode 100644
index 0000000..ebfc24b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/add.md
@@ -0,0 +1,23 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+void add
+(E value)
+_override_
+
+<p>Adds <code>value</code> at the end of the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void add(E value) {
+  _base.add(value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/addAll.md b/sdk/dart/package-collection_collection/DelegatingQueue/addAll.md
new file mode 100644
index 0000000..f2cd897
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/addAll.md
@@ -0,0 +1,24 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> iterable)
+_override_
+
+<p>Adds all elements of <code>iterable</code> at the end of the queue. The
+length of the queue is extended by the length of <code>iterable</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> iterable) {
+  _base.addAll(iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/addFirst.md b/sdk/dart/package-collection_collection/DelegatingQueue/addFirst.md
new file mode 100644
index 0000000..f063224
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/addFirst.md
@@ -0,0 +1,23 @@
+
+# addFirst method
+
+    *<Null safety>*
+
+- @override
+
+void addFirst
+(E value)
+_override_
+
+<p>Adds <code>value</code> at the beginning of the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void addFirst(E value) {
+  _base.addFirst(value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/addLast.md b/sdk/dart/package-collection_collection/DelegatingQueue/addLast.md
new file mode 100644
index 0000000..33b7ee9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/addLast.md
@@ -0,0 +1,23 @@
+
+# addLast method
+
+    *<Null safety>*
+
+- @override
+
+void addLast
+(E value)
+_override_
+
+<p>Adds <code>value</code> at the end of the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void addLast(E value) {
+  _base.addLast(value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/any.md b/sdk/dart/package-collection_collection/DelegatingQueue/any.md
new file mode 100644
index 0000000..22547d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/any.md
@@ -0,0 +1,23 @@
+
+# any method
+
+    *<Null safety>*
+
+- @override
+
+bool any
+(bool test(E))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+@override
+bool any(bool Function(E) test) => _base.any(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/cast.md b/sdk/dart/package-collection_collection/DelegatingQueue/cast.md
new file mode 100644
index 0000000..5ec8002
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/cast.md
@@ -0,0 +1,26 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Queue&lt;T> cast
+&lt;T>()
+
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/DelegatingQueue/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Queue<T> cast<T>() => _base.cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/clear.md b/sdk/dart/package-collection_collection/DelegatingQueue/clear.md
new file mode 100644
index 0000000..35008d5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/clear.md
@@ -0,0 +1,23 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all elements in the queue. The size of the queue becomes zero.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _base.clear();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/contains.md b/sdk/dart/package-collection_collection/DelegatingQueue/contains.md
new file mode 100644
index 0000000..da3a2d0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/contains.md
@@ -0,0 +1,31 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _base.contains(element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/elementAt.md b/sdk/dart/package-collection_collection/DelegatingQueue/elementAt.md
new file mode 100644
index 0000000..379727f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/elementAt.md
@@ -0,0 +1,27 @@
+
+# elementAt method
+
+    *<Null safety>*
+
+- @override
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/DelegatingQueue/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+@override
+E elementAt(int index) => _base.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/every.md b/sdk/dart/package-collection_collection/DelegatingQueue/every.md
new file mode 100644
index 0000000..59872eb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/every.md
@@ -0,0 +1,23 @@
+
+# every method
+
+    *<Null safety>*
+
+- @override
+
+bool every
+(bool test(E))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool every(bool Function(E) test) => _base.every(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/expand.md b/sdk/dart/package-collection_collection/DelegatingQueue/expand.md
new file mode 100644
index 0000000..11532b5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> expand<T>(Iterable<T> Function(E) f) => _base.expand(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/first.md b/sdk/dart/package-collection_collection/DelegatingQueue/first.md
new file mode 100644
index 0000000..5b64601
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/first.md
@@ -0,0 +1,23 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/firstWhere.md b/sdk/dart/package-collection_collection/DelegatingQueue/firstWhere.md
new file mode 100644
index 0000000..9dd8cca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/firstWhere.md
@@ -0,0 +1,26 @@
+
+# firstWhere method
+
+    *<Null safety>*
+
+- @override
+
+E firstWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E firstWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.firstWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/fold.md b/sdk/dart/package-collection_collection/DelegatingQueue/fold.md
new file mode 100644
index 0000000..2b07bff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/fold.md
@@ -0,0 +1,35 @@
+
+# fold&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+T fold<T>(T initialValue, T Function(T previousValue, E element) combine) =>
+    _base.fold(initialValue, combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/followedBy.md b/sdk/dart/package-collection_collection/DelegatingQueue/followedBy.md
new file mode 100644
index 0000000..1a53b84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> followedBy(Iterable<E> other) => _base.followedBy(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/forEach.md b/sdk/dart/package-collection_collection/DelegatingQueue/forEach.md
new file mode 100644
index 0000000..058b3fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/forEach.md
@@ -0,0 +1,22 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(E))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(E) f) => _base.forEach(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/hashCode.md b/sdk/dart/package-collection_collection/DelegatingQueue/hashCode.md
new file mode 100644
index 0000000..d988b45
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/DelegatingQueue/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/DelegatingQueue/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/DelegatingQueue/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/DelegatingQueue/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/DelegatingQueue/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/DelegatingQueue/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/isEmpty.md b/sdk/dart/package-collection_collection/DelegatingQueue/isEmpty.md
new file mode 100644
index 0000000..2f6a4ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _base.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/isNotEmpty.md b/sdk/dart/package-collection_collection/DelegatingQueue/isNotEmpty.md
new file mode 100644
index 0000000..7ba6135
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _base.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/iterator.md b/sdk/dart/package-collection_collection/DelegatingQueue/iterator.md
new file mode 100644
index 0000000..9aaebb8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _base.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/join.md b/sdk/dart/package-collection_collection/DelegatingQueue/join.md
new file mode 100644
index 0000000..fd770a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/join.md
@@ -0,0 +1,25 @@
+
+# join method
+
+    *<Null safety>*
+
+- @override
+
+String join
+([String separator = ''])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+@override
+String join([String separator = '']) => _base.join(separator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/last.md b/sdk/dart/package-collection_collection/DelegatingQueue/last.md
new file mode 100644
index 0000000..f828c08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/last.md
@@ -0,0 +1,26 @@
+
+# last property
+
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/lastWhere.md b/sdk/dart/package-collection_collection/DelegatingQueue/lastWhere.md
new file mode 100644
index 0000000..a8c56bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/lastWhere.md
@@ -0,0 +1,31 @@
+
+# lastWhere method
+
+    *<Null safety>*
+
+- @override
+
+E lastWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E lastWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.lastWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/length.md b/sdk/dart/package-collection_collection/DelegatingQueue/length.md
new file mode 100644
index 0000000..c545526
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/length.md
@@ -0,0 +1,23 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/DelegatingQueue-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/map.md b/sdk/dart/package-collection_collection/DelegatingQueue/map.md
new file mode 100644
index 0000000..5914b26
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> map
+&lt;T>(T f(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/DelegatingQueue/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> map<T>(T Function(E) f) => _base.map(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/noSuchMethod.md b/sdk/dart/package-collection_collection/DelegatingQueue/noSuchMethod.md
new file mode 100644
index 0000000..c4c4054
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/DelegatingQueue/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/operator_equals.md b/sdk/dart/package-collection_collection/DelegatingQueue/operator_equals.md
new file mode 100644
index 0000000..01692ca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/DelegatingQueue/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/reduce.md b/sdk/dart/package-collection_collection/DelegatingQueue/reduce.md
new file mode 100644
index 0000000..a0e0b41
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/reduce.md
@@ -0,0 +1,36 @@
+
+# reduce method
+
+    *<Null safety>*
+
+- @override
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+E reduce(E Function(E value, E element) combine) => _base.reduce(combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/remove.md b/sdk/dart/package-collection_collection/DelegatingQueue/remove.md
new file mode 100644
index 0000000..5369c38
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/remove.md
@@ -0,0 +1,23 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? object)
+_override_
+
+<p>Remove a single instance of <code>value</code> from the queue.</p>
+<p>Returns <code>true</code> if a value was removed, or <code>false</code> if the queue
+contained no element equal to <code>value</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? object) => _base.remove(object);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/removeFirst.md b/sdk/dart/package-collection_collection/DelegatingQueue/removeFirst.md
new file mode 100644
index 0000000..e5d3912
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/removeFirst.md
@@ -0,0 +1,22 @@
+
+# removeFirst method
+
+    *<Null safety>*
+
+- @override
+
+E removeFirst
+()
+_override_
+
+<p>Removes and returns the first element of this queue.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+@override
+E removeFirst() => _base.removeFirst();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/removeLast.md b/sdk/dart/package-collection_collection/DelegatingQueue/removeLast.md
new file mode 100644
index 0000000..b96de99
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/removeLast.md
@@ -0,0 +1,22 @@
+
+# removeLast method
+
+    *<Null safety>*
+
+- @override
+
+E removeLast
+()
+_override_
+
+<p>Removes and returns the last element of the queue.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+@override
+E removeLast() => _base.removeLast();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/removeWhere.md b/sdk/dart/package-collection_collection/DelegatingQueue/removeWhere.md
new file mode 100644
index 0000000..edc5c50
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/removeWhere.md
@@ -0,0 +1,24 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(E))
+_override_
+
+<p>Removes all elements matched by <code>test</code> from the queue.</p>
+<p>The <code>test</code> function must not throw or modify the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(E) test) {
+  _base.removeWhere(test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/retainWhere.md b/sdk/dart/package-collection_collection/DelegatingQueue/retainWhere.md
new file mode 100644
index 0000000..99ce820
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/retainWhere.md
@@ -0,0 +1,24 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(E))
+_override_
+
+<p>Removes all elements not matched by <code>test</code> from the queue.</p>
+<p>The <code>test</code> function must not throw or modify the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(E) test) {
+  _base.retainWhere(test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/retype.md b/sdk/dart/package-collection_collection/DelegatingQueue/retype.md
new file mode 100644
index 0000000..861e28b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/retype.md
@@ -0,0 +1,22 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+- @override
+
+Queue&lt;T> ~~retype~~
+&lt;T>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+@override
+Queue<T> retype<T>() => cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/runtimeType.md b/sdk/dart/package-collection_collection/DelegatingQueue/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/single.md b/sdk/dart/package-collection_collection/DelegatingQueue/single.md
new file mode 100644
index 0000000..fd9ac76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/single.md
@@ -0,0 +1,21 @@
+
+# single property
+
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+@override
+E get single => _base.single;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/singleWhere.md b/sdk/dart/package-collection_collection/DelegatingQueue/singleWhere.md
new file mode 100644
index 0000000..97fad7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/singleWhere.md
@@ -0,0 +1,28 @@
+
+# singleWhere method
+
+    *<Null safety>*
+
+- @override
+
+E singleWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E singleWhere(bool Function(E) test, {E Function()? orElse}) {
+  return _base.singleWhere(test, orElse: orElse);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/skip.md b/sdk/dart/package-collection_collection/DelegatingQueue/skip.md
new file mode 100644
index 0000000..74cea57
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/skip.md
@@ -0,0 +1,31 @@
+
+# skip method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skip(int n) => _base.skip(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/skipWhile.md b/sdk/dart/package-collection_collection/DelegatingQueue/skipWhile.md
new file mode 100644
index 0000000..60a41be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/skipWhile.md
@@ -0,0 +1,28 @@
+
+# skipWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skipWhile
+(bool test(E))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skipWhile(bool Function(E) test) => _base.skipWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/take.md b/sdk/dart/package-collection_collection/DelegatingQueue/take.md
new file mode 100644
index 0000000..f9cdac8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/take.md
@@ -0,0 +1,26 @@
+
+# take method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingQueue/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> take(int n) => _base.take(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/takeWhile.md b/sdk/dart/package-collection_collection/DelegatingQueue/takeWhile.md
new file mode 100644
index 0000000..1fd6e0c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/takeWhile.md
@@ -0,0 +1,26 @@
+
+# takeWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> takeWhile
+(bool test(E))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingQueue/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> takeWhile(bool Function(E) test) => _base.takeWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/toList.md b/sdk/dart/package-collection_collection/DelegatingQueue/toList.md
new file mode 100644
index 0000000..bd048ce
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList({bool growable = true}) => _base.toList(growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/toSet.md b/sdk/dart/package-collection_collection/DelegatingQueue/toSet.md
new file mode 100644
index 0000000..0d55e4d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => _base.toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/toString.md b/sdk/dart/package-collection_collection/DelegatingQueue/toString.md
new file mode 100644
index 0000000..dac82a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => _base.toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/typed.md b/sdk/dart/package-collection_collection/DelegatingQueue/typed.md
new file mode 100644
index 0000000..14654d6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/typed.md
@@ -0,0 +1,29 @@
+
+# typed&lt;E> method
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Use queue.cast&lt;E&gt; instead.&#39;)
+
+Queue&lt;E> ~~typed~~
+&lt;E>(Queue base)
+_@Deprecated(&#39;Use queue.cast&lt;E&gt; instead.&#39;)_
+
+<p>Creates a wrapper that asserts the types of values in <code>base</code>.</p>
+<p>This soundly converts a <code>Queue</code> without a generic type to a <code>Queue&lt;E&gt;</code> by
+asserting that its elements are instances of <code>E</code> whenever they're
+accessed. If they're not, it throws a <code>CastError</code>. Note that even if an
+operation throws a <code>CastError</code>, it may still mutate the underlying
+collection.</p>
+<p>This forwards all operations to <code>base</code>, so any changes in <code>base</code> will be
+reflected in <a href="../../package-collection_collection/DelegatingQueue-class.md">this</a>. If <code>base</code> is already a <code>Queue&lt;E&gt;</code>, it's returned
+unmodified.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Use queue.cast<E> instead.')
+static Queue<E> typed<E>(Queue base) => base.cast<E>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/where.md b/sdk/dart/package-collection_collection/DelegatingQueue/where.md
new file mode 100644
index 0000000..100db9b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/where.md
@@ -0,0 +1,30 @@
+
+# where method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> where
+(bool test(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingQueue/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> where(bool Function(E) test) => _base.where(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingQueue/whereType.md b/sdk/dart/package-collection_collection/DelegatingQueue/whereType.md
new file mode 100644
index 0000000..664c72b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingQueue/whereType.md
@@ -0,0 +1,27 @@
+
+# whereType&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingQueue/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> whereType<T>() => _base.whereType<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet-class.md b/sdk/dart/package-collection_collection/DelegatingSet-class.md
new file mode 100644
index 0000000..28f065c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet-class.md
@@ -0,0 +1,307 @@
+
+# DelegatingSet&lt;E> class
+
+    *<Null safety>*
+
+<p>A <code>Set</code> that delegates all operations to a base set.</p>
+<p>This class can be used to hide non-<code>Set</code> methods of a set object, or it can
+be extended to add extra functionality on top of an existing set object.</p>
+
+
+**Implemented types**
+
+- Set&lt;E>
+
+
+**Implementers**
+
+- [EqualitySet](../package-collection_collection/EqualitySet-class.md)
+- [UnmodifiableSetView](../package-collection_collection/UnmodifiableSetView-class.md)
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[DelegatingSet](../package-collection_collection/DelegatingSet/DelegatingSet.md) (Set&lt;E> base)
+
+   
+_const_ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/DelegatingSet/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/DelegatingSet/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingSet/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingSet/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingSet/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingSet/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingSet/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingSet/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingSet/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingSet/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/DelegatingSet/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/DelegatingSet/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/DelegatingSet/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/DelegatingSet-class.md">this</a>. [...](../package-collection_collection/DelegatingSet/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingSet/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingSet/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingSet/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/DelegatingSet/add.md)(E value) bool
+
+Adds <code>value</code> to the set. [...](../package-collection_collection/DelegatingSet/add.md)  
+_override_
+
+##### [addAll](../package-collection_collection/DelegatingSet/addAll.md)(Iterable&lt;E> elements) void
+
+Adds all <code>elements</code> to this Set. [...](../package-collection_collection/DelegatingSet/addAll.md)  
+_override_
+
+##### [any](../package-collection_collection/DelegatingSet/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingSet/cast.md)&lt;T>() Set&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingSet/cast.md)  
+
+
+##### [clear](../package-collection_collection/DelegatingSet/clear.md)() void
+
+Removes all elements in the set.   
+_override_
+
+##### [contains](../package-collection_collection/DelegatingSet/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingSet/contains.md)  
+_inherited_
+
+##### [containsAll](../package-collection_collection/DelegatingSet/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_override_
+
+##### [difference](../package-collection_collection/DelegatingSet/difference.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set with the elements of this that are not in <code>other</code>. [...](../package-collection_collection/DelegatingSet/difference.md)  
+_override_
+
+##### [elementAt](../package-collection_collection/DelegatingSet/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingSet/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingSet/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingSet/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingSet/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/DelegatingSet/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingSet/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingSet/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingSet/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingSet/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingSet/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/DelegatingSet/intersection.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set which is the intersection between this set and <code>other</code>. [...](../package-collection_collection/DelegatingSet/intersection.md)  
+_override_
+
+##### [join](../package-collection_collection/DelegatingSet/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingSet/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/DelegatingSet/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/DelegatingSet/lookup.md)(Object? element) E?
+
+If an object equal to <code>object</code> is in the set, return it. [...](../package-collection_collection/DelegatingSet/lookup.md)  
+_override_
+
+##### [map](../package-collection_collection/DelegatingSet/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingSet/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingSet/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingSet/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingSet/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingSet/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/DelegatingSet/remove.md)(Object? value) bool
+
+Removes <code>value</code> from the set. Returns true if <code>value</code> was
+in the set. Returns false otherwise. The method has no effect
+if <code>value</code> value was not in the set.   
+_override_
+
+##### [removeAll](../package-collection_collection/DelegatingSet/removeAll.md)(Iterable&lt;Object?> elements) void
+
+Removes each element of <code>elements</code> from this set.   
+_override_
+
+##### [removeWhere](../package-collection_collection/DelegatingSet/removeWhere.md)(bool test(E)) void
+
+Removes all elements of this set that satisfy <code>test</code>.   
+_override_
+
+##### [retainAll](../package-collection_collection/DelegatingSet/retainAll.md)(Iterable&lt;Object?> elements) void
+
+Removes all elements of this set that are not elements in <code>elements</code>. [...](../package-collection_collection/DelegatingSet/retainAll.md)  
+_override_
+
+##### [retainWhere](../package-collection_collection/DelegatingSet/retainWhere.md)(bool test(E)) void
+
+Removes all elements of this set that fail to satisfy <code>test</code>.   
+_override_
+
+##### [~~retype~~](../package-collection_collection/DelegatingSet/retype.md)&lt;T>() Set&lt;T>
+
+   
+
+
+##### [singleWhere](../package-collection_collection/DelegatingSet/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingSet/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingSet/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingSet/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingSet/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/DelegatingSet/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingSet/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingSet/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingSet/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingSet/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingSet/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingSet/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingSet/toSet.md)  
+
+
+##### [toString](../package-collection_collection/DelegatingSet/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [union](../package-collection_collection/DelegatingSet/union.md)(Set&lt;E> other) Set&lt;E>
+
+Returns a new set which contains all the elements of this set and <code>other</code>. [...](../package-collection_collection/DelegatingSet/union.md)  
+_override_
+
+##### [where](../package-collection_collection/DelegatingSet/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingSet/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingSet/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingSet/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingSet/operator_equals.md)  
+_inherited_
+
+
+
+## Static Methods
+
+##### [~~typed~~](../package-collection_collection/DelegatingSet/typed.md)&lt;E>(Set base) Set&lt;E>
+
+Creates a wrapper that asserts the types of values in <code>base</code>. [...](../package-collection_collection/DelegatingSet/typed.md)  
+_@Deprecated(&#39;Use set.cast&lt;E&gt; instead.&#39;)_
+
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/DelegatingSet.md b/sdk/dart/package-collection_collection/DelegatingSet/DelegatingSet.md
new file mode 100644
index 0000000..5c199d6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/DelegatingSet.md
@@ -0,0 +1,17 @@
+
+# DelegatingSet&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+DelegatingSet&lt;E>(Set&lt;E> base)
+
+
+## Implementation
+
+```dart
+const DelegatingSet(Set<E> base) : _base = base;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/add.md b/sdk/dart/package-collection_collection/DelegatingSet/add.md
new file mode 100644
index 0000000..f7aa4c7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/add.md
@@ -0,0 +1,37 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+bool add
+(E value)
+_override_
+
+<p>Adds <code>value</code> to the set.</p>
+<p>Returns <code>true</code> if <code>value</code> (or an equal value) was not yet in the set.
+Otherwise returns <code>false</code> and the set is not changed.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var set = new Set();
+var time1 = new DateTime.fromMillisecondsSinceEpoch(0);
+var time2 = new DateTime.fromMillisecondsSinceEpoch(0);
+// time1 and time2 are equal, but not identical.
+Expect.isTrue(time1 == time2);
+Expect.isFalse(identical(time1, time2));
+set.add(time1);  // =&gt; true.
+// A value equal to time2 exists already in the set, and the call to
+// add doesn't change the set.
+set.add(time2);  // =&gt; false.
+Expect.isTrue(set.length == 1);
+Expect.isTrue(identical(time1, set.first));
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+bool add(E value) => _base.add(value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/addAll.md b/sdk/dart/package-collection_collection/DelegatingSet/addAll.md
new file mode 100644
index 0000000..1512e56
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/addAll.md
@@ -0,0 +1,25 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> elements)
+_override_
+
+<p>Adds all <code>elements</code> to this Set.</p>
+<p>Equivalent to adding each element in <code>elements</code> using <a href="../../package-collection_collection/DelegatingSet/add.md">add</a>,
+but some collections may be able to optimize it.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> elements) {
+  _base.addAll(elements);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/any.md b/sdk/dart/package-collection_collection/DelegatingSet/any.md
new file mode 100644
index 0000000..22547d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/any.md
@@ -0,0 +1,23 @@
+
+# any method
+
+    *<Null safety>*
+
+- @override
+
+bool any
+(bool test(E))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+@override
+bool any(bool Function(E) test) => _base.any(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/cast.md b/sdk/dart/package-collection_collection/DelegatingSet/cast.md
new file mode 100644
index 0000000..e3745dc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/cast.md
@@ -0,0 +1,26 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;T> cast
+&lt;T>()
+
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/DelegatingSet/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Set<T> cast<T>() => _base.cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/clear.md b/sdk/dart/package-collection_collection/DelegatingSet/clear.md
new file mode 100644
index 0000000..4f58f4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/clear.md
@@ -0,0 +1,23 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all elements in the set.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _base.clear();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/contains.md b/sdk/dart/package-collection_collection/DelegatingSet/contains.md
new file mode 100644
index 0000000..da3a2d0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/contains.md
@@ -0,0 +1,31 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _base.contains(element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/containsAll.md b/sdk/dart/package-collection_collection/DelegatingSet/containsAll.md
new file mode 100644
index 0000000..be1f116
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/containsAll.md
@@ -0,0 +1,21 @@
+
+# containsAll method
+
+    *<Null safety>*
+
+- @override
+
+bool containsAll
+(Iterable&lt;Object?> other)
+_override_
+
+<p>Returns whether this Set contains all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsAll(Iterable<Object?> other) => _base.containsAll(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/difference.md b/sdk/dart/package-collection_collection/DelegatingSet/difference.md
new file mode 100644
index 0000000..4b4f3f0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/difference.md
@@ -0,0 +1,23 @@
+
+# difference method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> difference
+(Set&lt;Object?> other)
+_override_
+
+<p>Returns a new set with the elements of this that are not in <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that
+are not elements of <code>other</code> according to <code>other.contains</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> difference(Set<Object?> other) => _base.difference(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/elementAt.md b/sdk/dart/package-collection_collection/DelegatingSet/elementAt.md
new file mode 100644
index 0000000..f8ba9cd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/elementAt.md
@@ -0,0 +1,27 @@
+
+# elementAt method
+
+    *<Null safety>*
+
+- @override
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/DelegatingSet/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+@override
+E elementAt(int index) => _base.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/every.md b/sdk/dart/package-collection_collection/DelegatingSet/every.md
new file mode 100644
index 0000000..59872eb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/every.md
@@ -0,0 +1,23 @@
+
+# every method
+
+    *<Null safety>*
+
+- @override
+
+bool every
+(bool test(E))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool every(bool Function(E) test) => _base.every(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/expand.md b/sdk/dart/package-collection_collection/DelegatingSet/expand.md
new file mode 100644
index 0000000..11532b5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> expand<T>(Iterable<T> Function(E) f) => _base.expand(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/first.md b/sdk/dart/package-collection_collection/DelegatingSet/first.md
new file mode 100644
index 0000000..5b64601
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/first.md
@@ -0,0 +1,23 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/firstWhere.md b/sdk/dart/package-collection_collection/DelegatingSet/firstWhere.md
new file mode 100644
index 0000000..9dd8cca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/firstWhere.md
@@ -0,0 +1,26 @@
+
+# firstWhere method
+
+    *<Null safety>*
+
+- @override
+
+E firstWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E firstWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.firstWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/fold.md b/sdk/dart/package-collection_collection/DelegatingSet/fold.md
new file mode 100644
index 0000000..2b07bff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/fold.md
@@ -0,0 +1,35 @@
+
+# fold&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+T fold<T>(T initialValue, T Function(T previousValue, E element) combine) =>
+    _base.fold(initialValue, combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/followedBy.md b/sdk/dart/package-collection_collection/DelegatingSet/followedBy.md
new file mode 100644
index 0000000..1a53b84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> followedBy(Iterable<E> other) => _base.followedBy(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/forEach.md b/sdk/dart/package-collection_collection/DelegatingSet/forEach.md
new file mode 100644
index 0000000..058b3fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/forEach.md
@@ -0,0 +1,22 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(E))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(E) f) => _base.forEach(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/hashCode.md b/sdk/dart/package-collection_collection/DelegatingSet/hashCode.md
new file mode 100644
index 0000000..f74be8d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/DelegatingSet/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/DelegatingSet/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/DelegatingSet/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/DelegatingSet/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/DelegatingSet/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/DelegatingSet/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/intersection.md b/sdk/dart/package-collection_collection/DelegatingSet/intersection.md
new file mode 100644
index 0000000..7f5176e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/intersection.md
@@ -0,0 +1,23 @@
+
+# intersection method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> intersection
+(Set&lt;Object?> other)
+_override_
+
+<p>Returns a new set which is the intersection between this set and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that
+are also elements of <code>other</code> according to <code>other.contains</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> intersection(Set<Object?> other) => _base.intersection(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/isEmpty.md b/sdk/dart/package-collection_collection/DelegatingSet/isEmpty.md
new file mode 100644
index 0000000..2f6a4ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _base.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/isNotEmpty.md b/sdk/dart/package-collection_collection/DelegatingSet/isNotEmpty.md
new file mode 100644
index 0000000..7ba6135
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _base.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/iterator.md b/sdk/dart/package-collection_collection/DelegatingSet/iterator.md
new file mode 100644
index 0000000..9aaebb8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _base.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/join.md b/sdk/dart/package-collection_collection/DelegatingSet/join.md
new file mode 100644
index 0000000..fd770a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/join.md
@@ -0,0 +1,25 @@
+
+# join method
+
+    *<Null safety>*
+
+- @override
+
+String join
+([String separator = ''])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+@override
+String join([String separator = '']) => _base.join(separator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/last.md b/sdk/dart/package-collection_collection/DelegatingSet/last.md
new file mode 100644
index 0000000..f828c08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/last.md
@@ -0,0 +1,26 @@
+
+# last property
+
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/lastWhere.md b/sdk/dart/package-collection_collection/DelegatingSet/lastWhere.md
new file mode 100644
index 0000000..a8c56bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/lastWhere.md
@@ -0,0 +1,31 @@
+
+# lastWhere method
+
+    *<Null safety>*
+
+- @override
+
+E lastWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E lastWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.lastWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/length.md b/sdk/dart/package-collection_collection/DelegatingSet/length.md
new file mode 100644
index 0000000..acf02e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/length.md
@@ -0,0 +1,23 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/DelegatingSet-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/lookup.md b/sdk/dart/package-collection_collection/DelegatingSet/lookup.md
new file mode 100644
index 0000000..182c39d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/lookup.md
@@ -0,0 +1,30 @@
+
+# lookup method
+
+    *<Null safety>*
+
+- @override
+
+E? lookup
+(Object? element)
+_override_
+
+<p>If an object equal to <code>object</code> is in the set, return it.</p>
+<p>Checks whether <code>object</code> is in the set, like <a href="../../package-collection_collection/DelegatingSet/contains.md">contains</a>, and if so,
+returns the object in the set, otherwise returns <code>null</code>.</p>
+<p>If the equality relation used by the set is not identity,
+then the returned object may not be <em>identical</em> to <code>object</code>.
+Some set implementations may not be able to implement this method.
+If the <a href="../../package-collection_collection/DelegatingSet/contains.md">contains</a> method is computed,
+rather than being based on an actual object instance,
+then there may not be a specific object instance representing the
+set element.</p>
+
+## Implementation
+
+```dart
+@override
+E? lookup(Object? element) => _base.lookup(element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/map.md b/sdk/dart/package-collection_collection/DelegatingSet/map.md
new file mode 100644
index 0000000..f238263
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> map
+&lt;T>(T f(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/DelegatingSet/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> map<T>(T Function(E) f) => _base.map(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/noSuchMethod.md b/sdk/dart/package-collection_collection/DelegatingSet/noSuchMethod.md
new file mode 100644
index 0000000..bda6ac7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/DelegatingSet/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/operator_equals.md b/sdk/dart/package-collection_collection/DelegatingSet/operator_equals.md
new file mode 100644
index 0000000..4e7ed06
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/DelegatingSet/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/reduce.md b/sdk/dart/package-collection_collection/DelegatingSet/reduce.md
new file mode 100644
index 0000000..a0e0b41
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/reduce.md
@@ -0,0 +1,36 @@
+
+# reduce method
+
+    *<Null safety>*
+
+- @override
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+E reduce(E Function(E value, E element) combine) => _base.reduce(combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/remove.md b/sdk/dart/package-collection_collection/DelegatingSet/remove.md
new file mode 100644
index 0000000..8dd5067
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/remove.md
@@ -0,0 +1,23 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? value)
+_override_
+
+<p>Removes <code>value</code> from the set. Returns true if <code>value</code> was
+in the set. Returns false otherwise. The method has no effect
+if <code>value</code> value was not in the set.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? value) => _base.remove(value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/removeAll.md b/sdk/dart/package-collection_collection/DelegatingSet/removeAll.md
new file mode 100644
index 0000000..2766172
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/removeAll.md
@@ -0,0 +1,23 @@
+
+# removeAll method
+
+    *<Null safety>*
+
+- @override
+
+void removeAll
+(Iterable&lt;Object?> elements)
+_override_
+
+<p>Removes each element of <code>elements</code> from this set.</p>
+
+## Implementation
+
+```dart
+@override
+void removeAll(Iterable<Object?> elements) {
+  _base.removeAll(elements);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/removeWhere.md b/sdk/dart/package-collection_collection/DelegatingSet/removeWhere.md
new file mode 100644
index 0000000..4867d08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/removeWhere.md
@@ -0,0 +1,23 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(E))
+_override_
+
+<p>Removes all elements of this set that satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(E) test) {
+  _base.removeWhere(test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/retainAll.md b/sdk/dart/package-collection_collection/DelegatingSet/retainAll.md
new file mode 100644
index 0000000..17d59e5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/retainAll.md
@@ -0,0 +1,27 @@
+
+# retainAll method
+
+    *<Null safety>*
+
+- @override
+
+void retainAll
+(Iterable&lt;Object?> elements)
+_override_
+
+<p>Removes all elements of this set that are not elements in <code>elements</code>.</p>
+<p>Checks for each element of <code>elements</code> whether there is an element in this
+set that is equal to it (according to <code>this.contains</code>), and if so, the
+equal element in this set is retained, and elements that are not equal
+to any element in <code>elements</code> are removed.</p>
+
+## Implementation
+
+```dart
+@override
+void retainAll(Iterable<Object?> elements) {
+  _base.retainAll(elements);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/retainWhere.md b/sdk/dart/package-collection_collection/DelegatingSet/retainWhere.md
new file mode 100644
index 0000000..94058d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/retainWhere.md
@@ -0,0 +1,23 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(E))
+_override_
+
+<p>Removes all elements of this set that fail to satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(E) test) {
+  _base.retainWhere(test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/retype.md b/sdk/dart/package-collection_collection/DelegatingSet/retype.md
new file mode 100644
index 0000000..2df36bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/retype.md
@@ -0,0 +1,22 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+- @override
+
+Set&lt;T> ~~retype~~
+&lt;T>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+@override
+Set<T> retype<T>() => cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/runtimeType.md b/sdk/dart/package-collection_collection/DelegatingSet/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/single.md b/sdk/dart/package-collection_collection/DelegatingSet/single.md
new file mode 100644
index 0000000..fd9ac76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/single.md
@@ -0,0 +1,21 @@
+
+# single property
+
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+@override
+E get single => _base.single;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/singleWhere.md b/sdk/dart/package-collection_collection/DelegatingSet/singleWhere.md
new file mode 100644
index 0000000..97fad7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/singleWhere.md
@@ -0,0 +1,28 @@
+
+# singleWhere method
+
+    *<Null safety>*
+
+- @override
+
+E singleWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E singleWhere(bool Function(E) test, {E Function()? orElse}) {
+  return _base.singleWhere(test, orElse: orElse);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/skip.md b/sdk/dart/package-collection_collection/DelegatingSet/skip.md
new file mode 100644
index 0000000..74cea57
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/skip.md
@@ -0,0 +1,31 @@
+
+# skip method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skip(int n) => _base.skip(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/skipWhile.md b/sdk/dart/package-collection_collection/DelegatingSet/skipWhile.md
new file mode 100644
index 0000000..60a41be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/skipWhile.md
@@ -0,0 +1,28 @@
+
+# skipWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skipWhile
+(bool test(E))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skipWhile(bool Function(E) test) => _base.skipWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/take.md b/sdk/dart/package-collection_collection/DelegatingSet/take.md
new file mode 100644
index 0000000..a3b00a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/take.md
@@ -0,0 +1,26 @@
+
+# take method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingSet/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> take(int n) => _base.take(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/takeWhile.md b/sdk/dart/package-collection_collection/DelegatingSet/takeWhile.md
new file mode 100644
index 0000000..b4f56e7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/takeWhile.md
@@ -0,0 +1,26 @@
+
+# takeWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> takeWhile
+(bool test(E))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/DelegatingSet/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> takeWhile(bool Function(E) test) => _base.takeWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/toList.md b/sdk/dart/package-collection_collection/DelegatingSet/toList.md
new file mode 100644
index 0000000..bd048ce
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList({bool growable = true}) => _base.toList(growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/toSet.md b/sdk/dart/package-collection_collection/DelegatingSet/toSet.md
new file mode 100644
index 0000000..3a98757
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => DelegatingSet<E>(_base.toSet());
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/toString.md b/sdk/dart/package-collection_collection/DelegatingSet/toString.md
new file mode 100644
index 0000000..dac82a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => _base.toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/typed.md b/sdk/dart/package-collection_collection/DelegatingSet/typed.md
new file mode 100644
index 0000000..41f8015
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/typed.md
@@ -0,0 +1,29 @@
+
+# typed&lt;E> method
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Use set.cast&lt;E&gt; instead.&#39;)
+
+Set&lt;E> ~~typed~~
+&lt;E>(Set base)
+_@Deprecated(&#39;Use set.cast&lt;E&gt; instead.&#39;)_
+
+<p>Creates a wrapper that asserts the types of values in <code>base</code>.</p>
+<p>This soundly converts a <code>Set</code> without a generic type to a <code>Set&lt;E&gt;</code> by
+asserting that its elements are instances of <code>E</code> whenever they're
+accessed. If they're not, it throws a <code>CastError</code>. Note that even if an
+operation throws a <code>CastError</code>, it may still mutate the underlying
+collection.</p>
+<p>This forwards all operations to <code>base</code>, so any changes in <code>base</code> will be
+reflected in <a href="../../package-collection_collection/DelegatingSet-class.md">this</a>. If <code>base</code> is already a <code>Set&lt;E&gt;</code>, it's returned
+unmodified.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Use set.cast<E> instead.')
+static Set<E> typed<E>(Set base) => base.cast<E>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/union.md b/sdk/dart/package-collection_collection/DelegatingSet/union.md
new file mode 100644
index 0000000..82ef86c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/union.md
@@ -0,0 +1,23 @@
+
+# union method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> union
+(Set&lt;E> other)
+_override_
+
+<p>Returns a new set which contains all the elements of this set and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> and
+all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> union(Set<E> other) => _base.union(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/where.md b/sdk/dart/package-collection_collection/DelegatingSet/where.md
new file mode 100644
index 0000000..5e04a25
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/where.md
@@ -0,0 +1,30 @@
+
+# where method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> where
+(bool test(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingSet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> where(bool Function(E) test) => _base.where(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/DelegatingSet/whereType.md b/sdk/dart/package-collection_collection/DelegatingSet/whereType.md
new file mode 100644
index 0000000..15d7620
--- /dev/null
+++ b/sdk/dart/package-collection_collection/DelegatingSet/whereType.md
@@ -0,0 +1,27 @@
+
+# whereType&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/DelegatingSet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> whereType<T>() => _base.whereType<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality-class.md b/sdk/dart/package-collection_collection/Equality-class.md
new file mode 100644
index 0000000..d0e95f5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality-class.md
@@ -0,0 +1,86 @@
+
+# Equality&lt;E> class
+
+    *<Null safety>*
+
+<p>A generic equality relation on objects.</p>
+
+
+
+
+**Implementers**
+
+- [SetEquality](../package-collection_collection/SetEquality-class.md)
+- [UnorderedIterableEquality](../package-collection_collection/UnorderedIterableEquality-class.md)
+- [CaseInsensitiveEquality](../package-collection_collection/CaseInsensitiveEquality-class.md)
+- [DeepCollectionEquality](../package-collection_collection/DeepCollectionEquality-class.md)
+- [DefaultEquality](../package-collection_collection/DefaultEquality-class.md)
+- [EqualityBy](../package-collection_collection/EqualityBy-class.md)
+- [IdentityEquality](../package-collection_collection/IdentityEquality-class.md)
+- [IterableEquality](../package-collection_collection/IterableEquality-class.md)
+- [ListEquality](../package-collection_collection/ListEquality-class.md)
+- [MapEquality](../package-collection_collection/MapEquality-class.md)
+- [MultiEquality](../package-collection_collection/MultiEquality-class.md)
+
+
+
+## Constructors
+
+[Equality](../package-collection_collection/Equality/Equality.md) ()
+
+   
+_const_ _factory_
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/Equality/equals.md)(E e1, E e2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/Equality/equals.md)  
+
+
+##### [hash](../package-collection_collection/Equality/hash.md)(E e) int
+
+Get a hashcode of an element. [...](../package-collection_collection/Equality/hash.md)  
+
+
+##### [isValidKey](../package-collection_collection/Equality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/Equality/equals.md">equals</a> and <a href="../package-collection_collection/Equality/hash.md">hash</a>. [...](../package-collection_collection/Equality/isValidKey.md)  
+
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/Equality.md b/sdk/dart/package-collection_collection/Equality/Equality.md
new file mode 100644
index 0000000..5e158ec
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/Equality.md
@@ -0,0 +1,17 @@
+
+# Equality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+Equality&lt;E>()
+
+
+## Implementation
+
+```dart
+const factory Equality() = DefaultEquality<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/equals.md b/sdk/dart/package-collection_collection/Equality/equals.md
new file mode 100644
index 0000000..0a305fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/equals.md
@@ -0,0 +1,20 @@
+
+# equals method
+
+    *<Null safety>*
+
+
+bool equals
+(E e1, E e2)
+
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+bool equals(E e1, E e2);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/hash.md b/sdk/dart/package-collection_collection/Equality/hash.md
new file mode 100644
index 0000000..1e2589c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/hash.md
@@ -0,0 +1,21 @@
+
+# hash method
+
+    *<Null safety>*
+
+
+int hash
+(E e)
+
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/Equality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+int hash(E e);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/hashCode.md b/sdk/dart/package-collection_collection/Equality/hashCode.md
new file mode 100644
index 0000000..86bfa07
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/Equality/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/Equality/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/Equality/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/Equality/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/Equality/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/Equality/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/isValidKey.md b/sdk/dart/package-collection_collection/Equality/isValidKey.md
new file mode 100644
index 0000000..90839b7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/isValidKey.md
@@ -0,0 +1,21 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+
+bool isValidKey
+(Object? o)
+
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/Equality/equals.md">equals</a> and <a href="../../package-collection_collection/Equality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+bool isValidKey(Object? o);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/noSuchMethod.md b/sdk/dart/package-collection_collection/Equality/noSuchMethod.md
new file mode 100644
index 0000000..9801d86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/Equality/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/operator_equals.md b/sdk/dart/package-collection_collection/Equality/operator_equals.md
new file mode 100644
index 0000000..c35b7d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/Equality/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/runtimeType.md b/sdk/dart/package-collection_collection/Equality/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/Equality/toString.md b/sdk/dart/package-collection_collection/Equality/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/Equality/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityBy-class.md b/sdk/dart/package-collection_collection/EqualityBy-class.md
new file mode 100644
index 0000000..5a3b523
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityBy-class.md
@@ -0,0 +1,86 @@
+
+# EqualityBy&lt;E, F> class
+
+    *<Null safety>*
+
+<p>Equality of objects based on derived values.</p>
+<p>For example, given the class:</p>
+<pre class="language-dart"><code class="language-dart">abstract class Employee {
+  int get employmentId;
+}
+</code></pre>
+<p>The following <a href="../package-collection_collection/Equality-class.md">Equality</a> considers employees with the same IDs to be equal:</p>
+<pre class="language-dart"><code class="language-dart">EqualityBy((Employee e) =&gt; e.employmentId);
+</code></pre>
+<p>It's also possible to pass an additional equality instance that should be
+used to compare the value itself.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;E>
+
+
+
+
+
+## Constructors
+
+[EqualityBy](../package-collection_collection/EqualityBy/EqualityBy.md) (F comparisonKey(E), [[Equality](../package-collection_collection/Equality-class.md)&lt;F> inner = const DefaultEquality<Never>()])
+
+   
+ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/EqualityBy/equals.md)(E e1, E e2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/EqualityBy/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/EqualityBy/hash.md)(E e) int
+
+Get a hashcode of an element. [...](../package-collection_collection/EqualityBy/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/EqualityBy/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/EqualityBy/equals.md">equals</a> and <a href="../package-collection_collection/EqualityBy/hash.md">hash</a>. [...](../package-collection_collection/EqualityBy/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityBy/EqualityBy.md b/sdk/dart/package-collection_collection/EqualityBy/EqualityBy.md
new file mode 100644
index 0000000..855daca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityBy/EqualityBy.md
@@ -0,0 +1,20 @@
+
+# EqualityBy&lt;E, F> constructor
+
+    *<Null safety>*
+
+
+
+EqualityBy&lt;E, F>(F comparisonKey(E), [[Equality](../../package-collection_collection/Equality-class.md)&lt;F> inner = const DefaultEquality<Never>()])
+
+
+## Implementation
+
+```dart
+EqualityBy(F Function(E) comparisonKey,
+    [Equality<F> inner = const DefaultEquality<Never>()])
+    : _comparisonKey = comparisonKey,
+      _inner = inner;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityBy/equals.md b/sdk/dart/package-collection_collection/EqualityBy/equals.md
new file mode 100644
index 0000000..9a2f6b4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityBy/equals.md
@@ -0,0 +1,23 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(E e1, E e2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(E e1, E e2) =>
+    _inner.equals(_comparisonKey(e1), _comparisonKey(e2));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityBy/hash.md b/sdk/dart/package-collection_collection/EqualityBy/hash.md
new file mode 100644
index 0000000..b587498
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityBy/hash.md
@@ -0,0 +1,23 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(E e)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/EqualityBy/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(E e) => _inner.hash(_comparisonKey(e));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityBy/isValidKey.md b/sdk/dart/package-collection_collection/EqualityBy/isValidKey.md
new file mode 100644
index 0000000..4a6428b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityBy/isValidKey.md
@@ -0,0 +1,29 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/EqualityBy/equals.md">equals</a> and <a href="../../package-collection_collection/EqualityBy/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) {
+  if (o is E) {
+    final value = _comparisonKey(o);
+    return value is F && _inner.isValidKey(value);
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityMap-class.md b/sdk/dart/package-collection_collection/EqualityMap-class.md
new file mode 100644
index 0000000..059a5e6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityMap-class.md
@@ -0,0 +1,181 @@
+
+# EqualityMap&lt;K, V> class
+
+    *<Null safety>*
+
+<p>A <code>Map</code> whose key equality is determined by an <a href="../package-collection_collection/Equality-class.md">Equality</a> object.</p>
+
+**Inheritance**
+
+- Object
+- [DelegatingMap](../package-collection_collection/DelegatingMap-class.md)&lt;K, V>
+- EqualityMap
+
+
+
+
+
+
+## Constructors
+
+[EqualityMap](../package-collection_collection/EqualityMap/EqualityMap.md) ([Equality](../package-collection_collection/Equality-class.md)&lt;K> equality)
+
+Creates a map with equality based on <code>equality</code>.   
+ 
+
+[EqualityMap.from](../package-collection_collection/EqualityMap/EqualityMap.from.md) ([Equality](../package-collection_collection/Equality-class.md)&lt;K> equality, Map&lt;K, V> other)
+
+Creates a map with equality based on <code>equality</code> that contains all
+key-value pairs of <code>other</code>. [...](../package-collection_collection/EqualityMap/EqualityMap.from.md)  
+ 
+
+
+## Properties
+
+##### [entries](../package-collection_collection/DelegatingMap/entries.md) &#8594; Iterable&lt;MapEntry&lt;K, V>>
+
+The map entries of <a href="../package-collection_collection/EqualityMap-class.md">this</a>.   
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingMap/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingMap/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingMap/isEmpty.md) &#8594; bool
+
+Returns true if there is no key/value pair in the map.   
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingMap/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one key/value pair in the map.   
+_read-only, inherited_
+
+##### [keys](../package-collection_collection/DelegatingMap/keys.md) &#8594; Iterable&lt;K>
+
+The keys of <a href="../package-collection_collection/EqualityMap-class.md">this</a>. [...](../package-collection_collection/DelegatingMap/keys.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/DelegatingMap/length.md) &#8594; int
+
+The number of key/value pairs in the map.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingMap/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [values](../package-collection_collection/DelegatingMap/values.md) &#8594; Iterable&lt;V>
+
+The values of <a href="../package-collection_collection/EqualityMap-class.md">this</a>. [...](../package-collection_collection/DelegatingMap/values.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [addAll](../package-collection_collection/DelegatingMap/addAll.md)(Map&lt;K, V> other) void
+
+Adds all key/value pairs of <code>other</code> to this map. [...](../package-collection_collection/DelegatingMap/addAll.md)  
+_inherited_
+
+##### [addEntries](../package-collection_collection/DelegatingMap/addEntries.md)(Iterable&lt;MapEntry&lt;K, V>> entries) void
+
+Adds all key/value pairs of <code>newEntries</code> to this map. [...](../package-collection_collection/DelegatingMap/addEntries.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingMap/cast.md)&lt;K2, V2>() Map&lt;K2, V2>
+
+Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary. [...](../package-collection_collection/DelegatingMap/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/DelegatingMap/clear.md)() void
+
+Removes all pairs from the map. [...](../package-collection_collection/DelegatingMap/clear.md)  
+_inherited_
+
+##### [containsKey](../package-collection_collection/DelegatingMap/containsKey.md)(Object? key) bool
+
+Returns true if this map contains the given <code>key</code>. [...](../package-collection_collection/DelegatingMap/containsKey.md)  
+_inherited_
+
+##### [containsValue](../package-collection_collection/DelegatingMap/containsValue.md)(Object? value) bool
+
+Returns true if this map contains the given <code>value</code>. [...](../package-collection_collection/DelegatingMap/containsValue.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingMap/forEach.md)(void f(K, V)) void
+
+Applies <code>f</code> to each key/value pair of the map. [...](../package-collection_collection/DelegatingMap/forEach.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingMap/map.md)&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K, V)) Map&lt;K2, V2>
+
+Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.   
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingMap/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingMap/noSuchMethod.md)  
+_inherited_
+
+##### [putIfAbsent](../package-collection_collection/DelegatingMap/putIfAbsent.md)(K key, V ifAbsent()) V
+
+Look up the value of <code>key</code>, or add a new value if it isn't there. [...](../package-collection_collection/DelegatingMap/putIfAbsent.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/DelegatingMap/remove.md)(Object? key) V?
+
+Removes <code>key</code> and its associated value, if present, from the map. [...](../package-collection_collection/DelegatingMap/remove.md)  
+_inherited_
+
+##### [removeWhere](../package-collection_collection/DelegatingMap/removeWhere.md)(bool test(K, V)) void
+
+Removes all entries of this map that satisfy the given <code>predicate</code>.   
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/DelegatingMap/retype.md)&lt;K2, V2>() Map&lt;K2, V2>
+
+   
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingMap/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [update](../package-collection_collection/DelegatingMap/update.md)(K key, V update(V), {V ifAbsent()}) V
+
+Updates the value for the provided <code>key</code>. [...](../package-collection_collection/DelegatingMap/update.md)  
+_inherited_
+
+##### [updateAll](../package-collection_collection/DelegatingMap/updateAll.md)(V update(K, V)) void
+
+Updates all values. [...](../package-collection_collection/DelegatingMap/updateAll.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingMap/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingMap/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/DelegatingMap/operator_get.md)(Object? key) V?
+
+Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map. [...](../package-collection_collection/DelegatingMap/operator_get.md)  
+_inherited_
+
+##### [operator []=](../package-collection_collection/DelegatingMap/operator_put.md)(K key, V value) void
+
+Associates the <code>key</code> with the given <code>value</code>. [...](../package-collection_collection/DelegatingMap/operator_put.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityMap/EqualityMap.from.md b/sdk/dart/package-collection_collection/EqualityMap/EqualityMap.from.md
new file mode 100644
index 0000000..ca9aee2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityMap/EqualityMap.from.md
@@ -0,0 +1,27 @@
+
+# EqualityMap&lt;K, V>.from constructor
+
+    *<Null safety>*
+
+
+
+EqualityMap&lt;K, V>.from([Equality](../../package-collection_collection/Equality-class.md)&lt;K> equality, Map&lt;K, V> other)
+
+<p>Creates a map with equality based on <code>equality</code> that contains all
+key-value pairs of <code>other</code>.</p>
+<p>If <code>other</code> has multiple keys that are equivalent according to <code>equality</code>,
+the last one reached during iteration takes precedence.</p>
+
+## Implementation
+
+```dart
+EqualityMap.from(Equality<K> equality, Map<K, V> other)
+    : super(LinkedHashMap(
+          equals: equality.equals,
+          hashCode: equality.hash,
+          isValidKey: equality.isValidKey)) {
+  addAll(other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualityMap/EqualityMap.md b/sdk/dart/package-collection_collection/EqualityMap/EqualityMap.md
new file mode 100644
index 0000000..c862337
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualityMap/EqualityMap.md
@@ -0,0 +1,22 @@
+
+# EqualityMap&lt;K, V> constructor
+
+    *<Null safety>*
+
+
+
+EqualityMap&lt;K, V>([Equality](../../package-collection_collection/Equality-class.md)&lt;K> equality)
+
+<p>Creates a map with equality based on <code>equality</code>.</p>
+
+## Implementation
+
+```dart
+EqualityMap(Equality<K> equality)
+    : super(LinkedHashMap(
+          equals: equality.equals,
+          hashCode: equality.hash,
+          isValidKey: equality.isValidKey));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualitySet-class.md b/sdk/dart/package-collection_collection/EqualitySet-class.md
new file mode 100644
index 0000000..42d206b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualitySet-class.md
@@ -0,0 +1,302 @@
+
+# EqualitySet&lt;E> class
+
+    *<Null safety>*
+
+<p>A <code>Set</code> whose key equality is determined by an <a href="../package-collection_collection/Equality-class.md">Equality</a> object.</p>
+
+**Inheritance**
+
+- Object
+- [DelegatingSet](../package-collection_collection/DelegatingSet-class.md)&lt;E>
+- EqualitySet
+
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[EqualitySet](../package-collection_collection/EqualitySet/EqualitySet.md) ([Equality](../package-collection_collection/Equality-class.md)&lt;E> equality)
+
+Creates a set with equality based on <code>equality</code>.   
+ 
+
+[EqualitySet.from](../package-collection_collection/EqualitySet/EqualitySet.from.md) ([Equality](../package-collection_collection/Equality-class.md)&lt;E> equality, Iterable&lt;E> other)
+
+Creates a set with equality based on <code>equality</code> that contains all
+elements in <code>other</code>. [...](../package-collection_collection/EqualitySet/EqualitySet.from.md)  
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/DelegatingSet/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/DelegatingSet/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingSet/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingSet/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingSet/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingSet/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingSet/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingSet/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingSet/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingSet/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/DelegatingSet/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/DelegatingSet/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/DelegatingSet/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/EqualitySet-class.md">this</a>. [...](../package-collection_collection/DelegatingSet/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingSet/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingSet/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingSet/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/DelegatingSet/add.md)(E value) bool
+
+Adds <code>value</code> to the set. [...](../package-collection_collection/DelegatingSet/add.md)  
+_inherited_
+
+##### [addAll](../package-collection_collection/DelegatingSet/addAll.md)(Iterable&lt;E> elements) void
+
+Adds all <code>elements</code> to this Set. [...](../package-collection_collection/DelegatingSet/addAll.md)  
+_inherited_
+
+##### [any](../package-collection_collection/DelegatingSet/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingSet/cast.md)&lt;T>() Set&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingSet/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/DelegatingSet/clear.md)() void
+
+Removes all elements in the set.   
+_inherited_
+
+##### [contains](../package-collection_collection/DelegatingSet/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingSet/contains.md)  
+_inherited_
+
+##### [containsAll](../package-collection_collection/DelegatingSet/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_inherited_
+
+##### [difference](../package-collection_collection/DelegatingSet/difference.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set with the elements of this that are not in <code>other</code>. [...](../package-collection_collection/DelegatingSet/difference.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/DelegatingSet/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingSet/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingSet/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingSet/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingSet/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/DelegatingSet/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingSet/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingSet/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingSet/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingSet/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingSet/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/DelegatingSet/intersection.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set which is the intersection between this set and <code>other</code>. [...](../package-collection_collection/DelegatingSet/intersection.md)  
+_inherited_
+
+##### [join](../package-collection_collection/DelegatingSet/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingSet/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/DelegatingSet/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/DelegatingSet/lookup.md)(Object? element) E?
+
+If an object equal to <code>object</code> is in the set, return it. [...](../package-collection_collection/DelegatingSet/lookup.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingSet/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingSet/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingSet/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingSet/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingSet/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingSet/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/DelegatingSet/remove.md)(Object? value) bool
+
+Removes <code>value</code> from the set. Returns true if <code>value</code> was
+in the set. Returns false otherwise. The method has no effect
+if <code>value</code> value was not in the set.   
+_inherited_
+
+##### [removeAll](../package-collection_collection/DelegatingSet/removeAll.md)(Iterable&lt;Object?> elements) void
+
+Removes each element of <code>elements</code> from this set.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/DelegatingSet/removeWhere.md)(bool test(E)) void
+
+Removes all elements of this set that satisfy <code>test</code>.   
+_inherited_
+
+##### [retainAll](../package-collection_collection/DelegatingSet/retainAll.md)(Iterable&lt;Object?> elements) void
+
+Removes all elements of this set that are not elements in <code>elements</code>. [...](../package-collection_collection/DelegatingSet/retainAll.md)  
+_inherited_
+
+##### [retainWhere](../package-collection_collection/DelegatingSet/retainWhere.md)(bool test(E)) void
+
+Removes all elements of this set that fail to satisfy <code>test</code>.   
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/DelegatingSet/retype.md)&lt;T>() Set&lt;T>
+
+   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/DelegatingSet/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingSet/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingSet/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingSet/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingSet/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/DelegatingSet/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingSet/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingSet/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingSet/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingSet/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingSet/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingSet/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingSet/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingSet/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [union](../package-collection_collection/DelegatingSet/union.md)(Set&lt;E> other) Set&lt;E>
+
+Returns a new set which contains all the elements of this set and <code>other</code>. [...](../package-collection_collection/DelegatingSet/union.md)  
+_inherited_
+
+##### [where](../package-collection_collection/DelegatingSet/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingSet/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingSet/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingSet/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingSet/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/EqualitySet/EqualitySet.from.md b/sdk/dart/package-collection_collection/EqualitySet/EqualitySet.from.md
new file mode 100644
index 0000000..dbfa300
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualitySet/EqualitySet.from.md
@@ -0,0 +1,27 @@
+
+# EqualitySet&lt;E>.from constructor
+
+    *<Null safety>*
+
+
+
+EqualitySet&lt;E>.from([Equality](../../package-collection_collection/Equality-class.md)&lt;E> equality, Iterable&lt;E> other)
+
+<p>Creates a set with equality based on <code>equality</code> that contains all
+elements in <code>other</code>.</p>
+<p>If <code>other</code> has multiple values that are equivalent according to
+<code>equality</code>, the first one reached during iteration takes precedence.</p>
+
+## Implementation
+
+```dart
+EqualitySet.from(Equality<E> equality, Iterable<E> other)
+    : super(LinkedHashSet(
+          equals: equality.equals,
+          hashCode: equality.hash,
+          isValidKey: equality.isValidKey)) {
+  addAll(other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/EqualitySet/EqualitySet.md b/sdk/dart/package-collection_collection/EqualitySet/EqualitySet.md
new file mode 100644
index 0000000..a508e8b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/EqualitySet/EqualitySet.md
@@ -0,0 +1,22 @@
+
+# EqualitySet&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+EqualitySet&lt;E>([Equality](../../package-collection_collection/Equality-class.md)&lt;E> equality)
+
+<p>Creates a set with equality based on <code>equality</code>.</p>
+
+## Implementation
+
+```dart
+EqualitySet(Equality<E> equality)
+    : super(LinkedHashSet(
+          equals: equality.equals,
+          hashCode: equality.hash,
+          isValidKey: equality.isValidKey));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue-class.md b/sdk/dart/package-collection_collection/HeapPriorityQueue-class.md
new file mode 100644
index 0000000..9745751
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue-class.md
@@ -0,0 +1,161 @@
+
+# HeapPriorityQueue&lt;E> class
+
+    *<Null safety>*
+
+<p>Heap based priority queue.</p>
+<p>The elements are kept in a heap structure,
+where the element with the highest priority is immediately accessible,
+and modifying a single element takes
+logarithmic time in the number of elements on average.</p>
+<ul>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/add.md">add</a> and <a href="../package-collection_collection/HeapPriorityQueue/removeFirst.md">removeFirst</a> operations take amortized logarithmic time,
+O(log(n)), but may occasionally take linear time when growing the capacity
+of the heap.</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/addAll.md">addAll</a> operation works as doing repeated <a href="../package-collection_collection/HeapPriorityQueue/add.md">add</a> operations.</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/first.md">first</a> getter takes constant time, O(1).</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/clear.md">clear</a> and <a href="../package-collection_collection/HeapPriorityQueue/removeAll.md">removeAll</a> methods also take constant time, O(1).</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/contains.md">contains</a> and <a href="../package-collection_collection/HeapPriorityQueue/remove.md">remove</a> operations may need to search the entire
+queue for the elements, taking O(n) time.</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/toList.md">toList</a> operation effectively sorts the elements, taking O(n*log(n))
+time.</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/toUnorderedList.md">toUnorderedList</a> operation copies, but does not sort, the elements,
+and is linear, O(n).</li>
+<li>The <a href="../package-collection_collection/HeapPriorityQueue/toSet.md">toSet</a> operation effectively adds each element to the new set, taking
+an expected O(n*log(n)) time.</li>
+</ul>
+
+
+**Implemented types**
+
+- [PriorityQueue](../package-collection_collection/PriorityQueue-class.md)&lt;E>
+
+
+
+
+
+## Constructors
+
+[HeapPriorityQueue](../package-collection_collection/HeapPriorityQueue/HeapPriorityQueue.md) ([int comparison(E, E)])
+
+Create a new priority queue. [...](../package-collection_collection/HeapPriorityQueue/HeapPriorityQueue.md)  
+ 
+
+
+## Properties
+
+##### [comparison](../package-collection_collection/HeapPriorityQueue/comparison.md) &#8594; Comparator&lt;E>
+
+The comparison being used to compare the priority of elements.   
+_final_
+
+##### [first](../package-collection_collection/HeapPriorityQueue/first.md) &#8594; E
+
+Returns the next element that will be returned by <a href="../package-collection_collection/HeapPriorityQueue/removeFirst.md">removeFirst</a>. [...](../package-collection_collection/HeapPriorityQueue/first.md)  
+_read-only, override_
+
+##### [hashCode](../package-collection_collection/PriorityQueue/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/PriorityQueue/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/HeapPriorityQueue/isEmpty.md) &#8594; bool
+
+Whether the queue is empty.   
+_read-only, override_
+
+##### [isNotEmpty](../package-collection_collection/HeapPriorityQueue/isNotEmpty.md) &#8594; bool
+
+Whether the queue has any elements.   
+_read-only, override_
+
+##### [length](../package-collection_collection/HeapPriorityQueue/length.md) &#8594; int
+
+Number of elements in the queue.   
+_read-only, override_
+
+##### [runtimeType](../package-collection_collection/PriorityQueue/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [unorderedElements](../package-collection_collection/HeapPriorityQueue/unorderedElements.md) &#8594; Iterable&lt;E>
+
+Provides efficient access to all the elements curently in the queue. [...](../package-collection_collection/HeapPriorityQueue/unorderedElements.md)  
+_read-only, override_
+
+
+## Methods
+
+##### [add](../package-collection_collection/HeapPriorityQueue/add.md)(E element) void
+
+Adds element to the queue. [...](../package-collection_collection/HeapPriorityQueue/add.md)  
+_override_
+
+##### [addAll](../package-collection_collection/HeapPriorityQueue/addAll.md)(Iterable&lt;E> elements) void
+
+Adds all <code>elements</code> to the queue.   
+_override_
+
+##### [clear](../package-collection_collection/HeapPriorityQueue/clear.md)() void
+
+Removes all the elements from this queue.   
+_override_
+
+##### [contains](../package-collection_collection/HeapPriorityQueue/contains.md)(E object) bool
+
+Checks if <code>object</code> is in the queue. [...](../package-collection_collection/HeapPriorityQueue/contains.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/PriorityQueue/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/PriorityQueue/noSuchMethod.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/HeapPriorityQueue/remove.md)(E element) bool
+
+Removes an element of the queue that compares equal to <code>element</code>. [...](../package-collection_collection/HeapPriorityQueue/remove.md)  
+_override_
+
+##### [removeAll](../package-collection_collection/HeapPriorityQueue/removeAll.md)() Iterable&lt;E>
+
+Removes all the elements from this queue and returns them. [...](../package-collection_collection/HeapPriorityQueue/removeAll.md)  
+_override_
+
+##### [removeFirst](../package-collection_collection/HeapPriorityQueue/removeFirst.md)() E
+
+Removes and returns the element with the highest priority. [...](../package-collection_collection/HeapPriorityQueue/removeFirst.md)  
+_override_
+
+##### [toList](../package-collection_collection/HeapPriorityQueue/toList.md)() List&lt;E>
+
+Returns a list of the elements of this queue in priority order. [...](../package-collection_collection/HeapPriorityQueue/toList.md)  
+_override_
+
+##### [toSet](../package-collection_collection/HeapPriorityQueue/toSet.md)() Set&lt;E>
+
+Return a comparator based set using the comparator of this queue. [...](../package-collection_collection/HeapPriorityQueue/toSet.md)  
+_override_
+
+##### [toString](../package-collection_collection/HeapPriorityQueue/toString.md)() String
+
+Returns some representation of the queue. [...](../package-collection_collection/HeapPriorityQueue/toString.md)  
+_override_
+
+##### [toUnorderedList](../package-collection_collection/HeapPriorityQueue/toUnorderedList.md)() List&lt;E>
+
+Returns a list of the elements of this queue in no specific order. [...](../package-collection_collection/HeapPriorityQueue/toUnorderedList.md)  
+_override_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/PriorityQueue/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/PriorityQueue/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/HeapPriorityQueue.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/HeapPriorityQueue.md
new file mode 100644
index 0000000..db3e642
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/HeapPriorityQueue.md
@@ -0,0 +1,25 @@
+
+# HeapPriorityQueue&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+HeapPriorityQueue&lt;E>([int comparison(E, E)])
+
+<p>Create a new priority queue.</p>
+<p>The <code>comparison</code> is a <code>Comparator</code> used to compare the priority of
+elements. An element that compares as less than another element has
+a higher priority.</p>
+<p>If <code>comparison</code> is omitted, it defaults to <code>Comparable.compare</code>. If this
+is the case, <code>E</code> must implement <code>Comparable</code>, and this is checked at
+runtime for every comparison.</p>
+
+## Implementation
+
+```dart
+HeapPriorityQueue([int Function(E, E)? comparison])
+    : comparison = comparison ?? defaultCompare;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/add.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/add.md
new file mode 100644
index 0000000..5fc13c2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/add.md
@@ -0,0 +1,26 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+void add
+(E element)
+_override_
+
+<p>Adds element to the queue.</p>
+<p>The element will become the next to be removed by <a href="../../package-collection_collection/HeapPriorityQueue/removeFirst.md">removeFirst</a>
+when all elements with higher priority have been removed.</p>
+
+## Implementation
+
+```dart
+@override
+void add(E element) {
+  _modificationCount++;
+  _add(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/addAll.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/addAll.md
new file mode 100644
index 0000000..f1e7b61
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/addAll.md
@@ -0,0 +1,28 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> elements)
+_override_
+
+<p>Adds all <code>elements</code> to the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> elements) {
+  var modified = 0;
+  for (var element in elements) {
+    modified = 1;
+    _add(element);
+  }
+  _modificationCount += modified;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/clear.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/clear.md
new file mode 100644
index 0000000..51efe41
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/clear.md
@@ -0,0 +1,25 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all the elements from this queue.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  _modificationCount++;
+  _queue = const [];
+  _length = 0;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/comparison.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/comparison.md
new file mode 100644
index 0000000..032ff12
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/comparison.md
@@ -0,0 +1,20 @@
+
+# comparison property
+
+    *<Null safety>*
+
+Comparator&lt;E> comparison
+  
+_final_
+
+<p>The comparison being used to compare the priority of elements.</p>
+
+## Implementation
+
+```dart
+final Comparator<E> comparison
+
+
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/contains.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/contains.md
new file mode 100644
index 0000000..6458539
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/contains.md
@@ -0,0 +1,29 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(E object)
+_override_
+
+<p>Checks if <code>object</code> is in the queue.</p>
+<p>Returns true if the element is found.</p>
+<p>Uses the <code>Object.==</code> of elements in the queue to check
+for whether they are equal to <code>object</code>.
+Equal objects objects must have the same priority
+according to the <a href="../../package-collection_collection/HeapPriorityQueue/comparison.md">comparison</a> function.
+That is, if <code>a == b</code> then <code>comparison(a, b) == 0</code>.
+If that is not the case, this check might fail to find
+an object.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(E object) => _locate(object) >= 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/first.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/first.md
new file mode 100644
index 0000000..3a08767
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/first.md
@@ -0,0 +1,25 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_override_
+
+<p>Returns the next element that will be returned by <a href="../../package-collection_collection/HeapPriorityQueue/removeFirst.md">removeFirst</a>.</p>
+<p>The element is not removed from the queue.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+@override
+E get first {
+  if (_length == 0) throw StateError('No element');
+  return _elementAt(0);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/isEmpty.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/isEmpty.md
new file mode 100644
index 0000000..766cc80
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/isEmpty.md
@@ -0,0 +1,20 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_override_
+
+<p>Whether the queue is empty.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _length == 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/isNotEmpty.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/isNotEmpty.md
new file mode 100644
index 0000000..f38b6a0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/isNotEmpty.md
@@ -0,0 +1,20 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_override_
+
+<p>Whether the queue has any elements.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _length != 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/length.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/length.md
new file mode 100644
index 0000000..07d12c0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/length.md
@@ -0,0 +1,20 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>Number of elements in the queue.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/remove.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/remove.md
new file mode 100644
index 0000000..80e5222
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/remove.md
@@ -0,0 +1,46 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(E element)
+_override_
+
+<p>Removes an element of the queue that compares equal to <code>element</code>.</p>
+<p>Returns true if an element is found and removed,
+and false if no equal element is found.</p>
+<p>If the queue contains more than one object equal to <code>element</code>,
+only one of them is removed.</p>
+<p>Uses the <code>Object.==</code> of elements in the queue to check
+for whether they are equal to <code>element</code>.
+Equal objects objects must have the same priority
+according to the <a href="../../package-collection_collection/HeapPriorityQueue/comparison.md">comparison</a> function.
+That is, if <code>a == b</code> then <code>comparison(a, b) == 0</code>.
+If that is not the case, this check might fail to find
+an object.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(E element) {
+  var index = _locate(element);
+  if (index < 0) return false;
+  _modificationCount++;
+  var last = _removeLast();
+  if (index < _length) {
+    var comp = comparison(last, element);
+    if (comp <= 0) {
+      _bubbleUp(last, index);
+    } else {
+      _bubbleDown(last, index);
+    }
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/removeAll.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/removeAll.md
new file mode 100644
index 0000000..f80a34c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/removeAll.md
@@ -0,0 +1,32 @@
+
+# removeAll method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> removeAll
+()
+_override_
+
+<p>Removes all the elements from this queue and returns them.</p>
+<p>The returned iterable has no specified order.
+The operation does not copy the elements,
+but instead keeps them in the existing heap structure,
+and iterates over that directly.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> removeAll() {
+  _modificationCount++;
+  var result = _queue;
+  var length = _length;
+  _queue = const [];
+  _length = 0;
+  return result.take(length).cast();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/removeFirst.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/removeFirst.md
new file mode 100644
index 0000000..ae0dcc6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/removeFirst.md
@@ -0,0 +1,34 @@
+
+# removeFirst method
+
+    *<Null safety>*
+
+- @override
+
+E removeFirst
+()
+_override_
+
+<p>Removes and returns the element with the highest priority.</p>
+<p>Repeatedly calling this method, without adding element in between,
+is guaranteed to return elements in non-decreasing order as, specified by
+<a href="../../package-collection_collection/HeapPriorityQueue/comparison.md">comparison</a>.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+@override
+E removeFirst() {
+  if (_length == 0) throw StateError('No element');
+  _modificationCount++;
+  var result = _elementAt(0);
+  var last = _removeLast();
+  if (_length > 0) {
+    _bubbleDown(last, 0);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/toList.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/toList.md
new file mode 100644
index 0000000..d018e31
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/toList.md
@@ -0,0 +1,24 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toList
+()
+_override_
+
+<p>Returns a list of the elements of this queue in priority order.</p>
+<p>The queue is not modified.</p>
+<p>The order is the order that the elements would be in if they were
+removed from this queue using <a href="../../package-collection_collection/HeapPriorityQueue/removeFirst.md">removeFirst</a>.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList() => _toUnorderedList()..sort(comparison);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/toSet.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/toSet.md
new file mode 100644
index 0000000..e53be9e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/toSet.md
@@ -0,0 +1,33 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+_override_
+
+<p>Return a comparator based set using the comparator of this queue.</p>
+<p>The queue is not modified.</p>
+<p>The returned <code>Set</code> is currently a <code>SplayTreeSet</code>,
+but this may change as other ordered sets are implemented.</p>
+<p>The set contains all the elements of this queue.
+If an element occurs more than once in the queue,
+the set will contain it only once.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() {
+  var set = SplayTreeSet<E>(comparison);
+  for (var i = 0; i < _length; i++) {
+    set.add(_elementAt(i));
+  }
+  return set;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/toString.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/toString.md
new file mode 100644
index 0000000..7b922a4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/toString.md
@@ -0,0 +1,24 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_override_
+
+<p>Returns some representation of the queue.</p>
+<p>The format isn't significant, and may change in the future.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() {
+  return _queue.take(_length).toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/toUnorderedList.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/toUnorderedList.md
new file mode 100644
index 0000000..54b6459
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/toUnorderedList.md
@@ -0,0 +1,24 @@
+
+# toUnorderedList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toUnorderedList
+()
+_override_
+
+<p>Returns a list of the elements of this queue in no specific order.</p>
+<p>The queue is not modified.</p>
+<p>The order of the elements is implementation specific.
+The order may differ between different calls on the same queue.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toUnorderedList() => _toUnorderedList();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/HeapPriorityQueue/unorderedElements.md b/sdk/dart/package-collection_collection/HeapPriorityQueue/unorderedElements.md
new file mode 100644
index 0000000..6a3cd33
--- /dev/null
+++ b/sdk/dart/package-collection_collection/HeapPriorityQueue/unorderedElements.md
@@ -0,0 +1,24 @@
+
+# unorderedElements property
+
+    *<Null safety>*
+
+
+Iterable&lt;E> unorderedElements
+  
+_override_
+
+<p>Provides efficient access to all the elements curently in the queue.</p>
+<p>The operation is performed in the order they occur
+in the underlying heap structure.</p>
+<p>The order is stable as long as the queue is not modified.
+The queue must not be modified during an iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> get unorderedElements => _UnorderedElementsIterable<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IdentityEquality-class.md b/sdk/dart/package-collection_collection/IdentityEquality-class.md
new file mode 100644
index 0000000..878631a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IdentityEquality-class.md
@@ -0,0 +1,76 @@
+
+# IdentityEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Equality of objects that compares only the identity of the objects.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;E>
+
+
+
+
+
+## Constructors
+
+[IdentityEquality](../package-collection_collection/IdentityEquality/IdentityEquality.md) ()
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/IdentityEquality/equals.md)(E e1, E e2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/IdentityEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/IdentityEquality/hash.md)(E e) int
+
+Get a hashcode of an element. [...](../package-collection_collection/IdentityEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/IdentityEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/IdentityEquality/equals.md">equals</a> and <a href="../package-collection_collection/IdentityEquality/hash.md">hash</a>. [...](../package-collection_collection/IdentityEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IdentityEquality/IdentityEquality.md b/sdk/dart/package-collection_collection/IdentityEquality/IdentityEquality.md
new file mode 100644
index 0000000..4bf5fcc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IdentityEquality/IdentityEquality.md
@@ -0,0 +1,17 @@
+
+# IdentityEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+IdentityEquality&lt;E>()
+
+
+## Implementation
+
+```dart
+const IdentityEquality();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IdentityEquality/equals.md b/sdk/dart/package-collection_collection/IdentityEquality/equals.md
new file mode 100644
index 0000000..c6659a4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IdentityEquality/equals.md
@@ -0,0 +1,22 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(E e1, E e2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(E e1, E e2) => identical(e1, e2);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IdentityEquality/hash.md b/sdk/dart/package-collection_collection/IdentityEquality/hash.md
new file mode 100644
index 0000000..1e6b01d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IdentityEquality/hash.md
@@ -0,0 +1,23 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(E e)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/IdentityEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(E e) => identityHashCode(e);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IdentityEquality/isValidKey.md b/sdk/dart/package-collection_collection/IdentityEquality/isValidKey.md
new file mode 100644
index 0000000..2b40fab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IdentityEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/IdentityEquality/equals.md">equals</a> and <a href="../../package-collection_collection/IdentityEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => true;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension.md b/sdk/dart/package-collection_collection/IterableComparableExtension.md
new file mode 100644
index 0000000..efbfeac
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension.md
@@ -0,0 +1,52 @@
+
+# IterableComparableExtension&lt;T extends Comparable&lt;T>> extension
+on Iterable&lt;T>
+
+
+    *<Null safety>*
+
+<p>Extensions that apply to iterables of <code>Comparable</code> elements.</p>
+<p>These operations can assume that the elements have a natural ordering,
+and can therefore omit, or make it optional, for the user to provide
+a <code>Comparator</code>.</p>
+
+## Properties
+
+##### [max](../package-collection_collection/IterableComparableExtension/max.md) &#8594; T
+
+A maximal element of the iterable. [...](../package-collection_collection/IterableComparableExtension/max.md)  
+_read-only_
+
+##### [maxOrNull](../package-collection_collection/IterableComparableExtension/maxOrNull.md) &#8594; T?
+
+A maximal element of the iterable, or <code>null</code> if the iterable is empty.   
+_read-only_
+
+##### [min](../package-collection_collection/IterableComparableExtension/min.md) &#8594; T
+
+A minimal element of the iterable. [...](../package-collection_collection/IterableComparableExtension/min.md)  
+_read-only_
+
+##### [minOrNull](../package-collection_collection/IterableComparableExtension/minOrNull.md) &#8594; T?
+
+A minimal element of the iterable, or <code>null</code> it the iterable is empty.   
+_read-only_
+
+
+## Methods
+
+##### [isSorted](../package-collection_collection/IterableComparableExtension/isSorted.md)([Comparator&lt;T>? compare]) bool
+
+Whether the elements are sorted by the <code>compare</code> ordering. [...](../package-collection_collection/IterableComparableExtension/isSorted.md)  
+
+
+##### [sorted](../package-collection_collection/IterableComparableExtension/sorted.md)([Comparator&lt;T>? compare]) List&lt;T>
+
+Creates a sorted list of the elements of the iterable. [...](../package-collection_collection/IterableComparableExtension/sorted.md)  
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension/isSorted.md b/sdk/dart/package-collection_collection/IterableComparableExtension/isSorted.md
new file mode 100644
index 0000000..db1a49b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension/isSorted.md
@@ -0,0 +1,34 @@
+
+# isSorted method
+
+    *<Null safety>*
+
+
+bool isSorted
+([Comparator&lt;T>? compare])
+
+
+<p>Whether the elements are sorted by the <code>compare</code> ordering.</p>
+<p>If <code>compare</code> is omitted, it defaults to comparing the
+elements using their natural <code>Comparable</code> ordering.</p>
+
+## Implementation
+
+```dart
+bool isSorted([Comparator<T>? compare]) {
+  if (compare != null) {
+    return IterableExtension(this).isSorted(compare);
+  }
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) return true;
+  var previousElement = iterator.current;
+  while (iterator.moveNext()) {
+    var element = iterator.current;
+    if (previousElement.compareTo(element) > 0) return false;
+    previousElement = element;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension/max.md b/sdk/dart/package-collection_collection/IterableComparableExtension/max.md
new file mode 100644
index 0000000..f55730b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension/max.md
@@ -0,0 +1,33 @@
+
+# max property
+
+    *<Null safety>*
+
+
+T max
+  
+
+
+<p>A maximal element of the iterable.</p>
+<p>The iterable must not be empty.</p>
+
+## Implementation
+
+```dart
+T get max {
+  var iterator = this.iterator;
+  if (iterator.moveNext()) {
+    var value = iterator.current;
+    while (iterator.moveNext()) {
+      var newValue = iterator.current;
+      if (value.compareTo(newValue) < 0) {
+        value = newValue;
+      }
+    }
+    return value;
+  }
+  throw StateError('No element');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension/maxOrNull.md b/sdk/dart/package-collection_collection/IterableComparableExtension/maxOrNull.md
new file mode 100644
index 0000000..36dd18a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension/maxOrNull.md
@@ -0,0 +1,32 @@
+
+# maxOrNull property
+
+    *<Null safety>*
+
+
+T? maxOrNull
+  
+
+
+<p>A maximal element of the iterable, or <code>null</code> if the iterable is empty.</p>
+
+## Implementation
+
+```dart
+T? get maxOrNull {
+  var iterator = this.iterator;
+  if (iterator.moveNext()) {
+    var value = iterator.current;
+    while (iterator.moveNext()) {
+      var newValue = iterator.current;
+      if (value.compareTo(newValue) < 0) {
+        value = newValue;
+      }
+    }
+    return value;
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension/min.md b/sdk/dart/package-collection_collection/IterableComparableExtension/min.md
new file mode 100644
index 0000000..2e6f8d8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension/min.md
@@ -0,0 +1,33 @@
+
+# min property
+
+    *<Null safety>*
+
+
+T min
+  
+
+
+<p>A minimal element of the iterable.</p>
+<p>The iterable must not be empty.</p>
+
+## Implementation
+
+```dart
+T get min {
+  var iterator = this.iterator;
+  if (iterator.moveNext()) {
+    var value = iterator.current;
+    while (iterator.moveNext()) {
+      var newValue = iterator.current;
+      if (value.compareTo(newValue) > 0) {
+        value = newValue;
+      }
+    }
+    return value;
+  }
+  throw StateError('No element');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension/minOrNull.md b/sdk/dart/package-collection_collection/IterableComparableExtension/minOrNull.md
new file mode 100644
index 0000000..9741177
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension/minOrNull.md
@@ -0,0 +1,32 @@
+
+# minOrNull property
+
+    *<Null safety>*
+
+
+T? minOrNull
+  
+
+
+<p>A minimal element of the iterable, or <code>null</code> it the iterable is empty.</p>
+
+## Implementation
+
+```dart
+T? get minOrNull {
+  var iterator = this.iterator;
+  if (iterator.moveNext()) {
+    var value = iterator.current;
+    while (iterator.moveNext()) {
+      var newValue = iterator.current;
+      if (value.compareTo(newValue) > 0) {
+        value = newValue;
+      }
+    }
+    return value;
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableComparableExtension/sorted.md b/sdk/dart/package-collection_collection/IterableComparableExtension/sorted.md
new file mode 100644
index 0000000..9ea6708
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableComparableExtension/sorted.md
@@ -0,0 +1,21 @@
+
+# sorted method
+
+    *<Null safety>*
+
+
+List&lt;T> sorted
+([Comparator&lt;T>? compare])
+
+
+<p>Creates a sorted list of the elements of the iterable.</p>
+<p>If the <code>compare</code> function is not supplied, the sorting uses the
+natural <code>Comparable</code> ordering of the elements.</p>
+
+## Implementation
+
+```dart
+List<T> sorted([Comparator<T>? compare]) => [...this]..sort(compare);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableDoubleExtension.md b/sdk/dart/package-collection_collection/IterableDoubleExtension.md
new file mode 100644
index 0000000..e47efe1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableDoubleExtension.md
@@ -0,0 +1,23 @@
+
+# IterableDoubleExtension extension
+on Iterable&lt;double>
+
+
+    *<Null safety>*
+
+<p>Extension on iterables of double.</p>
+<p>Specialized version of some extensions of <a href="../package-collection_collection/IterableNumberExtension.md">IterableNumberExtension</a>.</p>
+
+## Properties
+
+##### [sum](../package-collection_collection/IterableDoubleExtension/sum.md) &#8594; double
+
+The sum of the elements. [...](../package-collection_collection/IterableDoubleExtension/sum.md)  
+_read-only_
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableDoubleExtension/sum.md b/sdk/dart/package-collection_collection/IterableDoubleExtension/sum.md
new file mode 100644
index 0000000..5c15603
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableDoubleExtension/sum.md
@@ -0,0 +1,26 @@
+
+# sum property
+
+    *<Null safety>*
+
+
+double sum
+  
+
+
+<p>The sum of the elements.</p>
+<p>The sum is zero if the iterable is empty.</p>
+
+## Implementation
+
+```dart
+double get sum {
+  var result = 0.0;
+  for (var value in this) {
+    result += value;
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableEquality-class.md b/sdk/dart/package-collection_collection/IterableEquality-class.md
new file mode 100644
index 0000000..984ef49
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableEquality-class.md
@@ -0,0 +1,80 @@
+
+# IterableEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Equality on iterables.</p>
+<p>Two iterables are equal if they have the same elements in the same order.</p>
+<p>The <a href="../package-collection_collection/IterableEquality/equals.md">equals</a> and <a href="../package-collection_collection/IterableEquality/hash.md">hash</a> methods accepts <code>null</code> values,
+even if the <a href="../package-collection_collection/IterableEquality/isValidKey.md">isValidKey</a> returns <code>false</code> for <code>null</code>.
+The <a href="../package-collection_collection/IterableEquality/hash.md">hash</a> of <code>null</code> is <code>null.hashCode</code>.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;Iterable&lt;E>>
+
+
+
+
+
+## Constructors
+
+[IterableEquality](../package-collection_collection/IterableEquality/IterableEquality.md) ([[Equality](../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/IterableEquality/equals.md)(Iterable&lt;E>? elements1, Iterable&lt;E>? elements2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/IterableEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/IterableEquality/hash.md)(Iterable&lt;E>? elements) int
+
+Get a hashcode of an element. [...](../package-collection_collection/IterableEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/IterableEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/IterableEquality/equals.md">equals</a> and <a href="../package-collection_collection/IterableEquality/hash.md">hash</a>. [...](../package-collection_collection/IterableEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableEquality/IterableEquality.md b/sdk/dart/package-collection_collection/IterableEquality/IterableEquality.md
new file mode 100644
index 0000000..4d58dab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableEquality/IterableEquality.md
@@ -0,0 +1,19 @@
+
+# IterableEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+IterableEquality&lt;E>([[Equality](../../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+
+## Implementation
+
+```dart
+const IterableEquality(
+    [Equality<E> elementEquality = const DefaultEquality<Never>()])
+    : _elementEquality = elementEquality;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableEquality/equals.md b/sdk/dart/package-collection_collection/IterableEquality/equals.md
new file mode 100644
index 0000000..5e82fb4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableEquality/equals.md
@@ -0,0 +1,33 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(Iterable&lt;E>? elements1, Iterable&lt;E>? elements2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(Iterable<E>? elements1, Iterable<E>? elements2) {
+  if (identical(elements1, elements2)) return true;
+  if (elements1 == null || elements2 == null) return false;
+  var it1 = elements1.iterator;
+  var it2 = elements2.iterator;
+  while (true) {
+    var hasNext = it1.moveNext();
+    if (hasNext != it2.moveNext()) return false;
+    if (!hasNext) return true;
+    if (!_elementEquality.equals(it1.current, it2.current)) return false;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableEquality/hash.md b/sdk/dart/package-collection_collection/IterableEquality/hash.md
new file mode 100644
index 0000000..04455a4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableEquality/hash.md
@@ -0,0 +1,37 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(Iterable&lt;E>? elements)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/IterableEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(Iterable<E>? elements) {
+  if (elements == null) return null.hashCode;
+  // Jenkins's one-at-a-time hash function.
+  var hash = 0;
+  for (var element in elements) {
+    var c = _elementEquality.hash(element);
+    hash = (hash + c) & _HASH_MASK;
+    hash = (hash + (hash << 10)) & _HASH_MASK;
+    hash ^= (hash >> 6);
+  }
+  hash = (hash + (hash << 3)) & _HASH_MASK;
+  hash ^= (hash >> 11);
+  hash = (hash + (hash << 15)) & _HASH_MASK;
+  return hash;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableEquality/isValidKey.md b/sdk/dart/package-collection_collection/IterableEquality/isValidKey.md
new file mode 100644
index 0000000..a5098dd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/IterableEquality/equals.md">equals</a> and <a href="../../package-collection_collection/IterableEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => o is Iterable<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension.md b/sdk/dart/package-collection_collection/IterableExtension.md
new file mode 100644
index 0000000..45ab2ab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension.md
@@ -0,0 +1,205 @@
+
+# IterableExtension&lt;T> extension
+on Iterable&lt;T>
+
+
+    *<Null safety>*
+
+<p>Extensions that apply to all iterables.</p>
+<p>These extensions provide direct access to some of the
+algorithms expose by this package,
+as well as some generally useful convenience methods.</p>
+<p>More specialized extension methods that only apply to
+iterables with specific element types include those of
+<a href="../package-collection_collection/IterableComparableExtension.md">IterableComparableExtension</a> and <a href="../package-collection_collection/IterableNullableExtension.md">IterableNullableExtension</a>.</p>
+
+## Properties
+
+##### [firstOrNull](../package-collection_collection/IterableExtension/firstOrNull.md) &#8594; T?
+
+The first element, or <code>null</code> if the iterable is empty.   
+_read-only_
+
+##### [lastOrNull](../package-collection_collection/IterableExtension/lastOrNull.md) &#8594; T?
+
+The last element, or <code>null</code> if the iterable is empty.   
+_read-only_
+
+##### [singleOrNull](../package-collection_collection/IterableExtension/singleOrNull.md) &#8594; T?
+
+The single element of the iterable, or <code>null</code>. [...](../package-collection_collection/IterableExtension/singleOrNull.md)  
+_read-only_
+
+
+## Methods
+
+##### [expandIndexed](../package-collection_collection/IterableExtension/expandIndexed.md)&lt;R>(Iterable&lt;R> expend(int index, T element)) Iterable&lt;R>
+
+Expands each element and index to a number of elements in a new iterable.   
+
+
+##### [firstWhereIndexedOrNull](../package-collection_collection/IterableExtension/firstWhereIndexedOrNull.md)(bool test(int index, T element)) T?
+
+The first element whose value and index satisfies <code>test</code>. [...](../package-collection_collection/IterableExtension/firstWhereIndexedOrNull.md)  
+
+
+##### [firstWhereOrNull](../package-collection_collection/IterableExtension/firstWhereOrNull.md)(bool test(T element)) T?
+
+The first element satisfying <code>test</code>, or <code>null</code> if there are none.   
+
+
+##### [foldIndexed](../package-collection_collection/IterableExtension/foldIndexed.md)&lt;R>(R initialValue, R combine(int index, R previous, T element)) R
+
+Combine the elements with a value and the current index. [...](../package-collection_collection/IterableExtension/foldIndexed.md)  
+
+
+##### [forEachIndexed](../package-collection_collection/IterableExtension/forEachIndexed.md)(void action(int index, T element)) void
+
+Takes an action for each element. [...](../package-collection_collection/IterableExtension/forEachIndexed.md)  
+
+
+##### [forEachIndexedWhile](../package-collection_collection/IterableExtension/forEachIndexedWhile.md)(bool action(int index, T element)) void
+
+Takes an action for each element and index as long as desired. [...](../package-collection_collection/IterableExtension/forEachIndexedWhile.md)  
+
+
+##### [forEachWhile](../package-collection_collection/IterableExtension/forEachWhile.md)(bool action(T element)) void
+
+Takes an action for each element as long as desired. [...](../package-collection_collection/IterableExtension/forEachWhile.md)  
+
+
+##### [groupFoldBy](../package-collection_collection/IterableExtension/groupFoldBy.md)&lt;K, G>(K keyOf(T element), G combine(G? previous, T element)) Map&lt;K, G>
+
+Groups elements by <code>keyOf</code> then folds the elements in each group. [...](../package-collection_collection/IterableExtension/groupFoldBy.md)  
+
+
+##### [groupListsBy](../package-collection_collection/IterableExtension/groupListsBy.md)&lt;K>(K keyOf(T element)) Map&lt;K, List&lt;T>>
+
+Groups elements into lists by <code>keyOf</code>.   
+
+
+##### [groupSetsBy](../package-collection_collection/IterableExtension/groupSetsBy.md)&lt;K>(K keyOf(T element)) Map&lt;K, Set&lt;T>>
+
+Groups elements into sets by <code>keyOf</code>.   
+
+
+##### [isSorted](../package-collection_collection/IterableExtension/isSorted.md)(Comparator&lt;T> compare) bool
+
+Whether the elements are sorted by the <code>compare</code> ordering. [...](../package-collection_collection/IterableExtension/isSorted.md)  
+
+
+##### [isSortedBy](../package-collection_collection/IterableExtension/isSortedBy.md)&lt;K extends Comparable&lt;K>>(K keyOf(T element)) bool
+
+Whether the elements are sorted by their <code>keyOf</code> property. [...](../package-collection_collection/IterableExtension/isSortedBy.md)  
+
+
+##### [isSortedByCompare](../package-collection_collection/IterableExtension/isSortedByCompare.md)&lt;K>(K keyOf(T element), Comparator&lt;K> compare) bool
+
+Whether the elements are <code>compare</code>-sorted by their <code>keyOf</code> property. [...](../package-collection_collection/IterableExtension/isSortedByCompare.md)  
+
+
+##### [lastWhereIndexedOrNull](../package-collection_collection/IterableExtension/lastWhereIndexedOrNull.md)(bool test(int index, T element)) T?
+
+The last element whose index and value satisfies <code>test</code>. [...](../package-collection_collection/IterableExtension/lastWhereIndexedOrNull.md)  
+
+
+##### [lastWhereOrNull](../package-collection_collection/IterableExtension/lastWhereOrNull.md)(bool test(T element)) T?
+
+The last element satisfying <code>test</code>, or <code>null</code> if there are none.   
+
+
+##### [mapIndexed](../package-collection_collection/IterableExtension/mapIndexed.md)&lt;R>(R convert(int index, T element)) Iterable&lt;R>
+
+Maps each element and its index to a new value.   
+
+
+##### [none](../package-collection_collection/IterableExtension/none.md)(bool test(T)) bool
+
+Whether no element satisfies <code>test</code>. [...](../package-collection_collection/IterableExtension/none.md)  
+
+
+##### [reduceIndexed](../package-collection_collection/IterableExtension/reduceIndexed.md)(T combine(int index, T previous, T element)) T
+
+Combine the elements with each other and the current index. [...](../package-collection_collection/IterableExtension/reduceIndexed.md)  
+
+
+##### [sample](../package-collection_collection/IterableExtension/sample.md)(int count, [Random? random]) List&lt;T>
+
+Selects <code>count</code> elements at random from this iterable. [...](../package-collection_collection/IterableExtension/sample.md)  
+
+
+##### [singleWhereIndexedOrNull](../package-collection_collection/IterableExtension/singleWhereIndexedOrNull.md)(bool test(int index, T element)) T?
+
+The single element satisfying <code>test</code>. [...](../package-collection_collection/IterableExtension/singleWhereIndexedOrNull.md)  
+
+
+##### [singleWhereOrNull](../package-collection_collection/IterableExtension/singleWhereOrNull.md)(bool test(T element)) T?
+
+The single element satisfying <code>test</code>. [...](../package-collection_collection/IterableExtension/singleWhereOrNull.md)  
+
+
+##### [sorted](../package-collection_collection/IterableExtension/sorted.md)(Comparator&lt;T> compare) List&lt;T>
+
+Creates a sorted list of the elements of the iterable. [...](../package-collection_collection/IterableExtension/sorted.md)  
+
+
+##### [sortedBy](../package-collection_collection/IterableExtension/sortedBy.md)&lt;K extends Comparable&lt;K>>(K keyOf(T element)) List&lt;T>
+
+Creates a sorted list of the elements of the iterable. [...](../package-collection_collection/IterableExtension/sortedBy.md)  
+
+
+##### [sortedByCompare](../package-collection_collection/IterableExtension/sortedByCompare.md)&lt;K>(K keyOf(T element), Comparator&lt;K> compare) List&lt;T>
+
+Creates a sorted list of the elements of the iterable. [...](../package-collection_collection/IterableExtension/sortedByCompare.md)  
+
+
+##### [splitAfter](../package-collection_collection/IterableExtension/splitAfter.md)(bool test(T element)) Iterable&lt;List&lt;T>>
+
+Splits the elements into chunks before some elements. [...](../package-collection_collection/IterableExtension/splitAfter.md)  
+
+
+##### [splitAfterIndexed](../package-collection_collection/IterableExtension/splitAfterIndexed.md)(bool test(int index, T element)) Iterable&lt;List&lt;T>>
+
+Splits the elements into chunks after some elements and indices. [...](../package-collection_collection/IterableExtension/splitAfterIndexed.md)  
+
+
+##### [splitBefore](../package-collection_collection/IterableExtension/splitBefore.md)(bool test(T element)) Iterable&lt;List&lt;T>>
+
+Splits the elements into chunks before some elements. [...](../package-collection_collection/IterableExtension/splitBefore.md)  
+
+
+##### [splitBeforeIndexed](../package-collection_collection/IterableExtension/splitBeforeIndexed.md)(bool test(int index, T element)) Iterable&lt;List&lt;T>>
+
+Splits the elements into chunks before some elements and indices. [...](../package-collection_collection/IterableExtension/splitBeforeIndexed.md)  
+
+
+##### [splitBetween](../package-collection_collection/IterableExtension/splitBetween.md)(bool test(T first, T second)) Iterable&lt;List&lt;T>>
+
+Splits the elements into chunks between some elements. [...](../package-collection_collection/IterableExtension/splitBetween.md)  
+
+
+##### [splitBetweenIndexed](../package-collection_collection/IterableExtension/splitBetweenIndexed.md)(bool test(int index, T first, T second)) Iterable&lt;List&lt;T>>
+
+Splits the elements into chunks between some elements and indices. [...](../package-collection_collection/IterableExtension/splitBetweenIndexed.md)  
+
+
+##### [whereIndexed](../package-collection_collection/IterableExtension/whereIndexed.md)(bool test(int index, T element)) Iterable&lt;T>
+
+The elements whose value and index satisfies <code>test</code>.   
+
+
+##### [whereNot](../package-collection_collection/IterableExtension/whereNot.md)(bool test(T element)) Iterable&lt;T>
+
+The elements that do not satisfy <code>test</code>.   
+
+
+##### [whereNotIndexed](../package-collection_collection/IterableExtension/whereNotIndexed.md)(bool test(int index, T element)) Iterable&lt;T>
+
+The elements whose value and index do not satisfy <code>test</code>.   
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/expandIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/expandIndexed.md
new file mode 100644
index 0000000..0e6bcaf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/expandIndexed.md
@@ -0,0 +1,25 @@
+
+# expandIndexed&lt;R> method
+
+    *<Null safety>*
+
+
+Iterable&lt;R> expandIndexed
+&lt;R>(Iterable&lt;R> expend(int index, T element))
+
+
+<p>Expands each element and index to a number of elements in a new iterable.</p>
+
+## Implementation
+
+```dart
+Iterable<R> expandIndexed<R>(
+    Iterable<R> Function(int index, T element) expend) sync* {
+  var index = 0;
+  for (var element in this) {
+    yield* expend(index++, element);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/firstOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/firstOrNull.md
new file mode 100644
index 0000000..51864b7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/firstOrNull.md
@@ -0,0 +1,23 @@
+
+# firstOrNull property
+
+    *<Null safety>*
+
+
+T? firstOrNull
+  
+
+
+<p>The first element, or <code>null</code> if the iterable is empty.</p>
+
+## Implementation
+
+```dart
+T? get firstOrNull {
+  var iterator = this.iterator;
+  if (iterator.moveNext()) return iterator.current;
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/firstWhereIndexedOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/firstWhereIndexedOrNull.md
new file mode 100644
index 0000000..273c99e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/firstWhereIndexedOrNull.md
@@ -0,0 +1,26 @@
+
+# firstWhereIndexedOrNull method
+
+    *<Null safety>*
+
+
+T? firstWhereIndexedOrNull
+(bool test(int index, T element))
+
+
+<p>The first element whose value and index satisfies <code>test</code>.</p>
+<p>Returns <code>null</code> if there are no element and index satisfying <code>test</code>.</p>
+
+## Implementation
+
+```dart
+T? firstWhereIndexedOrNull(bool Function(int index, T element) test) {
+  var index = 0;
+  for (var element in this) {
+    if (test(index++, element)) return element;
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/firstWhereOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/firstWhereOrNull.md
new file mode 100644
index 0000000..bb13c6d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/firstWhereOrNull.md
@@ -0,0 +1,24 @@
+
+# firstWhereOrNull method
+
+    *<Null safety>*
+
+
+T? firstWhereOrNull
+(bool test(T element))
+
+
+<p>The first element satisfying <code>test</code>, or <code>null</code> if there are none.</p>
+
+## Implementation
+
+```dart
+T? firstWhereOrNull(bool Function(T element) test) {
+  for (var element in this) {
+    if (test(element)) return element;
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/foldIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/foldIndexed.md
new file mode 100644
index 0000000..59497f1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/foldIndexed.md
@@ -0,0 +1,32 @@
+
+# foldIndexed&lt;R> method
+
+    *<Null safety>*
+
+
+R foldIndexed
+&lt;R>(R initialValue, R combine(int index, R previous, T element))
+
+
+<p>Combine the elements with a value and the current index.</p>
+<p>Calls <code>combine</code> for each element with the current index,
+the result of the previous call, or <code>initialValue</code> for the first element,
+and the current element.</p>
+<p>Returns the result of the last call to <code>combine</code>,
+or <code>initialValue</code> if there are no elements.</p>
+
+## Implementation
+
+```dart
+R foldIndexed<R>(
+    R initialValue, R Function(int index, R previous, T element) combine) {
+  var result = initialValue;
+  var index = 0;
+  for (var element in this) {
+    result = combine(index++, result, element);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/forEachIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/forEachIndexed.md
new file mode 100644
index 0000000..24d9cda
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/forEachIndexed.md
@@ -0,0 +1,26 @@
+
+# forEachIndexed method
+
+    *<Null safety>*
+
+
+void forEachIndexed
+(void action(int index, T element))
+
+
+<p>Takes an action for each element.</p>
+<p>Calls <code>action</code> for each element along with the index in the
+iteration order.</p>
+
+## Implementation
+
+```dart
+void forEachIndexed(void Function(int index, T element) action) {
+  var index = 0;
+  for (var element in this) {
+    action(index++, element);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/forEachIndexedWhile.md b/sdk/dart/package-collection_collection/IterableExtension/forEachIndexedWhile.md
new file mode 100644
index 0000000..4d78506
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/forEachIndexedWhile.md
@@ -0,0 +1,27 @@
+
+# forEachIndexedWhile method
+
+    *<Null safety>*
+
+
+void forEachIndexedWhile
+(bool action(int index, T element))
+
+
+<p>Takes an action for each element and index as long as desired.</p>
+<p>Calls <code>action</code> for each element along with the index in the
+iteration order.
+Stops iteration if <code>action</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+void forEachIndexedWhile(bool Function(int index, T element) action) {
+  var index = 0;
+  for (var element in this) {
+    if (!action(index++, element)) break;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/forEachWhile.md b/sdk/dart/package-collection_collection/IterableExtension/forEachWhile.md
new file mode 100644
index 0000000..5dc30ec
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/forEachWhile.md
@@ -0,0 +1,25 @@
+
+# forEachWhile method
+
+    *<Null safety>*
+
+
+void forEachWhile
+(bool action(T element))
+
+
+<p>Takes an action for each element as long as desired.</p>
+<p>Calls <code>action</code> for each element.
+Stops iteration if <code>action</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+void forEachWhile(bool Function(T element) action) {
+  for (var element in this) {
+    if (!action(element)) break;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/groupFoldBy.md b/sdk/dart/package-collection_collection/IterableExtension/groupFoldBy.md
new file mode 100644
index 0000000..f747a6d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/groupFoldBy.md
@@ -0,0 +1,36 @@
+
+# groupFoldBy&lt;K, G> method
+
+    *<Null safety>*
+
+
+Map&lt;K, G> groupFoldBy
+&lt;K, G>(K keyOf(T element), G combine(G? previous, T element))
+
+
+<p>Groups elements by <code>keyOf</code> then folds the elements in each group.</p>
+<p>A key is found for each element using <code>keyOf</code>.
+Then the elements with the same key are all folded using <code>combine</code>.
+The first call to <code>combine</code> for a particular key receives <code>null</code> as
+the previous value, the remaining ones receive the result of the previous call.</p>
+<p>Can be used to <em>group</em> elements into arbitrary collections.
+For example <code>groupSetsBy</code> could be written as:</p>
+<pre class="language-dart"><code class="language-dart">iterable.groupFoldBy(keyOf,
+    (Set&lt;T&gt;? previous, T element) =&gt; (previous ?? &lt;T&gt;{})..add(element));
+</code></pre>
+
+## Implementation
+
+```dart
+Map<K, G> groupFoldBy<K, G>(
+    K Function(T element) keyOf, G Function(G? previous, T element) combine) {
+  var result = <K, G>{};
+  for (var element in this) {
+    var key = keyOf(element);
+    result[key] = combine(result[key], element);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/groupListsBy.md b/sdk/dart/package-collection_collection/IterableExtension/groupListsBy.md
new file mode 100644
index 0000000..0000fdb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/groupListsBy.md
@@ -0,0 +1,25 @@
+
+# groupListsBy&lt;K> method
+
+    *<Null safety>*
+
+
+Map&lt;K, List&lt;T>> groupListsBy
+&lt;K>(K keyOf(T element))
+
+
+<p>Groups elements into lists by <code>keyOf</code>.</p>
+
+## Implementation
+
+```dart
+Map<K, List<T>> groupListsBy<K>(K Function(T element) keyOf) {
+  var result = <K, List<T>>{};
+  for (var element in this) {
+    (result[keyOf(element)] ??= [])..add(element);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/groupSetsBy.md b/sdk/dart/package-collection_collection/IterableExtension/groupSetsBy.md
new file mode 100644
index 0000000..6157d7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/groupSetsBy.md
@@ -0,0 +1,25 @@
+
+# groupSetsBy&lt;K> method
+
+    *<Null safety>*
+
+
+Map&lt;K, Set&lt;T>> groupSetsBy
+&lt;K>(K keyOf(T element))
+
+
+<p>Groups elements into sets by <code>keyOf</code>.</p>
+
+## Implementation
+
+```dart
+Map<K, Set<T>> groupSetsBy<K>(K Function(T element) keyOf) {
+  var result = <K, Set<T>>{};
+  for (var element in this) {
+    (result[keyOf(element)] ??= <T>{})..add(element);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/isSorted.md b/sdk/dart/package-collection_collection/IterableExtension/isSorted.md
new file mode 100644
index 0000000..c0c5158
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/isSorted.md
@@ -0,0 +1,34 @@
+
+# isSorted method
+
+    *<Null safety>*
+
+
+bool isSorted
+(Comparator&lt;T> compare)
+
+
+<p>Whether the elements are sorted by the <code>compare</code> ordering.</p>
+<p>Compares pairs of elements using <code>compare</code> to check that
+the elements of this iterable to check
+that earlier elements always compare
+smaller than or equal to later elements.</p>
+<p>An single-element or empty iterable is trivially in sorted order.</p>
+
+## Implementation
+
+```dart
+bool isSorted(Comparator<T> compare) {
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) return true;
+  var previousElement = iterator.current;
+  while (iterator.moveNext()) {
+    var element = iterator.current;
+    if (compare(previousElement, element) > 0) return false;
+    previousElement = element;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/isSortedBy.md b/sdk/dart/package-collection_collection/IterableExtension/isSortedBy.md
new file mode 100644
index 0000000..4e6969b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/isSortedBy.md
@@ -0,0 +1,31 @@
+
+# isSortedBy&lt;K extends Comparable&lt;K>> method
+
+    *<Null safety>*
+
+
+bool isSortedBy
+&lt;K extends Comparable&lt;K>>(K keyOf(T element))
+
+
+<p>Whether the elements are sorted by their <code>keyOf</code> property.</p>
+<p>Applies <code>keyOf</code> to each element in iteration order,
+then checks whether the results are in non-decreasing <code>Comparable</code> order.</p>
+
+## Implementation
+
+```dart
+bool isSortedBy<K extends Comparable<K>>(K Function(T element) keyOf) {
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) return true;
+  var previousKey = keyOf(iterator.current);
+  while (iterator.moveNext()) {
+    var key = keyOf(iterator.current);
+    if (previousKey.compareTo(key) > 0) return false;
+    previousKey = key;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/isSortedByCompare.md b/sdk/dart/package-collection_collection/IterableExtension/isSortedByCompare.md
new file mode 100644
index 0000000..f189bcd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/isSortedByCompare.md
@@ -0,0 +1,33 @@
+
+# isSortedByCompare&lt;K> method
+
+    *<Null safety>*
+
+
+bool isSortedByCompare
+&lt;K>(K keyOf(T element), Comparator&lt;K> compare)
+
+
+<p>Whether the elements are <code>compare</code>-sorted by their <code>keyOf</code> property.</p>
+<p>Applies <code>keyOf</code> to each element in iteration order,
+then checks whether the results are in non-decreasing order
+using the <code>compare</code> <code>Comparator</code>..</p>
+
+## Implementation
+
+```dart
+bool isSortedByCompare<K>(
+    K Function(T element) keyOf, Comparator<K> compare) {
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) return true;
+  var previousKey = keyOf(iterator.current);
+  while (iterator.moveNext()) {
+    var key = keyOf(iterator.current);
+    if (compare(previousKey, key) > 0) return false;
+    previousKey = key;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/lastOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/lastOrNull.md
new file mode 100644
index 0000000..ccfd0e7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/lastOrNull.md
@@ -0,0 +1,22 @@
+
+# lastOrNull property
+
+    *<Null safety>*
+
+
+T? lastOrNull
+  
+
+
+<p>The last element, or <code>null</code> if the iterable is empty.</p>
+
+## Implementation
+
+```dart
+T? get lastOrNull {
+  if (isEmpty) return null;
+  return last;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/lastWhereIndexedOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/lastWhereIndexedOrNull.md
new file mode 100644
index 0000000..e2ecf4b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/lastWhereIndexedOrNull.md
@@ -0,0 +1,27 @@
+
+# lastWhereIndexedOrNull method
+
+    *<Null safety>*
+
+
+T? lastWhereIndexedOrNull
+(bool test(int index, T element))
+
+
+<p>The last element whose index and value satisfies <code>test</code>.</p>
+<p>Returns <code>null</code> if no element and index satisfies <code>test</code>.</p>
+
+## Implementation
+
+```dart
+T? lastWhereIndexedOrNull(bool Function(int index, T element) test) {
+  T? result;
+  var index = 0;
+  for (var element in this) {
+    if (test(index++, element)) result = element;
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/lastWhereOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/lastWhereOrNull.md
new file mode 100644
index 0000000..a915189
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/lastWhereOrNull.md
@@ -0,0 +1,25 @@
+
+# lastWhereOrNull method
+
+    *<Null safety>*
+
+
+T? lastWhereOrNull
+(bool test(T element))
+
+
+<p>The last element satisfying <code>test</code>, or <code>null</code> if there are none.</p>
+
+## Implementation
+
+```dart
+T? lastWhereOrNull(bool Function(T element) test) {
+  T? result;
+  for (var element in this) {
+    if (test(element)) result = element;
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/mapIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/mapIndexed.md
new file mode 100644
index 0000000..2458deb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/mapIndexed.md
@@ -0,0 +1,24 @@
+
+# mapIndexed&lt;R> method
+
+    *<Null safety>*
+
+
+Iterable&lt;R> mapIndexed
+&lt;R>(R convert(int index, T element))
+
+
+<p>Maps each element and its index to a new value.</p>
+
+## Implementation
+
+```dart
+Iterable<R> mapIndexed<R>(R Function(int index, T element) convert) sync* {
+  var index = 0;
+  for (var element in this) {
+    yield convert(index++, element);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/none.md b/sdk/dart/package-collection_collection/IterableExtension/none.md
new file mode 100644
index 0000000..8dda138
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/none.md
@@ -0,0 +1,28 @@
+
+# none method
+
+    *<Null safety>*
+
+
+bool none
+(bool test(T))
+
+
+<p>Whether no element satisfies <code>test</code>.</p>
+<p>Returns true if no element satisfies <code>test</code>,
+and false if at least one does.</p>
+<p>Equivalent to <code>iterable.every((x) =&gt; !test(x))</code> or
+<code>!iterable.any(test)</code>.</p>
+
+## Implementation
+
+```dart
+bool none(bool Function(T) test) {
+  for (var element in this) {
+    if (test(element)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/reduceIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/reduceIndexed.md
new file mode 100644
index 0000000..cb06636
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/reduceIndexed.md
@@ -0,0 +1,37 @@
+
+# reduceIndexed method
+
+    *<Null safety>*
+
+
+T reduceIndexed
+(T combine(int index, T previous, T element))
+
+
+<p>Combine the elements with each other and the current index.</p>
+<p>Calls <code>combine</code> for each element except the first.
+The call passes the index of the current element, the result of the
+previous call, or the first element for the first call, and
+the current element.</p>
+<p>Returns the result of the last call, or the first element if
+there is only one element.
+There must be at least one element.</p>
+
+## Implementation
+
+```dart
+T reduceIndexed(T Function(int index, T previous, T element) combine) {
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    throw StateError('no elements');
+  }
+  var index = 1;
+  var result = iterator.current;
+  while (iterator.moveNext()) {
+    result = combine(index++, result, iterator.current);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/sample.md b/sdk/dart/package-collection_collection/IterableExtension/sample.md
new file mode 100644
index 0000000..c0497a3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/sample.md
@@ -0,0 +1,45 @@
+
+# sample method
+
+    *<Null safety>*
+
+
+List&lt;T> sample
+(int count, [Random? random])
+
+
+<p>Selects <code>count</code> elements at random from this iterable.</p>
+<p>The returned list contains <code>count</code> different elements of the iterable.
+If the iterable contains fewer that <code>count</code> elements,
+the result will contain all of them, but will be shorter than <code>count</code>.
+If the same value occurs more than once in the iterable,
+it can also occur more than once in the chosen elements.</p>
+<p>Each element of the iterable has the same chance of being chosen.
+The chosen elements are not in any specific order.</p>
+
+## Implementation
+
+```dart
+List<T> sample(int count, [Random? random]) {
+  RangeError.checkNotNegative(count, 'count');
+  var iterator = this.iterator;
+  var chosen = <T>[];
+  for (var i = 0; i < count; i++) {
+    if (iterator.moveNext()) {
+      chosen.add(iterator.current);
+    } else {
+      return chosen;
+    }
+  }
+  var index = count;
+  random ??= Random();
+  while (iterator.moveNext()) {
+    index++;
+    var position = random.nextInt(index);
+    if (position < count) chosen[position] = iterator.current;
+  }
+  return chosen;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/singleOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/singleOrNull.md
new file mode 100644
index 0000000..8d50663
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/singleOrNull.md
@@ -0,0 +1,30 @@
+
+# singleOrNull property
+
+    *<Null safety>*
+
+
+T? singleOrNull
+  
+
+
+<p>The single element of the iterable, or <code>null</code>.</p>
+<p>The value is <code>null</code> if the iterable is empty
+or it contains more than one element.</p>
+
+## Implementation
+
+```dart
+T? get singleOrNull {
+  var iterator = this.iterator;
+  if (iterator.moveNext()) {
+    var result = iterator.current;
+    if (!iterator.moveNext()) {
+      return result;
+    }
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/singleWhereIndexedOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/singleWhereIndexedOrNull.md
new file mode 100644
index 0000000..af999a1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/singleWhereIndexedOrNull.md
@@ -0,0 +1,36 @@
+
+# singleWhereIndexedOrNull method
+
+    *<Null safety>*
+
+
+T? singleWhereIndexedOrNull
+(bool test(int index, T element))
+
+
+<p>The single element satisfying <code>test</code>.</p>
+<p>Returns <code>null</code> if there are either none
+or more than one element and index satisfying <code>test</code>.</p>
+
+## Implementation
+
+```dart
+T? singleWhereIndexedOrNull(bool Function(int index, T element) test) {
+  T? result;
+  var found = false;
+  var index = 0;
+  for (var element in this) {
+    if (test(index++, element)) {
+      if (!found) {
+        result = element;
+        found = true;
+      } else {
+        return null;
+      }
+    }
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/singleWhereOrNull.md b/sdk/dart/package-collection_collection/IterableExtension/singleWhereOrNull.md
new file mode 100644
index 0000000..4e2c1d2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/singleWhereOrNull.md
@@ -0,0 +1,38 @@
+
+# singleWhereOrNull method
+
+    *<Null safety>*
+
+
+T? singleWhereOrNull
+(bool test(T element))
+
+
+<p>The single element satisfying <code>test</code>.</p>
+<p>Returns <code>null</code> if there are either no elements
+or more than one element satisfying <code>test</code>.</p>
+<p><strong>Notice</strong>: This behavior differs from <code>Iterable.singleWhere</code>
+which always throws if there are more than one match,
+and only calls the <code>orElse</code> function on zero matchs.</p>
+
+## Implementation
+
+```dart
+T? singleWhereOrNull(bool Function(T element) test) {
+  T? result;
+  var found = false;
+  for (var element in this) {
+    if (test(element)) {
+      if (!found) {
+        result = element;
+        found = true;
+      } else {
+        return null;
+      }
+    }
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/sorted.md b/sdk/dart/package-collection_collection/IterableExtension/sorted.md
new file mode 100644
index 0000000..453bf82
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/sorted.md
@@ -0,0 +1,20 @@
+
+# sorted method
+
+    *<Null safety>*
+
+
+List&lt;T> sorted
+(Comparator&lt;T> compare)
+
+
+<p>Creates a sorted list of the elements of the iterable.</p>
+<p>The elements are ordered by the <code>compare</code> <code>Comparator</code>.</p>
+
+## Implementation
+
+```dart
+List<T> sorted(Comparator<T> compare) => [...this]..sort(compare);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/sortedBy.md b/sdk/dart/package-collection_collection/IterableExtension/sortedBy.md
new file mode 100644
index 0000000..5aef5a8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/sortedBy.md
@@ -0,0 +1,25 @@
+
+# sortedBy&lt;K extends Comparable&lt;K>> method
+
+    *<Null safety>*
+
+
+List&lt;T> sortedBy
+&lt;K extends Comparable&lt;K>>(K keyOf(T element))
+
+
+<p>Creates a sorted list of the elements of the iterable.</p>
+<p>The elements are ordered by the natural ordering of the
+property <code>keyOf</code> of the element.</p>
+
+## Implementation
+
+```dart
+List<T> sortedBy<K extends Comparable<K>>(K Function(T element) keyOf) {
+  var elements = [...this];
+  quickSortBy<T, K>(elements, keyOf, compareComparable);
+  return elements;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/sortedByCompare.md b/sdk/dart/package-collection_collection/IterableExtension/sortedByCompare.md
new file mode 100644
index 0000000..f344cfd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/sortedByCompare.md
@@ -0,0 +1,26 @@
+
+# sortedByCompare&lt;K> method
+
+    *<Null safety>*
+
+
+List&lt;T> sortedByCompare
+&lt;K>(K keyOf(T element), Comparator&lt;K> compare)
+
+
+<p>Creates a sorted list of the elements of the iterable.</p>
+<p>The elements are ordered by the <code>compare</code> <code>Comparator</code> of the
+property <code>keyOf</code> of the element.</p>
+
+## Implementation
+
+```dart
+List<T> sortedByCompare<K>(
+    K Function(T element) keyOf, Comparator<K> compare) {
+  var elements = [...this];
+  quickSortBy<T, K>(elements, keyOf, compare);
+  return elements;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/splitAfter.md b/sdk/dart/package-collection_collection/IterableExtension/splitAfter.md
new file mode 100644
index 0000000..01ab879
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/splitAfter.md
@@ -0,0 +1,28 @@
+
+# splitAfter method
+
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> splitAfter
+(bool test(T element))
+
+
+<p>Splits the elements into chunks before some elements.</p>
+<p>Each element is checked using <code>test</code> for whether it should start a new chunk.
+If so, the elements since the previous chunk-starting element
+are emitted as a list.
+Any final elements are emitted at the end.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart">var parts = [1, 0, 2, 1, 5, 7, 6, 8, 9].splitAfter(isPrime);
+print(parts); // ([1, 0, 2], [1, 5], [7], [6, 8, 9])
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<List<T>> splitAfter(bool Function(T element) test) =>
+    splitAfterIndexed((_, element) => test(element));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/splitAfterIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/splitAfterIndexed.md
new file mode 100644
index 0000000..e762620
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/splitAfterIndexed.md
@@ -0,0 +1,41 @@
+
+# splitAfterIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> splitAfterIndexed
+(bool test(int index, T element))
+
+
+<p>Splits the elements into chunks after some elements and indices.</p>
+<p>Each element and index is checked using <code>test</code>
+for whether it should end the current chunk.
+If so, the elements since the previous chunk-ending element
+are emitted as a list.
+Any final elements are emitted at the end, whether the last
+element should be split after or not.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart">var parts = [1, 0, 2, 1, 5, 7, 6, 8, 9].splitAfterIndexed((i, v) =&gt; i &lt; v);
+print(parts); // ([1, 0], [2, 1], [5, 7, 6], [8, 9])
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<List<T>> splitAfterIndexed(
+    bool Function(int index, T element) test) sync* {
+  var index = 0;
+  List<T>? chunk;
+  for (var element in this) {
+    (chunk ??= []).add(element);
+    if (test(index++, element)) {
+      yield chunk;
+      chunk = null;
+    }
+  }
+  if (chunk != null) yield chunk;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/splitBefore.md b/sdk/dart/package-collection_collection/IterableExtension/splitBefore.md
new file mode 100644
index 0000000..90a514b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/splitBefore.md
@@ -0,0 +1,30 @@
+
+# splitBefore method
+
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> splitBefore
+(bool test(T element))
+
+
+<p>Splits the elements into chunks before some elements.</p>
+<p>Each element except the first is checked using <code>test</code>
+for whether it should start a new chunk.
+If so, the elements since the previous chunk-starting element
+are emitted as a list.
+Any final elements are emitted at the end.</p>
+<p>Example:
+Example:</p>
+<pre class="language-dart"><code class="language-dart">var parts = [1, 2, 3, 4, 5, 6, 7, 8, 9].split(isPrime);
+print(parts); // ([1], [2], [3, 4], [5, 6], [7, 8, 9])
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<List<T>> splitBefore(bool Function(T element) test) =>
+    splitBeforeIndexed((_, element) => test(element));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/splitBeforeIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/splitBeforeIndexed.md
new file mode 100644
index 0000000..b491bca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/splitBeforeIndexed.md
@@ -0,0 +1,46 @@
+
+# splitBeforeIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> splitBeforeIndexed
+(bool test(int index, T element))
+
+
+<p>Splits the elements into chunks before some elements and indices.</p>
+<p>Each element and index except the first is checked using <code>test</code>
+for whether it should start a new chunk.
+If so, the elements since the previous chunk-starting element
+are emitted as a list.
+Any final elements are emitted at the end.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart">var parts = [1, 0, 2, 1, 5, 7, 6, 8, 9]
+    .splitBeforeIndexed((i, v) =&gt; i &lt; v);
+print(parts); // ([1], [0, 2], [1, 5, 7], [6, 8, 9])
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<List<T>> splitBeforeIndexed(
+    bool Function(int index, T element) test) sync* {
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    return;
+  }
+  var index = 1;
+  var chunk = [iterator.current];
+  while (iterator.moveNext()) {
+    var element = iterator.current;
+    if (test(index++, element)) {
+      yield chunk;
+      chunk = [];
+    }
+    chunk.add(element);
+  }
+  yield chunk;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/splitBetween.md b/sdk/dart/package-collection_collection/IterableExtension/splitBetween.md
new file mode 100644
index 0000000..4f3e1ff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/splitBetween.md
@@ -0,0 +1,29 @@
+
+# splitBetween method
+
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> splitBetween
+(bool test(T first, T second))
+
+
+<p>Splits the elements into chunks between some elements.</p>
+<p>Each pair of adjacent elements are checked using <code>test</code>
+for whether a chunk should end between them.
+If so, the elements since the previous chunk-splitting elements
+are emitted as a list.
+Any final elements are emitted at the end.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart">var parts = [1, 0, 2, 1, 5, 7, 6, 8, 9].splitBetween((i, v1, v2) =&gt; v1 &gt; v2);
+print(parts); // ([1], [0, 2], [1, 5, 7], [6, 8, 9])
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<List<T>> splitBetween(bool Function(T first, T second) test) =>
+    splitBetweenIndexed((_, first, second) => test(first, second));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/splitBetweenIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/splitBetweenIndexed.md
new file mode 100644
index 0000000..65d59a1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/splitBetweenIndexed.md
@@ -0,0 +1,46 @@
+
+# splitBetweenIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> splitBetweenIndexed
+(bool test(int index, T first, T second))
+
+
+<p>Splits the elements into chunks between some elements and indices.</p>
+<p>Each pair of adjacent elements and the index of the latter are
+checked using <code>test</code> for whether a chunk should end between them.
+If so, the elements since the previous chunk-splitting elements
+are emitted as a list.
+Any final elements are emitted at the end.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart">var parts = [1, 0, 2, 1, 5, 7, 6, 8, 9]
+   .splitBetweenIndexed((i, v1, v2) =&gt; v1 &gt; v2);
+print(parts); // ([1], [0, 2], [1, 5, 7], [6, 8, 9])
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<List<T>> splitBetweenIndexed(
+    bool Function(int index, T first, T second) test) sync* {
+  var iterator = this.iterator;
+  if (!iterator.moveNext()) return;
+  var previous = iterator.current;
+  var chunk = <T>[previous];
+  var index = 1;
+  while (iterator.moveNext()) {
+    var element = iterator.current;
+    if (test(index++, previous, element)) {
+      yield chunk;
+      chunk = [];
+    }
+    chunk.add(element);
+    previous = element;
+  }
+  yield chunk;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/whereIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/whereIndexed.md
new file mode 100644
index 0000000..ac35708
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/whereIndexed.md
@@ -0,0 +1,24 @@
+
+# whereIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;T> whereIndexed
+(bool test(int index, T element))
+
+
+<p>The elements whose value and index satisfies <code>test</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereIndexed(bool Function(int index, T element) test) sync* {
+  var index = 0;
+  for (var element in this) {
+    if (test(index++, element)) yield element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/whereNot.md b/sdk/dart/package-collection_collection/IterableExtension/whereNot.md
new file mode 100644
index 0000000..6176578
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/whereNot.md
@@ -0,0 +1,20 @@
+
+# whereNot method
+
+    *<Null safety>*
+
+
+Iterable&lt;T> whereNot
+(bool test(T element))
+
+
+<p>The elements that do not satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereNot(bool Function(T element) test) =>
+    where((element) => !test(element));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableExtension/whereNotIndexed.md b/sdk/dart/package-collection_collection/IterableExtension/whereNotIndexed.md
new file mode 100644
index 0000000..113d02e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableExtension/whereNotIndexed.md
@@ -0,0 +1,24 @@
+
+# whereNotIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;T> whereNotIndexed
+(bool test(int index, T element))
+
+
+<p>The elements whose value and index do not satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereNotIndexed(bool Function(int index, T element) test) sync* {
+  var index = 0;
+  for (var element in this) {
+    if (!test(index++, element)) yield element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableIntegerExtension.md b/sdk/dart/package-collection_collection/IterableIntegerExtension.md
new file mode 100644
index 0000000..61977a4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableIntegerExtension.md
@@ -0,0 +1,28 @@
+
+# IterableIntegerExtension extension
+on Iterable&lt;int>
+
+
+    *<Null safety>*
+
+<p>Extension on iterables of integers.</p>
+<p>Specialized version of some extensions of <a href="../package-collection_collection/IterableNumberExtension.md">IterableNumberExtension</a>.</p>
+
+## Properties
+
+##### [average](../package-collection_collection/IterableIntegerExtension/average.md) &#8594; double
+
+The arithmetic mean of the elements of a non-empty iterable. [...](../package-collection_collection/IterableIntegerExtension/average.md)  
+_read-only_
+
+##### [sum](../package-collection_collection/IterableIntegerExtension/sum.md) &#8594; int
+
+The sum of the elements. [...](../package-collection_collection/IterableIntegerExtension/sum.md)  
+_read-only_
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableIntegerExtension/average.md b/sdk/dart/package-collection_collection/IterableIntegerExtension/average.md
new file mode 100644
index 0000000..40fe30b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableIntegerExtension/average.md
@@ -0,0 +1,40 @@
+
+# average property
+
+    *<Null safety>*
+
+
+double average
+  
+
+
+<p>The arithmetic mean of the elements of a non-empty iterable.</p>
+<p>The arithmetic mean is the sum of the elements
+divided by the number of elements.
+This method is specialized for integers,
+and may give a different result than <code>IterableNumberExtension.average</code>
+for the same values, because the the number algorithm
+converts all numbers to doubles.</p>
+<p>The iterable must not be empty.</p>
+
+## Implementation
+
+```dart
+double get average {
+  var average = 0;
+  var remainder = 0;
+  var count = 0;
+  for (var value in this) {
+    // Invariant: Sum of values so far = average * count + remainder.
+    // (Unless overflow has occurred).
+    count += 1;
+    var delta = value - average + remainder;
+    average += delta ~/ count;
+    remainder = delta.remainder(count);
+  }
+  if (count == 0) throw StateError('No elements');
+  return average + remainder / count;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableIntegerExtension/sum.md b/sdk/dart/package-collection_collection/IterableIntegerExtension/sum.md
new file mode 100644
index 0000000..9e6441d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableIntegerExtension/sum.md
@@ -0,0 +1,26 @@
+
+# sum property
+
+    *<Null safety>*
+
+
+int sum
+  
+
+
+<p>The sum of the elements.</p>
+<p>The sum is zero if the iterable is empty.</p>
+
+## Implementation
+
+```dart
+int get sum {
+  var result = 0;
+  for (var value in this) {
+    result += value;
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableIterableExtension.md b/sdk/dart/package-collection_collection/IterableIterableExtension.md
new file mode 100644
index 0000000..739ec8f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableIterableExtension.md
@@ -0,0 +1,22 @@
+
+# IterableIterableExtension&lt;T> extension
+on Iterable&lt;Iterable&lt;T>>
+
+
+    *<Null safety>*
+
+<p>Extensions on iterables whose elements are also iterables.</p>
+
+## Properties
+
+##### [flattened](../package-collection_collection/IterableIterableExtension/flattened.md) &#8594; Iterable&lt;T>
+
+The sequential elements of each iterable in this iterable. [...](../package-collection_collection/IterableIterableExtension/flattened.md)  
+_read-only_
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableIterableExtension/flattened.md b/sdk/dart/package-collection_collection/IterableIterableExtension/flattened.md
new file mode 100644
index 0000000..9aab96f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableIterableExtension/flattened.md
@@ -0,0 +1,27 @@
+
+# flattened property
+
+    *<Null safety>*
+
+
+Iterable&lt;T> flattened
+  
+
+
+<p>The sequential elements of each iterable in this iterable.</p>
+<p>Iterates the elements of this iterable.
+For each one, which is itself an iterable,
+all the elements of that are emitted
+on the returned iterable, before moving on to the next element.</p>
+
+## Implementation
+
+```dart
+Iterable<T> get flattened sync* {
+  for (var elements in this) {
+    yield* elements;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableNullableExtension.md b/sdk/dart/package-collection_collection/IterableNullableExtension.md
new file mode 100644
index 0000000..5e661f1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableNullableExtension.md
@@ -0,0 +1,22 @@
+
+# IterableNullableExtension&lt;T extends Object> extension
+on Iterable&lt;T?>
+
+
+    *<Null safety>*
+
+<p>Extensions that apply to iterables with a nullable element type.</p>
+
+
+## Methods
+
+##### [whereNotNull](../package-collection_collection/IterableNullableExtension/whereNotNull.md)() Iterable&lt;T>
+
+The non-<code>null</code> elements of this <code>Iterable</code>. [...](../package-collection_collection/IterableNullableExtension/whereNotNull.md)  
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableNullableExtension/whereNotNull.md b/sdk/dart/package-collection_collection/IterableNullableExtension/whereNotNull.md
new file mode 100644
index 0000000..feab6db
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableNullableExtension/whereNotNull.md
@@ -0,0 +1,26 @@
+
+# whereNotNull method
+
+    *<Null safety>*
+
+
+Iterable&lt;T> whereNotNull
+()
+
+
+<p>The non-<code>null</code> elements of this <code>Iterable</code>.</p>
+<p>Returns an iterable which emits all the non-<code>null</code> elements
+of this iterable, in their original iteration order.</p>
+<p>For an <code>Iterable&lt;X?&gt;</code>, this method is equivalent to <code>.whereType&lt;X&gt;()</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereNotNull() sync* {
+  for (var element in this) {
+    if (element != null) yield element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableNumberExtension.md b/sdk/dart/package-collection_collection/IterableNumberExtension.md
new file mode 100644
index 0000000..3827ecd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableNumberExtension.md
@@ -0,0 +1,27 @@
+
+# IterableNumberExtension extension
+on Iterable&lt;num>
+
+
+    *<Null safety>*
+
+<p>Extensions that apply to iterables of numbers.</p>
+
+## Properties
+
+##### [average](../package-collection_collection/IterableNumberExtension/average.md) &#8594; double
+
+The arithmetic mean of the elements of a non-empty iterable. [...](../package-collection_collection/IterableNumberExtension/average.md)  
+_read-only_
+
+##### [sum](../package-collection_collection/IterableNumberExtension/sum.md) &#8594; num
+
+The sum of the elements. [...](../package-collection_collection/IterableNumberExtension/sum.md)  
+_read-only_
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableNumberExtension/average.md b/sdk/dart/package-collection_collection/IterableNumberExtension/average.md
new file mode 100644
index 0000000..bc50bb4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableNumberExtension/average.md
@@ -0,0 +1,31 @@
+
+# average property
+
+    *<Null safety>*
+
+
+double average
+  
+
+
+<p>The arithmetic mean of the elements of a non-empty iterable.</p>
+<p>The arithmetic mean is the sum of the elements
+divided by the number of elements.</p>
+<p>The iterable must not be empty.</p>
+
+## Implementation
+
+```dart
+double get average {
+  var result = 0.0;
+  var count = 0;
+  for (var value in this) {
+    count += 1;
+    result += (value - result) / count;
+  }
+  if (count == 0) throw StateError('No elements');
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableNumberExtension/sum.md b/sdk/dart/package-collection_collection/IterableNumberExtension/sum.md
new file mode 100644
index 0000000..472d8b7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableNumberExtension/sum.md
@@ -0,0 +1,26 @@
+
+# sum property
+
+    *<Null safety>*
+
+
+num sum
+  
+
+
+<p>The sum of the elements.</p>
+<p>The sum is zero if the iterable is empty.</p>
+
+## Implementation
+
+```dart
+num get sum {
+  num result = 0;
+  for (var value in this) {
+    result += value;
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip-class.md b/sdk/dart/package-collection_collection/IterableZip-class.md
new file mode 100644
index 0000000..f7fc01d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip-class.md
@@ -0,0 +1,231 @@
+
+# IterableZip&lt;T> class
+
+    *<Null safety>*
+
+<p>Iterable that iterates over lists of values from other iterables.</p>
+<p>When <a href="../package-collection_collection/IterableZip/iterator.md">iterator</a> is read, an <code>Iterator</code> is created for each <code>Iterable</code> in
+the <code>Iterable</code> passed to the constructor.</p>
+<p>As long as all these iterators have a next value, those next values are
+combined into a single list, which becomes the next value of this
+<code>Iterable</code>'s <code>Iterator</code>. As soon as any of the iterators run out,
+the zipped iterator also stops.</p>
+
+**Inheritance**
+
+- Object
+- Iterable&lt;List&lt;T>>
+- IterableBase&lt;List&lt;T>>
+- IterableZip
+
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[IterableZip](../package-collection_collection/IterableZip/IterableZip.md) (Iterable&lt;Iterable&lt;T>> iterables)
+
+   
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/IterableZip/first.md) &#8594; List&lt;T>
+
+Returns the first element. [...](../package-collection_collection/IterableZip/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/IterableZip/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/IterableZip/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/IterableZip/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/IterableZip/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/IterableZip/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/IterableZip/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/IterableZip/iterator.md) &#8594; Iterator&lt;List&lt;T>>
+
+Returns an iterator that combines values of the iterables' iterators
+as long as they all have values.   
+_read-only, override_
+
+##### [last](../package-collection_collection/IterableZip/last.md) &#8594; List&lt;T>
+
+Returns the last element. [...](../package-collection_collection/IterableZip/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/IterableZip/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/IterableZip-class.md">this</a>. [...](../package-collection_collection/IterableZip/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/IterableZip/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/IterableZip/single.md) &#8594; List&lt;T>
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/IterableZip/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [any](../package-collection_collection/IterableZip/any.md)(bool test(List&lt;T> element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/IterableZip/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/IterableZip/cast.md)&lt;R>() Iterable&lt;R>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/IterableZip/cast.md)  
+_inherited_
+
+##### [contains](../package-collection_collection/IterableZip/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/IterableZip/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/IterableZip/elementAt.md)(int index) List&lt;T>
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/IterableZip/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/IterableZip/every.md)(bool test(List&lt;T> element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/IterableZip/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/IterableZip/expand.md)&lt;T>(Iterable&lt;T> f(List&lt;T> element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/IterableZip/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/IterableZip/firstWhere.md)(bool test(List&lt;T> element), {List&lt;T> orElse()}) List&lt;T>
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/IterableZip/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/IterableZip/fold.md)&lt;T>(T initialValue, T combine(T previousValue, List&lt;T> element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/IterableZip/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/IterableZip/followedBy.md)(Iterable&lt;List&lt;T>> other) Iterable&lt;List&lt;T>>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/IterableZip/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/IterableZip/forEach.md)(void f(List&lt;T> element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [join](../package-collection_collection/IterableZip/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/IterableZip/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/IterableZip/lastWhere.md)(bool test(List&lt;T> element), {List&lt;T> orElse()}) List&lt;T>
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/IterableZip/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/IterableZip/map.md)&lt;T>(T f(List&lt;T> e)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/IterableZip/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/IterableZip/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/IterableZip/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/IterableZip/reduce.md)(List&lt;T> combine(List&lt;T> value, List&lt;T> element)) List&lt;T>
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/IterableZip/reduce.md)  
+_inherited_
+
+##### [singleWhere](../package-collection_collection/IterableZip/singleWhere.md)(bool test(List&lt;T> element), {List&lt;T> orElse()}) List&lt;T>
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/IterableZip/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/IterableZip/skip.md)(int count) Iterable&lt;List&lt;T>>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/IterableZip/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/IterableZip/skipWhile.md)(bool test(List&lt;T> value)) Iterable&lt;List&lt;T>>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/IterableZip/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/IterableZip/take.md)(int count) Iterable&lt;List&lt;T>>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/IterableZip/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/IterableZip/takeWhile.md)(bool test(List&lt;T> value)) Iterable&lt;List&lt;T>>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/IterableZip/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/IterableZip/toList.md)({bool growable: true}) List&lt;List&lt;T>>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/IterableZip/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/IterableZip/toSet.md)() Set&lt;List&lt;T>>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/IterableZip/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/IterableZip/toString.md)() String
+
+Returns a string representation of (some of) the elements of <code>this</code>. [...](../package-collection_collection/IterableZip/toString.md)  
+_inherited_
+
+##### [where](../package-collection_collection/IterableZip/where.md)(bool test(List&lt;T> element)) Iterable&lt;List&lt;T>>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/IterableZip/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/IterableZip/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/IterableZip/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/IterableZip/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/IterableZip/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/IterableZip.md b/sdk/dart/package-collection_collection/IterableZip/IterableZip.md
new file mode 100644
index 0000000..462275a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/IterableZip.md
@@ -0,0 +1,17 @@
+
+# IterableZip&lt;T> constructor
+
+    *<Null safety>*
+
+
+
+IterableZip&lt;T>(Iterable&lt;Iterable&lt;T>> iterables)
+
+
+## Implementation
+
+```dart
+IterableZip(Iterable<Iterable<T>> iterables) : _iterables = iterables;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/any.md b/sdk/dart/package-collection_collection/IterableZip/any.md
new file mode 100644
index 0000000..7660409
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/any.md
@@ -0,0 +1,27 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L390)
+    *<Null safety>*
+
+
+bool any
+(bool test(List&lt;T> element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  for (E element in this) {
+    if (test(element)) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/cast.md b/sdk/dart/package-collection_collection/IterableZip/cast.md
new file mode 100644
index 0000000..0dda45e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/cast.md
@@ -0,0 +1,25 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L170)
+    *<Null safety>*
+
+
+Iterable&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/IterableZip/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<R> cast<R>() => Iterable.castFrom<E, R>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/contains.md b/sdk/dart/package-collection_collection/IterableZip/contains.md
new file mode 100644
index 0000000..1232581
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/contains.md
@@ -0,0 +1,35 @@
+
+# contains method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L271)
+    *<Null safety>*
+
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+bool contains(Object? element) {
+  for (E e in this) {
+    if (e == element) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/elementAt.md b/sdk/dart/package-collection_collection/IterableZip/elementAt.md
new file mode 100644
index 0000000..c8cd9fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/elementAt.md
@@ -0,0 +1,34 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L646)
+    *<Null safety>*
+
+
+List&lt;T> elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/IterableZip/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) {
+  RangeError.checkNotNegative(index, "index");
+  int elementIndex = 0;
+  for (E element in this) {
+    if (index == elementIndex) return element;
+    elementIndex++;
+  }
+  throw RangeError.index(index, this, "index", null, elementIndex);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/every.md b/sdk/dart/package-collection_collection/IterableZip/every.md
new file mode 100644
index 0000000..4d09e66
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/every.md
@@ -0,0 +1,27 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L351)
+    *<Null safety>*
+
+
+bool every
+(bool test(List&lt;T> element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  for (E element in this) {
+    if (!test(element)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/expand.md b/sdk/dart/package-collection_collection/IterableZip/expand.md
new file mode 100644
index 0000000..3dd0fc8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L252)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(List&lt;T> element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/first.md b/sdk/dart/package-collection_collection/IterableZip/first.md
new file mode 100644
index 0000000..bec04d9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/first.md
@@ -0,0 +1,29 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L521)
+    *<Null safety>*
+
+
+List&lt;T> first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  return it.current;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/firstWhere.md b/sdk/dart/package-collection_collection/IterableZip/firstWhere.md
new file mode 100644
index 0000000..37fc895
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/firstWhere.md
@@ -0,0 +1,30 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L573)
+    *<Null safety>*
+
+
+List&lt;T> firstWhere
+(bool test(List&lt;T> element), {List&lt;T> orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E orElse()?}) {
+  for (E element in this) {
+    if (test(element)) return element;
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/fold.md b/sdk/dart/package-collection_collection/IterableZip/fold.md
new file mode 100644
index 0000000..60d42c6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/fold.md
@@ -0,0 +1,37 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L339)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, List&lt;T> element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  for (E element in this) value = combine(value, element);
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/followedBy.md b/sdk/dart/package-collection_collection/IterableZip/followedBy.md
new file mode 100644
index 0000000..5b8dd0a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/followedBy.md
@@ -0,0 +1,29 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L179)
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> followedBy
+(Iterable&lt;List&lt;T>> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) {
+  var self = this; // TODO(lrn): Remove when we can promote `this`.
+  if (self is EfficientLengthIterable<E>) {
+    return FollowedByIterable<E>.firstEfficient(self, other);
+  }
+  return FollowedByIterable<E>(this, other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/forEach.md b/sdk/dart/package-collection_collection/IterableZip/forEach.md
new file mode 100644
index 0000000..9fd43c2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/forEach.md
@@ -0,0 +1,23 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L282)
+    *<Null safety>*
+
+
+void forEach
+(void f(List&lt;T> element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void f(E element)) {
+  for (E element in this) f(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/hashCode.md b/sdk/dart/package-collection_collection/IterableZip/hashCode.md
new file mode 100644
index 0000000..4a84eea
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/IterableZip/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/IterableZip/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/IterableZip/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/IterableZip/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/IterableZip/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/IterableZip/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/isEmpty.md b/sdk/dart/package-collection_collection/IterableZip/isEmpty.md
new file mode 100644
index 0000000..9617373
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L440)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty => !iterator.moveNext();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/isNotEmpty.md b/sdk/dart/package-collection_collection/IterableZip/isNotEmpty.md
new file mode 100644
index 0000000..79fa8e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L447)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/iterator.md b/sdk/dart/package-collection_collection/IterableZip/iterator.md
new file mode 100644
index 0000000..52d9fe1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/iterator.md
@@ -0,0 +1,24 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;List&lt;T>> iterator
+  
+_override_
+
+<p>Returns an iterator that combines values of the iterables' iterators
+as long as they all have values.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<List<T>> get iterator {
+  var iterators = _iterables.map((x) => x.iterator).toList(growable: false);
+  return _IteratorZip<T>(iterators);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/join.md b/sdk/dart/package-collection_collection/IterableZip/join.md
new file mode 100644
index 0000000..abe91fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/join.md
@@ -0,0 +1,40 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L366)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) return "";
+  StringBuffer buffer = StringBuffer();
+  if (separator == null || separator == "") {
+    do {
+      buffer.write(iterator.current.toString());
+    } while (iterator.moveNext());
+  } else {
+    buffer.write(iterator.current.toString());
+    while (iterator.moveNext()) {
+      buffer.write(separator);
+      buffer.write(iterator.current.toString());
+    }
+  }
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/last.md b/sdk/dart/package-collection_collection/IterableZip/last.md
new file mode 100644
index 0000000..329a98b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/last.md
@@ -0,0 +1,36 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L539)
+    *<Null safety>*
+
+
+List&lt;T> last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E result;
+  do {
+    result = it.current;
+  } while (it.moveNext());
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/lastWhere.md b/sdk/dart/package-collection_collection/IterableZip/lastWhere.md
new file mode 100644
index 0000000..c3af4ab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/lastWhere.md
@@ -0,0 +1,41 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L595)
+    *<Null safety>*
+
+
+List&lt;T> lastWhere
+(bool test(List&lt;T> element), {List&lt;T> orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/length.md b/sdk/dart/package-collection_collection/IterableZip/length.md
new file mode 100644
index 0000000..9fdb17b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/length.md
@@ -0,0 +1,31 @@
+
+# length property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L425)
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/IterableZip-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+int get length {
+  assert(this is! EfficientLengthIterable);
+  int count = 0;
+  Iterator it = iterator;
+  while (it.moveNext()) {
+    count++;
+  }
+  return count;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/map.md b/sdk/dart/package-collection_collection/IterableZip/map.md
new file mode 100644
index 0000000..eb467ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L201)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(List&lt;T> e))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/IterableZip/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E e)) => MappedIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/noSuchMethod.md b/sdk/dart/package-collection_collection/IterableZip/noSuchMethod.md
new file mode 100644
index 0000000..488dea5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/IterableZip/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/operator_equals.md b/sdk/dart/package-collection_collection/IterableZip/operator_equals.md
new file mode 100644
index 0000000..a9b06fe
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/IterableZip/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/reduce.md b/sdk/dart/package-collection_collection/IterableZip/reduce.md
new file mode 100644
index 0000000..eba4f4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/reduce.md
@@ -0,0 +1,45 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L308)
+    *<Null safety>*
+
+
+List&lt;T> reduce
+(List&lt;T> combine(List&lt;T> value, List&lt;T> element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E value, E element)) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E value = iterator.current;
+  while (iterator.moveNext()) {
+    value = combine(value, iterator.current);
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/runtimeType.md b/sdk/dart/package-collection_collection/IterableZip/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/single.md b/sdk/dart/package-collection_collection/IterableZip/single.md
new file mode 100644
index 0000000..226074b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/single.md
@@ -0,0 +1,27 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L556)
+    *<Null safety>*
+
+
+List&lt;T> single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) throw IterableElementError.noElement();
+  E result = it.current;
+  if (it.moveNext()) throw IterableElementError.tooMany();
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/singleWhere.md b/sdk/dart/package-collection_collection/IterableZip/singleWhere.md
new file mode 100644
index 0000000..02b596e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/singleWhere.md
@@ -0,0 +1,40 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L618)
+    *<Null safety>*
+
+
+List&lt;T> singleWhere
+(bool test(List&lt;T> element), {List&lt;T> orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      if (foundMatching) {
+        throw IterableElementError.tooMany();
+      }
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/skip.md b/sdk/dart/package-collection_collection/IterableZip/skip.md
new file mode 100644
index 0000000..2b7b197
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/skip.md
@@ -0,0 +1,32 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L494)
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) {
+  return SkipIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/skipWhile.md b/sdk/dart/package-collection_collection/IterableZip/skipWhile.md
new file mode 100644
index 0000000..0a56b78
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L510)
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> skipWhile
+(bool test(List&lt;T> value))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E value)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/take.md b/sdk/dart/package-collection_collection/IterableZip/take.md
new file mode 100644
index 0000000..aea1f11
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/take.md
@@ -0,0 +1,27 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L460)
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/IterableZip/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) {
+  return TakeIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/takeWhile.md b/sdk/dart/package-collection_collection/IterableZip/takeWhile.md
new file mode 100644
index 0000000..a105aef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L474)
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> takeWhile
+(bool test(List&lt;T> value))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/IterableZip/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E value)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/toList.md b/sdk/dart/package-collection_collection/IterableZip/toList.md
new file mode 100644
index 0000000..a544a89
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/toList.md
@@ -0,0 +1,24 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L403)
+    *<Null safety>*
+
+
+List&lt;List&lt;T>> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  return List<E>.of(this, growable: growable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/toSet.md b/sdk/dart/package-collection_collection/IterableZip/toSet.md
new file mode 100644
index 0000000..330977f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/toSet.md
@@ -0,0 +1,25 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L416)
+    *<Null safety>*
+
+
+Set&lt;List&lt;T>> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet() => Set<E>.of(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/toString.md b/sdk/dart/package-collection_collection/IterableZip/toString.md
new file mode 100644
index 0000000..4070807
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/toString.md
@@ -0,0 +1,29 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L672)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of (some of) the elements of <code>this</code>.</p>
+<p>Elements are represented by their own <code>toString</code> results.</p>
+<p>The default representation always contains the first three elements.
+If there are less than a hundred elements in the iterable, it also
+contains the last two elements.</p>
+<p>If the resulting string isn't above 80 characters, more elements are
+included from the start of the iterable.</p>
+<p>The conversion may omit calling <code>toString</code> on some elements if they
+are known to not occur in the output, and it may stop iterating after
+a hundred elements.</p>
+
+## Implementation
+
+```dart
+String toString() => IterableBase.iterableToShortString(this, '(', ')');
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/where.md b/sdk/dart/package-collection_collection/IterableZip/where.md
new file mode 100644
index 0000000..c0927f5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;List&lt;T>> where
+(bool test(List&lt;T> element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/IterableZip/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/IterableZip/whereType.md b/sdk/dart/package-collection_collection/IterableZip/whereType.md
new file mode 100644
index 0000000..e001cf6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/IterableZip/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L230)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/IterableZip/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListComparableExtensions.md b/sdk/dart/package-collection_collection/ListComparableExtensions.md
new file mode 100644
index 0000000..94b607a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListComparableExtensions.md
@@ -0,0 +1,32 @@
+
+# ListComparableExtensions&lt;E extends Comparable&lt;E>> extension
+on List&lt;E>
+
+
+    *<Null safety>*
+
+<p>Various extensions on lists of comparable elements.</p>
+
+
+## Methods
+
+##### [binarySearch](../package-collection_collection/ListComparableExtensions/binarySearch.md)(E element, [int compare(E, E)]) int
+
+Returns the index of <code>element</code> in this sorted list. [...](../package-collection_collection/ListComparableExtensions/binarySearch.md)  
+
+
+##### [lowerBound](../package-collection_collection/ListComparableExtensions/lowerBound.md)(E element, [int compare(E, E)]) int
+
+Returns the index where <code>element</code> should be in this sorted list. [...](../package-collection_collection/ListComparableExtensions/lowerBound.md)  
+
+
+##### [sortRange](../package-collection_collection/ListComparableExtensions/sortRange.md)(int start, int end, [int compare(E a, E b)]) void
+
+Sort a range of elements by <code>compare</code>. [...](../package-collection_collection/ListComparableExtensions/sortRange.md)  
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/ListComparableExtensions/binarySearch.md b/sdk/dart/package-collection_collection/ListComparableExtensions/binarySearch.md
new file mode 100644
index 0000000..27ef1a0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListComparableExtensions/binarySearch.md
@@ -0,0 +1,26 @@
+
+# binarySearch method
+
+    *<Null safety>*
+
+
+int binarySearch
+(E element, [int compare(E, E)])
+
+
+<p>Returns the index of <code>element</code> in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to <code>compare</code>,
+otherwise the result is unspecified.
+If <code>compare</code> is omitted, it uses the natural order of the elements.</p>
+<p>Returns -1 if <code>element</code> does not occur in this list.</p>
+
+## Implementation
+
+```dart
+int binarySearch(E element, [int Function(E, E)? compare]) =>
+    algorithms.binarySearchBy<E, E>(
+        this, identity, compare ?? compareComparable, element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListComparableExtensions/lowerBound.md b/sdk/dart/package-collection_collection/ListComparableExtensions/lowerBound.md
new file mode 100644
index 0000000..8620f25
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListComparableExtensions/lowerBound.md
@@ -0,0 +1,28 @@
+
+# lowerBound method
+
+    *<Null safety>*
+
+
+int lowerBound
+(E element, [int compare(E, E)])
+
+
+<p>Returns the index where <code>element</code> should be in this sorted list.</p>
+<p>Uses binary search to find the location of where <code>element</code> should be.
+The list <em>must</em> be sorted according to <code>compare</code>,
+otherwise the result is unspecified.
+If <code>compare</code> is omitted, it uses the natural order of the elements.</p>
+<p>If <code>element</code> does not occur in this list, the returned index is
+the first index where inserting <code>element</code> would keep the list
+sorted.</p>
+
+## Implementation
+
+```dart
+int lowerBound(E element, [int Function(E, E)? compare]) =>
+    algorithms.lowerBoundBy<E, E>(
+        this, identity, compare ?? compareComparable, element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListComparableExtensions/sortRange.md b/sdk/dart/package-collection_collection/ListComparableExtensions/sortRange.md
new file mode 100644
index 0000000..4e9f7a1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListComparableExtensions/sortRange.md
@@ -0,0 +1,25 @@
+
+# sortRange method
+
+    *<Null safety>*
+
+
+void sortRange
+(int start, int end, [int compare(E a, E b)])
+
+
+<p>Sort a range of elements by <code>compare</code>.</p>
+<p>If <code>compare</code> is omitted, the range is sorted according to the
+natural ordering of the elements.</p>
+
+## Implementation
+
+```dart
+void sortRange(int start, int end, [int Function(E a, E b)? compare]) {
+  RangeError.checkValidRange(start, end, length);
+  algorithms.quickSortBy<E, E>(
+      this, identity, compare ?? compareComparable, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListEquality-class.md b/sdk/dart/package-collection_collection/ListEquality-class.md
new file mode 100644
index 0000000..1ea6fda
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListEquality-class.md
@@ -0,0 +1,83 @@
+
+# ListEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Equality on lists.</p>
+<p>Two lists are equal if they have the same length and their elements
+at each index are equal.</p>
+<p>This is effectively the same as <a href="../package-collection_collection/IterableEquality-class.md">IterableEquality</a> except that it
+accesses elements by index instead of through iteration.</p>
+<p>The <a href="../package-collection_collection/ListEquality/equals.md">equals</a> and <a href="../package-collection_collection/ListEquality/hash.md">hash</a> methods accepts <code>null</code> values,
+even if the <a href="../package-collection_collection/ListEquality/isValidKey.md">isValidKey</a> returns <code>false</code> for <code>null</code>.
+The <a href="../package-collection_collection/ListEquality/hash.md">hash</a> of <code>null</code> is <code>null.hashCode</code>.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;List&lt;E>>
+
+
+
+
+
+## Constructors
+
+[ListEquality](../package-collection_collection/ListEquality/ListEquality.md) ([[Equality](../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/ListEquality/equals.md)(List&lt;E>? list1, List&lt;E>? list2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/ListEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/ListEquality/hash.md)(List&lt;E>? list) int
+
+Get a hashcode of an element. [...](../package-collection_collection/ListEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/ListEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/ListEquality/equals.md">equals</a> and <a href="../package-collection_collection/ListEquality/hash.md">hash</a>. [...](../package-collection_collection/ListEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/ListEquality/ListEquality.md b/sdk/dart/package-collection_collection/ListEquality/ListEquality.md
new file mode 100644
index 0000000..bd97c74
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListEquality/ListEquality.md
@@ -0,0 +1,19 @@
+
+# ListEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+ListEquality&lt;E>([[Equality](../../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+
+## Implementation
+
+```dart
+const ListEquality(
+    [Equality<E> elementEquality = const DefaultEquality<Never>()])
+    : _elementEquality = elementEquality;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListEquality/equals.md b/sdk/dart/package-collection_collection/ListEquality/equals.md
new file mode 100644
index 0000000..ad14adc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListEquality/equals.md
@@ -0,0 +1,31 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(List&lt;E>? list1, List&lt;E>? list2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(List<E>? list1, List<E>? list2) {
+  if (identical(list1, list2)) return true;
+  if (list1 == null || list2 == null) return false;
+  var length = list1.length;
+  if (length != list2.length) return false;
+  for (var i = 0; i < length; i++) {
+    if (!_elementEquality.equals(list1[i], list2[i])) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListEquality/hash.md b/sdk/dart/package-collection_collection/ListEquality/hash.md
new file mode 100644
index 0000000..74a01a3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListEquality/hash.md
@@ -0,0 +1,39 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(List&lt;E>? list)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/ListEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(List<E>? list) {
+  if (list == null) return null.hashCode;
+  // Jenkins's one-at-a-time hash function.
+  // This code is almost identical to the one in IterableEquality, except
+  // that it uses indexing instead of iterating to get the elements.
+  var hash = 0;
+  for (var i = 0; i < list.length; i++) {
+    var c = _elementEquality.hash(list[i]);
+    hash = (hash + c) & _HASH_MASK;
+    hash = (hash + (hash << 10)) & _HASH_MASK;
+    hash ^= (hash >> 6);
+  }
+  hash = (hash + (hash << 3)) & _HASH_MASK;
+  hash ^= (hash >> 11);
+  hash = (hash + (hash << 15)) & _HASH_MASK;
+  return hash;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListEquality/isValidKey.md b/sdk/dart/package-collection_collection/ListEquality/isValidKey.md
new file mode 100644
index 0000000..0570f58
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/ListEquality/equals.md">equals</a> and <a href="../../package-collection_collection/ListEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => o is List<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions.md b/sdk/dart/package-collection_collection/ListExtensions.md
new file mode 100644
index 0000000..da17d21
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions.md
@@ -0,0 +1,122 @@
+
+# ListExtensions&lt;E> extension
+on List&lt;E>
+
+
+    *<Null safety>*
+
+<p>Various extensions on lists of arbitrary elements.</p>
+
+
+## Methods
+
+##### [binarySearch](../package-collection_collection/ListExtensions/binarySearch.md)(E element, int compare(E, E)) int
+
+Returns the index of <code>element</code> in this sorted list. [...](../package-collection_collection/ListExtensions/binarySearch.md)  
+
+
+##### [binarySearchBy](../package-collection_collection/ListExtensions/binarySearchBy.md)&lt;K extends Comparable&lt;K>>(E element, K keyOf(E element), [int start = 0, int? end]) int
+
+Returns the index of <code>element</code> in this sorted list. [...](../package-collection_collection/ListExtensions/binarySearchBy.md)  
+
+
+##### [binarySearchByCompare](../package-collection_collection/ListExtensions/binarySearchByCompare.md)&lt;K>(E element, K keyOf(E element), int compare(K, K), [int start = 0, int? end]) int
+
+Returns the index of <code>element</code> in this sorted list. [...](../package-collection_collection/ListExtensions/binarySearchByCompare.md)  
+
+
+##### [equals](../package-collection_collection/ListExtensions/equals.md)(List&lt;E> other, [[Equality](../package-collection_collection/Equality-class.md)&lt;E> equality = const DefaultEquality()]) bool
+
+Whether <code>other</code> has the same elements as this list. [...](../package-collection_collection/ListExtensions/equals.md)  
+
+
+##### [expandIndexed](../package-collection_collection/ListExtensions/expandIndexed.md)&lt;R>(Iterable&lt;R> expand(int index, E element)) Iterable&lt;R>
+
+Expands each element and index to a number of elements in a new iterable. [...](../package-collection_collection/ListExtensions/expandIndexed.md)  
+
+
+##### [forEachIndexed](../package-collection_collection/ListExtensions/forEachIndexed.md)(void action(int index, E element)) void
+
+Takes an action for each element. [...](../package-collection_collection/ListExtensions/forEachIndexed.md)  
+
+
+##### [forEachIndexedWhile](../package-collection_collection/ListExtensions/forEachIndexedWhile.md)(bool action(int index, E element)) void
+
+Takes an action for each element and index as long as desired. [...](../package-collection_collection/ListExtensions/forEachIndexedWhile.md)  
+
+
+##### [forEachWhile](../package-collection_collection/ListExtensions/forEachWhile.md)(bool action(E element)) void
+
+Takes an action for each element as long as desired. [...](../package-collection_collection/ListExtensions/forEachWhile.md)  
+
+
+##### [lowerBound](../package-collection_collection/ListExtensions/lowerBound.md)(E element, int compare(E, E)) int
+
+Returns the index where <code>element</code> should be in this sorted list. [...](../package-collection_collection/ListExtensions/lowerBound.md)  
+
+
+##### [lowerBoundBy](../package-collection_collection/ListExtensions/lowerBoundBy.md)&lt;K extends Comparable&lt;K>>(E element, K keyOf(E), [int start = 0, int? end]) int
+
+Returns the index where <code>element</code> should be in this sorted list. [...](../package-collection_collection/ListExtensions/lowerBoundBy.md)  
+
+
+##### [lowerBoundByCompare](../package-collection_collection/ListExtensions/lowerBoundByCompare.md)&lt;K>(E element, K keyOf(E), int compare(K, K), [int start = 0, int? end]) int
+
+Returns the index where <code>element</code> should be in this sorted list. [...](../package-collection_collection/ListExtensions/lowerBoundByCompare.md)  
+
+
+##### [mapIndexed](../package-collection_collection/ListExtensions/mapIndexed.md)&lt;R>(R convert(int index, E element)) Iterable&lt;R>
+
+Maps each element and its index to a new value.   
+
+
+##### [reverseRange](../package-collection_collection/ListExtensions/reverseRange.md)(int start, int end) void
+
+Reverses the elements in a range of the list.   
+
+
+##### [shuffleRange](../package-collection_collection/ListExtensions/shuffleRange.md)(int start, int end, [Random? random]) void
+
+Shuffle a range of elements.   
+
+
+##### [slice](../package-collection_collection/ListExtensions/slice.md)(int start, [int? end]) [ListSlice](../package-collection_collection/ListSlice-class.md)&lt;E>
+
+A fixed length view of a range of this list. [...](../package-collection_collection/ListExtensions/slice.md)  
+
+
+##### [sortBy](../package-collection_collection/ListExtensions/sortBy.md)&lt;K extends Comparable&lt;K>>(K keyOf(E element), [int start = 0, int? end]) void
+
+Sorts elements by the natural order of their <code>keyOf</code> property. [...](../package-collection_collection/ListExtensions/sortBy.md)  
+
+
+##### [sortByCompare](../package-collection_collection/ListExtensions/sortByCompare.md)&lt;K>(K keyOf(E element), int compare(K a, K b), [int start = 0, int? end]) void
+
+Sorts elements by the <code>compare</code> of their <code>keyOf</code> property. [...](../package-collection_collection/ListExtensions/sortByCompare.md)  
+
+
+##### [sortRange](../package-collection_collection/ListExtensions/sortRange.md)(int start, int end, int compare(E a, E b)) void
+
+Sort a range of elements by <code>compare</code>.   
+
+
+##### [swap](../package-collection_collection/ListExtensions/swap.md)(int index1, int index2) void
+
+Swaps two elements of this list.   
+
+
+##### [whereIndexed](../package-collection_collection/ListExtensions/whereIndexed.md)(bool test(int index, E element)) Iterable&lt;E>
+
+The elements whose value and index satisfies <code>test</code>.   
+
+
+##### [whereNotIndexed](../package-collection_collection/ListExtensions/whereNotIndexed.md)(bool test(int index, E element)) Iterable&lt;E>
+
+The elements whose value and index do not satisfy <code>test</code>.   
+
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/binarySearch.md b/sdk/dart/package-collection_collection/ListExtensions/binarySearch.md
new file mode 100644
index 0000000..d9f600f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/binarySearch.md
@@ -0,0 +1,24 @@
+
+# binarySearch method
+
+    *<Null safety>*
+
+
+int binarySearch
+(E element, int compare(E, E))
+
+
+<p>Returns the index of <code>element</code> in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to <code>compare</code>,
+otherwise the result is unspecified</p>
+<p>Returns -1 if <code>element</code> does not occur in this list.</p>
+
+## Implementation
+
+```dart
+int binarySearch(E element, int Function(E, E) compare) =>
+    algorithms.binarySearchBy<E, E>(this, identity, compare, element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/binarySearchBy.md b/sdk/dart/package-collection_collection/ListExtensions/binarySearchBy.md
new file mode 100644
index 0000000..abb3256
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/binarySearchBy.md
@@ -0,0 +1,28 @@
+
+# binarySearchBy&lt;K extends Comparable&lt;K>> method
+
+    *<Null safety>*
+
+
+int binarySearchBy
+&lt;K extends Comparable&lt;K>>(E element, K keyOf(E element), [int start = 0, int? end])
+
+
+<p>Returns the index of <code>element</code> in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to the natural ordering of
+the <code>keyOf</code> of elements, otherwise the result is unspecified.</p>
+<p>Returns -1 if <code>element</code> does not occur in this list.</p>
+<p>If <code>start</code> and <code>end</code> are supplied, only the list range from <code>start</code> to <code>end</code>
+is searched, and only that range needs to be sorted.</p>
+
+## Implementation
+
+```dart
+int binarySearchBy<K extends Comparable<K>>(
+        E element, K Function(E element) keyOf, [int start = 0, int? end]) =>
+    algorithms.binarySearchBy<E, K>(
+        this, keyOf, (a, b) => a.compareTo(b), element, start, end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/binarySearchByCompare.md b/sdk/dart/package-collection_collection/ListExtensions/binarySearchByCompare.md
new file mode 100644
index 0000000..4ce6108
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/binarySearchByCompare.md
@@ -0,0 +1,29 @@
+
+# binarySearchByCompare&lt;K> method
+
+    *<Null safety>*
+
+
+int binarySearchByCompare
+&lt;K>(E element, K keyOf(E element), int compare(K, K), [int start = 0, int? end])
+
+
+<p>Returns the index of <code>element</code> in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to <code>compare</code> on the <code>keyOf</code> of elements,
+otherwise the result is unspecified.</p>
+<p>Returns -1 if <code>element</code> does not occur in this list.</p>
+<p>If <code>start</code> and <code>end</code> are supplied, only the list range from <code>start</code> to <code>end</code>
+is searched, and only that range needs to be sorted.</p>
+
+## Implementation
+
+```dart
+int binarySearchByCompare<K>(
+        E element, K Function(E element) keyOf, int Function(K, K) compare,
+        [int start = 0, int? end]) =>
+    algorithms.binarySearchBy<E, K>(
+        this, keyOf, compare, element, start, end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/equals.md b/sdk/dart/package-collection_collection/ListExtensions/equals.md
new file mode 100644
index 0000000..afc314b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/equals.md
@@ -0,0 +1,29 @@
+
+# equals method
+
+    *<Null safety>*
+
+
+bool equals
+(List&lt;E> other, [[Equality](../../package-collection_collection/Equality-class.md)&lt;E> equality = const DefaultEquality()])
+
+
+<p>Whether <code>other</code> has the same elements as this list.</p>
+<p>Returns true iff <code>other</code> has the same <code>length</code>
+as this list, and the elemets of this list and <code>other</code>
+at the same indices are equal according to <code>equality</code>,
+which defaults to using <code>==</code>.</p>
+
+## Implementation
+
+```dart
+bool equals(List<E> other, [Equality<E> equality = const DefaultEquality()]) {
+  if (length != other.length) return false;
+  for (var i = 0; i < length; i++) {
+    if (!equality.equals(this[i], other[i])) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/expandIndexed.md b/sdk/dart/package-collection_collection/ListExtensions/expandIndexed.md
new file mode 100644
index 0000000..e834f19
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/expandIndexed.md
@@ -0,0 +1,26 @@
+
+# expandIndexed&lt;R> method
+
+    *<Null safety>*
+
+
+Iterable&lt;R> expandIndexed
+&lt;R>(Iterable&lt;R> expand(int index, E element))
+
+
+<p>Expands each element and index to a number of elements in a new iterable.</p>
+<p>Like <code>Iterable.expand</code> except that the callback function is supplied with
+both the index and the element.</p>
+
+## Implementation
+
+```dart
+Iterable<R> expandIndexed<R>(
+    Iterable<R> Function(int index, E element) expand) sync* {
+  for (var index = 0; index < length; index++) {
+    yield* expand(index, this[index]);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/forEachIndexed.md b/sdk/dart/package-collection_collection/ListExtensions/forEachIndexed.md
new file mode 100644
index 0000000..50f6ceb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/forEachIndexed.md
@@ -0,0 +1,25 @@
+
+# forEachIndexed method
+
+    *<Null safety>*
+
+
+void forEachIndexed
+(void action(int index, E element))
+
+
+<p>Takes an action for each element.</p>
+<p>Calls <code>action</code> for each element along with the index in the
+iteration order.</p>
+
+## Implementation
+
+```dart
+void forEachIndexed(void Function(int index, E element) action) {
+  for (var index = 0; index < length; index++) {
+    action(index, this[index]);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/forEachIndexedWhile.md b/sdk/dart/package-collection_collection/ListExtensions/forEachIndexedWhile.md
new file mode 100644
index 0000000..be76278
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/forEachIndexedWhile.md
@@ -0,0 +1,26 @@
+
+# forEachIndexedWhile method
+
+    *<Null safety>*
+
+
+void forEachIndexedWhile
+(bool action(int index, E element))
+
+
+<p>Takes an action for each element and index as long as desired.</p>
+<p>Calls <code>action</code> for each element along with the index in the
+iteration order.
+Stops iteration if <code>action</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+void forEachIndexedWhile(bool Function(int index, E element) action) {
+  for (var index = 0; index < length; index++) {
+    if (!action(index, this[index])) break;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/forEachWhile.md b/sdk/dart/package-collection_collection/ListExtensions/forEachWhile.md
new file mode 100644
index 0000000..ecfb076
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/forEachWhile.md
@@ -0,0 +1,25 @@
+
+# forEachWhile method
+
+    *<Null safety>*
+
+
+void forEachWhile
+(bool action(E element))
+
+
+<p>Takes an action for each element as long as desired.</p>
+<p>Calls <code>action</code> for each element.
+Stops iteration if <code>action</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+void forEachWhile(bool Function(E element) action) {
+  for (var index = 0; index < length; index++) {
+    if (!action(this[index])) break;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/lowerBound.md b/sdk/dart/package-collection_collection/ListExtensions/lowerBound.md
new file mode 100644
index 0000000..7ed972e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/lowerBound.md
@@ -0,0 +1,28 @@
+
+# lowerBound method
+
+    *<Null safety>*
+
+
+int lowerBound
+(E element, int compare(E, E))
+
+
+<p>Returns the index where <code>element</code> should be in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to <code>compare</code>,
+otherwise the result is unspecified.</p>
+<p>If <code>element</code> is in the list, its index is returned,
+otherwise returns the first position where adding <code>element</code>
+would keep the list sorted. This may be the <code>length</code> of
+the list if all elements of the list compare less than
+<code>element</code>.</p>
+
+## Implementation
+
+```dart
+int lowerBound(E element, int Function(E, E) compare) =>
+    algorithms.lowerBoundBy<E, E>(this, identity, compare, element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/lowerBoundBy.md b/sdk/dart/package-collection_collection/ListExtensions/lowerBoundBy.md
new file mode 100644
index 0000000..f2809e7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/lowerBoundBy.md
@@ -0,0 +1,33 @@
+
+# lowerBoundBy&lt;K extends Comparable&lt;K>> method
+
+    *<Null safety>*
+
+
+int lowerBoundBy
+&lt;K extends Comparable&lt;K>>(E element, K keyOf(E), [int start = 0, int? end])
+
+
+<p>Returns the index where <code>element</code> should be in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to the
+natural ordering of the <code>keyOf</code> of the elements,
+otherwise the result is unspecified.</p>
+<p>If <code>element</code> is in the list, its index is returned,
+otherwise returns the first position where adding <code>element</code>
+would keep the list sorted. This may be the <code>length</code> of
+the list if all elements of the list compare less than
+<code>element</code>.</p>
+<p>If <code>start</code> and <code>end</code> are supplied, only that range is searched,
+and only that range need to be sorted.</p>
+
+## Implementation
+
+```dart
+int lowerBoundBy<K extends Comparable<K>>(E element, K Function(E) keyOf,
+        [int start = 0, int? end]) =>
+    algorithms.lowerBoundBy<E, K>(
+        this, keyOf, compareComparable, element, start, end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/lowerBoundByCompare.md b/sdk/dart/package-collection_collection/ListExtensions/lowerBoundByCompare.md
new file mode 100644
index 0000000..d68be33
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/lowerBoundByCompare.md
@@ -0,0 +1,32 @@
+
+# lowerBoundByCompare&lt;K> method
+
+    *<Null safety>*
+
+
+int lowerBoundByCompare
+&lt;K>(E element, K keyOf(E), int compare(K, K), [int start = 0, int? end])
+
+
+<p>Returns the index where <code>element</code> should be in this sorted list.</p>
+<p>Uses binary search to find the location of <code>element</code>.
+The list <em>must</em> be sorted according to <code>compare</code> of
+the <code>keyOf</code> of the elements, otherwise the result is unspecified.</p>
+<p>If <code>element</code> is in the list, its index is returned,
+otherwise returns the first position where adding <code>element</code>
+would keep the list sorted. This may be the <code>length</code> of
+the list if all elements of the list compare less than
+<code>element</code>.</p>
+<p>If <code>start</code> and <code>end</code> are supplied, only that range is searched,
+and only that range need to be sorted.</p>
+
+## Implementation
+
+```dart
+int lowerBoundByCompare<K>(
+        E element, K Function(E) keyOf, int Function(K, K) compare,
+        [int start = 0, int? end]) =>
+    algorithms.lowerBoundBy(this, keyOf, compare, element, start, end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/mapIndexed.md b/sdk/dart/package-collection_collection/ListExtensions/mapIndexed.md
new file mode 100644
index 0000000..49702a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/mapIndexed.md
@@ -0,0 +1,23 @@
+
+# mapIndexed&lt;R> method
+
+    *<Null safety>*
+
+
+Iterable&lt;R> mapIndexed
+&lt;R>(R convert(int index, E element))
+
+
+<p>Maps each element and its index to a new value.</p>
+
+## Implementation
+
+```dart
+Iterable<R> mapIndexed<R>(R Function(int index, E element) convert) sync* {
+  for (var index = 0; index < length; index++) {
+    yield convert(index, this[index]);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/reverseRange.md b/sdk/dart/package-collection_collection/ListExtensions/reverseRange.md
new file mode 100644
index 0000000..6a61d8f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/reverseRange.md
@@ -0,0 +1,27 @@
+
+# reverseRange method
+
+    *<Null safety>*
+
+
+void reverseRange
+(int start, int end)
+
+
+<p>Reverses the elements in a range of the list.</p>
+
+## Implementation
+
+```dart
+void reverseRange(int start, int end) {
+  RangeError.checkValidRange(start, end, length);
+  while (start < --end) {
+    var tmp = this[start];
+    this[start] = this[end];
+    this[end] = tmp;
+    start += 1;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/shuffleRange.md b/sdk/dart/package-collection_collection/ListExtensions/shuffleRange.md
new file mode 100644
index 0000000..3ac9204
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/shuffleRange.md
@@ -0,0 +1,22 @@
+
+# shuffleRange method
+
+    *<Null safety>*
+
+
+void shuffleRange
+(int start, int end, [Random? random])
+
+
+<p>Shuffle a range of elements.</p>
+
+## Implementation
+
+```dart
+void shuffleRange(int start, int end, [Random? random]) {
+  RangeError.checkValidRange(start, end, length);
+  shuffle(this, start, end, random);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/slice.md b/sdk/dart/package-collection_collection/ListExtensions/slice.md
new file mode 100644
index 0000000..5ad0ef7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/slice.md
@@ -0,0 +1,32 @@
+
+# slice method
+
+    *<Null safety>*
+
+
+[ListSlice](../../package-collection_collection/ListSlice-class.md)&lt;E> slice
+(int start, [int? end])
+
+
+<p>A fixed length view of a range of this list.</p>
+<p>The view is backed by this this list, which must not
+change its length while the view is being used.</p>
+<p>The view can be used to perform specific whole-list
+actions on a part of the list.
+For example, to see if a list contains more than one
+"marker" element, you can do:</p>
+<pre class="language-dart"><code class="language-dart">someList.slice(someList.indexOf(marker) + 1).contains(marker)
+</code></pre>
+
+## Implementation
+
+```dart
+ListSlice<E> slice(int start, [int? end]) {
+  end = RangeError.checkValidRange(start, end, length);
+  var self = this;
+  if (self is ListSlice) return self.slice(start, end);
+  return ListSlice<E>(this, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/sortBy.md b/sdk/dart/package-collection_collection/ListExtensions/sortBy.md
new file mode 100644
index 0000000..0a25387
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/sortBy.md
@@ -0,0 +1,23 @@
+
+# sortBy&lt;K extends Comparable&lt;K>> method
+
+    *<Null safety>*
+
+
+void sortBy
+&lt;K extends Comparable&lt;K>>(K keyOf(E element), [int start = 0, int? end])
+
+
+<p>Sorts elements by the natural order of their <code>keyOf</code> property.</p>
+<p>Sorts elements from <code>start</code> to <code>end</code>, defaulting to the entire list.</p>
+
+## Implementation
+
+```dart
+void sortBy<K extends Comparable<K>>(K Function(E element) keyOf,
+    [int start = 0, int? end]) {
+  quickSortBy<E, K>(this, keyOf, compareComparable, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/sortByCompare.md b/sdk/dart/package-collection_collection/ListExtensions/sortByCompare.md
new file mode 100644
index 0000000..5ef5a57
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/sortByCompare.md
@@ -0,0 +1,24 @@
+
+# sortByCompare&lt;K> method
+
+    *<Null safety>*
+
+
+void sortByCompare
+&lt;K>(K keyOf(E element), int compare(K a, K b), [int start = 0, int? end])
+
+
+<p>Sorts elements by the <code>compare</code> of their <code>keyOf</code> property.</p>
+<p>Sorts elements from <code>start</code> to <code>end</code>, defaulting to the entire list.</p>
+
+## Implementation
+
+```dart
+void sortByCompare<K>(
+    K Function(E element) keyOf, int Function(K a, K b) compare,
+    [int start = 0, int? end]) {
+  quickSortBy(this, keyOf, compare, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/sortRange.md b/sdk/dart/package-collection_collection/ListExtensions/sortRange.md
new file mode 100644
index 0000000..fecfa4e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/sortRange.md
@@ -0,0 +1,21 @@
+
+# sortRange method
+
+    *<Null safety>*
+
+
+void sortRange
+(int start, int end, int compare(E a, E b))
+
+
+<p>Sort a range of elements by <code>compare</code>.</p>
+
+## Implementation
+
+```dart
+void sortRange(int start, int end, int Function(E a, E b) compare) {
+  quickSortBy<E, E>(this, identity, compare, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/swap.md b/sdk/dart/package-collection_collection/ListExtensions/swap.md
new file mode 100644
index 0000000..f7f31ac
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/swap.md
@@ -0,0 +1,25 @@
+
+# swap method
+
+    *<Null safety>*
+
+
+void swap
+(int index1, int index2)
+
+
+<p>Swaps two elements of this list.</p>
+
+## Implementation
+
+```dart
+void swap(int index1, int index2) {
+  RangeError.checkValidIndex(index1, this, 'index1');
+  RangeError.checkValidIndex(index2, this, 'index2');
+  var tmp = this[index1];
+  this[index1] = this[index2];
+  this[index2] = tmp;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/whereIndexed.md b/sdk/dart/package-collection_collection/ListExtensions/whereIndexed.md
new file mode 100644
index 0000000..c91a9e9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/whereIndexed.md
@@ -0,0 +1,24 @@
+
+# whereIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;E> whereIndexed
+(bool test(int index, E element))
+
+
+<p>The elements whose value and index satisfies <code>test</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> whereIndexed(bool Function(int index, E element) test) sync* {
+  for (var index = 0; index < length; index++) {
+    var element = this[index];
+    if (test(index, element)) yield element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListExtensions/whereNotIndexed.md b/sdk/dart/package-collection_collection/ListExtensions/whereNotIndexed.md
new file mode 100644
index 0000000..3f314b3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListExtensions/whereNotIndexed.md
@@ -0,0 +1,24 @@
+
+# whereNotIndexed method
+
+    *<Null safety>*
+
+
+Iterable&lt;E> whereNotIndexed
+(bool test(int index, E element))
+
+
+<p>The elements whose value and index do not satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> whereNotIndexed(bool Function(int index, E element) test) sync* {
+  for (var index = 0; index < length; index++) {
+    var element = this[index];
+    if (!test(index, element)) yield element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice-class.md b/sdk/dart/package-collection_collection/ListSlice-class.md
new file mode 100644
index 0000000..0d08bb6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice-class.md
@@ -0,0 +1,413 @@
+
+# ListSlice&lt;E> class
+
+    *<Null safety>*
+
+<p>A list view of a range of another list.</p>
+<p>Wraps the range of the <a href="../package-collection_collection/ListSlice/source.md">source</a> list from <a href="../package-collection_collection/ListSlice/start.md">start</a> to <a href="../package-collection_collection/ListSlice/end.md">end</a>
+and acts like a fixed-length list view of that range.
+The source list must not change length while a list slice is being used.</p>
+
+**Inheritance**
+
+- Object
+- ListBase&lt;E>
+- ListSlice
+
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[ListSlice](../package-collection_collection/ListSlice/ListSlice.md) (List&lt;E> source, int start, int end)
+
+Creates a slice of <code>source</code> from <code>start</code> to <code>end</code>.   
+ 
+
+
+## Properties
+
+##### [end](../package-collection_collection/ListSlice/end.md) &#8594; int
+
+The end index of the slice.   
+_read-only_
+
+##### [first](../package-collection_collection/ListSlice/first.md) &#8596; E
+
+Returns the first element. [...](../package-collection_collection/ListSlice/first.md)  
+_read / write, inherited_
+
+##### [hashCode](../package-collection_collection/ListSlice/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/ListSlice/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/ListSlice/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/ListSlice/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/ListSlice/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/ListSlice/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/ListSlice/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/ListSlice/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/ListSlice/last.md) &#8596; E
+
+Returns the last element. [...](../package-collection_collection/ListSlice/last.md)  
+_read / write, inherited_
+
+##### [length](../package-collection_collection/ListSlice/length.md) &#8596; int
+
+The number of objects in this list. [...](../package-collection_collection/ListSlice/length.md)  
+_read / write, final, override_
+
+##### [reversed](../package-collection_collection/ListSlice/reversed.md) &#8594; Iterable&lt;E>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/ListSlice/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/ListSlice/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/ListSlice/single.md)  
+_read-only, inherited_
+
+##### [source](../package-collection_collection/ListSlice/source.md) &#8594; List&lt;E>
+
+The original list backing this slice.   
+_final_
+
+##### [start](../package-collection_collection/ListSlice/start.md) &#8594; int
+
+The start index of the slice.   
+_final_
+
+
+## Methods
+
+##### [add](../package-collection_collection/ListSlice/add.md)(E element) void
+
+Adds <code>value</code> to the end of this list,
+extending the length by one. [...](../package-collection_collection/ListSlice/add.md)  
+_override_
+
+##### [addAll](../package-collection_collection/ListSlice/addAll.md)(Iterable&lt;E> iterable) void
+
+Appends all objects of <code>iterable</code> to the end of this list. [...](../package-collection_collection/ListSlice/addAll.md)  
+_override_
+
+##### [any](../package-collection_collection/ListSlice/any.md)(bool test(E element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/ListSlice/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/ListSlice/asMap.md)() Map&lt;int, E>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/ListSlice/asMap.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/ListSlice/cast.md)&lt;R>() List&lt;R>
+
+Returns a view of this list as a list of <code>R</code> instances. [...](../package-collection_collection/ListSlice/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/ListSlice/clear.md)() void
+
+Removes all objects from this list;
+the length of the list becomes zero. [...](../package-collection_collection/ListSlice/clear.md)  
+_override_
+
+##### [contains](../package-collection_collection/ListSlice/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/ListSlice/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/ListSlice/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/ListSlice/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/ListSlice/every.md)(bool test(E element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/ListSlice/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/ListSlice/expand.md)&lt;T>(Iterable&lt;T> f(E element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/ListSlice/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/ListSlice/fillRange.md)(int start, int end, [E? fill]) void
+
+Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>. [...](../package-collection_collection/ListSlice/fillRange.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/ListSlice/firstWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/ListSlice/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/ListSlice/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/ListSlice/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/ListSlice/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/ListSlice/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/ListSlice/forEach.md)(void action(E element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/ListSlice/getRange.md)(int start, int end) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/ListSlice/getRange.md)  
+_inherited_
+
+##### [indexOf](../package-collection_collection/ListSlice/indexOf.md)(Object? element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/ListSlice/indexOf.md)  
+_inherited_
+
+##### [indexWhere](../package-collection_collection/ListSlice/indexWhere.md)(bool test(E element), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/ListSlice/indexWhere.md)  
+_inherited_
+
+##### [insert](../package-collection_collection/ListSlice/insert.md)(int index, E element) void
+
+Inserts the object at position <code>index</code> in this list. [...](../package-collection_collection/ListSlice/insert.md)  
+_override_
+
+##### [insertAll](../package-collection_collection/ListSlice/insertAll.md)(int index, Iterable&lt;E> iterable) void
+
+Inserts all objects of <code>iterable</code> at position <code>index</code> in this list. [...](../package-collection_collection/ListSlice/insertAll.md)  
+_override_
+
+##### [join](../package-collection_collection/ListSlice/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/ListSlice/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/ListSlice/lastIndexOf.md)(Object? element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/ListSlice/lastIndexOf.md)  
+_inherited_
+
+##### [lastIndexWhere](../package-collection_collection/ListSlice/lastIndexWhere.md)(bool test(E element), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/ListSlice/lastIndexWhere.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/ListSlice/lastWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/ListSlice/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/ListSlice/map.md)&lt;T>(T f(E element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/ListSlice/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/ListSlice/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/ListSlice/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/ListSlice/reduce.md)(E combine(E previousValue, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/ListSlice/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/ListSlice/remove.md)(Object? element) bool
+
+Removes the first occurrence of <code>value</code> from this list. [...](../package-collection_collection/ListSlice/remove.md)  
+_override_
+
+##### [removeAt](../package-collection_collection/ListSlice/removeAt.md)(int index) E
+
+Removes the object at position <code>index</code> from this list. [...](../package-collection_collection/ListSlice/removeAt.md)  
+_override_
+
+##### [removeLast](../package-collection_collection/ListSlice/removeLast.md)() E
+
+Pops and returns the last object in this list. [...](../package-collection_collection/ListSlice/removeLast.md)  
+_override_
+
+##### [removeRange](../package-collection_collection/ListSlice/removeRange.md)(int start, int end) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/ListSlice/removeRange.md)  
+_override_
+
+##### [removeWhere](../package-collection_collection/ListSlice/removeWhere.md)(bool test(E element)) void
+
+Removes all objects from this list that satisfy <code>test</code>. [...](../package-collection_collection/ListSlice/removeWhere.md)  
+_override_
+
+##### [replaceRange](../package-collection_collection/ListSlice/replaceRange.md)(int start, int end, Iterable&lt;E> newContents) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place. [...](../package-collection_collection/ListSlice/replaceRange.md)  
+_override_
+
+##### [retainWhere](../package-collection_collection/ListSlice/retainWhere.md)(bool test(E element)) void
+
+Removes all objects from this list that fail to satisfy <code>test</code>. [...](../package-collection_collection/ListSlice/retainWhere.md)  
+_override_
+
+##### [reverseRange](../package-collection_collection/ListSlice/reverseRange.md)(int start, int end) void
+
+Reverses a range of elements.   
+
+
+##### [setAll](../package-collection_collection/ListSlice/setAll.md)(int index, Iterable&lt;E> iterable) void
+
+Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list. [...](../package-collection_collection/ListSlice/setAll.md)  
+_inherited_
+
+##### [setRange](../package-collection_collection/ListSlice/setRange.md)(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0]) void
+
+Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list. [...](../package-collection_collection/ListSlice/setRange.md)  
+_override_
+
+##### [shuffle](../package-collection_collection/ListSlice/shuffle.md)([Random? random]) void
+
+Shuffles the elements of this list randomly.   
+_override_
+
+##### [shuffleRange](../package-collection_collection/ListSlice/shuffleRange.md)(int start, int end, [Random? random]) void
+
+Shuffles a range of elements. [...](../package-collection_collection/ListSlice/shuffleRange.md)  
+
+
+##### [singleWhere](../package-collection_collection/ListSlice/singleWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/ListSlice/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/ListSlice/skip.md)(int count) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/ListSlice/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/ListSlice/skipWhile.md)(bool test(E element)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/ListSlice/skipWhile.md)  
+_inherited_
+
+##### [slice](../package-collection_collection/ListSlice/slice.md)(int start, [int? end]) [ListSlice](../package-collection_collection/ListSlice-class.md)&lt;E>
+
+A fixed length view of a range of this list. [...](../package-collection_collection/ListSlice/slice.md)  
+
+
+##### [sort](../package-collection_collection/ListSlice/sort.md)([int compare(E a, E b)]) void
+
+Sorts this list according to the order specified by the <code>compare</code> function. [...](../package-collection_collection/ListSlice/sort.md)  
+_override_
+
+##### [sortRange](../package-collection_collection/ListSlice/sortRange.md)(int start, int end, int compare(E a, E b)) void
+
+Sort a range of elements by <code>compare</code>.   
+
+
+##### [sublist](../package-collection_collection/ListSlice/sublist.md)(int start, [int? end]) List&lt;E>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/ListSlice/sublist.md)  
+_inherited_
+
+##### [take](../package-collection_collection/ListSlice/take.md)(int count) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/ListSlice/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/ListSlice/takeWhile.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/ListSlice/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/ListSlice/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/ListSlice/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/ListSlice/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/ListSlice/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/ListSlice/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/ListSlice/where.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/ListSlice/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/ListSlice/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/ListSlice/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/ListSlice/operator_plus.md)(List&lt;E> other) List&lt;E>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/ListSlice/operator_plus.md)  
+_inherited_
+
+##### [operator ==](../package-collection_collection/ListSlice/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/ListSlice/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/ListSlice/operator_get.md)(int index) E
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+##### [operator []=](../package-collection_collection/ListSlice/operator_put.md)(int index, E value) void
+
+Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/ListSlice.md b/sdk/dart/package-collection_collection/ListSlice/ListSlice.md
new file mode 100644
index 0000000..53f6694
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/ListSlice.md
@@ -0,0 +1,22 @@
+
+# ListSlice&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+ListSlice&lt;E>(List&lt;E> source, int start, int end)
+
+<p>Creates a slice of <code>source</code> from <code>start</code> to <code>end</code>.</p>
+
+## Implementation
+
+```dart
+ListSlice(this.source, this.start, int end)
+    : length = end - start,
+      _initialSize = source.length {
+  RangeError.checkValidRange(start, end, source.length);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/add.md b/sdk/dart/package-collection_collection/ListSlice/add.md
new file mode 100644
index 0000000..7db557b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/add.md
@@ -0,0 +1,25 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+void add
+(E element)
+_override_
+
+<p>Adds <code>value</code> to the end of this list,
+extending the length by one.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+void add(E element) {
+  throw UnsupportedError('Cannot add to a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/addAll.md b/sdk/dart/package-collection_collection/ListSlice/addAll.md
new file mode 100644
index 0000000..9c73961
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/addAll.md
@@ -0,0 +1,25 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> iterable)
+_override_
+
+<p>Appends all objects of <code>iterable</code> to the end of this list.</p>
+<p>Extends the length of the list by the number of objects in <code>iterable</code>.
+Throws an <code>UnsupportedError</code> if this list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> iterable) {
+  throw UnsupportedError('Cannot add to a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/any.md b/sdk/dart/package-collection_collection/ListSlice/any.md
new file mode 100644
index 0000000..c3feb5c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/any.md
@@ -0,0 +1,31 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L146)
+    *<Null safety>*
+
+
+bool any
+(bool test(E element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (test(this[i])) return true;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/asMap.md b/sdk/dart/package-collection_collection/ListSlice/asMap.md
new file mode 100644
index 0000000..7a7b61f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/asMap.md
@@ -0,0 +1,30 @@
+
+# asMap method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L376)
+    *<Null safety>*
+
+
+Map&lt;int, E> asMap
+()
+_inherited_
+
+<p>Returns an unmodifiable <code>Map</code> view of <code>this</code>.</p>
+<p>The map uses the indices of this list as keys and the corresponding objects
+as values. The <code>Map.keys</code> <code>Iterable</code> iterates the indices of this list
+in numerical order.</p>
+<pre class="language-dart"><code>List&lt;String&gt; words = ['fee', 'fi', 'fo', 'fum'];
+Map&lt;int, String&gt; map = words.asMap();
+map[0] + map[1];   // 'feefi';
+map.keys.toList(); // [0, 1, 2, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Map<int, E> asMap() {
+  return ListMapView<E>(this);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/cast.md b/sdk/dart/package-collection_collection/ListSlice/cast.md
new file mode 100644
index 0000000..724c5a0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/cast.md
@@ -0,0 +1,28 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L344)
+    *<Null safety>*
+
+
+List&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Returns a view of this list as a list of <code>R</code> instances.</p>
+<p>If this list contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the list (e.g., by using <a href="../../package-collection_collection/ListSlice/add.md">add</a> or <a href="../../package-collection_collection/ListSlice/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this list as well.</p>
+<p>Typically implemented as <code>List.castFrom&lt;E, R&gt;(this)</code>.</p>
+
+## Implementation
+
+```dart
+List<R> cast<R>() => List.castFrom<E, R>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/clear.md b/sdk/dart/package-collection_collection/ListSlice/clear.md
new file mode 100644
index 0000000..3330324
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/clear.md
@@ -0,0 +1,26 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all objects from this list;
+the length of the list becomes zero.</p>
+<p>Throws an <code>UnsupportedError</code>, and retains all objects, if this
+is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() {
+  throw UnsupportedError('Cannot clear a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/contains.md b/sdk/dart/package-collection_collection/ListSlice/contains.md
new file mode 100644
index 0000000..0996827
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/contains.md
@@ -0,0 +1,39 @@
+
+# contains method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L124)
+    *<Null safety>*
+
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+bool contains(Object? element) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (this[i] == element) return true;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/elementAt.md b/sdk/dart/package-collection_collection/ListSlice/elementAt.md
new file mode 100644
index 0000000..2c112a7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/elementAt.md
@@ -0,0 +1,26 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L78)
+    *<Null safety>*
+
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/ListSlice/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) => this[index];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/end.md b/sdk/dart/package-collection_collection/ListSlice/end.md
new file mode 100644
index 0000000..5b6fe81
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/end.md
@@ -0,0 +1,19 @@
+
+# end property
+
+    *<Null safety>*
+
+
+int end
+  
+
+
+<p>The end index of the slice.</p>
+
+## Implementation
+
+```dart
+int get end => start + length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/every.md b/sdk/dart/package-collection_collection/ListSlice/every.md
new file mode 100644
index 0000000..25de547
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/every.md
@@ -0,0 +1,31 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L135)
+    *<Null safety>*
+
+
+bool every
+(bool test(E element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (!test(this[i])) return false;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/expand.md b/sdk/dart/package-collection_collection/ListSlice/expand.md
new file mode 100644
index 0000000..7b6b331
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/fillRange.md b/sdk/dart/package-collection_collection/ListSlice/fillRange.md
new file mode 100644
index 0000000..08333ff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/fillRange.md
@@ -0,0 +1,40 @@
+
+# fillRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L403)
+    *<Null safety>*
+
+
+void fillRange
+(int start, int end, [E? fill])
+_inherited_
+
+<p>Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart"> List&lt;int&gt; list = new List(3);
+    list.fillRange(0, 2, 1);
+    print(list); //  [1, 1, null]
+</code></pre>
+<p>If the element type is not nullable, omitting <code>fillValue</code> or passing <code>null</code>
+as <code>fillValue</code> will make the <code>fillRange</code> fail.</p>
+
+## Implementation
+
+```dart
+void fillRange(int start, int end, [E? fill]) {
+  // Hoist the case to fail eagerly if the user provides an invalid `null`
+  // value (or omits it) when E is a non-nullable type.
+  E value = fill as E;
+  RangeError.checkValidRange(start, end, this.length);
+  for (int i = start; i < end; i++) {
+    this[i] = value;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/first.md b/sdk/dart/package-collection_collection/ListSlice/first.md
new file mode 100644
index 0000000..13d376e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/first.md
@@ -0,0 +1,42 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L98)
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  if (length == 0) throw IterableElementError.noElement();
+  return this[0];
+}
+```
+
+first=
+(E value)  
+_inherited_
+
+<p>Updates the first position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[0] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+void set first(E value) {
+  if (length == 0) throw IterableElementError.noElement();
+  this[0] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/firstWhere.md b/sdk/dart/package-collection_collection/ListSlice/firstWhere.md
new file mode 100644
index 0000000..1421063
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/firstWhere.md
@@ -0,0 +1,35 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L157)
+    *<Null safety>*
+
+
+E firstWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    E element = this[i];
+    if (test(element)) return element;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/fold.md b/sdk/dart/package-collection_collection/ListSlice/fold.md
new file mode 100644
index 0000000..e254e35
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/fold.md
@@ -0,0 +1,43 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L233)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    value = combine(value, this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/followedBy.md b/sdk/dart/package-collection_collection/ListSlice/followedBy.md
new file mode 100644
index 0000000..362d275
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L80)
+    *<Null safety>*
+
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) =>
+    FollowedByIterable<E>.firstEfficient(this, other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/forEach.md b/sdk/dart/package-collection_collection/ListSlice/forEach.md
new file mode 100644
index 0000000..c42af05
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/forEach.md
@@ -0,0 +1,29 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L83)
+    *<Null safety>*
+
+
+void forEach
+(void action(E element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void action(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    action(this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/getRange.md b/sdk/dart/package-collection_collection/ListSlice/getRange.md
new file mode 100644
index 0000000..d8a84e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/getRange.md
@@ -0,0 +1,37 @@
+
+# getRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L391)
+    *<Null safety>*
+
+
+Iterable&lt;E> getRange
+(int start, int end)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid at the time
+of the call.</p>
+<p>A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The returned <code>Iterable</code> behaves like <code>skip(start).take(end - start)</code>.
+That is, it does <em>not</em> throw if this list changes size.</p>
+<pre class="language-dart"><code>List&lt;String&gt; colors = ['red', 'green', 'blue', 'orange', 'pink'];
+Iterable&lt;String&gt; range = colors.getRange(1, 4);
+range.join(', ');  // 'green, blue, orange'
+colors.length = 3;
+range.join(', ');  // 'green, blue'
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<E> getRange(int start, int end) {
+  RangeError.checkValidRange(start, end, this.length);
+  return SubListIterable<E>(this, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/hashCode.md b/sdk/dart/package-collection_collection/ListSlice/hashCode.md
new file mode 100644
index 0000000..015fafc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/ListSlice/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/ListSlice/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/ListSlice/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/ListSlice/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/ListSlice/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/ListSlice/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/indexOf.md b/sdk/dart/package-collection_collection/ListSlice/indexOf.md
new file mode 100644
index 0000000..7bde1d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/indexOf.md
@@ -0,0 +1,36 @@
+
+# indexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L485)
+    *<Null safety>*
+
+
+int indexOf
+(Object? element, [int start = 0])
+_inherited_
+
+<p>Returns the first index of <code>element</code> in this list.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexOf('re');    // 1
+notes.indexOf('re', 2); // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexOf('fa');    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexOf(Object? element, [int start = 0]) {
+  if (start < 0) start = 0;
+  for (int i = start; i < this.length; i++) {
+    if (this[i] == element) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/indexWhere.md b/sdk/dart/package-collection_collection/ListSlice/indexWhere.md
new file mode 100644
index 0000000..cff8e9c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/indexWhere.md
@@ -0,0 +1,36 @@
+
+# indexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L493)
+    *<Null safety>*
+
+
+int indexWhere
+(bool test(E element), [int start = 0])
+_inherited_
+
+<p>Returns the first index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexWhere((note) =&gt; note.startsWith('r'));       // 1
+notes.indexWhere((note) =&gt; note.startsWith('r'), 2);    // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexWhere(bool test(E element), [int start = 0]) {
+  if (start < 0) start = 0;
+  for (int i = start; i < this.length; i++) {
+    if (test(this[i])) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/insert.md b/sdk/dart/package-collection_collection/ListSlice/insert.md
new file mode 100644
index 0000000..95dbd6a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/insert.md
@@ -0,0 +1,27 @@
+
+# insert method
+
+    *<Null safety>*
+
+- @override
+
+void insert
+(int index, E element)
+_override_
+
+<p>Inserts the object at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by one and shifts all objects
+at or after the index towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/ListSlice/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+@override
+void insert(int index, E element) {
+  throw UnsupportedError('Cannot add to a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/insertAll.md b/sdk/dart/package-collection_collection/ListSlice/insertAll.md
new file mode 100644
index 0000000..e35a941
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/insertAll.md
@@ -0,0 +1,27 @@
+
+# insertAll method
+
+    *<Null safety>*
+
+- @override
+
+void insertAll
+(int index, Iterable&lt;E> iterable)
+_override_
+
+<p>Inserts all objects of <code>iterable</code> at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by the length of <code>iterable</code> and
+shifts all later objects towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/ListSlice/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+@override
+void insertAll(int index, Iterable<E> iterable) {
+  throw UnsupportedError('Cannot add to a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/isEmpty.md b/sdk/dart/package-collection_collection/ListSlice/isEmpty.md
new file mode 100644
index 0000000..6e6df0f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/isEmpty.md
@@ -0,0 +1,22 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L94)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:prefer-inline")
+bool get isEmpty => length == 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/isNotEmpty.md b/sdk/dart/package-collection_collection/ListSlice/isNotEmpty.md
new file mode 100644
index 0000000..08454e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L96)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/iterator.md b/sdk/dart/package-collection_collection/ListSlice/iterator.md
new file mode 100644
index 0000000..3b27b50
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L76)
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+Iterator<E> get iterator => ListIterator<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/join.md b/sdk/dart/package-collection_collection/ListSlice/join.md
new file mode 100644
index 0000000..e2e57e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/join.md
@@ -0,0 +1,28 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L205)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  if (length == 0) return "";
+  StringBuffer buffer = StringBuffer()..writeAll(this, separator);
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/last.md b/sdk/dart/package-collection_collection/ListSlice/last.md
new file mode 100644
index 0000000..fa80f84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/last.md
@@ -0,0 +1,45 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L108)
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  if (length == 0) throw IterableElementError.noElement();
+  return this[length - 1];
+}
+```
+
+last=
+(E value)  
+_inherited_
+
+<p>Updates the last position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[theList.length - 1] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+void set last(E value) {
+  if (length == 0) throw IterableElementError.noElement();
+  this[length - 1] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/lastIndexOf.md b/sdk/dart/package-collection_collection/ListSlice/lastIndexOf.md
new file mode 100644
index 0000000..dff8325
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/lastIndexOf.md
@@ -0,0 +1,43 @@
+
+# lastIndexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L501)
+    *<Null safety>*
+
+
+int lastIndexOf
+(Object? element, [int? start])
+_inherited_
+
+<p>Returns the last index of <code>element</code> in this list.</p>
+<p>Searches the list backwards from index <code>start</code> to 0.</p>
+<p>The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexOf('re', 2); // 1
+</code></pre>
+<p>If <code>start</code> is not provided, this method searches from the end of the
+list.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('re');  // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('fa');  // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexOf(Object? element, [int? start]) {
+  if (start == null || start >= this.length) start = this.length - 1;
+
+  // TODO(38493): The previous line should promote.
+  if (start == null) throw "!";
+
+  for (int i = start; i >= 0; i--) {
+    if (this[i] == element) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/lastIndexWhere.md b/sdk/dart/package-collection_collection/ListSlice/lastIndexWhere.md
new file mode 100644
index 0000000..bb69c45
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/lastIndexWhere.md
@@ -0,0 +1,41 @@
+
+# lastIndexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L513)
+    *<Null safety>*
+
+
+int lastIndexWhere
+(bool test(E element), [int? start])
+_inherited_
+
+<p>Returns the last index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to 0.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.
+If <code>start</code> is omitted, it defaults to the <a href="../../package-collection_collection/ListSlice/length.md">length</a> of the list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'));       // 3
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'), 2);    // 1
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexWhere(bool test(E element), [int? start]) {
+  if (start == null || start >= this.length) start = this.length - 1;
+
+  // TODO(38493): The previous line should promote.
+  if (start == null) throw "!";
+
+  for (int i = start; i >= 0; i--) {
+    if (test(this[i])) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/lastWhere.md b/sdk/dart/package-collection_collection/ListSlice/lastWhere.md
new file mode 100644
index 0000000..295da5f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/lastWhere.md
@@ -0,0 +1,40 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L170)
+    *<Null safety>*
+
+
+E lastWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  for (int i = length - 1; i >= 0; i--) {
+    E element = this[i];
+    if (test(element)) return element;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/length.md b/sdk/dart/package-collection_collection/ListSlice/length.md
new file mode 100644
index 0000000..1225db4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/length.md
@@ -0,0 +1,39 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>The number of objects in this list.</p>
+<p>The valid indices for a list are <code>0</code> through <code>length - 1</code>.</p>
+
+## Implementation
+
+```dart
+final int length
+```
+
+length=
+(int newLength)  
+_override_
+
+<p>Changes the length of this list.</p>
+<p>If <code>newLength</code> is greater than
+the current length, entries are initialized to <code>null</code>.
+Increasing the length fails if the element type does not allow <code>null</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length or
+if attempting tp enlarge the list when <code>null</code> is not a valid element.</p>
+
+## Implementation
+
+```dart
+@override
+set length(int newLength) {
+  throw UnsupportedError('Cannot change the length of a fixed-length list');
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/map.md b/sdk/dart/package-collection_collection/ListSlice/map.md
new file mode 100644
index 0000000..323ac69
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L215)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/ListSlice/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E element)) => MappedListIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/noSuchMethod.md b/sdk/dart/package-collection_collection/ListSlice/noSuchMethod.md
new file mode 100644
index 0000000..4923d88
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/ListSlice/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/operator_equals.md b/sdk/dart/package-collection_collection/ListSlice/operator_equals.md
new file mode 100644
index 0000000..658c11b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/ListSlice/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/operator_get.md b/sdk/dart/package-collection_collection/ListSlice/operator_get.md
new file mode 100644
index 0000000..c89dcf2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/operator_get.md
@@ -0,0 +1,28 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+E operator []
+(int index)
+_override_
+
+<p>Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+E operator [](int index) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  RangeError.checkValidIndex(index, this, null, length);
+  return source[start + index];
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/operator_plus.md b/sdk/dart/package-collection_collection/ListSlice/operator_plus.md
new file mode 100644
index 0000000..c9b57fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/operator_plus.md
@@ -0,0 +1,25 @@
+
+# operator + method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L380)
+    *<Null safety>*
+
+
+List&lt;E> operator +
+(List&lt;E> other)
+_inherited_
+
+<p>Returns the concatenation of this list and <code>other</code>.</p>
+<p>Returns a new list containing the elements of this list followed by
+the elements of <code>other</code>.</p>
+<p>The default behavior is to return a normal growable list.
+Some list types may choose to return a list of the same type as themselves
+(see <code>Uint8List.+</code>);</p>
+
+## Implementation
+
+```dart
+List<E> operator +(List<E> other) => [...this, ...other];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/operator_put.md b/sdk/dart/package-collection_collection/ListSlice/operator_put.md
new file mode 100644
index 0000000..bc284f8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/operator_put.md
@@ -0,0 +1,28 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(int index, E value)
+_override_
+
+<p>Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(int index, E value) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  RangeError.checkValidIndex(index, this, null, length);
+  source[start + index] = value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/reduce.md b/sdk/dart/package-collection_collection/ListSlice/reduce.md
new file mode 100644
index 0000000..e9b83a2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/reduce.md
@@ -0,0 +1,46 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L220)
+    *<Null safety>*
+
+
+E reduce
+(E combine(E previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E previousValue, E element)) {
+  int length = this.length;
+  if (length == 0) throw IterableElementError.noElement();
+  E value = this[0];
+  for (int i = 1; i < length; i++) {
+    value = combine(value, this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/remove.md b/sdk/dart/package-collection_collection/ListSlice/remove.md
new file mode 100644
index 0000000..8b2107c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/remove.md
@@ -0,0 +1,34 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? element)
+_override_
+
+<p>Removes the first occurrence of <code>value</code> from this list.</p>
+<p>Returns true if <code>value</code> was in the list, false otherwise.</p>
+<pre class="language-dart"><code>List&lt;String&gt; parts = ['head', 'shoulders', 'knees', 'toes'];
+parts.remove('head'); // true
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>The method has no effect if <code>value</code> was not in the list.</p>
+<pre class="language-dart"><code>// Note: 'head' has already been removed.
+parts.remove('head'); // false
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>An <code>UnsupportedError</code> occurs if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? element) {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/removeAt.md b/sdk/dart/package-collection_collection/ListSlice/removeAt.md
new file mode 100644
index 0000000..db7bb55
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/removeAt.md
@@ -0,0 +1,29 @@
+
+# removeAt method
+
+    *<Null safety>*
+
+- @override
+
+E removeAt
+(int index)
+_override_
+
+<p>Removes the object at position <code>index</code> from this list.</p>
+<p>This method reduces the length of <code>this</code> by one and moves all later objects
+down by one position.</p>
+<p>Returns the removed object.</p>
+<p>The <code>index</code> must be in the range <code>0 ≤ index &lt; length</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+@override
+E removeAt(int index) {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/removeLast.md b/sdk/dart/package-collection_collection/ListSlice/removeLast.md
new file mode 100644
index 0000000..1eda1f7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/removeLast.md
@@ -0,0 +1,25 @@
+
+# removeLast method
+
+    *<Null safety>*
+
+- @override
+
+E removeLast
+()
+_override_
+
+<p>Pops and returns the last object in this list.</p>
+<p>The list must not be empty.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+E removeLast() {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/removeRange.md b/sdk/dart/package-collection_collection/ListSlice/removeRange.md
new file mode 100644
index 0000000..3d83b25
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/removeRange.md
@@ -0,0 +1,29 @@
+
+# removeRange method
+
+    *<Null safety>*
+
+- @override
+
+void removeRange
+(int start, int end)
+_override_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+@override
+void removeRange(int start, int end) {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/removeWhere.md b/sdk/dart/package-collection_collection/ListSlice/removeWhere.md
new file mode 100644
index 0000000..71e11f9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/removeWhere.md
@@ -0,0 +1,29 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(E element))
+_override_
+
+<p>Removes all objects from this list that satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.removeWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'three, four'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(E element) test) {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/replaceRange.md b/sdk/dart/package-collection_collection/ListSlice/replaceRange.md
new file mode 100644
index 0000000..992b65d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/replaceRange.md
@@ -0,0 +1,35 @@
+
+# replaceRange method
+
+    *<Null safety>*
+
+- @override
+
+void replaceRange
+(int start, int end, Iterable&lt;E> newContents)
+_override_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list = [1, 2, 3, 4, 5];
+list.replaceRange(1, 4, [6, 7]);
+list.join(', '); // '1, 6, 7, 5'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>This method does not work on fixed-length lists, even when <code>replacement</code>
+has the same number of elements as the replaced range. In that case use
+<a href="../../package-collection_collection/ListSlice/setRange.md">setRange</a> instead.</p>
+
+## Implementation
+
+```dart
+@override
+void replaceRange(int start, int end, Iterable<E> newContents) {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/retainWhere.md b/sdk/dart/package-collection_collection/ListSlice/retainWhere.md
new file mode 100644
index 0000000..bfdfd0d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/retainWhere.md
@@ -0,0 +1,29 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(E element))
+_override_
+
+<p>Removes all objects from this list that fail to satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.retainWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'one, two'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(E element) test) {
+  throw UnsupportedError('Cannot remove from a fixed-length list');
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/reverseRange.md b/sdk/dart/package-collection_collection/ListSlice/reverseRange.md
new file mode 100644
index 0000000..6431c38
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/reverseRange.md
@@ -0,0 +1,22 @@
+
+# reverseRange method
+
+    *<Null safety>*
+
+
+void reverseRange
+(int start, int end)
+
+
+<p>Reverses a range of elements.</p>
+
+## Implementation
+
+```dart
+void reverseRange(int start, int end) {
+  RangeError.checkValidRange(start, end, length);
+  source.reverseRange(this.start + start, this.start + end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/reversed.md b/sdk/dart/package-collection_collection/ListSlice/reversed.md
new file mode 100644
index 0000000..b724cf9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/reversed.md
@@ -0,0 +1,20 @@
+
+# reversed property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L585)
+    *<Null safety>*
+
+
+Iterable&lt;E> reversed
+  
+_inherited_
+
+<p>Returns an <code>Iterable</code> of the objects in this list in reverse order.</p>
+
+## Implementation
+
+```dart
+Iterable<E> get reversed => ReversedListIterable<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/runtimeType.md b/sdk/dart/package-collection_collection/ListSlice/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/setAll.md b/sdk/dart/package-collection_collection/ListSlice/setAll.md
new file mode 100644
index 0000000..80b6c92
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/setAll.md
@@ -0,0 +1,39 @@
+
+# setAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L575)
+    *<Null safety>*
+
+
+void setAll
+(int index, Iterable&lt;E> iterable)
+_inherited_
+
+<p>Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; list = ['a', 'b', 'c'];
+list.setAll(1, ['bee', 'sea']);
+list.join(', '); // 'a, bee, sea'
+</code></pre>
+<p>This operation does not increase the length of <code>this</code>.</p>
+<p>The <code>index</code> must be non-negative and no greater than <a href="../../package-collection_collection/ListSlice/length.md">length</a>.</p>
+<p>The <code>iterable</code> must not have more elements than what can fit from <code>index</code>
+to <a href="../../package-collection_collection/ListSlice/length.md">length</a>.</p>
+<p>If <code>iterable</code> is based on this list, its values may change /during/ the
+<code>setAll</code> operation.</p>
+
+## Implementation
+
+```dart
+void setAll(int index, Iterable<E> iterable) {
+  if (iterable is List) {
+    setRange(index, index + iterable.length, iterable);
+  } else {
+    for (E element in iterable) {
+      this[index++] = element;
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/setRange.md b/sdk/dart/package-collection_collection/ListSlice/setRange.md
new file mode 100644
index 0000000..23e760a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/setRange.md
@@ -0,0 +1,46 @@
+
+# setRange method
+
+    *<Null safety>*
+
+- @override
+
+void setRange
+(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0])
+_override_
+
+<p>Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list1 = [1, 2, 3, 4];
+List&lt;int&gt; list2 = [5, 6, 7, 8, 9];
+// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
+// of list1.
+list1.setRange(1, 3, list2, 3);
+list1.join(', '); // '1, 8, 9, 4'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The <code>iterable</code> must have enough objects to fill the range from <code>start</code>
+to <code>end</code> after skipping <code>skipCount</code> objects.</p>
+<p>If <code>iterable</code> is this list, the operation copies the elements
+originally in the range from <code>skipCount</code> to <code>skipCount + (end - start)</code> to
+the range <code>start</code> to <code>end</code>, even if the two ranges overlap.</p>
+<p>If <code>iterable</code> depends on this list in some other way, no guarantees are
+made.</p>
+
+## Implementation
+
+```dart
+@override
+void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  RangeError.checkValidRange(start, end, length);
+  source.setRange(start + start, start + end, iterable, skipCount);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/shuffle.md b/sdk/dart/package-collection_collection/ListSlice/shuffle.md
new file mode 100644
index 0000000..a6ae3d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/shuffle.md
@@ -0,0 +1,26 @@
+
+# shuffle method
+
+    *<Null safety>*
+
+- @override
+
+void shuffle
+([Random? random])
+_override_
+
+<p>Shuffles the elements of this list randomly.</p>
+
+## Implementation
+
+```dart
+@override
+void shuffle([Random? random]) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  algorithms.shuffle(source, start, end, random);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/shuffleRange.md b/sdk/dart/package-collection_collection/ListSlice/shuffleRange.md
new file mode 100644
index 0000000..8201e5f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/shuffleRange.md
@@ -0,0 +1,26 @@
+
+# shuffleRange method
+
+    *<Null safety>*
+
+
+void shuffleRange
+(int start, int end, [Random? random])
+
+
+<p>Shuffles a range of elements.</p>
+<p>If <code>random</code> is omitted, a new instance of <code>Random</code> is used.</p>
+
+## Implementation
+
+```dart
+void shuffleRange(int start, int end, [Random? random]) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  RangeError.checkValidRange(start, end, length);
+  algorithms.shuffle(source, this.start + start, this.start + end, random);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/single.md b/sdk/dart/package-collection_collection/ListSlice/single.md
new file mode 100644
index 0000000..f42b96a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/single.md
@@ -0,0 +1,25 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L118)
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  if (length == 0) throw IterableElementError.noElement();
+  if (length > 1) throw IterableElementError.tooMany();
+  return this[0];
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/singleWhere.md b/sdk/dart/package-collection_collection/ListSlice/singleWhere.md
new file mode 100644
index 0000000..4032eec
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/singleWhere.md
@@ -0,0 +1,45 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L183)
+    *<Null safety>*
+
+
+E singleWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  late E match;
+  bool matchFound = false;
+  for (int i = 0; i < length; i++) {
+    E element = this[i];
+    if (test(element)) {
+      if (matchFound) {
+        throw IterableElementError.tooMany();
+      }
+      matchFound = true;
+      match = element;
+    }
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (matchFound) return match;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/skip.md b/sdk/dart/package-collection_collection/ListSlice/skip.md
new file mode 100644
index 0000000..e9d0b08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/skip.md
@@ -0,0 +1,30 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L245)
+    *<Null safety>*
+
+
+Iterable&lt;E> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) => SubListIterable<E>(this, count, null);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/skipWhile.md b/sdk/dart/package-collection_collection/ListSlice/skipWhile.md
new file mode 100644
index 0000000..099a3db
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L247)
+    *<Null safety>*
+
+
+Iterable&lt;E> skipWhile
+(bool test(E element))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E element)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/slice.md b/sdk/dart/package-collection_collection/ListSlice/slice.md
new file mode 100644
index 0000000..06bfd81
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/slice.md
@@ -0,0 +1,30 @@
+
+# slice method
+
+    *<Null safety>*
+
+
+[ListSlice](../../package-collection_collection/ListSlice-class.md)&lt;E> slice
+(int start, [int? end])
+
+
+<p>A fixed length view of a range of this list.</p>
+<p>The view is backed by this this list, which must not
+change its length while the view is being used.</p>
+<p>The view can be used to perform specific whole-list
+actions on a part of the list.
+For example, to see if a list contains more than one
+"marker" element, you can do:</p>
+<pre class="language-dart"><code class="language-dart">someList.slice(someList.indexOf(marker) + 1).contains(marker)
+</code></pre>
+
+## Implementation
+
+```dart
+ListSlice<E> slice(int start, [int? end]) {
+  end = RangeError.checkValidRange(start, end, length);
+  return ListSlice._(_initialSize, source, start + start, end - start);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/sort.md b/sdk/dart/package-collection_collection/ListSlice/sort.md
new file mode 100644
index 0000000..ea4b074
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/sort.md
@@ -0,0 +1,47 @@
+
+# sort method
+
+    *<Null safety>*
+
+- @override
+
+void sort
+([int compare(E a, E b)])
+_override_
+
+<p>Sorts this list according to the order specified by the <code>compare</code> function.</p>
+<p>The <code>compare</code> function must act as a <code>Comparator</code>.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['two', 'three', 'four'];
+// Sort from shortest to longest.
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [two, four, three]
+</code></pre>
+<p>The default List implementations use <code>Comparable.compare</code> if
+<code>compare</code> is omitted.</p>
+<pre class="language-dart"><code>List&lt;int&gt; nums = [13, 2, -11];
+nums.sort();
+print(nums);  // [-11, 2, 13]
+</code></pre>
+<p>A <code>Comparator</code> may compare objects as equal (return zero), even if they
+are distinct objects.
+The sort function is not guaranteed to be stable, so distinct objects
+that compare as equal may occur in any order in the result:</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [one, two, four, three] OR [two, one, four, three]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+void sort([int Function(E a, E b)? compare]) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  compare ??= defaultCompare;
+  quickSort(source, compare, start, start + length);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/sortRange.md b/sdk/dart/package-collection_collection/ListSlice/sortRange.md
new file mode 100644
index 0000000..c158064
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/sortRange.md
@@ -0,0 +1,24 @@
+
+# sortRange method
+
+    *<Null safety>*
+
+
+void sortRange
+(int start, int end, int compare(E a, E b))
+
+
+<p>Sort a range of elements by <code>compare</code>.</p>
+
+## Implementation
+
+```dart
+void sortRange(int start, int end, int Function(E a, E b) compare) {
+  if (source.length != _initialSize) {
+    throw ConcurrentModificationError(source);
+  }
+  source.sortRange(start, end, compare);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/source.md b/sdk/dart/package-collection_collection/ListSlice/source.md
new file mode 100644
index 0000000..705155b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/source.md
@@ -0,0 +1,20 @@
+
+# source property
+
+    *<Null safety>*
+
+List&lt;E> source
+  
+_final_
+
+<p>The original list backing this slice.</p>
+
+## Implementation
+
+```dart
+final List<E> source
+
+
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/start.md b/sdk/dart/package-collection_collection/ListSlice/start.md
new file mode 100644
index 0000000..69bbd6f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/start.md
@@ -0,0 +1,20 @@
+
+# start property
+
+    *<Null safety>*
+
+int start
+  
+_final_
+
+<p>The start index of the slice.</p>
+
+## Implementation
+
+```dart
+final int start
+
+
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/sublist.md b/sdk/dart/package-collection_collection/ListSlice/sublist.md
new file mode 100644
index 0000000..01d6bcb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/sublist.md
@@ -0,0 +1,39 @@
+
+# sublist method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L382)
+    *<Null safety>*
+
+
+List&lt;E> sublist
+(int start, [int? end])
+_inherited_
+
+<p>Returns a new list containing the elements between <code>start</code> and <code>end</code>.</p>
+<p>The new list is a <code>List&lt;E&gt;</code> containing the elements of this list at
+positions greater than or equal to <code>start</code> and less than <code>end</code> in the same
+order as they occur in this list.</p>
+<pre class="language-dart"><code class="language-dart">var colors = ["red", "green", "blue", "orange", "pink"];
+print(colors.sublist(1, 3)); // [green, blue]
+</code></pre>
+<p>If <code>end</code> is omitted, it defaults to the <a href="../../package-collection_collection/ListSlice/length.md">length</a> of this list.</p>
+<pre class="language-dart"><code class="language-dart">print(colors.sublist(1)); // [green, blue, orange, pink]
+</code></pre>
+<p>The <code>start</code> and <code>end</code> positions must satisfy the relations
+0 ≤ <code>start</code> ≤ <code>end</code> ≤ <code>this.length</code>
+If <code>end</code> is equal to <code>start</code>, then the returned list is empty.</p>
+
+## Implementation
+
+```dart
+List<E> sublist(int start, [int? end]) {
+  int listLength = this.length;
+  end ??= listLength;
+  if (end == null) throw "!"; // TODO(38493): The `??=` should promote.
+
+  RangeError.checkValidRange(start, end, listLength);
+  return List.from(getRange(start, end));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/take.md b/sdk/dart/package-collection_collection/ListSlice/take.md
new file mode 100644
index 0000000..cd0a74e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/take.md
@@ -0,0 +1,25 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L251)
+    *<Null safety>*
+
+
+Iterable&lt;E> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/ListSlice/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) => SubListIterable<E>(this, 0, count);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/takeWhile.md b/sdk/dart/package-collection_collection/ListSlice/takeWhile.md
new file mode 100644
index 0000000..44daacc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L253)
+    *<Null safety>*
+
+
+Iterable&lt;E> takeWhile
+(bool test(E element))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/ListSlice/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E element)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/toList.md b/sdk/dart/package-collection_collection/ListSlice/toList.md
new file mode 100644
index 0000000..bd16dee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/toList.md
@@ -0,0 +1,30 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L257)
+    *<Null safety>*
+
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  if (this.isEmpty) return List<E>.empty(growable: growable);
+  var first = this[0];
+  var result = List<E>.filled(this.length, first, growable: growable);
+  for (int i = 1; i < this.length; i++) {
+    result[i] = this[i];
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/toSet.md b/sdk/dart/package-collection_collection/ListSlice/toSet.md
new file mode 100644
index 0000000..6d3e611
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/toSet.md
@@ -0,0 +1,31 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L267)
+    *<Null safety>*
+
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet() {
+  Set<E> result = Set<E>();
+  for (int i = 0; i < length; i++) {
+    result.add(this[i]);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/toString.md b/sdk/dart/package-collection_collection/ListSlice/toString.md
new file mode 100644
index 0000000..1a9f1e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L587)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+String toString() => IterableBase.iterableToFullString(this, '[', ']');
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/where.md b/sdk/dart/package-collection_collection/ListSlice/where.md
new file mode 100644
index 0000000..cd7e659
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L211)
+    *<Null safety>*
+
+
+Iterable&lt;E> where
+(bool test(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/ListSlice/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/ListSlice/whereType.md b/sdk/dart/package-collection_collection/ListSlice/whereType.md
new file mode 100644
index 0000000..5e4bcbd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/ListSlice/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L213)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/ListSlice/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapEquality-class.md b/sdk/dart/package-collection_collection/MapEquality-class.md
new file mode 100644
index 0000000..0f67824
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapEquality-class.md
@@ -0,0 +1,81 @@
+
+# MapEquality&lt;K, V> class
+
+    *<Null safety>*
+
+<p>Equality on maps.</p>
+<p>Two maps are equal if they have the same number of entries, and if the
+entries of the two maps are pairwise equal on both key and value.</p>
+<p>The <a href="../package-collection_collection/MapEquality/equals.md">equals</a> and <a href="../package-collection_collection/MapEquality/hash.md">hash</a> methods accepts <code>null</code> values,
+even if the <a href="../package-collection_collection/MapEquality/isValidKey.md">isValidKey</a> returns <code>false</code> for <code>null</code>.
+The <a href="../package-collection_collection/MapEquality/hash.md">hash</a> of <code>null</code> is <code>null.hashCode</code>.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;Map&lt;K, V>>
+
+
+
+
+
+## Constructors
+
+[MapEquality](../package-collection_collection/MapEquality/MapEquality.md) ({[Equality](../package-collection_collection/Equality-class.md)&lt;K> keys: const DefaultEquality<Never>(), [Equality](../package-collection_collection/Equality-class.md)&lt;V> values: const DefaultEquality<Never>()})
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/MapEquality/equals.md)(Map&lt;K, V>? map1, Map&lt;K, V>? map2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/MapEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/MapEquality/hash.md)(Map&lt;K, V>? map) int
+
+Get a hashcode of an element. [...](../package-collection_collection/MapEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/MapEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/MapEquality/equals.md">equals</a> and <a href="../package-collection_collection/MapEquality/hash.md">hash</a>. [...](../package-collection_collection/MapEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/MapEquality/MapEquality.md b/sdk/dart/package-collection_collection/MapEquality/MapEquality.md
new file mode 100644
index 0000000..9d2ee6a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapEquality/MapEquality.md
@@ -0,0 +1,21 @@
+
+# MapEquality&lt;K, V> constructor
+
+    *<Null safety>*
+
+
+const
+MapEquality&lt;K, V>({[Equality](../../package-collection_collection/Equality-class.md)&lt;K> keys: const DefaultEquality<Never>(), [Equality](../../package-collection_collection/Equality-class.md)&lt;V> values: const DefaultEquality<Never>()})
+
+
+## Implementation
+
+```dart
+const MapEquality(
+    {Equality<K> keys = const DefaultEquality<Never>(),
+    Equality<V> values = const DefaultEquality<Never>()})
+    : _keyEquality = keys,
+      _valueEquality = values;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapEquality/equals.md b/sdk/dart/package-collection_collection/MapEquality/equals.md
new file mode 100644
index 0000000..93d1868
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapEquality/equals.md
@@ -0,0 +1,40 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(Map&lt;K, V>? map1, Map&lt;K, V>? map2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(Map<K, V>? map1, Map<K, V>? map2) {
+  if (identical(map1, map2)) return true;
+  if (map1 == null || map2 == null) return false;
+  var length = map1.length;
+  if (length != map2.length) return false;
+  Map<_MapEntry, int> equalElementCounts = HashMap();
+  for (var key in map1.keys) {
+    var entry = _MapEntry(this, key, map1[key]);
+    var count = equalElementCounts[entry] ?? 0;
+    equalElementCounts[entry] = count + 1;
+  }
+  for (var key in map2.keys) {
+    var entry = _MapEntry(this, key, map2[key]);
+    var count = equalElementCounts[entry];
+    if (count == null || count == 0) return false;
+    equalElementCounts[entry] = count - 1;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapEquality/hash.md b/sdk/dart/package-collection_collection/MapEquality/hash.md
new file mode 100644
index 0000000..f58010a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapEquality/hash.md
@@ -0,0 +1,35 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(Map&lt;K, V>? map)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/MapEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(Map<K, V>? map) {
+  if (map == null) return null.hashCode;
+  var hash = 0;
+  for (var key in map.keys) {
+    var keyHash = _keyEquality.hash(key);
+    var valueHash = _valueEquality.hash(map[key] as V);
+    hash = (hash + 3 * keyHash + 7 * valueHash) & _HASH_MASK;
+  }
+  hash = (hash + (hash << 3)) & _HASH_MASK;
+  hash ^= (hash >> 11);
+  hash = (hash + (hash << 15)) & _HASH_MASK;
+  return hash;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapEquality/isValidKey.md b/sdk/dart/package-collection_collection/MapEquality/isValidKey.md
new file mode 100644
index 0000000..ca72b64
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/MapEquality/equals.md">equals</a> and <a href="../../package-collection_collection/MapEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => o is Map<K, V>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet-class.md b/sdk/dart/package-collection_collection/MapKeySet-class.md
new file mode 100644
index 0000000..f31283e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet-class.md
@@ -0,0 +1,306 @@
+
+# MapKeySet&lt;E> class
+
+    *<Null safety>*
+
+<p>An unmodifiable <code>Set</code> view of the keys of a <code>Map</code>.</p>
+<p>The set delegates all operations to the underlying map.</p>
+<p>A <code>Map</code> can only contain each key once, so its keys can always
+be viewed as a <code>Set</code> without any loss, even if the <code>Map.keys</code>
+getter only shows an <code>Iterable</code> view of the keys.</p>
+<p>Note that <a href="../package-collection_collection/MapKeySet/lookup.md">lookup</a> is not supported for this set.</p>
+
+
+
+**Mixed in types**
+
+- [UnmodifiableSetMixin](../package-collection_collection/UnmodifiableSetMixin-class.md)&lt;E>
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[MapKeySet](../package-collection_collection/MapKeySet/MapKeySet.md) (Map&lt;E, dynamic> _baseMap)
+
+   
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/MapKeySet/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/MapKeySet/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/UnmodifiableSetMixin/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableSetMixin/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/MapKeySet/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/MapKeySet/isEmpty.md)  
+_read-only_
+
+##### [isNotEmpty](../package-collection_collection/MapKeySet/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/MapKeySet/isNotEmpty.md)  
+_read-only_
+
+##### [iterator](../package-collection_collection/MapKeySet/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/MapKeySet/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/MapKeySet/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/MapKeySet/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/MapKeySet/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/MapKeySet-class.md">this</a>. [...](../package-collection_collection/MapKeySet/length.md)  
+_read-only_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableSetMixin/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/MapKeySet/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/MapKeySet/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/UnmodifiableSetMixin/add.md)(E value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [addAll](../package-collection_collection/UnmodifiableSetMixin/addAll.md)(Iterable&lt;E> elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [any](../package-collection_collection/MapKeySet/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/MapKeySet/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/MapKeySet/cast.md)&lt;T>() Set&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/MapKeySet/cast.md)  
+
+
+##### [clear](../package-collection_collection/UnmodifiableSetMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [contains](../package-collection_collection/MapKeySet/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/MapKeySet/contains.md)  
+
+
+##### [containsAll](../package-collection_collection/MapKeySet/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_override_
+
+##### [difference](../package-collection_collection/MapKeySet/difference.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set with the the elements of <a href="../package-collection_collection/MapKeySet-class.md">this</a> that are not in <code>other</code>. [...](../package-collection_collection/MapKeySet/difference.md)  
+_override_
+
+##### [elementAt](../package-collection_collection/MapKeySet/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/MapKeySet/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/MapKeySet/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/MapKeySet/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/MapKeySet/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/MapKeySet/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/MapKeySet/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/MapKeySet/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/MapKeySet/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/MapKeySet/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/MapKeySet/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/MapKeySet/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/MapKeySet/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/MapKeySet/intersection.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set which is the intersection between <a href="../package-collection_collection/MapKeySet-class.md">this</a> and <code>other</code>. [...](../package-collection_collection/MapKeySet/intersection.md)  
+_override_
+
+##### [join](../package-collection_collection/MapKeySet/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/MapKeySet/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/MapKeySet/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/MapKeySet/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/MapKeySet/lookup.md)(Object? element) E
+
+Throws an <code>UnsupportedError</code> since there's no corresponding method for
+<code>Map</code>s.   
+_override_
+
+##### [map](../package-collection_collection/MapKeySet/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/MapKeySet/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/MapKeySet/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/MapKeySet/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/UnmodifiableSetMixin/remove.md)(Object? value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [removeAll](../package-collection_collection/UnmodifiableSetMixin/removeAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableSetMixin/removeWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [retainAll](../package-collection_collection/UnmodifiableSetMixin/retainAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [retainWhere](../package-collection_collection/UnmodifiableSetMixin/retainWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/MapKeySet/retype.md)&lt;T>() Set&lt;T>
+
+   
+
+
+##### [singleWhere](../package-collection_collection/MapKeySet/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/MapKeySet/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/MapKeySet/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/MapKeySet/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/MapKeySet/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/MapKeySet/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/MapKeySet/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/MapKeySet/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/MapKeySet/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/MapKeySet/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/MapKeySet/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/MapKeySet/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/MapKeySet/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/MapKeySet/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/MapKeySet/toString.md)() String
+
+Returns a string representation of this object.   
+
+
+##### [union](../package-collection_collection/MapKeySet/union.md)(Set&lt;E> other) Set&lt;E>
+
+Returns a new set which contains all the elements of <a href="../package-collection_collection/MapKeySet-class.md">this</a> and <code>other</code>. [...](../package-collection_collection/MapKeySet/union.md)  
+_override_
+
+##### [where](../package-collection_collection/MapKeySet/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/MapKeySet/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/MapKeySet/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/MapKeySet/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/UnmodifiableSetMixin/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableSetMixin/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/MapKeySet.md b/sdk/dart/package-collection_collection/MapKeySet/MapKeySet.md
new file mode 100644
index 0000000..847148c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/MapKeySet.md
@@ -0,0 +1,17 @@
+
+# MapKeySet&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+MapKeySet&lt;E>(Map&lt;E, dynamic> _baseMap)
+
+
+## Implementation
+
+```dart
+MapKeySet(this._baseMap);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/any.md b/sdk/dart/package-collection_collection/MapKeySet/any.md
new file mode 100644
index 0000000..22547d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/any.md
@@ -0,0 +1,23 @@
+
+# any method
+
+    *<Null safety>*
+
+- @override
+
+bool any
+(bool test(E))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+@override
+bool any(bool Function(E) test) => _base.any(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/cast.md b/sdk/dart/package-collection_collection/MapKeySet/cast.md
new file mode 100644
index 0000000..f3b4b88
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/cast.md
@@ -0,0 +1,31 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;T> cast
+&lt;T>()
+
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/MapKeySet/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Set<T> cast<T>() {
+  if (this is MapKeySet<T>) {
+    return this as MapKeySet<T>;
+  }
+  return Set.castFrom<E, T>(this);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/contains.md b/sdk/dart/package-collection_collection/MapKeySet/contains.md
new file mode 100644
index 0000000..a5a0906
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/contains.md
@@ -0,0 +1,31 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _baseMap.containsKey(element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/containsAll.md b/sdk/dart/package-collection_collection/MapKeySet/containsAll.md
new file mode 100644
index 0000000..0d4ac2d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/containsAll.md
@@ -0,0 +1,21 @@
+
+# containsAll method
+
+    *<Null safety>*
+
+- @override
+
+bool containsAll
+(Iterable&lt;Object?> other)
+_override_
+
+<p>Returns whether this Set contains all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsAll(Iterable<Object?> other) => other.every(contains);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/difference.md b/sdk/dart/package-collection_collection/MapKeySet/difference.md
new file mode 100644
index 0000000..44407f0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/difference.md
@@ -0,0 +1,26 @@
+
+# difference method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> difference
+(Set&lt;Object?> other)
+_override_
+
+<p>Returns a new set with the the elements of <a href="../../package-collection_collection/MapKeySet-class.md">this</a> that are not in <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that are
+not elements of <code>other</code> according to <code>other.contains</code>.</p>
+<p>Note that the returned set will use the default equality operation, which
+may be different than the equality operation <a href="../../package-collection_collection/MapKeySet-class.md">this</a> uses.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> difference(Set<Object?> other) =>
+    where((element) => !other.contains(element)).toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/elementAt.md b/sdk/dart/package-collection_collection/MapKeySet/elementAt.md
new file mode 100644
index 0000000..f2d6460
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/elementAt.md
@@ -0,0 +1,27 @@
+
+# elementAt method
+
+    *<Null safety>*
+
+- @override
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/MapKeySet/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+@override
+E elementAt(int index) => _base.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/every.md b/sdk/dart/package-collection_collection/MapKeySet/every.md
new file mode 100644
index 0000000..59872eb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/every.md
@@ -0,0 +1,23 @@
+
+# every method
+
+    *<Null safety>*
+
+- @override
+
+bool every
+(bool test(E))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool every(bool Function(E) test) => _base.every(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/expand.md b/sdk/dart/package-collection_collection/MapKeySet/expand.md
new file mode 100644
index 0000000..11532b5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> expand<T>(Iterable<T> Function(E) f) => _base.expand(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/first.md b/sdk/dart/package-collection_collection/MapKeySet/first.md
new file mode 100644
index 0000000..5b64601
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/first.md
@@ -0,0 +1,23 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/firstWhere.md b/sdk/dart/package-collection_collection/MapKeySet/firstWhere.md
new file mode 100644
index 0000000..9dd8cca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/firstWhere.md
@@ -0,0 +1,26 @@
+
+# firstWhere method
+
+    *<Null safety>*
+
+- @override
+
+E firstWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E firstWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.firstWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/fold.md b/sdk/dart/package-collection_collection/MapKeySet/fold.md
new file mode 100644
index 0000000..2b07bff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/fold.md
@@ -0,0 +1,35 @@
+
+# fold&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+T fold<T>(T initialValue, T Function(T previousValue, E element) combine) =>
+    _base.fold(initialValue, combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/followedBy.md b/sdk/dart/package-collection_collection/MapKeySet/followedBy.md
new file mode 100644
index 0000000..1a53b84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> followedBy(Iterable<E> other) => _base.followedBy(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/forEach.md b/sdk/dart/package-collection_collection/MapKeySet/forEach.md
new file mode 100644
index 0000000..058b3fa
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/forEach.md
@@ -0,0 +1,22 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(E))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(E) f) => _base.forEach(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/intersection.md b/sdk/dart/package-collection_collection/MapKeySet/intersection.md
new file mode 100644
index 0000000..38eb6fb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/intersection.md
@@ -0,0 +1,25 @@
+
+# intersection method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> intersection
+(Set&lt;Object?> other)
+_override_
+
+<p>Returns a new set which is the intersection between <a href="../../package-collection_collection/MapKeySet-class.md">this</a> and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that are
+also elements of <code>other</code> according to <code>other.contains</code>.</p>
+<p>Note that the returned set will use the default equality operation, which
+may be different than the equality operation <a href="../../package-collection_collection/MapKeySet-class.md">this</a> uses.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> intersection(Set<Object?> other) => where(other.contains).toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/isEmpty.md b/sdk/dart/package-collection_collection/MapKeySet/isEmpty.md
new file mode 100644
index 0000000..b0cb522
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _baseMap.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/isNotEmpty.md b/sdk/dart/package-collection_collection/MapKeySet/isNotEmpty.md
new file mode 100644
index 0000000..9e13502
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _baseMap.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/iterator.md b/sdk/dart/package-collection_collection/MapKeySet/iterator.md
new file mode 100644
index 0000000..9aaebb8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _base.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/join.md b/sdk/dart/package-collection_collection/MapKeySet/join.md
new file mode 100644
index 0000000..fd770a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/join.md
@@ -0,0 +1,25 @@
+
+# join method
+
+    *<Null safety>*
+
+- @override
+
+String join
+([String separator = ''])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+@override
+String join([String separator = '']) => _base.join(separator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/last.md b/sdk/dart/package-collection_collection/MapKeySet/last.md
new file mode 100644
index 0000000..f828c08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/last.md
@@ -0,0 +1,26 @@
+
+# last property
+
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/lastWhere.md b/sdk/dart/package-collection_collection/MapKeySet/lastWhere.md
new file mode 100644
index 0000000..a8c56bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/lastWhere.md
@@ -0,0 +1,31 @@
+
+# lastWhere method
+
+    *<Null safety>*
+
+- @override
+
+E lastWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E lastWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.lastWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/length.md b/sdk/dart/package-collection_collection/MapKeySet/length.md
new file mode 100644
index 0000000..fd17918
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/length.md
@@ -0,0 +1,23 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/MapKeySet-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _baseMap.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/lookup.md b/sdk/dart/package-collection_collection/MapKeySet/lookup.md
new file mode 100644
index 0000000..b6c87d0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/lookup.md
@@ -0,0 +1,23 @@
+
+# lookup method
+
+    *<Null safety>*
+
+- @override
+
+E lookup
+(Object? element)
+_override_
+
+<p>Throws an <code>UnsupportedError</code> since there's no corresponding method for
+<code>Map</code>s.</p>
+
+## Implementation
+
+```dart
+@override
+E lookup(Object? element) =>
+    throw UnsupportedError("MapKeySet doesn't support lookup().");
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/map.md b/sdk/dart/package-collection_collection/MapKeySet/map.md
new file mode 100644
index 0000000..321267f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> map
+&lt;T>(T f(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/MapKeySet/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> map<T>(T Function(E) f) => _base.map(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/reduce.md b/sdk/dart/package-collection_collection/MapKeySet/reduce.md
new file mode 100644
index 0000000..a0e0b41
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/reduce.md
@@ -0,0 +1,36 @@
+
+# reduce method
+
+    *<Null safety>*
+
+- @override
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+E reduce(E Function(E value, E element) combine) => _base.reduce(combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/retype.md b/sdk/dart/package-collection_collection/MapKeySet/retype.md
new file mode 100644
index 0000000..5487285
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/retype.md
@@ -0,0 +1,22 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+- @override
+
+Set&lt;T> ~~retype~~
+&lt;T>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+@override
+Set<T> retype<T>() => Set.castFrom<E, T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/single.md b/sdk/dart/package-collection_collection/MapKeySet/single.md
new file mode 100644
index 0000000..fd9ac76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/single.md
@@ -0,0 +1,21 @@
+
+# single property
+
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+@override
+E get single => _base.single;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/singleWhere.md b/sdk/dart/package-collection_collection/MapKeySet/singleWhere.md
new file mode 100644
index 0000000..97fad7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/singleWhere.md
@@ -0,0 +1,28 @@
+
+# singleWhere method
+
+    *<Null safety>*
+
+- @override
+
+E singleWhere
+(bool test(E), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E singleWhere(bool Function(E) test, {E Function()? orElse}) {
+  return _base.singleWhere(test, orElse: orElse);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/skip.md b/sdk/dart/package-collection_collection/MapKeySet/skip.md
new file mode 100644
index 0000000..74cea57
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/skip.md
@@ -0,0 +1,31 @@
+
+# skip method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skip(int n) => _base.skip(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/skipWhile.md b/sdk/dart/package-collection_collection/MapKeySet/skipWhile.md
new file mode 100644
index 0000000..60a41be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/skipWhile.md
@@ -0,0 +1,28 @@
+
+# skipWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> skipWhile
+(bool test(E))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skipWhile(bool Function(E) test) => _base.skipWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/take.md b/sdk/dart/package-collection_collection/MapKeySet/take.md
new file mode 100644
index 0000000..e02de86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/take.md
@@ -0,0 +1,26 @@
+
+# take method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/MapKeySet/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> take(int n) => _base.take(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/takeWhile.md b/sdk/dart/package-collection_collection/MapKeySet/takeWhile.md
new file mode 100644
index 0000000..4cdac04
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/takeWhile.md
@@ -0,0 +1,26 @@
+
+# takeWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> takeWhile
+(bool test(E))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/MapKeySet/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> takeWhile(bool Function(E) test) => _base.takeWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/toList.md b/sdk/dart/package-collection_collection/MapKeySet/toList.md
new file mode 100644
index 0000000..bd048ce
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList({bool growable = true}) => _base.toList(growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/toSet.md b/sdk/dart/package-collection_collection/MapKeySet/toSet.md
new file mode 100644
index 0000000..0d55e4d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => _base.toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/toString.md b/sdk/dart/package-collection_collection/MapKeySet/toString.md
new file mode 100644
index 0000000..ea925df
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => SetBase.setToString(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/union.md b/sdk/dart/package-collection_collection/MapKeySet/union.md
new file mode 100644
index 0000000..0611a3b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/union.md
@@ -0,0 +1,25 @@
+
+# union method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> union
+(Set&lt;E> other)
+_override_
+
+<p>Returns a new set which contains all the elements of <a href="../../package-collection_collection/MapKeySet-class.md">this</a> and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> and all
+the elements of <code>other</code>.</p>
+<p>Note that the returned set will use the default equality operation, which
+may be different than the equality operation <a href="../../package-collection_collection/MapKeySet-class.md">this</a> uses.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> union(Set<E> other) => toSet()..addAll(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/where.md b/sdk/dart/package-collection_collection/MapKeySet/where.md
new file mode 100644
index 0000000..8832fcc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/where.md
@@ -0,0 +1,30 @@
+
+# where method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;E> where
+(bool test(E))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/MapKeySet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> where(bool Function(E) test) => _base.where(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapKeySet/whereType.md b/sdk/dart/package-collection_collection/MapKeySet/whereType.md
new file mode 100644
index 0000000..75d9e19
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapKeySet/whereType.md
@@ -0,0 +1,27 @@
+
+# whereType&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/MapKeySet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> whereType<T>() => _base.whereType<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet-class.md b/sdk/dart/package-collection_collection/MapValueSet-class.md
new file mode 100644
index 0000000..e1a53d3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet-class.md
@@ -0,0 +1,309 @@
+
+# MapValueSet&lt;K, V> class
+
+    *<Null safety>*
+
+<p>Creates a modifiable <code>Set</code> view of the values of a <code>Map</code>.</p>
+<p>The <code>Set</code> view assumes that the keys of the <code>Map</code> can be uniquely determined
+from the values. The <code>keyForValue</code> function passed to the constructor finds
+the key for a single value. The <code>keyForValue</code> function should be consistent
+with equality. If <code>value1 == value2</code> then <code>keyForValue(value1)</code> and
+<code>keyForValue(value2)</code> should be considered equal keys by the underlying map,
+and vice versa.</p>
+<p>Modifying the set will modify the underlying map based on the key returned
+by <code>keyForValue</code>.</p>
+<p>If the <code>Map</code> contents are not compatible with the <code>keyForValue</code> function,
+the set will not work consistently, and may give meaningless responses or do
+inconsistent updates.</p>
+<p>This set can, for example, be used on a map from database record IDs to the
+records. It exposes the records as a set, and allows for writing both
+<code>recordSet.add(databaseRecord)</code> and <code>recordMap[id]</code>.</p>
+<p>Effectively, the map will act as a kind of index for the set.</p>
+
+
+**Implemented types**
+
+- Set&lt;V>
+
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[MapValueSet](../package-collection_collection/MapValueSet/MapValueSet.md) (Map&lt;K, V> _baseMap, K _keyForValue(V))
+
+Creates a new <a href="../package-collection_collection/MapValueSet-class.md">MapValueSet</a> based on <code>_baseMap</code>. [...](../package-collection_collection/MapValueSet/MapValueSet.md)  
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/MapValueSet/first.md) &#8594; V
+
+Returns the first element. [...](../package-collection_collection/MapValueSet/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/MapValueSet/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/MapValueSet/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/MapValueSet/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/MapValueSet/isEmpty.md)  
+_read-only_
+
+##### [isNotEmpty](../package-collection_collection/MapValueSet/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/MapValueSet/isNotEmpty.md)  
+_read-only_
+
+##### [iterator](../package-collection_collection/MapValueSet/iterator.md) &#8594; Iterator&lt;V>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/MapValueSet/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/MapValueSet/last.md) &#8594; V
+
+Returns the last element. [...](../package-collection_collection/MapValueSet/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/MapValueSet/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/MapValueSet-class.md">this</a>. [...](../package-collection_collection/MapValueSet/length.md)  
+_read-only_
+
+##### [runtimeType](../package-collection_collection/MapValueSet/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/MapValueSet/single.md) &#8594; V
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/MapValueSet/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/MapValueSet/add.md)(V value) bool
+
+Adds <code>value</code> to the set. [...](../package-collection_collection/MapValueSet/add.md)  
+_override_
+
+##### [addAll](../package-collection_collection/MapValueSet/addAll.md)(Iterable&lt;V> elements) void
+
+Adds all <code>elements</code> to this Set. [...](../package-collection_collection/MapValueSet/addAll.md)  
+_override_
+
+##### [any](../package-collection_collection/MapValueSet/any.md)(bool test(V)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/MapValueSet/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/MapValueSet/cast.md)&lt;T>() Set&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/MapValueSet/cast.md)  
+
+
+##### [clear](../package-collection_collection/MapValueSet/clear.md)() void
+
+Removes all elements in the set.   
+_override_
+
+##### [contains](../package-collection_collection/MapValueSet/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/MapValueSet/contains.md)  
+
+
+##### [containsAll](../package-collection_collection/MapValueSet/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_override_
+
+##### [difference](../package-collection_collection/MapValueSet/difference.md)(Set&lt;Object?> other) Set&lt;V>
+
+Returns a new set with the the elements of <a href="../package-collection_collection/MapValueSet-class.md">this</a> that are not in <code>other</code>. [...](../package-collection_collection/MapValueSet/difference.md)  
+_override_
+
+##### [elementAt](../package-collection_collection/MapValueSet/elementAt.md)(int index) V
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/MapValueSet/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/MapValueSet/every.md)(bool test(V)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/MapValueSet/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/MapValueSet/expand.md)&lt;T>(Iterable&lt;T> f(V)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/MapValueSet/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/MapValueSet/firstWhere.md)(bool test(V), {V orElse()}) V
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/MapValueSet/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/MapValueSet/fold.md)&lt;T>(T initialValue, T combine(T previousValue, V element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/MapValueSet/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/MapValueSet/followedBy.md)(Iterable&lt;V> other) Iterable&lt;V>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/MapValueSet/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/MapValueSet/forEach.md)(void f(V)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/MapValueSet/intersection.md)(Set&lt;Object?> other) Set&lt;V>
+
+Returns a new set which is the intersection between <a href="../package-collection_collection/MapValueSet-class.md">this</a> and <code>other</code>. [...](../package-collection_collection/MapValueSet/intersection.md)  
+_override_
+
+##### [join](../package-collection_collection/MapValueSet/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/MapValueSet/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/MapValueSet/lastWhere.md)(bool test(V), {V orElse()}) V
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/MapValueSet/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/MapValueSet/lookup.md)(Object? element) V?
+
+If an object equal to <code>object</code> is in the set, return it. [...](../package-collection_collection/MapValueSet/lookup.md)  
+_override_
+
+##### [map](../package-collection_collection/MapValueSet/map.md)&lt;T>(T f(V)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/MapValueSet/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/MapValueSet/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/MapValueSet/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/MapValueSet/reduce.md)(V combine(V value, V element)) V
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/MapValueSet/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/MapValueSet/remove.md)(Object? element) bool
+
+Removes <code>value</code> from the set. Returns true if <code>value</code> was
+in the set. Returns false otherwise. The method has no effect
+if <code>value</code> value was not in the set.   
+_override_
+
+##### [removeAll](../package-collection_collection/MapValueSet/removeAll.md)(Iterable&lt;Object?> elements) void
+
+Removes each element of <code>elements</code> from this set.   
+_override_
+
+##### [removeWhere](../package-collection_collection/MapValueSet/removeWhere.md)(bool test(V)) void
+
+Removes all elements of this set that satisfy <code>test</code>.   
+_override_
+
+##### [retainAll](../package-collection_collection/MapValueSet/retainAll.md)(Iterable&lt;Object?> elements) void
+
+Removes all elements of this set that are not elements in <code>elements</code>. [...](../package-collection_collection/MapValueSet/retainAll.md)  
+_override_
+
+##### [retainWhere](../package-collection_collection/MapValueSet/retainWhere.md)(bool test(V)) void
+
+Removes all elements of this set that fail to satisfy <code>test</code>.   
+_override_
+
+##### [~~retype~~](../package-collection_collection/MapValueSet/retype.md)&lt;T>() Set&lt;T>
+
+   
+
+
+##### [singleWhere](../package-collection_collection/MapValueSet/singleWhere.md)(bool test(V), {V orElse()}) V
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/MapValueSet/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/MapValueSet/skip.md)(int n) Iterable&lt;V>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/MapValueSet/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/MapValueSet/skipWhile.md)(bool test(V)) Iterable&lt;V>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/MapValueSet/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/MapValueSet/take.md)(int n) Iterable&lt;V>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/MapValueSet/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/MapValueSet/takeWhile.md)(bool test(V)) Iterable&lt;V>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/MapValueSet/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/MapValueSet/toList.md)({bool growable: true}) List&lt;V>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/MapValueSet/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/MapValueSet/toSet.md)() Set&lt;V>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/MapValueSet/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/MapValueSet/toString.md)() String
+
+Returns a string representation of this object.   
+
+
+##### [union](../package-collection_collection/MapValueSet/union.md)(Set&lt;V> other) Set&lt;V>
+
+Returns a new set which contains all the elements of <a href="../package-collection_collection/MapValueSet-class.md">this</a> and <code>other</code>. [...](../package-collection_collection/MapValueSet/union.md)  
+_override_
+
+##### [where](../package-collection_collection/MapValueSet/where.md)(bool test(V)) Iterable&lt;V>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/MapValueSet/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/MapValueSet/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/MapValueSet/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/MapValueSet/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/MapValueSet/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/MapValueSet.md b/sdk/dart/package-collection_collection/MapValueSet/MapValueSet.md
new file mode 100644
index 0000000..a23f501
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/MapValueSet.md
@@ -0,0 +1,21 @@
+
+# MapValueSet&lt;K, V> constructor
+
+    *<Null safety>*
+
+
+
+MapValueSet&lt;K, V>(Map&lt;K, V> _baseMap, K _keyForValue(V))
+
+<p>Creates a new <a href="../../package-collection_collection/MapValueSet-class.md">MapValueSet</a> based on <code>_baseMap</code>.</p>
+<p><code>_keyForValue</code> returns the key in the map that should be associated with
+the given value. The set's notion of equality is identical to the equality
+of the return values of <code>_keyForValue</code>.</p>
+
+## Implementation
+
+```dart
+MapValueSet(this._baseMap, this._keyForValue);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/add.md b/sdk/dart/package-collection_collection/MapValueSet/add.md
new file mode 100644
index 0000000..503ec45
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/add.md
@@ -0,0 +1,45 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+bool add
+(V value)
+_override_
+
+<p>Adds <code>value</code> to the set.</p>
+<p>Returns <code>true</code> if <code>value</code> (or an equal value) was not yet in the set.
+Otherwise returns <code>false</code> and the set is not changed.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var set = new Set();
+var time1 = new DateTime.fromMillisecondsSinceEpoch(0);
+var time2 = new DateTime.fromMillisecondsSinceEpoch(0);
+// time1 and time2 are equal, but not identical.
+Expect.isTrue(time1 == time2);
+Expect.isFalse(identical(time1, time2));
+set.add(time1);  // =&gt; true.
+// A value equal to time2 exists already in the set, and the call to
+// add doesn't change the set.
+set.add(time2);  // =&gt; false.
+Expect.isTrue(set.length == 1);
+Expect.isTrue(identical(time1, set.first));
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+bool add(V value) {
+  var key = _keyForValue(value);
+  var result = false;
+  _baseMap.putIfAbsent(key, () {
+    result = true;
+    return value;
+  });
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/addAll.md b/sdk/dart/package-collection_collection/MapValueSet/addAll.md
new file mode 100644
index 0000000..9aebbb4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/addAll.md
@@ -0,0 +1,23 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;V> elements)
+_override_
+
+<p>Adds all <code>elements</code> to this Set.</p>
+<p>Equivalent to adding each element in <code>elements</code> using <a href="../../package-collection_collection/MapValueSet/add.md">add</a>,
+but some collections may be able to optimize it.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<V> elements) => elements.forEach(add);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/any.md b/sdk/dart/package-collection_collection/MapValueSet/any.md
new file mode 100644
index 0000000..a0e86ae
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/any.md
@@ -0,0 +1,23 @@
+
+# any method
+
+    *<Null safety>*
+
+- @override
+
+bool any
+(bool test(V))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+@override
+bool any(bool Function(E) test) => _base.any(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/cast.md b/sdk/dart/package-collection_collection/MapValueSet/cast.md
new file mode 100644
index 0000000..1266f77
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/cast.md
@@ -0,0 +1,31 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;T> cast
+&lt;T>()
+
+
+<p>Provides a view of this iterable as an iterable of <code>R</code> instances.</p>
+<p>If this iterable only contains instances of <code>R</code>, all operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>When the returned iterable creates a new object that depends on
+the type <code>R</code>, e.g., from <a href="../../package-collection_collection/MapValueSet/toList.md">toList</a>, it will have exactly the type <code>R</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Set<T> cast<T>() {
+  if (this is Set<T>) {
+    return this as Set<T>;
+  }
+  return Set.castFrom<V, T>(this);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/clear.md b/sdk/dart/package-collection_collection/MapValueSet/clear.md
new file mode 100644
index 0000000..a2a869f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/clear.md
@@ -0,0 +1,21 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Removes all elements in the set.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() => _baseMap.clear();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/contains.md b/sdk/dart/package-collection_collection/MapValueSet/contains.md
new file mode 100644
index 0000000..87d843f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/contains.md
@@ -0,0 +1,36 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) {
+  if (element is! V) return false;
+  var key = _keyForValue(element);
+
+  return _baseMap.containsKey(key);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/containsAll.md b/sdk/dart/package-collection_collection/MapValueSet/containsAll.md
new file mode 100644
index 0000000..0d4ac2d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/containsAll.md
@@ -0,0 +1,21 @@
+
+# containsAll method
+
+    *<Null safety>*
+
+- @override
+
+bool containsAll
+(Iterable&lt;Object?> other)
+_override_
+
+<p>Returns whether this Set contains all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool containsAll(Iterable<Object?> other) => other.every(contains);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/difference.md b/sdk/dart/package-collection_collection/MapValueSet/difference.md
new file mode 100644
index 0000000..c7b27ba
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/difference.md
@@ -0,0 +1,26 @@
+
+# difference method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;V> difference
+(Set&lt;Object?> other)
+_override_
+
+<p>Returns a new set with the the elements of <a href="../../package-collection_collection/MapValueSet-class.md">this</a> that are not in <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that are
+not elements of <code>other</code> according to <code>other.contains</code>.</p>
+<p>Note that the returned set will use the default equality operation, which
+may be different than the equality operation <a href="../../package-collection_collection/MapValueSet-class.md">this</a> uses.</p>
+
+## Implementation
+
+```dart
+@override
+Set<V> difference(Set<Object?> other) =>
+    where((element) => !other.contains(element)).toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/elementAt.md b/sdk/dart/package-collection_collection/MapValueSet/elementAt.md
new file mode 100644
index 0000000..0bdf001
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/elementAt.md
@@ -0,0 +1,27 @@
+
+# elementAt method
+
+    *<Null safety>*
+
+- @override
+
+V elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/MapValueSet/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+@override
+E elementAt(int index) => _base.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/every.md b/sdk/dart/package-collection_collection/MapValueSet/every.md
new file mode 100644
index 0000000..fc763d3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/every.md
@@ -0,0 +1,23 @@
+
+# every method
+
+    *<Null safety>*
+
+- @override
+
+bool every
+(bool test(V))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool every(bool Function(E) test) => _base.every(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/expand.md b/sdk/dart/package-collection_collection/MapValueSet/expand.md
new file mode 100644
index 0000000..6cefbe5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(V))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> expand<T>(Iterable<T> Function(E) f) => _base.expand(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/first.md b/sdk/dart/package-collection_collection/MapValueSet/first.md
new file mode 100644
index 0000000..eaffda1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/first.md
@@ -0,0 +1,23 @@
+
+# first property
+
+    *<Null safety>*
+
+
+V first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/firstWhere.md b/sdk/dart/package-collection_collection/MapValueSet/firstWhere.md
new file mode 100644
index 0000000..cf68782
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/firstWhere.md
@@ -0,0 +1,26 @@
+
+# firstWhere method
+
+    *<Null safety>*
+
+- @override
+
+V firstWhere
+(bool test(V), {V orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E firstWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.firstWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/fold.md b/sdk/dart/package-collection_collection/MapValueSet/fold.md
new file mode 100644
index 0000000..e5a8963
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/fold.md
@@ -0,0 +1,35 @@
+
+# fold&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, V element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+T fold<T>(T initialValue, T Function(T previousValue, E element) combine) =>
+    _base.fold(initialValue, combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/followedBy.md b/sdk/dart/package-collection_collection/MapValueSet/followedBy.md
new file mode 100644
index 0000000..05ea2d8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;V> followedBy
+(Iterable&lt;V> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> followedBy(Iterable<E> other) => _base.followedBy(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/forEach.md b/sdk/dart/package-collection_collection/MapValueSet/forEach.md
new file mode 100644
index 0000000..4e9b53f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/forEach.md
@@ -0,0 +1,22 @@
+
+# forEach method
+
+    *<Null safety>*
+
+- @override
+
+void forEach
+(void f(V))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+@override
+void forEach(void Function(E) f) => _base.forEach(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/hashCode.md b/sdk/dart/package-collection_collection/MapValueSet/hashCode.md
new file mode 100644
index 0000000..7a5480b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/MapValueSet/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/MapValueSet/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/MapValueSet/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/MapValueSet/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/MapValueSet/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/MapValueSet/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/intersection.md b/sdk/dart/package-collection_collection/MapValueSet/intersection.md
new file mode 100644
index 0000000..ecca20f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/intersection.md
@@ -0,0 +1,25 @@
+
+# intersection method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;V> intersection
+(Set&lt;Object?> other)
+_override_
+
+<p>Returns a new set which is the intersection between <a href="../../package-collection_collection/MapValueSet-class.md">this</a> and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that are
+also elements of <code>other</code> according to <code>other.contains</code>.</p>
+<p>Note that the returned set will use the default equality operation, which
+may be different than the equality operation <a href="../../package-collection_collection/MapValueSet-class.md">this</a> uses.</p>
+
+## Implementation
+
+```dart
+@override
+Set<V> intersection(Set<Object?> other) => where(other.contains).toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/isEmpty.md b/sdk/dart/package-collection_collection/MapValueSet/isEmpty.md
new file mode 100644
index 0000000..b0cb522
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isEmpty => _baseMap.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/isNotEmpty.md b/sdk/dart/package-collection_collection/MapValueSet/isNotEmpty.md
new file mode 100644
index 0000000..9e13502
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+@override
+bool get isNotEmpty => _baseMap.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/iterator.md b/sdk/dart/package-collection_collection/MapValueSet/iterator.md
new file mode 100644
index 0000000..d94ffc1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;V> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _base.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/join.md b/sdk/dart/package-collection_collection/MapValueSet/join.md
new file mode 100644
index 0000000..fd770a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/join.md
@@ -0,0 +1,25 @@
+
+# join method
+
+    *<Null safety>*
+
+- @override
+
+String join
+([String separator = ''])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+@override
+String join([String separator = '']) => _base.join(separator);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/last.md b/sdk/dart/package-collection_collection/MapValueSet/last.md
new file mode 100644
index 0000000..ebcc7e3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/last.md
@@ -0,0 +1,26 @@
+
+# last property
+
+    *<Null safety>*
+
+
+V last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/lastWhere.md b/sdk/dart/package-collection_collection/MapValueSet/lastWhere.md
new file mode 100644
index 0000000..59754f3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/lastWhere.md
@@ -0,0 +1,31 @@
+
+# lastWhere method
+
+    *<Null safety>*
+
+- @override
+
+V lastWhere
+(bool test(V), {V orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E lastWhere(bool Function(E) test, {E Function()? orElse}) =>
+    _base.lastWhere(test, orElse: orElse);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/length.md b/sdk/dart/package-collection_collection/MapValueSet/length.md
new file mode 100644
index 0000000..2e362d9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/length.md
@@ -0,0 +1,23 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/MapValueSet-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _baseMap.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/lookup.md b/sdk/dart/package-collection_collection/MapValueSet/lookup.md
new file mode 100644
index 0000000..faed94c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/lookup.md
@@ -0,0 +1,35 @@
+
+# lookup method
+
+    *<Null safety>*
+
+- @override
+
+V? lookup
+(Object? element)
+_override_
+
+<p>If an object equal to <code>object</code> is in the set, return it.</p>
+<p>Checks whether <code>object</code> is in the set, like <a href="../../package-collection_collection/MapValueSet/contains.md">contains</a>, and if so,
+returns the object in the set, otherwise returns <code>null</code>.</p>
+<p>If the equality relation used by the set is not identity,
+then the returned object may not be <em>identical</em> to <code>object</code>.
+Some set implementations may not be able to implement this method.
+If the <a href="../../package-collection_collection/MapValueSet/contains.md">contains</a> method is computed,
+rather than being based on an actual object instance,
+then there may not be a specific object instance representing the
+set element.</p>
+
+## Implementation
+
+```dart
+@override
+V? lookup(Object? element) {
+  if (element is! V) return null;
+  var key = _keyForValue(element);
+
+  return _baseMap[key];
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/map.md b/sdk/dart/package-collection_collection/MapValueSet/map.md
new file mode 100644
index 0000000..855c971
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> map
+&lt;T>(T f(V))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/MapValueSet/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> map<T>(T Function(E) f) => _base.map(f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/noSuchMethod.md b/sdk/dart/package-collection_collection/MapValueSet/noSuchMethod.md
new file mode 100644
index 0000000..aec9c60
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/MapValueSet/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/operator_equals.md b/sdk/dart/package-collection_collection/MapValueSet/operator_equals.md
new file mode 100644
index 0000000..bb14a9d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/MapValueSet/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/reduce.md b/sdk/dart/package-collection_collection/MapValueSet/reduce.md
new file mode 100644
index 0000000..163af32
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/reduce.md
@@ -0,0 +1,36 @@
+
+# reduce method
+
+    *<Null safety>*
+
+- @override
+
+V reduce
+(V combine(V value, V element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+@override
+E reduce(E Function(E value, E element) combine) => _base.reduce(combine);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/remove.md b/sdk/dart/package-collection_collection/MapValueSet/remove.md
new file mode 100644
index 0000000..582e517
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/remove.md
@@ -0,0 +1,30 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? element)
+_override_
+
+<p>Removes <code>value</code> from the set. Returns true if <code>value</code> was
+in the set. Returns false otherwise. The method has no effect
+if <code>value</code> value was not in the set.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? element) {
+  if (element is! V) return false;
+  var key = _keyForValue(element);
+
+  if (!_baseMap.containsKey(key)) return false;
+  _baseMap.remove(key);
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/removeAll.md b/sdk/dart/package-collection_collection/MapValueSet/removeAll.md
new file mode 100644
index 0000000..5324536
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/removeAll.md
@@ -0,0 +1,21 @@
+
+# removeAll method
+
+    *<Null safety>*
+
+- @override
+
+void removeAll
+(Iterable&lt;Object?> elements)
+_override_
+
+<p>Removes each element of <code>elements</code> from this set.</p>
+
+## Implementation
+
+```dart
+@override
+void removeAll(Iterable<Object?> elements) => elements.forEach(remove);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/removeWhere.md b/sdk/dart/package-collection_collection/MapValueSet/removeWhere.md
new file mode 100644
index 0000000..5d9934a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/removeWhere.md
@@ -0,0 +1,27 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(V))
+_override_
+
+<p>Removes all elements of this set that satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(V) test) {
+  var toRemove = [];
+  _baseMap.forEach((key, value) {
+    if (test(value)) toRemove.add(key);
+  });
+  toRemove.forEach(_baseMap.remove);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/retainAll.md b/sdk/dart/package-collection_collection/MapValueSet/retainAll.md
new file mode 100644
index 0000000..b5adf4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/retainAll.md
@@ -0,0 +1,40 @@
+
+# retainAll method
+
+    *<Null safety>*
+
+- @override
+
+void retainAll
+(Iterable&lt;Object?> elements)
+_override_
+
+<p>Removes all elements of this set that are not elements in <code>elements</code>.</p>
+<p>Checks for each element of <code>elements</code> whether there is an element in this
+set that is equal to it (according to <code>this.contains</code>), and if so, the
+equal element in this set is retained, and elements that are not equal
+to any element in <code>elements</code> are removed.</p>
+
+## Implementation
+
+```dart
+@override
+void retainAll(Iterable<Object?> elements) {
+  var valuesToRetain = Set<V>.identity();
+  for (var element in elements) {
+    if (element is! V) continue;
+    var key = _keyForValue(element);
+
+    if (!_baseMap.containsKey(key)) continue;
+    valuesToRetain.add(_baseMap[key] ?? null as V);
+  }
+
+  var keysToRemove = [];
+  _baseMap.forEach((k, v) {
+    if (!valuesToRetain.contains(v)) keysToRemove.add(k);
+  });
+  keysToRemove.forEach(_baseMap.remove);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/retainWhere.md b/sdk/dart/package-collection_collection/MapValueSet/retainWhere.md
new file mode 100644
index 0000000..f1cb77e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/retainWhere.md
@@ -0,0 +1,22 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(V))
+_override_
+
+<p>Removes all elements of this set that fail to satisfy <code>test</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(V) test) =>
+    removeWhere((element) => !test(element));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/retype.md b/sdk/dart/package-collection_collection/MapValueSet/retype.md
new file mode 100644
index 0000000..aca00f3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/retype.md
@@ -0,0 +1,22 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+- @override
+
+Set&lt;T> ~~retype~~
+&lt;T>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+@override
+Set<T> retype<T>() => Set.castFrom<V, T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/runtimeType.md b/sdk/dart/package-collection_collection/MapValueSet/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/single.md b/sdk/dart/package-collection_collection/MapValueSet/single.md
new file mode 100644
index 0000000..1ebedbe
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/single.md
@@ -0,0 +1,21 @@
+
+# single property
+
+    *<Null safety>*
+
+
+V single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+@override
+E get single => _base.single;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/singleWhere.md b/sdk/dart/package-collection_collection/MapValueSet/singleWhere.md
new file mode 100644
index 0000000..7e51b6e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/singleWhere.md
@@ -0,0 +1,28 @@
+
+# singleWhere method
+
+    *<Null safety>*
+
+- @override
+
+V singleWhere
+(bool test(V), {V orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E singleWhere(bool Function(E) test, {E Function()? orElse}) {
+  return _base.singleWhere(test, orElse: orElse);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/skip.md b/sdk/dart/package-collection_collection/MapValueSet/skip.md
new file mode 100644
index 0000000..bfcba6f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/skip.md
@@ -0,0 +1,31 @@
+
+# skip method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;V> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skip(int n) => _base.skip(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/skipWhile.md b/sdk/dart/package-collection_collection/MapValueSet/skipWhile.md
new file mode 100644
index 0000000..f8ad96a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/skipWhile.md
@@ -0,0 +1,28 @@
+
+# skipWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;V> skipWhile
+(bool test(V))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> skipWhile(bool Function(E) test) => _base.skipWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/take.md b/sdk/dart/package-collection_collection/MapValueSet/take.md
new file mode 100644
index 0000000..a4dcb62
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/take.md
@@ -0,0 +1,26 @@
+
+# take method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;V> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/MapValueSet/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> take(int n) => _base.take(n);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/takeWhile.md b/sdk/dart/package-collection_collection/MapValueSet/takeWhile.md
new file mode 100644
index 0000000..58d0cf9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/takeWhile.md
@@ -0,0 +1,26 @@
+
+# takeWhile method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;V> takeWhile
+(bool test(V))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/MapValueSet/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> takeWhile(bool Function(E) test) => _base.takeWhile(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/toList.md b/sdk/dart/package-collection_collection/MapValueSet/toList.md
new file mode 100644
index 0000000..7af5e7e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+    *<Null safety>*
+
+- @override
+
+List&lt;V> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+@override
+List<E> toList({bool growable = true}) => _base.toList(growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/toSet.md b/sdk/dart/package-collection_collection/MapValueSet/toSet.md
new file mode 100644
index 0000000..686c8ef
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;V> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => _base.toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/toString.md b/sdk/dart/package-collection_collection/MapValueSet/toString.md
new file mode 100644
index 0000000..bff7293
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => toSet().toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/union.md b/sdk/dart/package-collection_collection/MapValueSet/union.md
new file mode 100644
index 0000000..9a6fd3e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/union.md
@@ -0,0 +1,25 @@
+
+# union method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;V> union
+(Set&lt;V> other)
+_override_
+
+<p>Returns a new set which contains all the elements of <a href="../../package-collection_collection/MapValueSet-class.md">this</a> and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> and all
+the elements of <code>other</code>.</p>
+<p>Note that the returned set will use the default equality operation, which
+may be different than the equality operation <a href="../../package-collection_collection/MapValueSet-class.md">this</a> uses.</p>
+
+## Implementation
+
+```dart
+@override
+Set<V> union(Set<V> other) => toSet()..addAll(other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/where.md b/sdk/dart/package-collection_collection/MapValueSet/where.md
new file mode 100644
index 0000000..bbf3305
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/where.md
@@ -0,0 +1,30 @@
+
+# where method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;V> where
+(bool test(V))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/MapValueSet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<E> where(bool Function(E) test) => _base.where(test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MapValueSet/whereType.md b/sdk/dart/package-collection_collection/MapValueSet/whereType.md
new file mode 100644
index 0000000..742c241
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MapValueSet/whereType.md
@@ -0,0 +1,27 @@
+
+# whereType&lt;T> method
+
+    *<Null safety>*
+
+- @override
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/MapValueSet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+@override
+Iterable<T> whereType<T>() => _base.whereType<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MultiEquality-class.md b/sdk/dart/package-collection_collection/MultiEquality-class.md
new file mode 100644
index 0000000..a191dd2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MultiEquality-class.md
@@ -0,0 +1,86 @@
+
+# MultiEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Combines several equalities into a single equality.</p>
+<p>Tries each equality in order, using <a href="../package-collection_collection/Equality/isValidKey.md">Equality.isValidKey</a>, and returns
+the result of the first equality that applies to the argument or arguments.</p>
+<p>For <code>equals</code>, the first equality that matches the first argument is used,
+and if the second argument of <code>equals</code> is not valid for that equality,
+it returns false.</p>
+<p>Because the equalities are tried in order, they should generally work on
+disjoint types. Otherwise the multi-equality may give inconsistent results
+for <code>equals(e1, e2)</code> and <code>equals(e2, e1)</code>. This can happen if one equality
+considers only <code>e1</code> a valid key, and not <code>e2</code>, but an equality which is
+checked later, allows both.</p>
+
+
+**Implemented types**
+
+- [Equality](../package-collection_collection/Equality-class.md)&lt;E>
+
+
+
+
+
+## Constructors
+
+[MultiEquality](../package-collection_collection/MultiEquality/MultiEquality.md) (Iterable&lt;[Equality](../package-collection_collection/Equality-class.md)&lt;E>> equalities)
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/MultiEquality/equals.md)(E e1, E e2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/MultiEquality/equals.md)  
+_override_
+
+##### [hash](../package-collection_collection/MultiEquality/hash.md)(E e) int
+
+Get a hashcode of an element. [...](../package-collection_collection/MultiEquality/hash.md)  
+_override_
+
+##### [isValidKey](../package-collection_collection/MultiEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/MultiEquality/equals.md">equals</a> and <a href="../package-collection_collection/MultiEquality/hash.md">hash</a>. [...](../package-collection_collection/MultiEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/MultiEquality/MultiEquality.md b/sdk/dart/package-collection_collection/MultiEquality/MultiEquality.md
new file mode 100644
index 0000000..5b4e60b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MultiEquality/MultiEquality.md
@@ -0,0 +1,18 @@
+
+# MultiEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+MultiEquality&lt;E>(Iterable&lt;[Equality](../../package-collection_collection/Equality-class.md)&lt;E>> equalities)
+
+
+## Implementation
+
+```dart
+const MultiEquality(Iterable<Equality<E>> equalities)
+    : _equalities = equalities;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MultiEquality/equals.md b/sdk/dart/package-collection_collection/MultiEquality/equals.md
new file mode 100644
index 0000000..e84f01a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MultiEquality/equals.md
@@ -0,0 +1,27 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(E e1, E e2)
+_override_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(E e1, E e2) {
+  for (var eq in _equalities) {
+    if (eq.isValidKey(e1)) return eq.isValidKey(e2) && eq.equals(e1, e2);
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MultiEquality/hash.md b/sdk/dart/package-collection_collection/MultiEquality/hash.md
new file mode 100644
index 0000000..1afef89
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MultiEquality/hash.md
@@ -0,0 +1,28 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(E e)
+_override_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/MultiEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(E e) {
+  for (var eq in _equalities) {
+    if (eq.isValidKey(e)) return eq.hash(e);
+  }
+  return 0;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/MultiEquality/isValidKey.md b/sdk/dart/package-collection_collection/MultiEquality/isValidKey.md
new file mode 100644
index 0000000..d69c6c3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/MultiEquality/isValidKey.md
@@ -0,0 +1,28 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/MultiEquality/equals.md">equals</a> and <a href="../../package-collection_collection/MultiEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) {
+  for (var eq in _equalities) {
+    if (eq.isValidKey(o)) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin-class.md b/sdk/dart/package-collection_collection/NonGrowableListMixin-class.md
new file mode 100644
index 0000000..b89c868
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin-class.md
@@ -0,0 +1,386 @@
+
+# NonGrowableListMixin&lt;E> class
+
+    *<Null safety>*
+
+<p>Mixin class that implements a throwing version of all list operations that
+change the List's length.</p>
+
+
+**Implemented types**
+
+- List&lt;E>
+
+
+**Implementers**
+
+- [NonGrowableListView](../package-collection_collection/NonGrowableListView-class.md)
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[NonGrowableListMixin](../package-collection_collection/NonGrowableListMixin/NonGrowableListMixin.md) ()
+
+   
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/NonGrowableListMixin/first.md) &#8596; E
+
+Returns the first element. [...](../package-collection_collection/NonGrowableListMixin/first.md)  
+_read / write, inherited_
+
+##### [hashCode](../package-collection_collection/NonGrowableListMixin/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/NonGrowableListMixin/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/NonGrowableListMixin/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/NonGrowableListMixin/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/NonGrowableListMixin/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/NonGrowableListMixin/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/NonGrowableListMixin/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/NonGrowableListMixin/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/NonGrowableListMixin/last.md) &#8596; E
+
+Returns the last element. [...](../package-collection_collection/NonGrowableListMixin/last.md)  
+_read / write, inherited_
+
+##### [length](../package-collection_collection/NonGrowableListMixin/length.md) &#8596; int
+
+The number of objects in this list. [...](../package-collection_collection/NonGrowableListMixin/length.md)  
+_read / write, inherited-getter, override-setter_
+
+##### [reversed](../package-collection_collection/NonGrowableListMixin/reversed.md) &#8594; Iterable&lt;E>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/NonGrowableListMixin/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/NonGrowableListMixin/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/NonGrowableListMixin/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/NonGrowableListMixin/add.md)(E value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [addAll](../package-collection_collection/NonGrowableListMixin/addAll.md)(Iterable&lt;E> iterable) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [any](../package-collection_collection/NonGrowableListMixin/any.md)(bool test(E element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/NonGrowableListMixin/asMap.md)() Map&lt;int, E>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/NonGrowableListMixin/asMap.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/NonGrowableListMixin/cast.md)&lt;R>() List&lt;R>
+
+Returns a view of this list as a list of <code>R</code> instances. [...](../package-collection_collection/NonGrowableListMixin/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/NonGrowableListMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [contains](../package-collection_collection/NonGrowableListMixin/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/NonGrowableListMixin/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/NonGrowableListMixin/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/NonGrowableListMixin/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/NonGrowableListMixin/every.md)(bool test(E element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/NonGrowableListMixin/expand.md)&lt;T>(Iterable&lt;T> f(E element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/NonGrowableListMixin/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/NonGrowableListMixin/fillRange.md)(int start, int end, [E? fillValue]) void
+
+Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>. [...](../package-collection_collection/NonGrowableListMixin/fillRange.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/NonGrowableListMixin/firstWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/NonGrowableListMixin/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/NonGrowableListMixin/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/NonGrowableListMixin/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/NonGrowableListMixin/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/NonGrowableListMixin/forEach.md)(void f(E element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/NonGrowableListMixin/getRange.md)(int start, int end) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/NonGrowableListMixin/getRange.md)  
+_inherited_
+
+##### [indexOf](../package-collection_collection/NonGrowableListMixin/indexOf.md)(E element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/NonGrowableListMixin/indexOf.md)  
+_inherited_
+
+##### [indexWhere](../package-collection_collection/NonGrowableListMixin/indexWhere.md)(bool test(E element), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/indexWhere.md)  
+_inherited_
+
+##### [insert](../package-collection_collection/NonGrowableListMixin/insert.md)(int index, E element) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [insertAll](../package-collection_collection/NonGrowableListMixin/insertAll.md)(int index, Iterable&lt;E> iterable) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [join](../package-collection_collection/NonGrowableListMixin/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/NonGrowableListMixin/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/NonGrowableListMixin/lastIndexOf.md)(E element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/NonGrowableListMixin/lastIndexOf.md)  
+_inherited_
+
+##### [lastIndexWhere](../package-collection_collection/NonGrowableListMixin/lastIndexWhere.md)(bool test(E element), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/lastIndexWhere.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/NonGrowableListMixin/lastWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/NonGrowableListMixin/map.md)&lt;T>(T f(E e)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/NonGrowableListMixin/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/NonGrowableListMixin/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/NonGrowableListMixin/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/NonGrowableListMixin/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/NonGrowableListMixin/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/NonGrowableListMixin/remove.md)(Object? value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [removeAt](../package-collection_collection/NonGrowableListMixin/removeAt.md)(int index) E
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [removeLast](../package-collection_collection/NonGrowableListMixin/removeLast.md)() E
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [removeRange](../package-collection_collection/NonGrowableListMixin/removeRange.md)(int start, int end) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [removeWhere](../package-collection_collection/NonGrowableListMixin/removeWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [replaceRange](../package-collection_collection/NonGrowableListMixin/replaceRange.md)(int start, int end, Iterable&lt;E> iterable) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [retainWhere](../package-collection_collection/NonGrowableListMixin/retainWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_override_
+
+##### [setAll](../package-collection_collection/NonGrowableListMixin/setAll.md)(int index, Iterable&lt;E> iterable) void
+
+Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list. [...](../package-collection_collection/NonGrowableListMixin/setAll.md)  
+_inherited_
+
+##### [setRange](../package-collection_collection/NonGrowableListMixin/setRange.md)(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0]) void
+
+Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list. [...](../package-collection_collection/NonGrowableListMixin/setRange.md)  
+_inherited_
+
+##### [shuffle](../package-collection_collection/NonGrowableListMixin/shuffle.md)([Random? random]) void
+
+Shuffles the elements of this list randomly.   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/NonGrowableListMixin/singleWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/NonGrowableListMixin/skip.md)(int count) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/NonGrowableListMixin/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/NonGrowableListMixin/skipWhile.md)(bool test(E value)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/NonGrowableListMixin/skipWhile.md)  
+_inherited_
+
+##### [sort](../package-collection_collection/NonGrowableListMixin/sort.md)([int compare(E a, E b)]) void
+
+Sorts this list according to the order specified by the <code>compare</code> function. [...](../package-collection_collection/NonGrowableListMixin/sort.md)  
+_inherited_
+
+##### [sublist](../package-collection_collection/NonGrowableListMixin/sublist.md)(int start, [int? end]) List&lt;E>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/NonGrowableListMixin/sublist.md)  
+_inherited_
+
+##### [take](../package-collection_collection/NonGrowableListMixin/take.md)(int count) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/NonGrowableListMixin/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/NonGrowableListMixin/takeWhile.md)(bool test(E value)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/NonGrowableListMixin/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/NonGrowableListMixin/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/NonGrowableListMixin/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/NonGrowableListMixin/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/NonGrowableListMixin/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/NonGrowableListMixin/where.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/NonGrowableListMixin/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/NonGrowableListMixin/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/NonGrowableListMixin/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/NonGrowableListMixin/operator_plus.md)(List&lt;E> other) List&lt;E>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/NonGrowableListMixin/operator_plus.md)  
+_inherited_
+
+##### [operator ==](../package-collection_collection/NonGrowableListMixin/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/NonGrowableListMixin/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/NonGrowableListMixin/operator_get.md)(int index) E
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_inherited_
+
+##### [operator []=](../package-collection_collection/NonGrowableListMixin/operator_put.md)(int index, E value) void
+
+Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/NonGrowableListMixin.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/NonGrowableListMixin.md
new file mode 100644
index 0000000..ff84368
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/NonGrowableListMixin.md
@@ -0,0 +1,12 @@
+
+# NonGrowableListMixin&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+NonGrowableListMixin&lt;E>()
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/add.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/add.md
new file mode 100644
index 0000000..ade2f35
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/add.md
@@ -0,0 +1,22 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+bool add
+(E value)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+bool add(E value) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/addAll.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/addAll.md
new file mode 100644
index 0000000..3dc0392
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/addAll.md
@@ -0,0 +1,22 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> iterable)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> iterable) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/any.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/any.md
new file mode 100644
index 0000000..c02deb4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/any.md
@@ -0,0 +1,27 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L390)
+    *<Null safety>*
+
+
+bool any
+(bool test(E element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  for (E element in this) {
+    if (test(element)) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/asMap.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/asMap.md
new file mode 100644
index 0000000..097dd1a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/asMap.md
@@ -0,0 +1,28 @@
+
+# asMap method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L749)
+    *<Null safety>*
+
+
+Map&lt;int, E> asMap
+()
+_inherited_
+
+<p>Returns an unmodifiable <code>Map</code> view of <code>this</code>.</p>
+<p>The map uses the indices of this list as keys and the corresponding objects
+as values. The <code>Map.keys</code> <code>Iterable</code> iterates the indices of this list
+in numerical order.</p>
+<pre class="language-dart"><code>List&lt;String&gt; words = ['fee', 'fi', 'fo', 'fum'];
+Map&lt;int, String&gt; map = words.asMap();
+map[0] + map[1];   // 'feefi';
+map.keys.toList(); // [0, 1, 2, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Map<int, E> asMap();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/cast.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/cast.md
new file mode 100644
index 0000000..c7b4e15
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/cast.md
@@ -0,0 +1,28 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L293)
+    *<Null safety>*
+
+
+List&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Returns a view of this list as a list of <code>R</code> instances.</p>
+<p>If this list contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the list (e.g., by using <a href="../../package-collection_collection/NonGrowableListMixin/add.md">add</a> or <a href="../../package-collection_collection/NonGrowableListMixin/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this list as well.</p>
+<p>Typically implemented as <code>List.castFrom&lt;E, R&gt;(this)</code>.</p>
+
+## Implementation
+
+```dart
+List<R> cast<R>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/clear.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/clear.md
new file mode 100644
index 0000000..436e6b6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/clear.md
@@ -0,0 +1,22 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/contains.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/contains.md
new file mode 100644
index 0000000..1232581
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/contains.md
@@ -0,0 +1,35 @@
+
+# contains method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L271)
+    *<Null safety>*
+
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+bool contains(Object? element) {
+  for (E e in this) {
+    if (e == element) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/elementAt.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/elementAt.md
new file mode 100644
index 0000000..905239a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/elementAt.md
@@ -0,0 +1,34 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L646)
+    *<Null safety>*
+
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/NonGrowableListMixin/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) {
+  RangeError.checkNotNegative(index, "index");
+  int elementIndex = 0;
+  for (E element in this) {
+    if (index == elementIndex) return element;
+    elementIndex++;
+  }
+  throw RangeError.index(index, this, "index", null, elementIndex);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/every.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/every.md
new file mode 100644
index 0000000..bbcce02
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/every.md
@@ -0,0 +1,27 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L351)
+    *<Null safety>*
+
+
+bool every
+(bool test(E element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  for (E element in this) {
+    if (!test(element)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/expand.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/expand.md
new file mode 100644
index 0000000..4519f26
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L252)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/fillRange.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/fillRange.md
new file mode 100644
index 0000000..f4a0fb8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/fillRange.md
@@ -0,0 +1,32 @@
+
+# fillRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L716)
+    *<Null safety>*
+
+
+void fillRange
+(int start, int end, [E? fillValue])
+_inherited_
+
+<p>Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart"> List&lt;int&gt; list = new List(3);
+    list.fillRange(0, 2, 1);
+    print(list); //  [1, 1, null]
+</code></pre>
+<p>If the element type is not nullable, omitting <code>fillValue</code> or passing <code>null</code>
+as <code>fillValue</code> will make the <code>fillRange</code> fail.</p>
+
+## Implementation
+
+```dart
+void fillRange(int start, int end, [E? fillValue]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/first.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/first.md
new file mode 100644
index 0000000..1acb81a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/first.md
@@ -0,0 +1,42 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L521)
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  return it.current;
+}
+```
+
+first=
+(E value)  
+_inherited_
+
+<p>Updates the first position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[0] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+void set first(E value);
+```
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/firstWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/firstWhere.md
new file mode 100644
index 0000000..a3cb123
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/firstWhere.md
@@ -0,0 +1,30 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L573)
+    *<Null safety>*
+
+
+E firstWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E orElse()?}) {
+  for (E element in this) {
+    if (test(element)) return element;
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/fold.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/fold.md
new file mode 100644
index 0000000..36a907c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/fold.md
@@ -0,0 +1,37 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L339)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  for (E element in this) value = combine(value, element);
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/followedBy.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/followedBy.md
new file mode 100644
index 0000000..9b66918
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/followedBy.md
@@ -0,0 +1,29 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L179)
+    *<Null safety>*
+
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) {
+  var self = this; // TODO(lrn): Remove when we can promote `this`.
+  if (self is EfficientLengthIterable<E>) {
+    return FollowedByIterable<E>.firstEfficient(self, other);
+  }
+  return FollowedByIterable<E>(this, other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/forEach.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/forEach.md
new file mode 100644
index 0000000..8a56c61
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/forEach.md
@@ -0,0 +1,23 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L282)
+    *<Null safety>*
+
+
+void forEach
+(void f(E element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void f(E element)) {
+  for (E element in this) f(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/getRange.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/getRange.md
new file mode 100644
index 0000000..d923dcb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/getRange.md
@@ -0,0 +1,34 @@
+
+# getRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L654)
+    *<Null safety>*
+
+
+Iterable&lt;E> getRange
+(int start, int end)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid at the time
+of the call.</p>
+<p>A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The returned <code>Iterable</code> behaves like <code>skip(start).take(end - start)</code>.
+That is, it does <em>not</em> throw if this list changes size.</p>
+<pre class="language-dart"><code>List&lt;String&gt; colors = ['red', 'green', 'blue', 'orange', 'pink'];
+Iterable&lt;String&gt; range = colors.getRange(1, 4);
+range.join(', ');  // 'green, blue, orange'
+colors.length = 3;
+range.join(', ');  // 'green, blue'
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<E> getRange(int start, int end);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/hashCode.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/hashCode.md
new file mode 100644
index 0000000..eda02d1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/NonGrowableListMixin/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/NonGrowableListMixin/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/NonGrowableListMixin/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/NonGrowableListMixin/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/NonGrowableListMixin/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/NonGrowableListMixin/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/indexOf.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/indexOf.md
new file mode 100644
index 0000000..7718ba3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/indexOf.md
@@ -0,0 +1,30 @@
+
+# indexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L413)
+    *<Null safety>*
+
+
+int indexOf
+(E element, [int start = 0])
+_inherited_
+
+<p>Returns the first index of <code>element</code> in this list.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexOf('re');    // 1
+notes.indexOf('re', 2); // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexOf('fa');    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexOf(E element, [int start = 0]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/indexWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/indexWhere.md
new file mode 100644
index 0000000..3c39589
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/indexWhere.md
@@ -0,0 +1,30 @@
+
+# indexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L433)
+    *<Null safety>*
+
+
+int indexWhere
+(bool test(E element), [int start = 0])
+_inherited_
+
+<p>Returns the first index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexWhere((note) =&gt; note.startsWith('r'));       // 1
+notes.indexWhere((note) =&gt; note.startsWith('r'), 2);    // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexWhere(bool test(E element), [int start = 0]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/insert.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/insert.md
new file mode 100644
index 0000000..26e539a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/insert.md
@@ -0,0 +1,22 @@
+
+# insert method
+
+    *<Null safety>*
+
+- @override
+
+void insert
+(int index, E element)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void insert(int index, E element) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/insertAll.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/insertAll.md
new file mode 100644
index 0000000..d37fedd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/insertAll.md
@@ -0,0 +1,22 @@
+
+# insertAll method
+
+    *<Null safety>*
+
+- @override
+
+void insertAll
+(int index, Iterable&lt;E> iterable)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void insertAll(int index, Iterable<E> iterable) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/isEmpty.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/isEmpty.md
new file mode 100644
index 0000000..9617373
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L440)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty => !iterator.moveNext();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/isNotEmpty.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/isNotEmpty.md
new file mode 100644
index 0000000..79fa8e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L447)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/iterator.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/iterator.md
new file mode 100644
index 0000000..925b0d5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L158)
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+Iterator<E> get iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/join.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/join.md
new file mode 100644
index 0000000..abe91fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/join.md
@@ -0,0 +1,40 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L366)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) return "";
+  StringBuffer buffer = StringBuffer();
+  if (separator == null || separator == "") {
+    do {
+      buffer.write(iterator.current.toString());
+    } while (iterator.moveNext());
+  } else {
+    buffer.write(iterator.current.toString());
+    while (iterator.moveNext()) {
+      buffer.write(separator);
+      buffer.write(iterator.current.toString());
+    }
+  }
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/last.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/last.md
new file mode 100644
index 0000000..a9f61d0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/last.md
@@ -0,0 +1,49 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L539)
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E result;
+  do {
+    result = it.current;
+  } while (it.moveNext());
+  return result;
+}
+```
+
+last=
+(E value)  
+_inherited_
+
+<p>Updates the last position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[theList.length - 1] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+void set last(E value);
+```
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/lastIndexOf.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/lastIndexOf.md
new file mode 100644
index 0000000..6e6c06d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/lastIndexOf.md
@@ -0,0 +1,33 @@
+
+# lastIndexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L476)
+    *<Null safety>*
+
+
+int lastIndexOf
+(E element, [int? start])
+_inherited_
+
+<p>Returns the last index of <code>element</code> in this list.</p>
+<p>Searches the list backwards from index <code>start</code> to 0.</p>
+<p>The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexOf('re', 2); // 1
+</code></pre>
+<p>If <code>start</code> is not provided, this method searches from the end of the
+list.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('re');  // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('fa');  // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexOf(E element, [int? start]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/lastIndexWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/lastIndexWhere.md
new file mode 100644
index 0000000..05cd8bb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/lastIndexWhere.md
@@ -0,0 +1,31 @@
+
+# lastIndexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L454)
+    *<Null safety>*
+
+
+int lastIndexWhere
+(bool test(E element), [int? start])
+_inherited_
+
+<p>Returns the last index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to 0.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.
+If <code>start</code> is omitted, it defaults to the <a href="../../package-collection_collection/NonGrowableListMixin/length.md">length</a> of the list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'));       // 3
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'), 2);    // 1
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexWhere(bool test(E element), [int? start]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/lastWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/lastWhere.md
new file mode 100644
index 0000000..9e504a4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/lastWhere.md
@@ -0,0 +1,41 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L595)
+    *<Null safety>*
+
+
+E lastWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/length.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/length.md
new file mode 100644
index 0000000..b0e3591
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/length.md
@@ -0,0 +1,33 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>The number of objects in this list.</p>
+<p>The valid indices for a list are <code>0</code> through <code>length - 1</code>.</p>
+
+## Implementation
+
+```dart
+int get length;
+```
+
+length=
+(int newLength)  
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+set length(int newLength) => _throw();
+```
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/map.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/map.md
new file mode 100644
index 0000000..ed13c78
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L201)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(E e))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/NonGrowableListMixin/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E e)) => MappedIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/noSuchMethod.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/noSuchMethod.md
new file mode 100644
index 0000000..3387091
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/NonGrowableListMixin/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_equals.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_equals.md
new file mode 100644
index 0000000..54d7bdb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/NonGrowableListMixin/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_get.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_get.md
new file mode 100644
index 0000000..1c2b6f7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_get.md
@@ -0,0 +1,21 @@
+
+# operator [] method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L299)
+    *<Null safety>*
+
+
+E operator []
+(int index)
+_inherited_
+
+<p>Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+E operator [](int index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_plus.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_plus.md
new file mode 100644
index 0000000..ee38f40
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_plus.md
@@ -0,0 +1,25 @@
+
+# operator + method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L608)
+    *<Null safety>*
+
+
+List&lt;E> operator +
+(List&lt;E> other)
+_inherited_
+
+<p>Returns the concatenation of this list and <code>other</code>.</p>
+<p>Returns a new list containing the elements of this list followed by
+the elements of <code>other</code>.</p>
+<p>The default behavior is to return a normal growable list.
+Some list types may choose to return a list of the same type as themselves
+(see <code>Uint8List.+</code>);</p>
+
+## Implementation
+
+```dart
+List<E> operator +(List<E> other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_put.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_put.md
new file mode 100644
index 0000000..22b7961
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/operator_put.md
@@ -0,0 +1,21 @@
+
+# operator []= method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L305)
+    *<Null safety>*
+
+
+void operator []=
+(int index, E value)
+_inherited_
+
+<p>Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+void operator []=(int index, E value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/reduce.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/reduce.md
new file mode 100644
index 0000000..25ddcfc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/reduce.md
@@ -0,0 +1,45 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L308)
+    *<Null safety>*
+
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E value, E element)) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E value = iterator.current;
+  while (iterator.moveNext()) {
+    value = combine(value, iterator.current);
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/remove.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/remove.md
new file mode 100644
index 0000000..d457a5d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/remove.md
@@ -0,0 +1,22 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? value)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? value) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/removeAt.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeAt.md
new file mode 100644
index 0000000..6698910
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeAt.md
@@ -0,0 +1,22 @@
+
+# removeAt method
+
+    *<Null safety>*
+
+- @override
+
+E removeAt
+(int index)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+E removeAt(int index) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/removeLast.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeLast.md
new file mode 100644
index 0000000..08ceadb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeLast.md
@@ -0,0 +1,22 @@
+
+# removeLast method
+
+    *<Null safety>*
+
+- @override
+
+E removeLast
+()
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+E removeLast() => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/removeRange.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeRange.md
new file mode 100644
index 0000000..0a90dd4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeRange.md
@@ -0,0 +1,22 @@
+
+# removeRange method
+
+    *<Null safety>*
+
+- @override
+
+void removeRange
+(int start, int end)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void removeRange(int start, int end) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/removeWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeWhere.md
new file mode 100644
index 0000000..1504b7f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/removeWhere.md
@@ -0,0 +1,22 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(E))
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(E) test) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/replaceRange.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/replaceRange.md
new file mode 100644
index 0000000..b1088d8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/replaceRange.md
@@ -0,0 +1,22 @@
+
+# replaceRange method
+
+    *<Null safety>*
+
+- @override
+
+void replaceRange
+(int start, int end, Iterable&lt;E> iterable)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void replaceRange(int start, int end, Iterable<E> iterable) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/retainWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/retainWhere.md
new file mode 100644
index 0000000..2ae544d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/retainWhere.md
@@ -0,0 +1,22 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(E))
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(E) test) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/reversed.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/reversed.md
new file mode 100644
index 0000000..8c524a6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/reversed.md
@@ -0,0 +1,20 @@
+
+# reversed property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L363)
+    *<Null safety>*
+
+
+Iterable&lt;E> reversed
+  
+_inherited_
+
+<p>Returns an <code>Iterable</code> of the objects in this list in reverse order.</p>
+
+## Implementation
+
+```dart
+Iterable<E> get reversed;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/runtimeType.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/setAll.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/setAll.md
new file mode 100644
index 0000000..636213d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/setAll.md
@@ -0,0 +1,31 @@
+
+# setAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L527)
+    *<Null safety>*
+
+
+void setAll
+(int index, Iterable&lt;E> iterable)
+_inherited_
+
+<p>Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; list = ['a', 'b', 'c'];
+list.setAll(1, ['bee', 'sea']);
+list.join(', '); // 'a, bee, sea'
+</code></pre>
+<p>This operation does not increase the length of <code>this</code>.</p>
+<p>The <code>index</code> must be non-negative and no greater than <a href="../../package-collection_collection/NonGrowableListMixin/length.md">length</a>.</p>
+<p>The <code>iterable</code> must not have more elements than what can fit from <code>index</code>
+to <a href="../../package-collection_collection/NonGrowableListMixin/length.md">length</a>.</p>
+<p>If <code>iterable</code> is based on this list, its values may change /during/ the
+<code>setAll</code> operation.</p>
+
+## Implementation
+
+```dart
+void setAll(int index, Iterable<E> iterable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/setRange.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/setRange.md
new file mode 100644
index 0000000..c16940f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/setRange.md
@@ -0,0 +1,39 @@
+
+# setRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L682)
+    *<Null safety>*
+
+
+void setRange
+(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0])
+_inherited_
+
+<p>Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list1 = [1, 2, 3, 4];
+List&lt;int&gt; list2 = [5, 6, 7, 8, 9];
+// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
+// of list1.
+list1.setRange(1, 3, list2, 3);
+list1.join(', '); // '1, 8, 9, 4'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The <code>iterable</code> must have enough objects to fill the range from <code>start</code>
+to <code>end</code> after skipping <code>skipCount</code> objects.</p>
+<p>If <code>iterable</code> is this list, the operation copies the elements
+originally in the range from <code>skipCount</code> to <code>skipCount + (end - start)</code> to
+the range <code>start</code> to <code>end</code>, even if the two ranges overlap.</p>
+<p>If <code>iterable</code> depends on this list in some other way, no guarantees are
+made.</p>
+
+## Implementation
+
+```dart
+void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/shuffle.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/shuffle.md
new file mode 100644
index 0000000..8c265f9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/shuffle.md
@@ -0,0 +1,20 @@
+
+# shuffle method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L396)
+    *<Null safety>*
+
+
+void shuffle
+([Random? random])
+_inherited_
+
+<p>Shuffles the elements of this list randomly.</p>
+
+## Implementation
+
+```dart
+void shuffle([Random? random]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/single.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/single.md
new file mode 100644
index 0000000..636fdcc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/single.md
@@ -0,0 +1,27 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L556)
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) throw IterableElementError.noElement();
+  E result = it.current;
+  if (it.moveNext()) throw IterableElementError.tooMany();
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/singleWhere.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/singleWhere.md
new file mode 100644
index 0000000..6ac76ab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/singleWhere.md
@@ -0,0 +1,40 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L618)
+    *<Null safety>*
+
+
+E singleWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      if (foundMatching) {
+        throw IterableElementError.tooMany();
+      }
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/skip.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/skip.md
new file mode 100644
index 0000000..a67935a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/skip.md
@@ -0,0 +1,32 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L494)
+    *<Null safety>*
+
+
+Iterable&lt;E> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) {
+  return SkipIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/skipWhile.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/skipWhile.md
new file mode 100644
index 0000000..bc6d32c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L510)
+    *<Null safety>*
+
+
+Iterable&lt;E> skipWhile
+(bool test(E value))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E value)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/sort.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/sort.md
new file mode 100644
index 0000000..d161ab4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/sort.md
@@ -0,0 +1,40 @@
+
+# sort method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L391)
+    *<Null safety>*
+
+
+void sort
+([int compare(E a, E b)])
+_inherited_
+
+<p>Sorts this list according to the order specified by the <code>compare</code> function.</p>
+<p>The <code>compare</code> function must act as a <code>Comparator</code>.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['two', 'three', 'four'];
+// Sort from shortest to longest.
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [two, four, three]
+</code></pre>
+<p>The default List implementations use <code>Comparable.compare</code> if
+<code>compare</code> is omitted.</p>
+<pre class="language-dart"><code>List&lt;int&gt; nums = [13, 2, -11];
+nums.sort();
+print(nums);  // [-11, 2, 13]
+</code></pre>
+<p>A <code>Comparator</code> may compare objects as equal (return zero), even if they
+are distinct objects.
+The sort function is not guaranteed to be stable, so distinct objects
+that compare as equal may occur in any order in the result:</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [one, two, four, three] OR [two, one, four, three]
+</code></pre>
+
+## Implementation
+
+```dart
+void sort([int compare(E a, E b)?]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/sublist.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/sublist.md
new file mode 100644
index 0000000..1014ed2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/sublist.md
@@ -0,0 +1,32 @@
+
+# sublist method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/list.dart#L632)
+    *<Null safety>*
+
+
+List&lt;E> sublist
+(int start, [int? end])
+_inherited_
+
+<p>Returns a new list containing the elements between <code>start</code> and <code>end</code>.</p>
+<p>The new list is a <code>List&lt;E&gt;</code> containing the elements of this list at
+positions greater than or equal to <code>start</code> and less than <code>end</code> in the same
+order as they occur in this list.</p>
+<pre class="language-dart"><code class="language-dart">var colors = ["red", "green", "blue", "orange", "pink"];
+print(colors.sublist(1, 3)); // [green, blue]
+</code></pre>
+<p>If <code>end</code> is omitted, it defaults to the <a href="../../package-collection_collection/NonGrowableListMixin/length.md">length</a> of this list.</p>
+<pre class="language-dart"><code class="language-dart">print(colors.sublist(1)); // [green, blue, orange, pink]
+</code></pre>
+<p>The <code>start</code> and <code>end</code> positions must satisfy the relations
+0 ≤ <code>start</code> ≤ <code>end</code> ≤ <code>this.length</code>
+If <code>end</code> is equal to <code>start</code>, then the returned list is empty.</p>
+
+## Implementation
+
+```dart
+List<E> sublist(int start, [int? end]);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/take.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/take.md
new file mode 100644
index 0000000..1a53f85
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/take.md
@@ -0,0 +1,27 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L460)
+    *<Null safety>*
+
+
+Iterable&lt;E> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/NonGrowableListMixin/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) {
+  return TakeIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/takeWhile.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/takeWhile.md
new file mode 100644
index 0000000..dd094b8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L474)
+    *<Null safety>*
+
+
+Iterable&lt;E> takeWhile
+(bool test(E value))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/NonGrowableListMixin/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E value)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/toList.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/toList.md
new file mode 100644
index 0000000..04b0bbb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/toList.md
@@ -0,0 +1,24 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L403)
+    *<Null safety>*
+
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  return List<E>.of(this, growable: growable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/toSet.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/toSet.md
new file mode 100644
index 0000000..915f0cc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/toSet.md
@@ -0,0 +1,25 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L416)
+    *<Null safety>*
+
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet() => Set<E>.of(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/toString.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/where.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/where.md
new file mode 100644
index 0000000..0c3df14
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;E> where
+(bool test(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/NonGrowableListMixin/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListMixin/whereType.md b/sdk/dart/package-collection_collection/NonGrowableListMixin/whereType.md
new file mode 100644
index 0000000..e0ba2ce
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListMixin/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L230)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/NonGrowableListMixin/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListView-class.md b/sdk/dart/package-collection_collection/NonGrowableListView-class.md
new file mode 100644
index 0000000..5a2e6ff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListView-class.md
@@ -0,0 +1,400 @@
+
+# NonGrowableListView&lt;E> class
+
+    *<Null safety>*
+
+<p>A fixed-length list.</p>
+<p>A <code>NonGrowableListView</code> contains a <code>List</code> object and ensures that
+its length does not change.
+Methods that would change the length of the list,
+such as <a href="../package-collection_collection/NonGrowableListMixin/add.md">add</a> and <a href="../package-collection_collection/NonGrowableListMixin/remove.md">remove</a>, throw an <code>UnsupportedError</code>.
+All other methods work directly on the underlying list.</p>
+<p>This class <em>does</em> allow changes to the contents of the wrapped list.
+You can, for example, <a href="../package-collection_collection/DelegatingList/sort.md">sort</a> the list.
+Permitted operations defer to the wrapped list.</p>
+
+**Inheritance**
+
+- Object
+- [DelegatingList](../package-collection_collection/DelegatingList-class.md)&lt;E>
+- NonGrowableListView
+
+
+**Mixed in types**
+
+- [NonGrowableListMixin](../package-collection_collection/NonGrowableListMixin-class.md)&lt;E>
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[NonGrowableListView](../package-collection_collection/NonGrowableListView/NonGrowableListView.md) (List&lt;E> listBase)
+
+   
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/NonGrowableListView/first.md) &#8596; E
+
+Returns the first element. [...](../package-collection_collection/NonGrowableListView/first.md)  
+_read / write, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingList/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingList/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingList/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingList/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingList/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingList/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingList/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingList/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/NonGrowableListView/last.md) &#8596; E
+
+Returns the last element. [...](../package-collection_collection/NonGrowableListView/last.md)  
+_read / write, inherited_
+
+##### [length](../package-collection_collection/NonGrowableListView/length.md) &#8596; int
+
+Returns the number of elements in <a href="../package-collection_collection/NonGrowableListView-class.md">this</a>. [...](../package-collection_collection/NonGrowableListView/length.md)  
+_read / write, inherited_
+
+##### [reversed](../package-collection_collection/DelegatingList/reversed.md) &#8594; Iterable&lt;E>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingList/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingList/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingList/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/NonGrowableListMixin/add.md)(E value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [addAll](../package-collection_collection/NonGrowableListMixin/addAll.md)(Iterable&lt;E> iterable) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [any](../package-collection_collection/DelegatingList/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingList/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/DelegatingList/asMap.md)() Map&lt;int, E>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/DelegatingList/asMap.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingList/cast.md)&lt;T>() List&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingList/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/NonGrowableListMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [contains](../package-collection_collection/DelegatingList/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingList/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/DelegatingList/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingList/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingList/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingList/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingList/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingList/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/DelegatingList/fillRange.md)(int start, int end, [E? fillValue]) void
+
+Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>. [...](../package-collection_collection/DelegatingList/fillRange.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/DelegatingList/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingList/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingList/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingList/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingList/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingList/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingList/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/DelegatingList/getRange.md)(int start, int end) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/DelegatingList/getRange.md)  
+_inherited_
+
+##### [indexOf](../package-collection_collection/DelegatingList/indexOf.md)(E element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/DelegatingList/indexOf.md)  
+_inherited_
+
+##### [indexWhere](../package-collection_collection/DelegatingList/indexWhere.md)(bool test(E), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/DelegatingList/indexWhere.md)  
+_inherited_
+
+##### [insert](../package-collection_collection/NonGrowableListMixin/insert.md)(int index, E element) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [insertAll](../package-collection_collection/NonGrowableListMixin/insertAll.md)(int index, Iterable&lt;E> iterable) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [join](../package-collection_collection/DelegatingList/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingList/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/DelegatingList/lastIndexOf.md)(E element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/DelegatingList/lastIndexOf.md)  
+_inherited_
+
+##### [lastIndexWhere](../package-collection_collection/DelegatingList/lastIndexWhere.md)(bool test(E), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/DelegatingList/lastIndexWhere.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/DelegatingList/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingList/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingList/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingList/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingList/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingList/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingList/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingList/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/NonGrowableListMixin/remove.md)(Object? value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [removeAt](../package-collection_collection/NonGrowableListMixin/removeAt.md)(int index) E
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [removeLast](../package-collection_collection/NonGrowableListMixin/removeLast.md)() E
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [removeRange](../package-collection_collection/NonGrowableListMixin/removeRange.md)(int start, int end) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/NonGrowableListMixin/removeWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [replaceRange](../package-collection_collection/NonGrowableListMixin/replaceRange.md)(int start, int end, Iterable&lt;E> iterable) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [retainWhere](../package-collection_collection/NonGrowableListMixin/retainWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.   
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/DelegatingList/retype.md)&lt;T>() List&lt;T>
+
+   
+_inherited_
+
+##### [setAll](../package-collection_collection/DelegatingList/setAll.md)(int index, Iterable&lt;E> iterable) void
+
+Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list. [...](../package-collection_collection/DelegatingList/setAll.md)  
+_inherited_
+
+##### [setRange](../package-collection_collection/DelegatingList/setRange.md)(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0]) void
+
+Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list. [...](../package-collection_collection/DelegatingList/setRange.md)  
+_inherited_
+
+##### [shuffle](../package-collection_collection/DelegatingList/shuffle.md)([Random? random]) void
+
+Shuffles the elements of this list randomly.   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/DelegatingList/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingList/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingList/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingList/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingList/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingList/skipWhile.md)  
+_inherited_
+
+##### [sort](../package-collection_collection/DelegatingList/sort.md)([int compare(E, E)]) void
+
+Sorts this list according to the order specified by the <code>compare</code> function. [...](../package-collection_collection/DelegatingList/sort.md)  
+_inherited_
+
+##### [sublist](../package-collection_collection/DelegatingList/sublist.md)(int start, [int? end]) List&lt;E>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/DelegatingList/sublist.md)  
+_inherited_
+
+##### [take](../package-collection_collection/DelegatingList/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingList/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingList/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingList/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingList/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingList/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingList/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingList/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingList/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/DelegatingList/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingList/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingList/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingList/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/DelegatingList/operator_plus.md)(List&lt;E> other) List&lt;E>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/DelegatingList/operator_plus.md)  
+_inherited_
+
+##### [operator ==](../package-collection_collection/DelegatingList/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingList/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/DelegatingList/operator_get.md)(int index) E
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_inherited_
+
+##### [operator []=](../package-collection_collection/DelegatingList/operator_put.md)(int index, E value) void
+
+Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListView/NonGrowableListView.md b/sdk/dart/package-collection_collection/NonGrowableListView/NonGrowableListView.md
new file mode 100644
index 0000000..20b60a8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListView/NonGrowableListView.md
@@ -0,0 +1,17 @@
+
+# NonGrowableListView&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+NonGrowableListView&lt;E>(List&lt;E> listBase)
+
+
+## Implementation
+
+```dart
+NonGrowableListView(List<E> listBase) : super(listBase);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListView/first.md b/sdk/dart/package-collection_collection/NonGrowableListView/first.md
new file mode 100644
index 0000000..fafa4e6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListView/first.md
@@ -0,0 +1,40 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+E get first => _base.first;
+```
+
+first=
+(E value)  
+_inherited_
+
+<p>Updates the first position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[0] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+@override
+set first(E value) {
+  if (isEmpty) throw RangeError.index(0, this);
+  this[0] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListView/last.md b/sdk/dart/package-collection_collection/NonGrowableListView/last.md
new file mode 100644
index 0000000..a5da702
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListView/last.md
@@ -0,0 +1,43 @@
+
+# last property
+
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+@override
+E get last => _base.last;
+```
+
+last=
+(E value)  
+_inherited_
+
+<p>Updates the last position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[theList.length - 1] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+@override
+set last(E value) {
+  if (isEmpty) throw RangeError.index(0, this);
+  this[length - 1] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/NonGrowableListView/length.md b/sdk/dart/package-collection_collection/NonGrowableListView/length.md
new file mode 100644
index 0000000..59cad6e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/NonGrowableListView/length.md
@@ -0,0 +1,36 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in <a href="../../package-collection_collection/NonGrowableListView-class.md">this</a>.</p>
+<p>Counting all elements may involve iterating through all elements and can
+therefore be slow.
+Some iterables have a more efficient way to find the number of elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _base.length;
+```
+
+length=
+(int newLength)  
+_inherited_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the length of the list are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+set length(int newLength) => _throw();
+```
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue-class.md b/sdk/dart/package-collection_collection/PriorityQueue-class.md
new file mode 100644
index 0000000..69678e4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue-class.md
@@ -0,0 +1,148 @@
+
+# PriorityQueue&lt;E> class
+
+    *<Null safety>*
+
+<p>A priority queue is a priority based work-list of elements.</p>
+<p>The queue allows adding elements, and removing them again in priority order.
+The same object can be added to the queue more than once.
+There is no specified ordering for objects with the same priority
+(where the <code>comparison</code> function returns zero).</p>
+<p>Operations which care about object equality, <a href="../package-collection_collection/PriorityQueue/contains.md">contains</a> and <a href="../package-collection_collection/PriorityQueue/remove.md">remove</a>,
+use <code>Object.==</code> for testing equality.
+In most situations this will be the same as identity (<code>identical</code>),
+but there are types, like <code>String</code>, where users can reasonably expect
+distinct objects to represent the same value.
+If elements override <code>Object.==</code>, the <code>comparison</code> function must
+always give equal objects the same priority,
+otherwise <a href="../package-collection_collection/PriorityQueue/contains.md">contains</a> or <a href="../package-collection_collection/PriorityQueue/remove.md">remove</a> might not work correctly.</p>
+
+
+
+
+**Implementers**
+
+- [HeapPriorityQueue](../package-collection_collection/HeapPriorityQueue-class.md)
+
+
+
+## Constructors
+
+[PriorityQueue](../package-collection_collection/PriorityQueue/PriorityQueue.md) ([int comparison(E, E)])
+
+Creates an empty <a href="../package-collection_collection/PriorityQueue-class.md">PriorityQueue</a>. [...](../package-collection_collection/PriorityQueue/PriorityQueue.md)  
+ _factory_
+
+
+## Properties
+
+##### [first](../package-collection_collection/PriorityQueue/first.md) &#8594; E
+
+Returns the next element that will be returned by <a href="../package-collection_collection/PriorityQueue/removeFirst.md">removeFirst</a>. [...](../package-collection_collection/PriorityQueue/first.md)  
+_read-only_
+
+##### [hashCode](../package-collection_collection/PriorityQueue/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/PriorityQueue/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/PriorityQueue/isEmpty.md) &#8594; bool
+
+Whether the queue is empty.   
+_read-only_
+
+##### [isNotEmpty](../package-collection_collection/PriorityQueue/isNotEmpty.md) &#8594; bool
+
+Whether the queue has any elements.   
+_read-only_
+
+##### [length](../package-collection_collection/PriorityQueue/length.md) &#8594; int
+
+Number of elements in the queue.   
+_read-only_
+
+##### [runtimeType](../package-collection_collection/PriorityQueue/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [unorderedElements](../package-collection_collection/PriorityQueue/unorderedElements.md) &#8594; Iterable&lt;E>
+
+Provides efficient access to all the elements curently in the queue. [...](../package-collection_collection/PriorityQueue/unorderedElements.md)  
+_read-only_
+
+
+## Methods
+
+##### [add](../package-collection_collection/PriorityQueue/add.md)(E element) void
+
+Adds element to the queue. [...](../package-collection_collection/PriorityQueue/add.md)  
+
+
+##### [addAll](../package-collection_collection/PriorityQueue/addAll.md)(Iterable&lt;E> elements) void
+
+Adds all <code>elements</code> to the queue.   
+
+
+##### [clear](../package-collection_collection/PriorityQueue/clear.md)() void
+
+Removes all the elements from this queue.   
+
+
+##### [contains](../package-collection_collection/PriorityQueue/contains.md)(E object) bool
+
+Checks if <code>object</code> is in the queue. [...](../package-collection_collection/PriorityQueue/contains.md)  
+
+
+##### [noSuchMethod](../package-collection_collection/PriorityQueue/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/PriorityQueue/noSuchMethod.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/PriorityQueue/remove.md)(E element) bool
+
+Removes an element of the queue that compares equal to <code>element</code>. [...](../package-collection_collection/PriorityQueue/remove.md)  
+
+
+##### [removeAll](../package-collection_collection/PriorityQueue/removeAll.md)() Iterable&lt;E>
+
+Removes all the elements from this queue and returns them. [...](../package-collection_collection/PriorityQueue/removeAll.md)  
+
+
+##### [removeFirst](../package-collection_collection/PriorityQueue/removeFirst.md)() E
+
+Removes and returns the element with the highest priority. [...](../package-collection_collection/PriorityQueue/removeFirst.md)  
+
+
+##### [toList](../package-collection_collection/PriorityQueue/toList.md)() List&lt;E>
+
+Returns a list of the elements of this queue in priority order. [...](../package-collection_collection/PriorityQueue/toList.md)  
+
+
+##### [toSet](../package-collection_collection/PriorityQueue/toSet.md)() Set&lt;E>
+
+Return a comparator based set using the comparator of this queue. [...](../package-collection_collection/PriorityQueue/toSet.md)  
+
+
+##### [toString](../package-collection_collection/PriorityQueue/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [toUnorderedList](../package-collection_collection/PriorityQueue/toUnorderedList.md)() List&lt;E>
+
+Returns a list of the elements of this queue in no specific order. [...](../package-collection_collection/PriorityQueue/toUnorderedList.md)  
+
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/PriorityQueue/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/PriorityQueue/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/PriorityQueue.md b/sdk/dart/package-collection_collection/PriorityQueue/PriorityQueue.md
new file mode 100644
index 0000000..fe02de0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/PriorityQueue.md
@@ -0,0 +1,26 @@
+
+# PriorityQueue&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+PriorityQueue&lt;E>([int comparison(E, E)])
+
+<p>Creates an empty <a href="../../package-collection_collection/PriorityQueue-class.md">PriorityQueue</a>.</p>
+<p>The created <a href="../../package-collection_collection/PriorityQueue-class.md">PriorityQueue</a> is a plain <a href="../../package-collection_collection/HeapPriorityQueue-class.md">HeapPriorityQueue</a>.</p>
+<p>The <code>comparison</code> is a <code>Comparator</code> used to compare the priority of
+elements. An element that compares as less than another element has
+a higher priority.</p>
+<p>If <code>comparison</code> is omitted, it defaults to <code>Comparable.compare</code>. If this
+is the case, <code>E</code> must implement <code>Comparable</code>, and this is checked at
+runtime for every comparison.</p>
+
+## Implementation
+
+```dart
+factory PriorityQueue([int Function(E, E)? comparison]) =
+    HeapPriorityQueue<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/add.md b/sdk/dart/package-collection_collection/PriorityQueue/add.md
new file mode 100644
index 0000000..b857a2b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/add.md
@@ -0,0 +1,21 @@
+
+# add method
+
+    *<Null safety>*
+
+
+void add
+(E element)
+
+
+<p>Adds element to the queue.</p>
+<p>The element will become the next to be removed by <a href="../../package-collection_collection/PriorityQueue/removeFirst.md">removeFirst</a>
+when all elements with higher priority have been removed.</p>
+
+## Implementation
+
+```dart
+void add(E element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/addAll.md b/sdk/dart/package-collection_collection/PriorityQueue/addAll.md
new file mode 100644
index 0000000..f08fd29
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/addAll.md
@@ -0,0 +1,19 @@
+
+# addAll method
+
+    *<Null safety>*
+
+
+void addAll
+(Iterable&lt;E> elements)
+
+
+<p>Adds all <code>elements</code> to the queue.</p>
+
+## Implementation
+
+```dart
+void addAll(Iterable<E> elements);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/clear.md b/sdk/dart/package-collection_collection/PriorityQueue/clear.md
new file mode 100644
index 0000000..c20b7b7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/clear.md
@@ -0,0 +1,19 @@
+
+# clear method
+
+    *<Null safety>*
+
+
+void clear
+()
+
+
+<p>Removes all the elements from this queue.</p>
+
+## Implementation
+
+```dart
+void clear();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/contains.md b/sdk/dart/package-collection_collection/PriorityQueue/contains.md
new file mode 100644
index 0000000..5846616
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/contains.md
@@ -0,0 +1,27 @@
+
+# contains method
+
+    *<Null safety>*
+
+
+bool contains
+(E object)
+
+
+<p>Checks if <code>object</code> is in the queue.</p>
+<p>Returns true if the element is found.</p>
+<p>Uses the <code>Object.==</code> of elements in the queue to check
+for whether they are equal to <code>object</code>.
+Equal objects objects must have the same priority
+according to the <code>comparison</code> function.
+That is, if <code>a == b</code> then <code>comparison(a, b) == 0</code>.
+If that is not the case, this check might fail to find
+an object.</p>
+
+## Implementation
+
+```dart
+bool contains(E object);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/first.md b/sdk/dart/package-collection_collection/PriorityQueue/first.md
new file mode 100644
index 0000000..05d23ed
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/first.md
@@ -0,0 +1,21 @@
+
+# first property
+
+    *<Null safety>*
+
+
+E first
+  
+
+
+<p>Returns the next element that will be returned by <a href="../../package-collection_collection/PriorityQueue/removeFirst.md">removeFirst</a>.</p>
+<p>The element is not removed from the queue.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+E get first;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/hashCode.md b/sdk/dart/package-collection_collection/PriorityQueue/hashCode.md
new file mode 100644
index 0000000..51cd986
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/PriorityQueue/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/PriorityQueue/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/PriorityQueue/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/PriorityQueue/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/PriorityQueue/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/PriorityQueue/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/isEmpty.md b/sdk/dart/package-collection_collection/PriorityQueue/isEmpty.md
new file mode 100644
index 0000000..d76324c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/isEmpty.md
@@ -0,0 +1,19 @@
+
+# isEmpty property
+
+    *<Null safety>*
+
+
+bool isEmpty
+  
+
+
+<p>Whether the queue is empty.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/isNotEmpty.md b/sdk/dart/package-collection_collection/PriorityQueue/isNotEmpty.md
new file mode 100644
index 0000000..86721ca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/isNotEmpty.md
@@ -0,0 +1,19 @@
+
+# isNotEmpty property
+
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+
+
+<p>Whether the queue has any elements.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/length.md b/sdk/dart/package-collection_collection/PriorityQueue/length.md
new file mode 100644
index 0000000..231f08f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/length.md
@@ -0,0 +1,19 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+
+
+<p>Number of elements in the queue.</p>
+
+## Implementation
+
+```dart
+int get length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/noSuchMethod.md b/sdk/dart/package-collection_collection/PriorityQueue/noSuchMethod.md
new file mode 100644
index 0000000..e9987b9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/PriorityQueue/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/operator_equals.md b/sdk/dart/package-collection_collection/PriorityQueue/operator_equals.md
new file mode 100644
index 0000000..b22394d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/PriorityQueue/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/remove.md b/sdk/dart/package-collection_collection/PriorityQueue/remove.md
new file mode 100644
index 0000000..58f9a18
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/remove.md
@@ -0,0 +1,30 @@
+
+# remove method
+
+    *<Null safety>*
+
+
+bool remove
+(E element)
+
+
+<p>Removes an element of the queue that compares equal to <code>element</code>.</p>
+<p>Returns true if an element is found and removed,
+and false if no equal element is found.</p>
+<p>If the queue contains more than one object equal to <code>element</code>,
+only one of them is removed.</p>
+<p>Uses the <code>Object.==</code> of elements in the queue to check
+for whether they are equal to <code>element</code>.
+Equal objects objects must have the same priority
+according to the <code>comparison</code> function.
+That is, if <code>a == b</code> then <code>comparison(a, b) == 0</code>.
+If that is not the case, this check might fail to find
+an object.</p>
+
+## Implementation
+
+```dart
+bool remove(E element);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/removeAll.md b/sdk/dart/package-collection_collection/PriorityQueue/removeAll.md
new file mode 100644
index 0000000..404a1c1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/removeAll.md
@@ -0,0 +1,20 @@
+
+# removeAll method
+
+    *<Null safety>*
+
+
+Iterable&lt;E> removeAll
+()
+
+
+<p>Removes all the elements from this queue and returns them.</p>
+<p>The returned iterable has no specified order.</p>
+
+## Implementation
+
+```dart
+Iterable<E> removeAll();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/removeFirst.md b/sdk/dart/package-collection_collection/PriorityQueue/removeFirst.md
new file mode 100644
index 0000000..d6a7c21
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/removeFirst.md
@@ -0,0 +1,23 @@
+
+# removeFirst method
+
+    *<Null safety>*
+
+
+E removeFirst
+()
+
+
+<p>Removes and returns the element with the highest priority.</p>
+<p>Repeatedly calling this method, without adding element in between,
+is guaranteed to return elements in non-decreasing order as, specified by
+<code>comparison</code>.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+E removeFirst();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/runtimeType.md b/sdk/dart/package-collection_collection/PriorityQueue/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/toList.md b/sdk/dart/package-collection_collection/PriorityQueue/toList.md
new file mode 100644
index 0000000..99b97ae
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/toList.md
@@ -0,0 +1,22 @@
+
+# toList method
+
+    *<Null safety>*
+
+
+List&lt;E> toList
+()
+
+
+<p>Returns a list of the elements of this queue in priority order.</p>
+<p>The queue is not modified.</p>
+<p>The order is the order that the elements would be in if they were
+removed from this queue using <a href="../../package-collection_collection/PriorityQueue/removeFirst.md">removeFirst</a>.</p>
+
+## Implementation
+
+```dart
+List<E> toList();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/toSet.md b/sdk/dart/package-collection_collection/PriorityQueue/toSet.md
new file mode 100644
index 0000000..dcc2ad6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/toSet.md
@@ -0,0 +1,25 @@
+
+# toSet method
+
+    *<Null safety>*
+
+
+Set&lt;E> toSet
+()
+
+
+<p>Return a comparator based set using the comparator of this queue.</p>
+<p>The queue is not modified.</p>
+<p>The returned <code>Set</code> is currently a <code>SplayTreeSet</code>,
+but this may change as other ordered sets are implemented.</p>
+<p>The set contains all the elements of this queue.
+If an element occurs more than once in the queue,
+the set will contain it only once.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/toString.md b/sdk/dart/package-collection_collection/PriorityQueue/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/toUnorderedList.md b/sdk/dart/package-collection_collection/PriorityQueue/toUnorderedList.md
new file mode 100644
index 0000000..120d6da
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/toUnorderedList.md
@@ -0,0 +1,22 @@
+
+# toUnorderedList method
+
+    *<Null safety>*
+
+
+List&lt;E> toUnorderedList
+()
+
+
+<p>Returns a list of the elements of this queue in no specific order.</p>
+<p>The queue is not modified.</p>
+<p>The order of the elements is implementation specific.
+The order may differ between different calls on the same queue.</p>
+
+## Implementation
+
+```dart
+List<E> toUnorderedList();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/PriorityQueue/unorderedElements.md b/sdk/dart/package-collection_collection/PriorityQueue/unorderedElements.md
new file mode 100644
index 0000000..d266c9c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/PriorityQueue/unorderedElements.md
@@ -0,0 +1,24 @@
+
+# unorderedElements property
+
+    *<Null safety>*
+
+
+Iterable&lt;E> unorderedElements
+  
+
+
+<p>Provides efficient access to all the elements curently in the queue.</p>
+<p>The operation should be performed without copying or moving
+the elements, if at all possible.</p>
+<p>The elements are iterated in no particular order.
+The order is stable as long as the queue is not modified.
+The queue must not be modified during an iteration.</p>
+
+## Implementation
+
+```dart
+Iterable<E> get unorderedElements;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList-class.md b/sdk/dart/package-collection_collection/QueueList-class.md
new file mode 100644
index 0000000..d2b81d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList-class.md
@@ -0,0 +1,401 @@
+
+# QueueList&lt;E> class
+
+    *<Null safety>*
+
+<p>A class that efficiently implements both <code>Queue</code> and <code>List</code>.</p>
+
+
+**Implemented types**
+
+- Queue&lt;E>
+
+**Mixed in types**
+
+- ListMixin&lt;E>
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[QueueList](../package-collection_collection/QueueList/QueueList.md) ([int? initialCapacity])
+
+Creates an empty queue. [...](../package-collection_collection/QueueList/QueueList.md)  
+ 
+
+[QueueList.from](../package-collection_collection/QueueList/QueueList.from.md) (Iterable&lt;E> source)
+
+Create a queue initially containing the elements of <code>source</code>.   
+ _factory_
+
+
+## Properties
+
+##### [first](../package-collection_collection/QueueList/first.md) &#8596; E
+
+Returns the first element. [...](../package-collection_collection/QueueList/first.md)  
+_read / write, inherited_
+
+##### [hashCode](../package-collection_collection/QueueList/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/QueueList/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/QueueList/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/QueueList/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/QueueList/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/QueueList/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/QueueList/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/QueueList/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/QueueList/last.md) &#8596; E
+
+Returns the last element. [...](../package-collection_collection/QueueList/last.md)  
+_read / write, inherited_
+
+##### [length](../package-collection_collection/QueueList/length.md) &#8596; int
+
+Returns the number of elements in the iterable. [...](../package-collection_collection/QueueList/length.md)  
+_read / write, override-setter_
+
+##### [reversed](../package-collection_collection/QueueList/reversed.md) &#8594; Iterable&lt;E>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/QueueList/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/QueueList/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/QueueList/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/QueueList/add.md)(E element) void
+
+Adds <code>value</code> at the end of the queue.   
+_override_
+
+##### [addAll](../package-collection_collection/QueueList/addAll.md)(Iterable&lt;E> iterable) void
+
+Adds all elements of <code>iterable</code> at the end of the queue. The
+length of the queue is extended by the length of <code>iterable</code>.   
+_override_
+
+##### [addFirst](../package-collection_collection/QueueList/addFirst.md)(E element) void
+
+Adds <code>value</code> at the beginning of the queue.   
+_override_
+
+##### [addLast](../package-collection_collection/QueueList/addLast.md)(E element) void
+
+Adds <code>value</code> at the end of the queue.   
+_override_
+
+##### [any](../package-collection_collection/QueueList/any.md)(bool test(E element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/QueueList/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/QueueList/asMap.md)() Map&lt;int, E>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/QueueList/asMap.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/QueueList/cast.md)&lt;T>() [QueueList](../package-collection_collection/QueueList-class.md)&lt;T>
+
+Provides a view of this queue as a queue of <code>R</code> instances, if necessary. [...](../package-collection_collection/QueueList/cast.md)  
+_override_
+
+##### [clear](../package-collection_collection/QueueList/clear.md)() void
+
+Removes all objects from this list;
+the length of the list becomes zero. [...](../package-collection_collection/QueueList/clear.md)  
+_inherited_
+
+##### [contains](../package-collection_collection/QueueList/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/QueueList/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/QueueList/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/QueueList/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/QueueList/every.md)(bool test(E element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/QueueList/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/QueueList/expand.md)&lt;T>(Iterable&lt;T> f(E element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/QueueList/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/QueueList/fillRange.md)(int start, int end, [E? fill]) void
+
+Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>. [...](../package-collection_collection/QueueList/fillRange.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/QueueList/firstWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/QueueList/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/QueueList/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/QueueList/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/QueueList/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/QueueList/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/QueueList/forEach.md)(void action(E element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/QueueList/getRange.md)(int start, int end) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/QueueList/getRange.md)  
+_inherited_
+
+##### [indexOf](../package-collection_collection/QueueList/indexOf.md)(Object? element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/QueueList/indexOf.md)  
+_inherited_
+
+##### [indexWhere](../package-collection_collection/QueueList/indexWhere.md)(bool test(E element), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/QueueList/indexWhere.md)  
+_inherited_
+
+##### [insert](../package-collection_collection/QueueList/insert.md)(int index, E element) void
+
+Inserts the object at position <code>index</code> in this list. [...](../package-collection_collection/QueueList/insert.md)  
+_inherited_
+
+##### [insertAll](../package-collection_collection/QueueList/insertAll.md)(int index, Iterable&lt;E> iterable) void
+
+Inserts all objects of <code>iterable</code> at position <code>index</code> in this list. [...](../package-collection_collection/QueueList/insertAll.md)  
+_inherited_
+
+##### [join](../package-collection_collection/QueueList/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/QueueList/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/QueueList/lastIndexOf.md)(Object? element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/QueueList/lastIndexOf.md)  
+_inherited_
+
+##### [lastIndexWhere](../package-collection_collection/QueueList/lastIndexWhere.md)(bool test(E element), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/QueueList/lastIndexWhere.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/QueueList/lastWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/QueueList/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/QueueList/map.md)&lt;T>(T f(E element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/QueueList/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/QueueList/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/QueueList/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/QueueList/reduce.md)(E combine(E previousValue, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/QueueList/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/QueueList/remove.md)(Object? element) bool
+
+Removes the first occurrence of <code>value</code> from this list. [...](../package-collection_collection/QueueList/remove.md)  
+_inherited_
+
+##### [removeAt](../package-collection_collection/QueueList/removeAt.md)(int index) E
+
+Removes the object at position <code>index</code> from this list. [...](../package-collection_collection/QueueList/removeAt.md)  
+_inherited_
+
+##### [removeFirst](../package-collection_collection/QueueList/removeFirst.md)() E
+
+Removes and returns the first element of this queue. [...](../package-collection_collection/QueueList/removeFirst.md)  
+_override_
+
+##### [removeLast](../package-collection_collection/QueueList/removeLast.md)() E
+
+Removes and returns the last element of the queue. [...](../package-collection_collection/QueueList/removeLast.md)  
+_override_
+
+##### [removeRange](../package-collection_collection/QueueList/removeRange.md)(int start, int end) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/QueueList/removeRange.md)  
+_inherited_
+
+##### [removeWhere](../package-collection_collection/QueueList/removeWhere.md)(bool test(E element)) void
+
+Removes all objects from this list that satisfy <code>test</code>. [...](../package-collection_collection/QueueList/removeWhere.md)  
+_inherited_
+
+##### [replaceRange](../package-collection_collection/QueueList/replaceRange.md)(int start, int end, Iterable&lt;E> newContents) void
+
+Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place. [...](../package-collection_collection/QueueList/replaceRange.md)  
+_inherited_
+
+##### [retainWhere](../package-collection_collection/QueueList/retainWhere.md)(bool test(E element)) void
+
+Removes all objects from this list that fail to satisfy <code>test</code>. [...](../package-collection_collection/QueueList/retainWhere.md)  
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/QueueList/retype.md)&lt;T>() [QueueList](../package-collection_collection/QueueList-class.md)&lt;T>
+
+   
+
+
+##### [setAll](../package-collection_collection/QueueList/setAll.md)(int index, Iterable&lt;E> iterable) void
+
+Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list. [...](../package-collection_collection/QueueList/setAll.md)  
+_inherited_
+
+##### [setRange](../package-collection_collection/QueueList/setRange.md)(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0]) void
+
+Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list. [...](../package-collection_collection/QueueList/setRange.md)  
+_inherited_
+
+##### [shuffle](../package-collection_collection/QueueList/shuffle.md)([Random? random]) void
+
+Shuffles the elements of this list randomly.   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/QueueList/singleWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/QueueList/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/QueueList/skip.md)(int count) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/QueueList/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/QueueList/skipWhile.md)(bool test(E element)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/QueueList/skipWhile.md)  
+_inherited_
+
+##### [sort](../package-collection_collection/QueueList/sort.md)([int compare(E a, E b)]) void
+
+Sorts this list according to the order specified by the <code>compare</code> function. [...](../package-collection_collection/QueueList/sort.md)  
+_inherited_
+
+##### [sublist](../package-collection_collection/QueueList/sublist.md)(int start, [int? end]) List&lt;E>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/QueueList/sublist.md)  
+_inherited_
+
+##### [take](../package-collection_collection/QueueList/take.md)(int count) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/QueueList/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/QueueList/takeWhile.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/QueueList/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/QueueList/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/QueueList/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/QueueList/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/QueueList/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/QueueList/toString.md)() String
+
+Returns a string representation of this object.   
+_override_
+
+##### [where](../package-collection_collection/QueueList/where.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/QueueList/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/QueueList/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/QueueList/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/QueueList/operator_plus.md)(List&lt;E> other) List&lt;E>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/QueueList/operator_plus.md)  
+_inherited_
+
+##### [operator ==](../package-collection_collection/QueueList/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/QueueList/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/QueueList/operator_get.md)(int index) E
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+##### [operator []=](../package-collection_collection/QueueList/operator_put.md)(int index, E value) void
+
+Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/QueueList.from.md b/sdk/dart/package-collection_collection/QueueList/QueueList.from.md
new file mode 100644
index 0000000..5898609
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/QueueList.from.md
@@ -0,0 +1,30 @@
+
+# QueueList&lt;E>.from constructor
+
+    *<Null safety>*
+
+
+
+QueueList&lt;E>.from(Iterable&lt;E> source)
+
+<p>Create a queue initially containing the elements of <code>source</code>.</p>
+
+## Implementation
+
+```dart
+factory QueueList.from(Iterable<E> source) {
+  if (source is List) {
+    var length = source.length;
+    var queue = QueueList<E>(length + 1);
+    assert(queue._table.length > length);
+    var sourceList = source;
+    queue._table.setRange(0, length, sourceList, 0);
+    queue._tail = length;
+    return queue;
+  } else {
+    return QueueList<E>()..addAll(source);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/QueueList.md b/sdk/dart/package-collection_collection/QueueList/QueueList.md
new file mode 100644
index 0000000..233715b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/QueueList.md
@@ -0,0 +1,21 @@
+
+# QueueList&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+QueueList&lt;E>([int? initialCapacity])
+
+<p>Creates an empty queue.</p>
+<p>If <code>initialCapacity</code> is given, prepare the queue for at least that many
+elements.</p>
+
+## Implementation
+
+```dart
+QueueList([int? initialCapacity])
+    : this._init(_computeInitialCapacity(initialCapacity));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/add.md b/sdk/dart/package-collection_collection/QueueList/add.md
new file mode 100644
index 0000000..01c05ea
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/add.md
@@ -0,0 +1,23 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+void add
+(E element)
+_override_
+
+<p>Adds <code>value</code> at the end of the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void add(E element) {
+  _add(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/addAll.md b/sdk/dart/package-collection_collection/QueueList/addAll.md
new file mode 100644
index 0000000..7230684
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/addAll.md
@@ -0,0 +1,50 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> iterable)
+_override_
+
+<p>Adds all elements of <code>iterable</code> at the end of the queue. The
+length of the queue is extended by the length of <code>iterable</code>.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> iterable) {
+  if (iterable is List) {
+    var list = iterable;
+    var addCount = list.length;
+    var length = this.length;
+    if (length + addCount >= _table.length) {
+      _preGrow(length + addCount);
+      // After preGrow, all elements are at the start of the list.
+      _table.setRange(length, length + addCount, list, 0);
+      _tail += addCount;
+    } else {
+      // Adding addCount elements won't reach _head.
+      var endSpace = _table.length - _tail;
+      if (addCount < endSpace) {
+        _table.setRange(_tail, _tail + addCount, list, 0);
+        _tail += addCount;
+      } else {
+        var preSpace = addCount - endSpace;
+        _table.setRange(_tail, _tail + endSpace, list, 0);
+        _table.setRange(0, preSpace, list, endSpace);
+        _tail = preSpace;
+      }
+    }
+  } else {
+    for (var element in iterable) {
+      _add(element);
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/addFirst.md b/sdk/dart/package-collection_collection/QueueList/addFirst.md
new file mode 100644
index 0000000..dfae209
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/addFirst.md
@@ -0,0 +1,25 @@
+
+# addFirst method
+
+    *<Null safety>*
+
+- @override
+
+void addFirst
+(E element)
+_override_
+
+<p>Adds <code>value</code> at the beginning of the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void addFirst(E element) {
+  _head = (_head - 1) & (_table.length - 1);
+  _table[_head] = element;
+  if (_head == _tail) _grow();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/addLast.md b/sdk/dart/package-collection_collection/QueueList/addLast.md
new file mode 100644
index 0000000..fcb7cc7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/addLast.md
@@ -0,0 +1,23 @@
+
+# addLast method
+
+    *<Null safety>*
+
+- @override
+
+void addLast
+(E element)
+_override_
+
+<p>Adds <code>value</code> at the end of the queue.</p>
+
+## Implementation
+
+```dart
+@override
+void addLast(E element) {
+  _add(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/any.md b/sdk/dart/package-collection_collection/QueueList/any.md
new file mode 100644
index 0000000..c3feb5c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/any.md
@@ -0,0 +1,31 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L146)
+    *<Null safety>*
+
+
+bool any
+(bool test(E element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (test(this[i])) return true;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/asMap.md b/sdk/dart/package-collection_collection/QueueList/asMap.md
new file mode 100644
index 0000000..7a7b61f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/asMap.md
@@ -0,0 +1,30 @@
+
+# asMap method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L376)
+    *<Null safety>*
+
+
+Map&lt;int, E> asMap
+()
+_inherited_
+
+<p>Returns an unmodifiable <code>Map</code> view of <code>this</code>.</p>
+<p>The map uses the indices of this list as keys and the corresponding objects
+as values. The <code>Map.keys</code> <code>Iterable</code> iterates the indices of this list
+in numerical order.</p>
+<pre class="language-dart"><code>List&lt;String&gt; words = ['fee', 'fi', 'fo', 'fum'];
+Map&lt;int, String&gt; map = words.asMap();
+map[0] + map[1];   // 'feefi';
+map.keys.toList(); // [0, 1, 2, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Map<int, E> asMap() {
+  return ListMapView<E>(this);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/cast.md b/sdk/dart/package-collection_collection/QueueList/cast.md
new file mode 100644
index 0000000..8363f35
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/cast.md
@@ -0,0 +1,26 @@
+
+# cast&lt;T> method
+
+    *<Null safety>*
+
+
+[QueueList](../../package-collection_collection/QueueList-class.md)&lt;T> cast
+&lt;T>()
+_override_
+
+<p>Provides a view of this queue as a queue of <code>R</code> instances, if necessary.</p>
+<p>If this queue contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the queue (e.g., by using <a href="../../package-collection_collection/QueueList/addFirst.md">addFirst</a> or <a href="../../package-collection_collection/QueueList/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this queue as well.</p>
+
+## Implementation
+
+```dart
+QueueList<T> cast<T>() => QueueList._castFrom<E, T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/clear.md b/sdk/dart/package-collection_collection/QueueList/clear.md
new file mode 100644
index 0000000..e5a0db6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/clear.md
@@ -0,0 +1,25 @@
+
+# clear method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L340)
+    *<Null safety>*
+
+
+void clear
+()
+_inherited_
+
+<p>Removes all objects from this list;
+the length of the list becomes zero.</p>
+<p>Throws an <code>UnsupportedError</code>, and retains all objects, if this
+is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+void clear() {
+  this.length = 0;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/contains.md b/sdk/dart/package-collection_collection/QueueList/contains.md
new file mode 100644
index 0000000..0996827
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/contains.md
@@ -0,0 +1,39 @@
+
+# contains method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L124)
+    *<Null safety>*
+
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+bool contains(Object? element) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (this[i] == element) return true;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/elementAt.md b/sdk/dart/package-collection_collection/QueueList/elementAt.md
new file mode 100644
index 0000000..867c743
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/elementAt.md
@@ -0,0 +1,26 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L78)
+    *<Null safety>*
+
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/QueueList/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) => this[index];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/every.md b/sdk/dart/package-collection_collection/QueueList/every.md
new file mode 100644
index 0000000..25de547
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/every.md
@@ -0,0 +1,31 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L135)
+    *<Null safety>*
+
+
+bool every
+(bool test(E element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (!test(this[i])) return false;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/expand.md b/sdk/dart/package-collection_collection/QueueList/expand.md
new file mode 100644
index 0000000..7b6b331
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/fillRange.md b/sdk/dart/package-collection_collection/QueueList/fillRange.md
new file mode 100644
index 0000000..08333ff
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/fillRange.md
@@ -0,0 +1,40 @@
+
+# fillRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L403)
+    *<Null safety>*
+
+
+void fillRange
+(int start, int end, [E? fill])
+_inherited_
+
+<p>Sets the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+to the given <code>fillValue</code>.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Example:</p>
+<pre class="language-dart"><code class="language-dart"> List&lt;int&gt; list = new List(3);
+    list.fillRange(0, 2, 1);
+    print(list); //  [1, 1, null]
+</code></pre>
+<p>If the element type is not nullable, omitting <code>fillValue</code> or passing <code>null</code>
+as <code>fillValue</code> will make the <code>fillRange</code> fail.</p>
+
+## Implementation
+
+```dart
+void fillRange(int start, int end, [E? fill]) {
+  // Hoist the case to fail eagerly if the user provides an invalid `null`
+  // value (or omits it) when E is a non-nullable type.
+  E value = fill as E;
+  RangeError.checkValidRange(start, end, this.length);
+  for (int i = start; i < end; i++) {
+    this[i] = value;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/first.md b/sdk/dart/package-collection_collection/QueueList/first.md
new file mode 100644
index 0000000..13d376e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/first.md
@@ -0,0 +1,42 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L98)
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  if (length == 0) throw IterableElementError.noElement();
+  return this[0];
+}
+```
+
+first=
+(E value)  
+_inherited_
+
+<p>Updates the first position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[0] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+void set first(E value) {
+  if (length == 0) throw IterableElementError.noElement();
+  this[0] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/QueueList/firstWhere.md b/sdk/dart/package-collection_collection/QueueList/firstWhere.md
new file mode 100644
index 0000000..1421063
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/firstWhere.md
@@ -0,0 +1,35 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L157)
+    *<Null safety>*
+
+
+E firstWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    E element = this[i];
+    if (test(element)) return element;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/fold.md b/sdk/dart/package-collection_collection/QueueList/fold.md
new file mode 100644
index 0000000..e254e35
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/fold.md
@@ -0,0 +1,43 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L233)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    value = combine(value, this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/followedBy.md b/sdk/dart/package-collection_collection/QueueList/followedBy.md
new file mode 100644
index 0000000..362d275
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L80)
+    *<Null safety>*
+
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) =>
+    FollowedByIterable<E>.firstEfficient(this, other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/forEach.md b/sdk/dart/package-collection_collection/QueueList/forEach.md
new file mode 100644
index 0000000..c42af05
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/forEach.md
@@ -0,0 +1,29 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L83)
+    *<Null safety>*
+
+
+void forEach
+(void action(E element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void action(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    action(this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/getRange.md b/sdk/dart/package-collection_collection/QueueList/getRange.md
new file mode 100644
index 0000000..d8a84e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/getRange.md
@@ -0,0 +1,37 @@
+
+# getRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L391)
+    *<Null safety>*
+
+
+Iterable&lt;E> getRange
+(int start, int end)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid at the time
+of the call.</p>
+<p>A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The returned <code>Iterable</code> behaves like <code>skip(start).take(end - start)</code>.
+That is, it does <em>not</em> throw if this list changes size.</p>
+<pre class="language-dart"><code>List&lt;String&gt; colors = ['red', 'green', 'blue', 'orange', 'pink'];
+Iterable&lt;String&gt; range = colors.getRange(1, 4);
+range.join(', ');  // 'green, blue, orange'
+colors.length = 3;
+range.join(', ');  // 'green, blue'
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<E> getRange(int start, int end) {
+  RangeError.checkValidRange(start, end, this.length);
+  return SubListIterable<E>(this, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/hashCode.md b/sdk/dart/package-collection_collection/QueueList/hashCode.md
new file mode 100644
index 0000000..2c5a2e9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/QueueList/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/QueueList/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/QueueList/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/QueueList/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/QueueList/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/QueueList/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/indexOf.md b/sdk/dart/package-collection_collection/QueueList/indexOf.md
new file mode 100644
index 0000000..7bde1d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/indexOf.md
@@ -0,0 +1,36 @@
+
+# indexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L485)
+    *<Null safety>*
+
+
+int indexOf
+(Object? element, [int start = 0])
+_inherited_
+
+<p>Returns the first index of <code>element</code> in this list.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexOf('re');    // 1
+notes.indexOf('re', 2); // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexOf('fa');    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexOf(Object? element, [int start = 0]) {
+  if (start < 0) start = 0;
+  for (int i = start; i < this.length; i++) {
+    if (this[i] == element) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/indexWhere.md b/sdk/dart/package-collection_collection/QueueList/indexWhere.md
new file mode 100644
index 0000000..cff8e9c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/indexWhere.md
@@ -0,0 +1,36 @@
+
+# indexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L493)
+    *<Null safety>*
+
+
+int indexWhere
+(bool test(E element), [int start = 0])
+_inherited_
+
+<p>Returns the first index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexWhere((note) =&gt; note.startsWith('r'));       // 1
+notes.indexWhere((note) =&gt; note.startsWith('r'), 2);    // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexWhere(bool test(E element), [int start = 0]) {
+  if (start < 0) start = 0;
+  for (int i = start; i < this.length; i++) {
+    if (test(this[i])) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/insert.md b/sdk/dart/package-collection_collection/QueueList/insert.md
new file mode 100644
index 0000000..1e754d8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/insert.md
@@ -0,0 +1,33 @@
+
+# insert method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L525)
+    *<Null safety>*
+
+
+void insert
+(int index, E element)
+_inherited_
+
+<p>Inserts the object at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by one and shifts all objects
+at or after the index towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/QueueList/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+void insert(int index, E element) {
+  ArgumentError.checkNotNull(index, "index");
+  var length = this.length;
+  RangeError.checkValueInInterval(index, 0, length, "index");
+  add(element);
+  if (index != length) {
+    setRange(index + 1, length + 1, this, index);
+    this[index] = element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/insertAll.md b/sdk/dart/package-collection_collection/QueueList/insertAll.md
new file mode 100644
index 0000000..e0a9ba5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/insertAll.md
@@ -0,0 +1,55 @@
+
+# insertAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L542)
+    *<Null safety>*
+
+
+void insertAll
+(int index, Iterable&lt;E> iterable)
+_inherited_
+
+<p>Inserts all objects of <code>iterable</code> at position <code>index</code> in this list.</p>
+<p>This increases the length of the list by the length of <code>iterable</code> and
+shifts all later objects towards the end of the list.</p>
+<p>The list must be growable.
+The <code>index</code> value must be non-negative and no greater than <a href="../../package-collection_collection/QueueList/length.md">length</a>.</p>
+
+## Implementation
+
+```dart
+void insertAll(int index, Iterable<E> iterable) {
+  RangeError.checkValueInInterval(index, 0, length, "index");
+  if (index == length) {
+    addAll(iterable);
+    return;
+  }
+  if (iterable is! EfficientLengthIterable || identical(iterable, this)) {
+    iterable = iterable.toList();
+  }
+  int insertionLength = iterable.length;
+  if (insertionLength == 0) {
+    return;
+  }
+  // There might be errors after the length change, in which case the list
+  // will end up being modified but the operation not complete. Unless we
+  // always go through a "toList" we can't really avoid that.
+  int oldLength = length;
+  for (int i = oldLength - insertionLength; i < oldLength; ++i) {
+    add(this[i > 0 ? i : 0]);
+  }
+  if (iterable.length != insertionLength) {
+    // If the iterable's length is linked to this list's length somehow,
+    // we can't insert one in the other.
+    this.length -= insertionLength;
+    throw ConcurrentModificationError(iterable);
+  }
+  int oldCopyStart = index + insertionLength;
+  if (oldCopyStart < oldLength) {
+    setRange(oldCopyStart, oldLength, this, index);
+  }
+  setAll(index, iterable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/isEmpty.md b/sdk/dart/package-collection_collection/QueueList/isEmpty.md
new file mode 100644
index 0000000..6e6df0f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/isEmpty.md
@@ -0,0 +1,22 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L94)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:prefer-inline")
+bool get isEmpty => length == 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/isNotEmpty.md b/sdk/dart/package-collection_collection/QueueList/isNotEmpty.md
new file mode 100644
index 0000000..08454e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L96)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/iterator.md b/sdk/dart/package-collection_collection/QueueList/iterator.md
new file mode 100644
index 0000000..3b27b50
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L76)
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+Iterator<E> get iterator => ListIterator<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/join.md b/sdk/dart/package-collection_collection/QueueList/join.md
new file mode 100644
index 0000000..e2e57e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/join.md
@@ -0,0 +1,28 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L205)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  if (length == 0) return "";
+  StringBuffer buffer = StringBuffer()..writeAll(this, separator);
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/last.md b/sdk/dart/package-collection_collection/QueueList/last.md
new file mode 100644
index 0000000..fa80f84
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/last.md
@@ -0,0 +1,45 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L108)
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  if (length == 0) throw IterableElementError.noElement();
+  return this[length - 1];
+}
+```
+
+last=
+(E value)  
+_inherited_
+
+<p>Updates the last position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[theList.length - 1] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+void set last(E value) {
+  if (length == 0) throw IterableElementError.noElement();
+  this[length - 1] = value;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/QueueList/lastIndexOf.md b/sdk/dart/package-collection_collection/QueueList/lastIndexOf.md
new file mode 100644
index 0000000..dff8325
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/lastIndexOf.md
@@ -0,0 +1,43 @@
+
+# lastIndexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L501)
+    *<Null safety>*
+
+
+int lastIndexOf
+(Object? element, [int? start])
+_inherited_
+
+<p>Returns the last index of <code>element</code> in this list.</p>
+<p>Searches the list backwards from index <code>start</code> to 0.</p>
+<p>The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexOf('re', 2); // 1
+</code></pre>
+<p>If <code>start</code> is not provided, this method searches from the end of the
+list.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('re');  // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('fa');  // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexOf(Object? element, [int? start]) {
+  if (start == null || start >= this.length) start = this.length - 1;
+
+  // TODO(38493): The previous line should promote.
+  if (start == null) throw "!";
+
+  for (int i = start; i >= 0; i--) {
+    if (this[i] == element) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/lastIndexWhere.md b/sdk/dart/package-collection_collection/QueueList/lastIndexWhere.md
new file mode 100644
index 0000000..cba5dfd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/lastIndexWhere.md
@@ -0,0 +1,41 @@
+
+# lastIndexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L513)
+    *<Null safety>*
+
+
+int lastIndexWhere
+(bool test(E element), [int? start])
+_inherited_
+
+<p>Returns the last index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to 0.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.
+If <code>start</code> is omitted, it defaults to the <a href="../../package-collection_collection/QueueList/length.md">length</a> of the list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'));       // 3
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'), 2);    // 1
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexWhere(bool test(E element), [int? start]) {
+  if (start == null || start >= this.length) start = this.length - 1;
+
+  // TODO(38493): The previous line should promote.
+  if (start == null) throw "!";
+
+  for (int i = start; i >= 0; i--) {
+    if (test(this[i])) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/lastWhere.md b/sdk/dart/package-collection_collection/QueueList/lastWhere.md
new file mode 100644
index 0000000..295da5f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/lastWhere.md
@@ -0,0 +1,40 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L170)
+    *<Null safety>*
+
+
+E lastWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  for (int i = length - 1; i >= 0; i--) {
+    E element = this[i];
+    if (test(element)) return element;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/length.md b/sdk/dart/package-collection_collection/QueueList/length.md
new file mode 100644
index 0000000..10e5742
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/length.md
@@ -0,0 +1,65 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+
+
+<p>Returns the number of elements in the iterable.</p>
+<p>This is an efficient operation that doesn't require iterating through
+the elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => (_tail - _head) & (_table.length - 1);
+```
+
+length=
+(int value)  
+_override_
+
+<p>Changes the length of this list.</p>
+<p>If <code>newLength</code> is greater than
+the current length, entries are initialized to <code>null</code>.
+Increasing the length fails if the element type does not allow <code>null</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if the list is fixed-length or
+if attempting tp enlarge the list when <code>null</code> is not a valid element.</p>
+
+## Implementation
+
+```dart
+@override
+set length(int value) {
+  if (value < 0) throw RangeError('Length $value may not be negative.');
+  if (value > length && null is! E) {
+    throw UnsupportedError(
+        'The length can only be increased when the element type is '
+        'nullable, but the current element type is `$E`.');
+  }
+
+  var delta = value - length;
+  if (delta >= 0) {
+    if (_table.length <= value) {
+      _preGrow(value);
+    }
+    _tail = (_tail + delta) & (_table.length - 1);
+    return;
+  }
+
+  var newTail = _tail + delta; // [delta] is negative.
+  if (newTail >= 0) {
+    _table.fillRange(newTail, _tail, null);
+  } else {
+    newTail += _table.length;
+    _table.fillRange(0, _tail, null);
+    _table.fillRange(newTail, _table.length, null);
+  }
+  _tail = newTail;
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/QueueList/map.md b/sdk/dart/package-collection_collection/QueueList/map.md
new file mode 100644
index 0000000..fa7401c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L215)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/QueueList/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E element)) => MappedListIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/noSuchMethod.md b/sdk/dart/package-collection_collection/QueueList/noSuchMethod.md
new file mode 100644
index 0000000..7961a76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/QueueList/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/operator_equals.md b/sdk/dart/package-collection_collection/QueueList/operator_equals.md
new file mode 100644
index 0000000..12c1262
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/QueueList/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/operator_get.md b/sdk/dart/package-collection_collection/QueueList/operator_get.md
new file mode 100644
index 0000000..ab095c1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/operator_get.md
@@ -0,0 +1,28 @@
+
+# operator [] method
+
+    *<Null safety>*
+
+- @override
+
+E operator []
+(int index)
+_override_
+
+<p>Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+E operator [](int index) {
+  if (index < 0 || index >= length) {
+    throw RangeError('Index $index must be in the range [0..$length).');
+  }
+
+  return _table[(_head + index) & (_table.length - 1)] as E;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/operator_plus.md b/sdk/dart/package-collection_collection/QueueList/operator_plus.md
new file mode 100644
index 0000000..c9b57fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/operator_plus.md
@@ -0,0 +1,25 @@
+
+# operator + method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L380)
+    *<Null safety>*
+
+
+List&lt;E> operator +
+(List&lt;E> other)
+_inherited_
+
+<p>Returns the concatenation of this list and <code>other</code>.</p>
+<p>Returns a new list containing the elements of this list followed by
+the elements of <code>other</code>.</p>
+<p>The default behavior is to return a normal growable list.
+Some list types may choose to return a list of the same type as themselves
+(see <code>Uint8List.+</code>);</p>
+
+## Implementation
+
+```dart
+List<E> operator +(List<E> other) => [...this, ...other];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/operator_put.md b/sdk/dart/package-collection_collection/QueueList/operator_put.md
new file mode 100644
index 0000000..61999d9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/operator_put.md
@@ -0,0 +1,28 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(int index, E value)
+_override_
+
+<p>Sets the value at the given <code>index</code> in the list to <code>value</code>
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(int index, E value) {
+  if (index < 0 || index >= length) {
+    throw RangeError('Index $index must be in the range [0..$length).');
+  }
+
+  _table[(_head + index) & (_table.length - 1)] = value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/reduce.md b/sdk/dart/package-collection_collection/QueueList/reduce.md
new file mode 100644
index 0000000..e9b83a2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/reduce.md
@@ -0,0 +1,46 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L220)
+    *<Null safety>*
+
+
+E reduce
+(E combine(E previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E previousValue, E element)) {
+  int length = this.length;
+  if (length == 0) throw IterableElementError.noElement();
+  E value = this[0];
+  for (int i = 1; i < length; i++) {
+    value = combine(value, this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/remove.md b/sdk/dart/package-collection_collection/QueueList/remove.md
new file mode 100644
index 0000000..5d00dee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/remove.md
@@ -0,0 +1,39 @@
+
+# remove method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L290)
+    *<Null safety>*
+
+
+bool remove
+(Object? element)
+_inherited_
+
+<p>Removes the first occurrence of <code>value</code> from this list.</p>
+<p>Returns true if <code>value</code> was in the list, false otherwise.</p>
+<pre class="language-dart"><code>List&lt;String&gt; parts = ['head', 'shoulders', 'knees', 'toes'];
+parts.remove('head'); // true
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>The method has no effect if <code>value</code> was not in the list.</p>
+<pre class="language-dart"><code>// Note: 'head' has already been removed.
+parts.remove('head'); // false
+parts.join(', ');     // 'shoulders, knees, toes'
+</code></pre>
+<p>An <code>UnsupportedError</code> occurs if the list is fixed-length.</p>
+
+## Implementation
+
+```dart
+bool remove(Object? element) {
+  for (int i = 0; i < this.length; i++) {
+    if (this[i] == element) {
+      this._closeGap(i, i + 1);
+      return true;
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/removeAt.md b/sdk/dart/package-collection_collection/QueueList/removeAt.md
new file mode 100644
index 0000000..e54dd83
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/removeAt.md
@@ -0,0 +1,30 @@
+
+# removeAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L536)
+    *<Null safety>*
+
+
+E removeAt
+(int index)
+_inherited_
+
+<p>Removes the object at position <code>index</code> from this list.</p>
+<p>This method reduces the length of <code>this</code> by one and moves all later objects
+down by one position.</p>
+<p>Returns the removed object.</p>
+<p>The <code>index</code> must be in the range <code>0 ≤ index &lt; length</code>.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+E removeAt(int index) {
+  E result = this[index];
+  _closeGap(index, index + 1);
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/removeFirst.md b/sdk/dart/package-collection_collection/QueueList/removeFirst.md
new file mode 100644
index 0000000..a0763b5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/removeFirst.md
@@ -0,0 +1,28 @@
+
+# removeFirst method
+
+    *<Null safety>*
+
+- @override
+
+E removeFirst
+()
+_override_
+
+<p>Removes and returns the first element of this queue.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+@override
+E removeFirst() {
+  if (_head == _tail) throw StateError('No element');
+  var result = _table[_head] as E;
+  _table[_head] = null;
+  _head = (_head + 1) & (_table.length - 1);
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/removeLast.md b/sdk/dart/package-collection_collection/QueueList/removeLast.md
new file mode 100644
index 0000000..5b10b7a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/removeLast.md
@@ -0,0 +1,28 @@
+
+# removeLast method
+
+    *<Null safety>*
+
+- @override
+
+E removeLast
+()
+_override_
+
+<p>Removes and returns the last element of the queue.</p>
+<p>The queue must not be empty when this method is called.</p>
+
+## Implementation
+
+```dart
+@override
+E removeLast() {
+  if (_head == _tail) throw StateError('No element');
+  _tail = (_tail - 1) & (_table.length - 1);
+  var result = _table[_tail] as E;
+  _table[_tail] = null;
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/removeRange.md b/sdk/dart/package-collection_collection/QueueList/removeRange.md
new file mode 100644
index 0000000..740bc1a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/removeRange.md
@@ -0,0 +1,31 @@
+
+# removeRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L396)
+    *<Null safety>*
+
+
+void removeRange
+(int start, int end)
+_inherited_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list. In that case
+the list is not modified.</p>
+
+## Implementation
+
+```dart
+void removeRange(int start, int end) {
+  RangeError.checkValidRange(start, end, this.length);
+  if (end > start) {
+    _closeGap(start, end);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/removeWhere.md b/sdk/dart/package-collection_collection/QueueList/removeWhere.md
new file mode 100644
index 0000000..a4d0fa8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/removeWhere.md
@@ -0,0 +1,28 @@
+
+# removeWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L314)
+    *<Null safety>*
+
+
+void removeWhere
+(bool test(E element))
+_inherited_
+
+<p>Removes all objects from this list that satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.removeWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'three, four'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+void removeWhere(bool test(E element)) {
+  _filter(test, false);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/replaceRange.md b/sdk/dart/package-collection_collection/QueueList/replaceRange.md
new file mode 100644
index 0000000..e8ebcfd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/replaceRange.md
@@ -0,0 +1,71 @@
+
+# replaceRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L444)
+    *<Null safety>*
+
+
+void replaceRange
+(int start, int end, Iterable&lt;E> newContents)
+_inherited_
+
+<p>Removes the objects in the range <code>start</code> inclusive to <code>end</code> exclusive
+and inserts the contents of <code>replacement</code> in its place.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list = [1, 2, 3, 4, 5];
+list.replaceRange(1, 4, [6, 7]);
+list.join(', '); // '1, 6, 7, 5'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>This method does not work on fixed-length lists, even when <code>replacement</code>
+has the same number of elements as the replaced range. In that case use
+<a href="../../package-collection_collection/QueueList/setRange.md">setRange</a> instead.</p>
+
+## Implementation
+
+```dart
+void replaceRange(int start, int end, Iterable<E> newContents) {
+  RangeError.checkValidRange(start, end, this.length);
+  if (start == this.length) {
+    addAll(newContents);
+    return;
+  }
+  if (newContents is! EfficientLengthIterable) {
+    newContents = newContents.toList();
+  }
+  int removeLength = end - start;
+  int insertLength = newContents.length;
+  if (removeLength >= insertLength) {
+    int insertEnd = start + insertLength;
+    this.setRange(start, insertEnd, newContents);
+    if (removeLength > insertLength) {
+      _closeGap(insertEnd, end);
+    }
+  } else if (end == this.length) {
+    int i = start;
+    for (E element in newContents) {
+      if (i < end) {
+        this[i] = element;
+      } else {
+        add(element);
+      }
+      i++;
+    }
+  } else {
+    int delta = insertLength - removeLength;
+    int oldLength = this.length;
+    int insertEnd = start + insertLength; // aka. end + delta.
+    for (int i = oldLength - delta; i < oldLength; ++i) {
+      add(this[i > 0 ? i : 0]);
+    }
+    if (insertEnd < oldLength) {
+      this.setRange(insertEnd, oldLength, this, end);
+    }
+    this.setRange(start, insertEnd, newContents);
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/retainWhere.md b/sdk/dart/package-collection_collection/QueueList/retainWhere.md
new file mode 100644
index 0000000..8897992
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/retainWhere.md
@@ -0,0 +1,28 @@
+
+# retainWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L318)
+    *<Null safety>*
+
+
+void retainWhere
+(bool test(E element))
+_inherited_
+
+<p>Removes all objects from this list that fail to satisfy <code>test</code>.</p>
+<p>An object <code>o</code> satisfies <code>test</code> if <code>test(o)</code> is true.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.retainWhere((item) =&gt; item.length == 3);
+numbers.join(', '); // 'one, two'
+</code></pre>
+<p>Throws an <code>UnsupportedError</code> if this is a fixed-length list.</p>
+
+## Implementation
+
+```dart
+void retainWhere(bool test(E element)) {
+  _filter(test, true);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/retype.md b/sdk/dart/package-collection_collection/QueueList/retype.md
new file mode 100644
index 0000000..b9f322e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/retype.md
@@ -0,0 +1,20 @@
+
+# retype&lt;T> method
+
+    *<Null safety>*
+
+- @deprecated
+
+[QueueList](../../package-collection_collection/QueueList-class.md)&lt;T> ~~retype~~
+&lt;T>()
+
+
+
+## Implementation
+
+```dart
+@deprecated
+QueueList<T> retype<T>() => cast<T>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/reversed.md b/sdk/dart/package-collection_collection/QueueList/reversed.md
new file mode 100644
index 0000000..b724cf9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/reversed.md
@@ -0,0 +1,20 @@
+
+# reversed property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L585)
+    *<Null safety>*
+
+
+Iterable&lt;E> reversed
+  
+_inherited_
+
+<p>Returns an <code>Iterable</code> of the objects in this list in reverse order.</p>
+
+## Implementation
+
+```dart
+Iterable<E> get reversed => ReversedListIterable<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/runtimeType.md b/sdk/dart/package-collection_collection/QueueList/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/setAll.md b/sdk/dart/package-collection_collection/QueueList/setAll.md
new file mode 100644
index 0000000..3444e7a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/setAll.md
@@ -0,0 +1,39 @@
+
+# setAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L575)
+    *<Null safety>*
+
+
+void setAll
+(int index, Iterable&lt;E> iterable)
+_inherited_
+
+<p>Overwrites objects of <code>this</code> with the objects of <code>iterable</code>, starting
+at position <code>index</code> in this list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; list = ['a', 'b', 'c'];
+list.setAll(1, ['bee', 'sea']);
+list.join(', '); // 'a, bee, sea'
+</code></pre>
+<p>This operation does not increase the length of <code>this</code>.</p>
+<p>The <code>index</code> must be non-negative and no greater than <a href="../../package-collection_collection/QueueList/length.md">length</a>.</p>
+<p>The <code>iterable</code> must not have more elements than what can fit from <code>index</code>
+to <a href="../../package-collection_collection/QueueList/length.md">length</a>.</p>
+<p>If <code>iterable</code> is based on this list, its values may change /during/ the
+<code>setAll</code> operation.</p>
+
+## Implementation
+
+```dart
+void setAll(int index, Iterable<E> iterable) {
+  if (iterable is List) {
+    setRange(index, index + iterable.length, iterable);
+  } else {
+    for (E element in iterable) {
+      this[index++] = element;
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/setRange.md b/sdk/dart/package-collection_collection/QueueList/setRange.md
new file mode 100644
index 0000000..1fdf3b7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/setRange.md
@@ -0,0 +1,68 @@
+
+# setRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L413)
+    *<Null safety>*
+
+
+void setRange
+(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0])
+_inherited_
+
+<p>Copies the objects of <code>iterable</code>, skipping <code>skipCount</code> objects first,
+into the range <code>start</code>, inclusive, to <code>end</code>, exclusive, of the list.</p>
+<pre class="language-dart"><code>List&lt;int&gt; list1 = [1, 2, 3, 4];
+List&lt;int&gt; list2 = [5, 6, 7, 8, 9];
+// Copies the 4th and 5th items in list2 as the 2nd and 3rd items
+// of list1.
+list1.setRange(1, 3, list2, 3);
+list1.join(', '); // '1, 8, 9, 4'
+</code></pre>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid.
+A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The <code>iterable</code> must have enough objects to fill the range from <code>start</code>
+to <code>end</code> after skipping <code>skipCount</code> objects.</p>
+<p>If <code>iterable</code> is this list, the operation copies the elements
+originally in the range from <code>skipCount</code> to <code>skipCount + (end - start)</code> to
+the range <code>start</code> to <code>end</code>, even if the two ranges overlap.</p>
+<p>If <code>iterable</code> depends on this list in some other way, no guarantees are
+made.</p>
+
+## Implementation
+
+```dart
+void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
+  RangeError.checkValidRange(start, end, this.length);
+  int length = end - start;
+  if (length == 0) return;
+  RangeError.checkNotNegative(skipCount, "skipCount");
+
+  List<E> otherList;
+  int otherStart;
+  // TODO(floitsch): Make this accept more.
+  if (iterable is List<E>) {
+    otherList = iterable;
+    otherStart = skipCount;
+  } else {
+    otherList = iterable.skip(skipCount).toList(growable: false);
+    otherStart = 0;
+  }
+  if (otherStart + length > otherList.length) {
+    throw IterableElementError.tooFew();
+  }
+  if (otherStart < start) {
+    // Copy backwards to ensure correct copy if [from] is this.
+    for (int i = length - 1; i >= 0; i--) {
+      this[start + i] = otherList[otherStart + i];
+    }
+  } else {
+    for (int i = 0; i < length; i++) {
+      this[start + i] = otherList[otherStart + i];
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/shuffle.md b/sdk/dart/package-collection_collection/QueueList/shuffle.md
new file mode 100644
index 0000000..19bcd68
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/shuffle.md
@@ -0,0 +1,32 @@
+
+# shuffle method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L362)
+    *<Null safety>*
+
+
+void shuffle
+([Random? random])
+_inherited_
+
+<p>Shuffles the elements of this list randomly.</p>
+
+## Implementation
+
+```dart
+void shuffle([Random? random]) {
+  random ??= Random();
+  if (random == null) throw "!"; // TODO(38493): The `??=` should promote.
+
+  int length = this.length;
+  while (length > 1) {
+    int pos = random.nextInt(length);
+    length -= 1;
+    var tmp = this[length];
+    this[length] = this[pos];
+    this[pos] = tmp;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/single.md b/sdk/dart/package-collection_collection/QueueList/single.md
new file mode 100644
index 0000000..f42b96a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/single.md
@@ -0,0 +1,25 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L118)
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  if (length == 0) throw IterableElementError.noElement();
+  if (length > 1) throw IterableElementError.tooMany();
+  return this[0];
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/singleWhere.md b/sdk/dart/package-collection_collection/QueueList/singleWhere.md
new file mode 100644
index 0000000..4032eec
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/singleWhere.md
@@ -0,0 +1,45 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L183)
+    *<Null safety>*
+
+
+E singleWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  late E match;
+  bool matchFound = false;
+  for (int i = 0; i < length; i++) {
+    E element = this[i];
+    if (test(element)) {
+      if (matchFound) {
+        throw IterableElementError.tooMany();
+      }
+      matchFound = true;
+      match = element;
+    }
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (matchFound) return match;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/skip.md b/sdk/dart/package-collection_collection/QueueList/skip.md
new file mode 100644
index 0000000..e9d0b08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/skip.md
@@ -0,0 +1,30 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L245)
+    *<Null safety>*
+
+
+Iterable&lt;E> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) => SubListIterable<E>(this, count, null);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/skipWhile.md b/sdk/dart/package-collection_collection/QueueList/skipWhile.md
new file mode 100644
index 0000000..099a3db
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L247)
+    *<Null safety>*
+
+
+Iterable&lt;E> skipWhile
+(bool test(E element))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E element)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/sort.md b/sdk/dart/package-collection_collection/QueueList/sort.md
new file mode 100644
index 0000000..0bd3fa6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/sort.md
@@ -0,0 +1,42 @@
+
+# sort method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L354)
+    *<Null safety>*
+
+
+void sort
+([int compare(E a, E b)])
+_inherited_
+
+<p>Sorts this list according to the order specified by the <code>compare</code> function.</p>
+<p>The <code>compare</code> function must act as a <code>Comparator</code>.</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['two', 'three', 'four'];
+// Sort from shortest to longest.
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [two, four, three]
+</code></pre>
+<p>The default List implementations use <code>Comparable.compare</code> if
+<code>compare</code> is omitted.</p>
+<pre class="language-dart"><code>List&lt;int&gt; nums = [13, 2, -11];
+nums.sort();
+print(nums);  // [-11, 2, 13]
+</code></pre>
+<p>A <code>Comparator</code> may compare objects as equal (return zero), even if they
+are distinct objects.
+The sort function is not guaranteed to be stable, so distinct objects
+that compare as equal may occur in any order in the result:</p>
+<pre class="language-dart"><code>List&lt;String&gt; numbers = ['one', 'two', 'three', 'four'];
+numbers.sort((a, b) =&gt; a.length.compareTo(b.length));
+print(numbers);  // [one, two, four, three] OR [two, one, four, three]
+</code></pre>
+
+## Implementation
+
+```dart
+void sort([int Function(E a, E b)? compare]) {
+  Sort.sort(this, compare ?? _compareAny);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/sublist.md b/sdk/dart/package-collection_collection/QueueList/sublist.md
new file mode 100644
index 0000000..57d1879
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/sublist.md
@@ -0,0 +1,39 @@
+
+# sublist method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L382)
+    *<Null safety>*
+
+
+List&lt;E> sublist
+(int start, [int? end])
+_inherited_
+
+<p>Returns a new list containing the elements between <code>start</code> and <code>end</code>.</p>
+<p>The new list is a <code>List&lt;E&gt;</code> containing the elements of this list at
+positions greater than or equal to <code>start</code> and less than <code>end</code> in the same
+order as they occur in this list.</p>
+<pre class="language-dart"><code class="language-dart">var colors = ["red", "green", "blue", "orange", "pink"];
+print(colors.sublist(1, 3)); // [green, blue]
+</code></pre>
+<p>If <code>end</code> is omitted, it defaults to the <a href="../../package-collection_collection/QueueList/length.md">length</a> of this list.</p>
+<pre class="language-dart"><code class="language-dart">print(colors.sublist(1)); // [green, blue, orange, pink]
+</code></pre>
+<p>The <code>start</code> and <code>end</code> positions must satisfy the relations
+0 ≤ <code>start</code> ≤ <code>end</code> ≤ <code>this.length</code>
+If <code>end</code> is equal to <code>start</code>, then the returned list is empty.</p>
+
+## Implementation
+
+```dart
+List<E> sublist(int start, [int? end]) {
+  int listLength = this.length;
+  end ??= listLength;
+  if (end == null) throw "!"; // TODO(38493): The `??=` should promote.
+
+  RangeError.checkValidRange(start, end, listLength);
+  return List.from(getRange(start, end));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/take.md b/sdk/dart/package-collection_collection/QueueList/take.md
new file mode 100644
index 0000000..104ccf9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/take.md
@@ -0,0 +1,25 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L251)
+    *<Null safety>*
+
+
+Iterable&lt;E> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/QueueList/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) => SubListIterable<E>(this, 0, count);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/takeWhile.md b/sdk/dart/package-collection_collection/QueueList/takeWhile.md
new file mode 100644
index 0000000..6b36ea2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L253)
+    *<Null safety>*
+
+
+Iterable&lt;E> takeWhile
+(bool test(E element))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/QueueList/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E element)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/toList.md b/sdk/dart/package-collection_collection/QueueList/toList.md
new file mode 100644
index 0000000..bd16dee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/toList.md
@@ -0,0 +1,30 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L257)
+    *<Null safety>*
+
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  if (this.isEmpty) return List<E>.empty(growable: growable);
+  var first = this[0];
+  var result = List<E>.filled(this.length, first, growable: growable);
+  for (int i = 1; i < this.length; i++) {
+    result[i] = this[i];
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/toSet.md b/sdk/dart/package-collection_collection/QueueList/toSet.md
new file mode 100644
index 0000000..6d3e611
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/toSet.md
@@ -0,0 +1,31 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L267)
+    *<Null safety>*
+
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet() {
+  Set<E> result = Set<E>();
+  for (int i = 0; i < length; i++) {
+    result.add(this[i]);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/toString.md b/sdk/dart/package-collection_collection/QueueList/toString.md
new file mode 100644
index 0000000..1c60e01
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_override_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => IterableBase.iterableToFullString(this, '{', '}');
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/where.md b/sdk/dart/package-collection_collection/QueueList/where.md
new file mode 100644
index 0000000..871e07b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L211)
+    *<Null safety>*
+
+
+Iterable&lt;E> where
+(bool test(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/QueueList/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/QueueList/whereType.md b/sdk/dart/package-collection_collection/QueueList/whereType.md
new file mode 100644
index 0000000..fbbbe4f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/QueueList/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L213)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/QueueList/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/SetEquality-class.md b/sdk/dart/package-collection_collection/SetEquality-class.md
new file mode 100644
index 0000000..b988b40
--- /dev/null
+++ b/sdk/dart/package-collection_collection/SetEquality-class.md
@@ -0,0 +1,76 @@
+
+# SetEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Equality of sets.</p>
+<p>Two sets are considered equal if they have the same number of elements,
+and the elements of one set can be paired with the elements
+of the other set, so that each pair are equal.</p>
+<p>This equality behaves the same as <a href="../package-collection_collection/UnorderedIterableEquality-class.md">UnorderedIterableEquality</a> except that
+it expects sets instead of iterables as arguments.</p>
+<p>The <a href="../package-collection_collection/SetEquality/equals.md">equals</a> and <a href="../package-collection_collection/SetEquality/hash.md">hash</a> methods accepts <code>null</code> values,
+even if the <a href="../package-collection_collection/SetEquality/isValidKey.md">isValidKey</a> returns <code>false</code> for <code>null</code>.
+The <a href="../package-collection_collection/SetEquality/hash.md">hash</a> of <code>null</code> is <code>null.hashCode</code>.</p>
+
+
+## Constructors
+
+[SetEquality](../package-collection_collection/SetEquality/SetEquality.md) ([[Equality](../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/SetEquality/equals.md)(Set&lt;E>? elements1, Set&lt;E>? elements2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/SetEquality/equals.md)  
+_inherited_
+
+##### [hash](../package-collection_collection/SetEquality/hash.md)(Set&lt;E>? elements) int
+
+Get a hashcode of an element. [...](../package-collection_collection/SetEquality/hash.md)  
+_inherited_
+
+##### [isValidKey](../package-collection_collection/SetEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/SetEquality/equals.md">equals</a> and <a href="../package-collection_collection/SetEquality/hash.md">hash</a>. [...](../package-collection_collection/SetEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/SetEquality/SetEquality.md b/sdk/dart/package-collection_collection/SetEquality/SetEquality.md
new file mode 100644
index 0000000..54bdbc8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/SetEquality/SetEquality.md
@@ -0,0 +1,19 @@
+
+# SetEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+SetEquality&lt;E>([[Equality](../../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+
+## Implementation
+
+```dart
+const SetEquality(
+    [Equality<E> elementEquality = const DefaultEquality<Never>()])
+    : super(elementEquality);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/SetEquality/equals.md b/sdk/dart/package-collection_collection/SetEquality/equals.md
new file mode 100644
index 0000000..1da84b8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/SetEquality/equals.md
@@ -0,0 +1,42 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(Set&lt;E>? elements1, Set&lt;E>? elements2)
+_inherited_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(T elements1, T elements2) {
+  if (identical(elements1, elements2)) return true;
+  if (elements1 == null || elements2 == null) return false;
+  var counts = HashMap(
+      equals: _elementEquality.equals,
+      hashCode: _elementEquality.hash,
+      isValidKey: _elementEquality.isValidKey);
+  var length = 0;
+  for (var e in elements1) {
+    var count = counts[e] ?? 0;
+    counts[e] = count + 1;
+    length++;
+  }
+  for (var e in elements2) {
+    var count = counts[e];
+    if (count == null || count == 0) return false;
+    counts[e] = count - 1;
+    length--;
+  }
+  return length == 0;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/SetEquality/hash.md b/sdk/dart/package-collection_collection/SetEquality/hash.md
new file mode 100644
index 0000000..78ecbec
--- /dev/null
+++ b/sdk/dart/package-collection_collection/SetEquality/hash.md
@@ -0,0 +1,34 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(Set&lt;E>? elements)
+_inherited_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/SetEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(T elements) {
+  if (elements == null) return null.hashCode;
+  var hash = 0;
+  for (E element in elements) {
+    var c = _elementEquality.hash(element);
+    hash = (hash + c) & _HASH_MASK;
+  }
+  hash = (hash + (hash << 3)) & _HASH_MASK;
+  hash ^= (hash >> 11);
+  hash = (hash + (hash << 15)) & _HASH_MASK;
+  return hash;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/SetEquality/isValidKey.md b/sdk/dart/package-collection_collection/SetEquality/isValidKey.md
new file mode 100644
index 0000000..6b5147c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/SetEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/SetEquality/equals.md">equals</a> and <a href="../../package-collection_collection/SetEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => o is Set<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet-class.md b/sdk/dart/package-collection_collection/UnionSet-class.md
new file mode 100644
index 0000000..b272b4a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet-class.md
@@ -0,0 +1,308 @@
+
+# UnionSet&lt;E> class
+
+    *<Null safety>*
+
+<p>A single set that provides a view of the union over a set of sets.</p>
+<p>Since this is just a view, it reflects all changes in the underlying sets.</p>
+<p>If an element is in multiple sets and the outer set is ordered, the version
+in the earliest inner set is preferred. Component sets are assumed to use
+<code>==</code> and <code>hashCode</code> for equality.</p>
+
+**Inheritance**
+
+- Object
+- SetBase&lt;E>
+- UnionSet
+
+
+**Mixed in types**
+
+- [UnmodifiableSetMixin](../package-collection_collection/UnmodifiableSetMixin-class.md)&lt;E>
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[UnionSet](../package-collection_collection/UnionSet/UnionSet.md) (Set&lt;Set&lt;E>> sets, {bool disjoint: false})
+
+Creates a new set that's a view of the union of all sets in <code>sets</code>. [...](../package-collection_collection/UnionSet/UnionSet.md)  
+ 
+
+[UnionSet.from](../package-collection_collection/UnionSet/UnionSet.from.md) (Iterable&lt;Set&lt;E>> sets, {bool disjoint: false})
+
+Creates a new set that's a view of the union of all sets in <code>sets</code>. [...](../package-collection_collection/UnionSet/UnionSet.from.md)  
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/UnionSet/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/UnionSet/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/UnmodifiableSetMixin/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableSetMixin/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/UnionSet/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/UnionSet/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/UnionSet/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/UnionSet/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/UnionSet/iterator.md) &#8594; Iterator&lt;E>
+
+Provides an iterator that iterates over the elements of this set. [...](../package-collection_collection/UnionSet/iterator.md)  
+_read-only, override_
+
+##### [last](../package-collection_collection/UnionSet/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/UnionSet/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/UnionSet/length.md) &#8594; int
+
+Returns the number of elements in the iterable. [...](../package-collection_collection/UnionSet/length.md)  
+_read-only, override_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableSetMixin/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/UnionSet/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/UnionSet/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/UnmodifiableSetMixin/add.md)(E value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [addAll](../package-collection_collection/UnmodifiableSetMixin/addAll.md)(Iterable&lt;E> elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [any](../package-collection_collection/UnionSet/any.md)(bool test(E element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnionSet/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/UnionSet/cast.md)&lt;R>() Set&lt;R>
+
+Provides a view of this set as a set of <code>R</code> instances. [...](../package-collection_collection/UnionSet/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/UnmodifiableSetMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [contains](../package-collection_collection/UnionSet/contains.md)(Object? element) bool
+
+Returns true if <code>value</code> is in the set.   
+_override_
+
+##### [containsAll](../package-collection_collection/UnionSet/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_inherited_
+
+##### [difference](../package-collection_collection/UnionSet/difference.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set with the elements of this that are not in <code>other</code>. [...](../package-collection_collection/UnionSet/difference.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/UnionSet/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/UnionSet/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/UnionSet/every.md)(bool f(E element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnionSet/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/UnionSet/expand.md)&lt;T>(Iterable&lt;T> f(E element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/UnionSet/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/UnionSet/firstWhere.md)(bool test(E value), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnionSet/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/UnionSet/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/UnionSet/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/UnionSet/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/UnionSet/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/UnionSet/forEach.md)(void f(E element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/UnionSet/intersection.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set which is the intersection between this set and <code>other</code>. [...](../package-collection_collection/UnionSet/intersection.md)  
+_inherited_
+
+##### [join](../package-collection_collection/UnionSet/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/UnionSet/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/UnionSet/lastWhere.md)(bool test(E value), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnionSet/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/UnionSet/lookup.md)(Object? element) E?
+
+If an object equal to <code>object</code> is in the set, return it. [...](../package-collection_collection/UnionSet/lookup.md)  
+_override_
+
+##### [map](../package-collection_collection/UnionSet/map.md)&lt;T>(T f(E element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/UnionSet/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/UnionSet/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/UnionSet/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/UnmodifiableSetMixin/remove.md)(Object? value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [removeAll](../package-collection_collection/UnmodifiableSetMixin/removeAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableSetMixin/removeWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [retainAll](../package-collection_collection/UnmodifiableSetMixin/retainAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [retainWhere](../package-collection_collection/UnmodifiableSetMixin/retainWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/UnionSet/singleWhere.md)(bool test(E value), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/UnionSet/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/UnionSet/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/UnionSet/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/UnionSet/skipWhile.md)(bool test(E value)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/UnionSet/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/UnionSet/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/UnionSet/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/UnionSet/takeWhile.md)(bool test(E value)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/UnionSet/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/UnionSet/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/UnionSet/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/UnionSet/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> with the same elements and behavior as this <code>Set</code>. [...](../package-collection_collection/UnionSet/toSet.md)  
+_override_
+
+##### [toString](../package-collection_collection/UnionSet/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [union](../package-collection_collection/UnionSet/union.md)(Set&lt;E> other) Set&lt;E>
+
+Returns a new set which contains all the elements of this set and <code>other</code>. [...](../package-collection_collection/UnionSet/union.md)  
+_inherited_
+
+##### [where](../package-collection_collection/UnionSet/where.md)(bool f(E element)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/UnionSet/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/UnionSet/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/UnionSet/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/UnmodifiableSetMixin/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableSetMixin/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/UnionSet.from.md b/sdk/dart/package-collection_collection/UnionSet/UnionSet.from.md
new file mode 100644
index 0000000..f38026e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/UnionSet.from.md
@@ -0,0 +1,26 @@
+
+# UnionSet&lt;E>.from constructor
+
+    *<Null safety>*
+
+
+
+UnionSet&lt;E>.from(Iterable&lt;Set&lt;E>> sets, {bool disjoint: false})
+
+<p>Creates a new set that's a view of the union of all sets in <code>sets</code>.</p>
+<p>If any sets in <code>sets</code> change, this <a href="../../package-collection_collection/UnionSet-class.md">UnionSet</a> reflects that change.
+However, unlike <a href="../../package-collection_collection/UnionSet/UnionSet.md">new UnionSet</a>, this creates a copy of its parameter, so
+changes in <code>sets</code> aren't reflected in this <a href="../../package-collection_collection/UnionSet-class.md">UnionSet</a>.</p>
+<p>If <code>disjoint</code> is <code>true</code>, then all component sets must be disjoint. That
+is, that they contain no elements in common. This makes many operations
+including <a href="../../package-collection_collection/UnionSet/length.md">length</a> more efficient. If the component sets turn out not to
+be disjoint, some operations may behave inconsistently.</p>
+
+## Implementation
+
+```dart
+UnionSet.from(Iterable<Set<E>> sets, {bool disjoint = false})
+    : this(sets.toSet(), disjoint: disjoint);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/UnionSet.md b/sdk/dart/package-collection_collection/UnionSet/UnionSet.md
new file mode 100644
index 0000000..a0a3846
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/UnionSet.md
@@ -0,0 +1,26 @@
+
+# UnionSet&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+UnionSet&lt;E>(Set&lt;Set&lt;E>> sets, {bool disjoint: false})
+
+<p>Creates a new set that's a view of the union of all sets in <code>sets</code>.</p>
+<p>If any sets in <code>sets</code> change, this <a href="../../package-collection_collection/UnionSet-class.md">UnionSet</a> reflects that change. If a
+new set is added to <code>sets</code>, this <a href="../../package-collection_collection/UnionSet-class.md">UnionSet</a> reflects that as well.</p>
+<p>If <code>disjoint</code> is <code>true</code>, then all component sets must be disjoint. That
+is, that they contain no elements in common. This makes many operations
+including <a href="../../package-collection_collection/UnionSet/length.md">length</a> more efficient. If the component sets turn out not to
+be disjoint, some operations may behave inconsistently.</p>
+
+## Implementation
+
+```dart
+UnionSet(Set<Set<E>> sets, {bool disjoint = false})
+    : _sets = sets,
+      _disjoint = disjoint;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/any.md b/sdk/dart/package-collection_collection/UnionSet/any.md
new file mode 100644
index 0000000..02617ca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/any.md
@@ -0,0 +1,27 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L188)
+    *<Null safety>*
+
+
+bool any
+(bool test(E element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  for (E element in this) {
+    if (test(element)) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/cast.md b/sdk/dart/package-collection_collection/UnionSet/cast.md
new file mode 100644
index 0000000..9088853
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/cast.md
@@ -0,0 +1,27 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L46)
+    *<Null safety>*
+
+
+Set&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Provides a view of this set as a set of <code>R</code> instances.</p>
+<p>If this set contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the set (e.g., by using <a href="../../package-collection_collection/UnmodifiableSetMixin/add.md">add</a> or <a href="../../package-collection_collection/UnmodifiableSetMixin/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this set as well.</p>
+
+## Implementation
+
+```dart
+Set<R> cast<R>() => Set.castFrom<E, R>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/contains.md b/sdk/dart/package-collection_collection/UnionSet/contains.md
new file mode 100644
index 0000000..75f1e52
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/contains.md
@@ -0,0 +1,21 @@
+
+# contains method
+
+    *<Null safety>*
+
+- @override
+
+bool contains
+(Object? element)
+_override_
+
+<p>Returns true if <code>value</code> is in the set.</p>
+
+## Implementation
+
+```dart
+@override
+bool contains(Object? element) => _sets.any((set) => set.contains(element));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/containsAll.md b/sdk/dart/package-collection_collection/UnionSet/containsAll.md
new file mode 100644
index 0000000..7007144
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/containsAll.md
@@ -0,0 +1,25 @@
+
+# containsAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L90)
+    *<Null safety>*
+
+
+bool containsAll
+(Iterable&lt;Object?> other)
+_inherited_
+
+<p>Returns whether this Set contains all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+bool containsAll(Iterable<Object?> other) {
+  for (var o in other) {
+    if (!contains(o)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/difference.md b/sdk/dart/package-collection_collection/UnionSet/difference.md
new file mode 100644
index 0000000..6e24dc6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/difference.md
@@ -0,0 +1,28 @@
+
+# difference method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L109)
+    *<Null safety>*
+
+
+Set&lt;E> difference
+(Set&lt;Object?> other)
+_inherited_
+
+<p>Returns a new set with the elements of this that are not in <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that
+are not elements of <code>other</code> according to <code>other.contains</code>.</p>
+
+## Implementation
+
+```dart
+Set<E> difference(Set<Object?> other) {
+  Set<E> result = toSet();
+  for (E element in this) {
+    if (other.contains(element)) result.remove(element);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/elementAt.md b/sdk/dart/package-collection_collection/UnionSet/elementAt.md
new file mode 100644
index 0000000..e0afcd6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/elementAt.md
@@ -0,0 +1,35 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L270)
+    *<Null safety>*
+
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/UnionSet/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) {
+  ArgumentError.checkNotNull(index, "index");
+  RangeError.checkNotNegative(index, "index");
+  int elementIndex = 0;
+  for (E element in this) {
+    if (index == elementIndex) return element;
+    elementIndex++;
+  }
+  throw RangeError.index(index, this, "index", null, elementIndex);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/every.md b/sdk/dart/package-collection_collection/UnionSet/every.md
new file mode 100644
index 0000000..6926251
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/every.md
@@ -0,0 +1,27 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L163)
+    *<Null safety>*
+
+
+bool every
+(bool f(E element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool f(E element)) {
+  for (E element in this) {
+    if (!f(element)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/expand.md b/sdk/dart/package-collection_collection/UnionSet/expand.md
new file mode 100644
index 0000000..0e40c3e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L138)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/first.md b/sdk/dart/package-collection_collection/UnionSet/first.md
new file mode 100644
index 0000000..5e0d33b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/first.md
@@ -0,0 +1,29 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L211)
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  return it.current;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/firstWhere.md b/sdk/dart/package-collection_collection/UnionSet/firstWhere.md
new file mode 100644
index 0000000..695bf6d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/firstWhere.md
@@ -0,0 +1,30 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L231)
+    *<Null safety>*
+
+
+E firstWhere
+(bool test(E value), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E value), {E Function()? orElse}) {
+  for (E element in this) {
+    if (test(element)) return element;
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/fold.md b/sdk/dart/package-collection_collection/UnionSet/fold.md
new file mode 100644
index 0000000..bc43e1f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/fold.md
@@ -0,0 +1,37 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L157)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  for (E element in this) value = combine(value, element);
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/followedBy.md b/sdk/dart/package-collection_collection/UnionSet/followedBy.md
new file mode 100644
index 0000000..40b1ca3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L47)
+    *<Null safety>*
+
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) =>
+    FollowedByIterable<E>.firstEfficient(this, other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/forEach.md b/sdk/dart/package-collection_collection/UnionSet/forEach.md
new file mode 100644
index 0000000..4a03572
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/forEach.md
@@ -0,0 +1,23 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L141)
+    *<Null safety>*
+
+
+void forEach
+(void f(E element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void f(E element)) {
+  for (E element in this) f(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/intersection.md b/sdk/dart/package-collection_collection/UnionSet/intersection.md
new file mode 100644
index 0000000..2d55534
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/intersection.md
@@ -0,0 +1,28 @@
+
+# intersection method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L101)
+    *<Null safety>*
+
+
+Set&lt;E> intersection
+(Set&lt;Object?> other)
+_inherited_
+
+<p>Returns a new set which is the intersection between this set and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that
+are also elements of <code>other</code> according to <code>other.contains</code>.</p>
+
+## Implementation
+
+```dart
+Set<E> intersection(Set<Object?> other) {
+  Set<E> result = toSet();
+  for (E element in this) {
+    if (!other.contains(element)) result.remove(element);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/isEmpty.md b/sdk/dart/package-collection_collection/UnionSet/isEmpty.md
new file mode 100644
index 0000000..c989cea
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L42)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty => length == 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/isNotEmpty.md b/sdk/dart/package-collection_collection/UnionSet/isNotEmpty.md
new file mode 100644
index 0000000..800f7bf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L44)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => length != 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/iterator.md b/sdk/dart/package-collection_collection/UnionSet/iterator.md
new file mode 100644
index 0000000..ab0296a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/iterator.md
@@ -0,0 +1,22 @@
+
+# iterator property
+
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_override_
+
+<p>Provides an iterator that iterates over the elements of this set.</p>
+<p>The order of iteration is defined by the individual <code>Set</code> implementation,
+but must be consistent between changes to the set.</p>
+
+## Implementation
+
+```dart
+@override
+Iterator<E> get iterator => _iterable.iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/join.md b/sdk/dart/package-collection_collection/UnionSet/join.md
new file mode 100644
index 0000000..cc6482f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/join.md
@@ -0,0 +1,40 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L170)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) return "";
+  StringBuffer buffer = StringBuffer();
+  if (separator == null || separator == "") {
+    do {
+      buffer.write(iterator.current);
+    } while (iterator.moveNext());
+  } else {
+    buffer.write(iterator.current);
+    while (iterator.moveNext()) {
+      buffer.write(separator);
+      buffer.write(iterator.current);
+    }
+  }
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/last.md b/sdk/dart/package-collection_collection/UnionSet/last.md
new file mode 100644
index 0000000..a4b2254
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/last.md
@@ -0,0 +1,36 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L219)
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E result;
+  do {
+    result = it.current;
+  } while (it.moveNext());
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/lastWhere.md b/sdk/dart/package-collection_collection/UnionSet/lastWhere.md
new file mode 100644
index 0000000..8cd1770
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/lastWhere.md
@@ -0,0 +1,41 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L239)
+    *<Null safety>*
+
+
+E lastWhere
+(bool test(E value), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E value), {E Function()? orElse}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/length.md b/sdk/dart/package-collection_collection/UnionSet/length.md
new file mode 100644
index 0000000..7b76c53
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/length.md
@@ -0,0 +1,24 @@
+
+# length property
+
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>Returns the number of elements in the iterable.</p>
+<p>This is an efficient operation that doesn't require iterating through
+the elements.</p>
+
+## Implementation
+
+```dart
+@override
+int get length => _disjoint
+    ? _sets.fold(0, (length, set) => length + set.length)
+    : _iterable.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/lookup.md b/sdk/dart/package-collection_collection/UnionSet/lookup.md
new file mode 100644
index 0000000..29678cc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/lookup.md
@@ -0,0 +1,36 @@
+
+# lookup method
+
+    *<Null safety>*
+
+- @override
+
+E? lookup
+(Object? element)
+_override_
+
+<p>If an object equal to <code>object</code> is in the set, return it.</p>
+<p>Checks whether <code>object</code> is in the set, like <a href="../../package-collection_collection/UnionSet/contains.md">contains</a>, and if so,
+returns the object in the set, otherwise returns <code>null</code>.</p>
+<p>If the equality relation used by the set is not identity,
+then the returned object may not be <em>identical</em> to <code>object</code>.
+Some set implementations may not be able to implement this method.
+If the <a href="../../package-collection_collection/UnionSet/contains.md">contains</a> method is computed,
+rather than being based on an actual object instance,
+then there may not be a specific object instance representing the
+set element.</p>
+
+## Implementation
+
+```dart
+@override
+E? lookup(Object? element) {
+  for (var set in _sets) {
+    var result = set.lookup(element);
+    if (result != null || set.contains(null)) return result;
+  }
+  return null;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/map.md b/sdk/dart/package-collection_collection/UnionSet/map.md
new file mode 100644
index 0000000..c1c4055
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/map.md
@@ -0,0 +1,30 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L120)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/UnionSet/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E element)) =>
+    EfficientLengthMappedIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/reduce.md b/sdk/dart/package-collection_collection/UnionSet/reduce.md
new file mode 100644
index 0000000..1df65ea
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/reduce.md
@@ -0,0 +1,45 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L145)
+    *<Null safety>*
+
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E value, E element)) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E value = iterator.current;
+  while (iterator.moveNext()) {
+    value = combine(value, iterator.current);
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/single.md b/sdk/dart/package-collection_collection/UnionSet/single.md
new file mode 100644
index 0000000..5da3239
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/single.md
@@ -0,0 +1,27 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L123)
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  if (length > 1) throw IterableElementError.tooMany();
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) throw IterableElementError.noElement();
+  E result = it.current;
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/singleWhere.md b/sdk/dart/package-collection_collection/UnionSet/singleWhere.md
new file mode 100644
index 0000000..63103b2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/singleWhere.md
@@ -0,0 +1,40 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L253)
+    *<Null safety>*
+
+
+E singleWhere
+(bool test(E value), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E value), {E Function()? orElse}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      if (foundMatching) {
+        throw IterableElementError.tooMany();
+      }
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/skip.md b/sdk/dart/package-collection_collection/UnionSet/skip.md
new file mode 100644
index 0000000..f6b70f1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/skip.md
@@ -0,0 +1,32 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L203)
+    *<Null safety>*
+
+
+Iterable&lt;E> skip
+(int n)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int n) {
+  return SkipIterable<E>(this, n);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/skipWhile.md b/sdk/dart/package-collection_collection/UnionSet/skipWhile.md
new file mode 100644
index 0000000..02c41db
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L207)
+    *<Null safety>*
+
+
+Iterable&lt;E> skipWhile
+(bool test(E value))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E value)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/take.md b/sdk/dart/package-collection_collection/UnionSet/take.md
new file mode 100644
index 0000000..703ba5a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/take.md
@@ -0,0 +1,27 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L195)
+    *<Null safety>*
+
+
+Iterable&lt;E> take
+(int n)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/UnionSet/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int n) {
+  return TakeIterable<E>(this, n);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/takeWhile.md b/sdk/dart/package-collection_collection/UnionSet/takeWhile.md
new file mode 100644
index 0000000..983568a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L199)
+    *<Null safety>*
+
+
+Iterable&lt;E> takeWhile
+(bool test(E value))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/UnionSet/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E value)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/toList.md b/sdk/dart/package-collection_collection/UnionSet/toList.md
new file mode 100644
index 0000000..e3284a3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/toList.md
@@ -0,0 +1,23 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L117)
+    *<Null safety>*
+
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) =>
+    List<E>.of(this, growable: growable);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/toSet.md b/sdk/dart/package-collection_collection/UnionSet/toSet.md
new file mode 100644
index 0000000..95451a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/toSet.md
@@ -0,0 +1,26 @@
+
+# toSet method
+
+    *<Null safety>*
+
+- @override
+
+Set&lt;E> toSet
+()
+_override_
+
+<p>Creates a <code>Set</code> with the same elements and behavior as this <code>Set</code>.</p>
+<p>The returned set behaves the same as this set
+with regard to adding and removing elements.
+It initially contains the same elements.
+If this set specifies an ordering of the elements,
+the returned set will have the same order.</p>
+
+## Implementation
+
+```dart
+@override
+Set<E> toSet() => <E>{for (var set in _sets) ...set};
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/toString.md b/sdk/dart/package-collection_collection/UnionSet/toString.md
new file mode 100644
index 0000000..261dc34
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L131)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+String toString() => IterableBase.iterableToFullString(this, '{', '}');
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/union.md b/sdk/dart/package-collection_collection/UnionSet/union.md
new file mode 100644
index 0000000..bcbaab9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/union.md
@@ -0,0 +1,24 @@
+
+# union method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L97)
+    *<Null safety>*
+
+
+Set&lt;E> union
+(Set&lt;E> other)
+_inherited_
+
+<p>Returns a new set which contains all the elements of this set and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> and
+all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+Set<E> union(Set<E> other) {
+  return toSet()..addAll(other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/where.md b/sdk/dart/package-collection_collection/UnionSet/where.md
new file mode 100644
index 0000000..591a95c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L136)
+    *<Null safety>*
+
+
+Iterable&lt;E> where
+(bool f(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/UnionSet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool f(E element)) => WhereIterable<E>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSet/whereType.md b/sdk/dart/package-collection_collection/UnionSet/whereType.md
new file mode 100644
index 0000000..af45f0d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSet/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/set.dart#L50)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/UnionSet/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController-class.md b/sdk/dart/package-collection_collection/UnionSetController-class.md
new file mode 100644
index 0000000..f5dc65e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController-class.md
@@ -0,0 +1,81 @@
+
+# UnionSetController&lt;E> class
+
+    *<Null safety>*
+
+<p>A controller that exposes a view of the union of a collection of sets.</p>
+<p>This is a convenience class for creating a <a href="../package-collection_collection/UnionSet-class.md">UnionSet</a> whose contents change
+over the lifetime of a class. For example:</p>
+<pre class="language-dart"><code class="language-dart">class Engine {
+  Set&lt;Test&gt; get activeTests =&gt; _activeTestsGroup.set;
+  final _activeTestsGroup = UnionSetController&lt;Test&gt;();
+
+  void addSuite(Suite suite) {
+    _activeTestsGroup.add(suite.tests);
+    _runSuite(suite);
+    _activeTestsGroup.remove(suite.tests);
+  }
+}
+</code></pre>
+
+
+## Constructors
+
+[UnionSetController](../package-collection_collection/UnionSetController/UnionSetController.md) ({bool disjoint: false})
+
+Creates a set of sets that provides a view of the union of those sets. [...](../package-collection_collection/UnionSetController/UnionSetController.md)  
+ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/UnionSetController/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnionSetController/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/UnionSetController/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [set](../package-collection_collection/UnionSetController/set.md) &#8594; [UnionSet](../package-collection_collection/UnionSet-class.md)&lt;E>
+
+The <a href="../package-collection_collection/UnionSet-class.md">UnionSet</a> that provides a view of the union of sets in <a href="../package-collection_collection/UnionSetController-class.md">this</a>.   
+_final_
+
+
+## Methods
+
+##### [add](../package-collection_collection/UnionSetController/add.md)(Set&lt;E> component) void
+
+Adds the contents of <code>component</code> to <a href="../package-collection_collection/UnionSetController/set.md">set</a>. [...](../package-collection_collection/UnionSetController/add.md)  
+
+
+##### [noSuchMethod](../package-collection_collection/UnionSetController/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnionSetController/noSuchMethod.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/UnionSetController/remove.md)(Set&lt;E> component) bool
+
+Removes the contents of <code>component</code> to <a href="../package-collection_collection/UnionSetController/set.md">set</a>. [...](../package-collection_collection/UnionSetController/remove.md)  
+
+
+##### [toString](../package-collection_collection/UnionSetController/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/UnionSetController/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnionSetController/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/UnionSetController.md b/sdk/dart/package-collection_collection/UnionSetController/UnionSetController.md
new file mode 100644
index 0000000..2290a98
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/UnionSetController.md
@@ -0,0 +1,21 @@
+
+# UnionSetController&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+UnionSetController&lt;E>({bool disjoint: false})
+
+<p>Creates a set of sets that provides a view of the union of those sets.</p>
+<p>If <code>disjoint</code> is <code>true</code>, this assumes that all component sets are
+disjoint—that is, that they contain no elements in common. This makes
+many operations including <code>length</code> more efficient.</p>
+
+## Implementation
+
+```dart
+UnionSetController({bool disjoint = false}) : this._(<Set<E>>{}, disjoint);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/add.md b/sdk/dart/package-collection_collection/UnionSetController/add.md
new file mode 100644
index 0000000..4118443
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/add.md
@@ -0,0 +1,23 @@
+
+# add method
+
+    *<Null safety>*
+
+
+void add
+(Set&lt;E> component)
+
+
+<p>Adds the contents of <code>component</code> to <a href="../../package-collection_collection/UnionSetController/set.md">set</a>.</p>
+<p>If the contents of <code>component</code> change over time, <a href="../../package-collection_collection/UnionSetController/set.md">set</a> will change
+accordingly.</p>
+
+## Implementation
+
+```dart
+void add(Set<E> component) {
+  _sets.add(component);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/hashCode.md b/sdk/dart/package-collection_collection/UnionSetController/hashCode.md
new file mode 100644
index 0000000..36a1e12
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/UnionSetController/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/UnionSetController/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/UnionSetController/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/UnionSetController/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/UnionSetController/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/UnionSetController/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/noSuchMethod.md b/sdk/dart/package-collection_collection/UnionSetController/noSuchMethod.md
new file mode 100644
index 0000000..310c5a1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/UnionSetController/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/operator_equals.md b/sdk/dart/package-collection_collection/UnionSetController/operator_equals.md
new file mode 100644
index 0000000..f019505
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/UnionSetController/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/remove.md b/sdk/dart/package-collection_collection/UnionSetController/remove.md
new file mode 100644
index 0000000..d7aeea3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/remove.md
@@ -0,0 +1,21 @@
+
+# remove method
+
+    *<Null safety>*
+
+
+bool remove
+(Set&lt;E> component)
+
+
+<p>Removes the contents of <code>component</code> to <a href="../../package-collection_collection/UnionSetController/set.md">set</a>.</p>
+<p>If another set in <a href="../../package-collection_collection/UnionSetController-class.md">this</a> has overlapping elements with <code>component</code>, those
+elements will remain in <a href="../../package-collection_collection/UnionSetController/set.md">set</a>.</p>
+
+## Implementation
+
+```dart
+bool remove(Set<E> component) => _sets.remove(component);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/runtimeType.md b/sdk/dart/package-collection_collection/UnionSetController/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/set.md b/sdk/dart/package-collection_collection/UnionSetController/set.md
new file mode 100644
index 0000000..7ce7065
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/set.md
@@ -0,0 +1,20 @@
+
+# set property
+
+    *<Null safety>*
+
+[UnionSet](../../package-collection_collection/UnionSet-class.md)&lt;E> set
+  
+_final_
+
+<p>The <a href="../../package-collection_collection/UnionSet-class.md">UnionSet</a> that provides a view of the union of sets in <a href="../../package-collection_collection/UnionSetController-class.md">this</a>.</p>
+
+## Implementation
+
+```dart
+final UnionSet<E> set
+
+
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnionSetController/toString.md b/sdk/dart/package-collection_collection/UnionSetController/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnionSetController/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView-class.md b/sdk/dart/package-collection_collection/UnmodifiableListView-class.md
new file mode 100644
index 0000000..4e89619
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView-class.md
@@ -0,0 +1,374 @@
+
+# UnmodifiableListView&lt;E> class
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/collections.dart#L11)
+    *<Null safety>*
+
+<p>An unmodifiable <code>List</code> view of another List.</p>
+<p>The source of the elements may be a <code>List</code> or any <code>Iterable</code> with
+efficient <code>Iterable.length</code> and <code>Iterable.elementAt</code>.</p>
+
+**Inheritance**
+
+- Object
+- ListBase&lt;E>
+- UnmodifiableListView
+
+
+
+**Implementers**
+
+- [CombinedListView](../package-collection_collection/CombinedListView-class.md)
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+- [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+- [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+
+## Constructors
+
+[UnmodifiableListView](../package-collection_collection/UnmodifiableListView/UnmodifiableListView.md) (Iterable&lt;E> source)
+
+Creates an unmodifiable list backed by <code>source</code>. [...](../package-collection_collection/UnmodifiableListView/UnmodifiableListView.md)  
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/UnmodifiableListView/first.md) &#8596; E
+
+Returns the first element. [...](../package-collection_collection/UnmodifiableListView/first.md)  
+_read / write, inherited_
+
+##### [hashCode](../package-collection_collection/UnmodifiableListView/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableListView/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/UnmodifiableListView/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/UnmodifiableListView/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/UnmodifiableListView/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/UnmodifiableListView/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/UnmodifiableListView/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/UnmodifiableListView/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/UnmodifiableListView/last.md) &#8596; E
+
+Returns the last element. [...](../package-collection_collection/UnmodifiableListView/last.md)  
+_read / write, inherited_
+
+##### [length](../package-collection_collection/UnmodifiableListView/length.md) &#8596; int
+
+The number of objects in this list. [...](../package-collection_collection/UnmodifiableListView/length.md)  
+_read / write, inherited-setter, override-getter_
+
+##### [reversed](../package-collection_collection/UnmodifiableListView/reversed.md) &#8594; Iterable&lt;E>
+
+Returns an <code>Iterable</code> of the objects in this list in reverse order.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableListView/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/UnmodifiableListView/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/UnmodifiableListView/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/UnmodifiableListView/add.md)(E value) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [addAll](../package-collection_collection/UnmodifiableListView/addAll.md)(Iterable&lt;E> iterable) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [any](../package-collection_collection/UnmodifiableListView/any.md)(bool test(E element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/any.md)  
+_inherited_
+
+##### [asMap](../package-collection_collection/UnmodifiableListView/asMap.md)() Map&lt;int, E>
+
+Returns an unmodifiable <code>Map</code> view of <code>this</code>. [...](../package-collection_collection/UnmodifiableListView/asMap.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/UnmodifiableListView/cast.md)&lt;R>() List&lt;R>
+
+Returns a view of this list as a list of <code>R</code> instances. [...](../package-collection_collection/UnmodifiableListView/cast.md)  
+_override_
+
+##### [clear](../package-collection_collection/UnmodifiableListView/clear.md)() void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [contains](../package-collection_collection/UnmodifiableListView/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/UnmodifiableListView/contains.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/UnmodifiableListView/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/UnmodifiableListView/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/UnmodifiableListView/every.md)(bool test(E element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/UnmodifiableListView/expand.md)&lt;T>(Iterable&lt;T> f(E element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/UnmodifiableListView/expand.md)  
+_inherited_
+
+##### [fillRange](../package-collection_collection/UnmodifiableListView/fillRange.md)(int start, int end, [E? fillValue]) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [firstWhere](../package-collection_collection/UnmodifiableListView/firstWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/UnmodifiableListView/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/UnmodifiableListView/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/UnmodifiableListView/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/UnmodifiableListView/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/UnmodifiableListView/forEach.md)(void action(E element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [getRange](../package-collection_collection/UnmodifiableListView/getRange.md)(int start, int end) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive. [...](../package-collection_collection/UnmodifiableListView/getRange.md)  
+_inherited_
+
+##### [indexOf](../package-collection_collection/UnmodifiableListView/indexOf.md)(Object? element, [int start = 0]) int
+
+Returns the first index of <code>element</code> in this list. [...](../package-collection_collection/UnmodifiableListView/indexOf.md)  
+_inherited_
+
+##### [indexWhere](../package-collection_collection/UnmodifiableListView/indexWhere.md)(bool test(E element), [int start = 0]) int
+
+Returns the first index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/indexWhere.md)  
+_inherited_
+
+##### [insert](../package-collection_collection/UnmodifiableListView/insert.md)(int index, E element) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [insertAll](../package-collection_collection/UnmodifiableListView/insertAll.md)(int at, Iterable&lt;E> iterable) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [join](../package-collection_collection/UnmodifiableListView/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/UnmodifiableListView/join.md)  
+_inherited_
+
+##### [lastIndexOf](../package-collection_collection/UnmodifiableListView/lastIndexOf.md)(Object? element, [int? start]) int
+
+Returns the last index of <code>element</code> in this list. [...](../package-collection_collection/UnmodifiableListView/lastIndexOf.md)  
+_inherited_
+
+##### [lastIndexWhere](../package-collection_collection/UnmodifiableListView/lastIndexWhere.md)(bool test(E element), [int? start]) int
+
+Returns the last index in the list that satisfies the provided <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/lastIndexWhere.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/UnmodifiableListView/lastWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/lastWhere.md)  
+_inherited_
+
+##### [map](../package-collection_collection/UnmodifiableListView/map.md)&lt;T>(T f(E element)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/UnmodifiableListView/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableListView/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableListView/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/UnmodifiableListView/reduce.md)(E combine(E previousValue, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/UnmodifiableListView/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/UnmodifiableListView/remove.md)(Object? element) bool
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [removeAt](../package-collection_collection/UnmodifiableListView/removeAt.md)(int index) E
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [removeLast](../package-collection_collection/UnmodifiableListView/removeLast.md)() E
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [removeRange](../package-collection_collection/UnmodifiableListView/removeRange.md)(int start, int end) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableListView/removeWhere.md)(bool test(E element)) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [replaceRange](../package-collection_collection/UnmodifiableListView/replaceRange.md)(int start, int end, Iterable&lt;E> iterable) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [retainWhere](../package-collection_collection/UnmodifiableListView/retainWhere.md)(bool test(E element)) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [setAll](../package-collection_collection/UnmodifiableListView/setAll.md)(int at, Iterable&lt;E> iterable) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [setRange](../package-collection_collection/UnmodifiableListView/setRange.md)(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0]) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [shuffle](../package-collection_collection/UnmodifiableListView/shuffle.md)([Random? random]) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/UnmodifiableListView/singleWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/UnmodifiableListView/skip.md)(int count) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/UnmodifiableListView/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/UnmodifiableListView/skipWhile.md)(bool test(E element)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/UnmodifiableListView/skipWhile.md)  
+_inherited_
+
+##### [sort](../package-collection_collection/UnmodifiableListView/sort.md)([Comparator&lt;E>? compare]) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+##### [sublist](../package-collection_collection/UnmodifiableListView/sublist.md)(int start, [int? end]) List&lt;E>
+
+Returns a new list containing the elements between <code>start</code> and <code>end</code>. [...](../package-collection_collection/UnmodifiableListView/sublist.md)  
+_inherited_
+
+##### [take](../package-collection_collection/UnmodifiableListView/take.md)(int count) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/UnmodifiableListView/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/UnmodifiableListView/takeWhile.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/UnmodifiableListView/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/UnmodifiableListView/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/UnmodifiableListView/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/UnmodifiableListView/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/UnmodifiableListView/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [where](../package-collection_collection/UnmodifiableListView/where.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableListView/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/UnmodifiableListView/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/UnmodifiableListView/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator +](../package-collection_collection/UnmodifiableListView/operator_plus.md)(List&lt;E> other) List&lt;E>
+
+Returns the concatenation of this list and <code>other</code>. [...](../package-collection_collection/UnmodifiableListView/operator_plus.md)  
+_inherited_
+
+##### [operator ==](../package-collection_collection/UnmodifiableListView/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableListView/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/UnmodifiableListView/operator_get.md)(int index) E
+
+Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.   
+_override_
+
+##### [operator []=](../package-collection_collection/UnmodifiableListView/operator_put.md)(int index, E value) void
+
+This operation is not supported by an unmodifiable list.   
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/UnmodifiableListView.md b/sdk/dart/package-collection_collection/UnmodifiableListView/UnmodifiableListView.md
new file mode 100644
index 0000000..52cd3d2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/UnmodifiableListView.md
@@ -0,0 +1,21 @@
+
+# UnmodifiableListView&lt;E> constructor
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/collections.dart#L18)
+    *<Null safety>*
+
+
+
+UnmodifiableListView&lt;E>(Iterable&lt;E> source)
+
+<p>Creates an unmodifiable list backed by <code>source</code>.</p>
+<p>The <code>source</code> of the elements may be a <code>List</code> or any <code>Iterable</code> with
+efficient <code>Iterable.length</code> and <code>Iterable.elementAt</code>.</p>
+
+## Implementation
+
+```dart
+UnmodifiableListView(Iterable<E> source) : _source = source;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/add.md b/sdk/dart/package-collection_collection/UnmodifiableListView/add.md
new file mode 100644
index 0000000..60a537d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/add.md
@@ -0,0 +1,22 @@
+
+# add method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L113)
+    *<Null safety>*
+
+
+void add
+(E value)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void add(E value) {
+  throw new UnsupportedError("Cannot add to an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/addAll.md b/sdk/dart/package-collection_collection/UnmodifiableListView/addAll.md
new file mode 100644
index 0000000..2c788cf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/addAll.md
@@ -0,0 +1,22 @@
+
+# addAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L128)
+    *<Null safety>*
+
+
+void addAll
+(Iterable&lt;E> iterable)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void addAll(Iterable<E> iterable) {
+  throw new UnsupportedError("Cannot add to an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/any.md b/sdk/dart/package-collection_collection/UnmodifiableListView/any.md
new file mode 100644
index 0000000..c3feb5c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/any.md
@@ -0,0 +1,31 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L146)
+    *<Null safety>*
+
+
+bool any
+(bool test(E element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (test(this[i])) return true;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/asMap.md b/sdk/dart/package-collection_collection/UnmodifiableListView/asMap.md
new file mode 100644
index 0000000..7a7b61f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/asMap.md
@@ -0,0 +1,30 @@
+
+# asMap method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L376)
+    *<Null safety>*
+
+
+Map&lt;int, E> asMap
+()
+_inherited_
+
+<p>Returns an unmodifiable <code>Map</code> view of <code>this</code>.</p>
+<p>The map uses the indices of this list as keys and the corresponding objects
+as values. The <code>Map.keys</code> <code>Iterable</code> iterates the indices of this list
+in numerical order.</p>
+<pre class="language-dart"><code>List&lt;String&gt; words = ['fee', 'fi', 'fo', 'fum'];
+Map&lt;int, String&gt; map = words.asMap();
+map[0] + map[1];   // 'feefi';
+map.keys.toList(); // [0, 1, 2, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Map<int, E> asMap() {
+  return ListMapView<E>(this);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/cast.md b/sdk/dart/package-collection_collection/UnmodifiableListView/cast.md
new file mode 100644
index 0000000..7581aad
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/cast.md
@@ -0,0 +1,28 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/collections.dart#L20)
+    *<Null safety>*
+
+
+List&lt;R> cast
+&lt;R>()
+_override_
+
+<p>Returns a view of this list as a list of <code>R</code> instances.</p>
+<p>If this list contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the list (e.g., by using <a href="../../package-collection_collection/UnmodifiableListView/add.md">add</a> or <a href="../../package-collection_collection/UnmodifiableListView/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this list as well.</p>
+<p>Typically implemented as <code>List.castFrom&lt;E, R&gt;(this)</code>.</p>
+
+## Implementation
+
+```dart
+List<R> cast<R>() => UnmodifiableListView(_source.cast<R>());
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/clear.md b/sdk/dart/package-collection_collection/UnmodifiableListView/clear.md
new file mode 100644
index 0000000..09d9cdf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/clear.md
@@ -0,0 +1,22 @@
+
+# clear method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L158)
+    *<Null safety>*
+
+
+void clear
+()
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void clear() {
+  throw new UnsupportedError("Cannot clear an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/contains.md b/sdk/dart/package-collection_collection/UnmodifiableListView/contains.md
new file mode 100644
index 0000000..0996827
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/contains.md
@@ -0,0 +1,39 @@
+
+# contains method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L124)
+    *<Null safety>*
+
+
+bool contains
+(Object? element)
+_inherited_
+
+<p>Returns true if the collection contains an element equal to <code>element</code>.</p>
+<p>This operation will check each element in order for being equal to
+<code>element</code>, unless it has a more efficient way to find an element
+equal to <code>element</code>.</p>
+<p>The equality used to determine whether <code>element</code> is equal to an element of
+the iterable defaults to the <code>Object.==</code> of the element.</p>
+<p>Some types of iterable may have a different equality used for its elements.
+For example, a <code>Set</code> may have a custom equality
+(see <code>Set.identity</code>) that its <code>contains</code> uses.
+Likewise the <code>Iterable</code> returned by a <code>Map.keys</code> call
+should use the same equality that the <code>Map</code> uses for keys.</p>
+
+## Implementation
+
+```dart
+bool contains(Object? element) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (this[i] == element) return true;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/elementAt.md b/sdk/dart/package-collection_collection/UnmodifiableListView/elementAt.md
new file mode 100644
index 0000000..3d51372
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/elementAt.md
@@ -0,0 +1,26 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L78)
+    *<Null safety>*
+
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/UnmodifiableListView/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) => this[index];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/every.md b/sdk/dart/package-collection_collection/UnmodifiableListView/every.md
new file mode 100644
index 0000000..25de547
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/every.md
@@ -0,0 +1,31 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L135)
+    *<Null safety>*
+
+
+bool every
+(bool test(E element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    if (!test(this[i])) return false;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/expand.md b/sdk/dart/package-collection_collection/UnmodifiableListView/expand.md
new file mode 100644
index 0000000..7b6b331
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/fillRange.md b/sdk/dart/package-collection_collection/UnmodifiableListView/fillRange.md
new file mode 100644
index 0000000..3295c16
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/fillRange.md
@@ -0,0 +1,22 @@
+
+# fillRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L188)
+    *<Null safety>*
+
+
+void fillRange
+(int start, int end, [E? fillValue])
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void fillRange(int start, int end, [E? fillValue]) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/first.md b/sdk/dart/package-collection_collection/UnmodifiableListView/first.md
new file mode 100644
index 0000000..9069d04
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/first.md
@@ -0,0 +1,41 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L98)
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  if (length == 0) throw IterableElementError.noElement();
+  return this[0];
+}
+```
+
+first=
+(E element)  
+_inherited_
+
+<p>Updates the first position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[0] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+set first(E element) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/firstWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/firstWhere.md
new file mode 100644
index 0000000..1421063
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/firstWhere.md
@@ -0,0 +1,35 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L157)
+    *<Null safety>*
+
+
+E firstWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    E element = this[i];
+    if (test(element)) return element;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/fold.md b/sdk/dart/package-collection_collection/UnmodifiableListView/fold.md
new file mode 100644
index 0000000..e254e35
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/fold.md
@@ -0,0 +1,43 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L233)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    value = combine(value, this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/followedBy.md b/sdk/dart/package-collection_collection/UnmodifiableListView/followedBy.md
new file mode 100644
index 0000000..362d275
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/followedBy.md
@@ -0,0 +1,24 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L80)
+    *<Null safety>*
+
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) =>
+    FollowedByIterable<E>.firstEfficient(this, other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/forEach.md b/sdk/dart/package-collection_collection/UnmodifiableListView/forEach.md
new file mode 100644
index 0000000..c42af05
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/forEach.md
@@ -0,0 +1,29 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L83)
+    *<Null safety>*
+
+
+void forEach
+(void action(E element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void action(E element)) {
+  int length = this.length;
+  for (int i = 0; i < length; i++) {
+    action(this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/getRange.md b/sdk/dart/package-collection_collection/UnmodifiableListView/getRange.md
new file mode 100644
index 0000000..d8a84e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/getRange.md
@@ -0,0 +1,37 @@
+
+# getRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L391)
+    *<Null safety>*
+
+
+Iterable&lt;E> getRange
+(int start, int end)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that iterates over the objects in the range
+<code>start</code> inclusive to <code>end</code> exclusive.</p>
+<p>The provided range, given by <code>start</code> and <code>end</code>, must be valid at the time
+of the call.</p>
+<p>A range from <code>start</code> to <code>end</code> is valid if <code>0 &lt;= start &lt;= end &lt;= len</code>, where
+<code>len</code> is this list's <code>length</code>. The range starts at <code>start</code> and has length
+<code>end - start</code>. An empty range (with <code>end == start</code>) is valid.</p>
+<p>The returned <code>Iterable</code> behaves like <code>skip(start).take(end - start)</code>.
+That is, it does <em>not</em> throw if this list changes size.</p>
+<pre class="language-dart"><code>List&lt;String&gt; colors = ['red', 'green', 'blue', 'orange', 'pink'];
+Iterable&lt;String&gt; range = colors.getRange(1, 4);
+range.join(', ');  // 'green, blue, orange'
+colors.length = 3;
+range.join(', ');  // 'green, blue'
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<E> getRange(int start, int end) {
+  RangeError.checkValidRange(start, end, this.length);
+  return SubListIterable<E>(this, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/hashCode.md b/sdk/dart/package-collection_collection/UnmodifiableListView/hashCode.md
new file mode 100644
index 0000000..71efbae
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/UnmodifiableListView/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/UnmodifiableListView/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/UnmodifiableListView/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/UnmodifiableListView/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/UnmodifiableListView/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/UnmodifiableListView/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/indexOf.md b/sdk/dart/package-collection_collection/UnmodifiableListView/indexOf.md
new file mode 100644
index 0000000..7bde1d7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/indexOf.md
@@ -0,0 +1,36 @@
+
+# indexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L485)
+    *<Null safety>*
+
+
+int indexOf
+(Object? element, [int start = 0])
+_inherited_
+
+<p>Returns the first index of <code>element</code> in this list.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexOf('re');    // 1
+notes.indexOf('re', 2); // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexOf('fa');    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexOf(Object? element, [int start = 0]) {
+  if (start < 0) start = 0;
+  for (int i = start; i < this.length; i++) {
+    if (this[i] == element) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/indexWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/indexWhere.md
new file mode 100644
index 0000000..cff8e9c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/indexWhere.md
@@ -0,0 +1,36 @@
+
+# indexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L493)
+    *<Null safety>*
+
+
+int indexWhere
+(bool test(E element), [int start = 0])
+_inherited_
+
+<p>Returns the first index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to the end of the list.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.indexWhere((note) =&gt; note.startsWith('r'));       // 1
+notes.indexWhere((note) =&gt; note.startsWith('r'), 2);    // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.indexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int indexWhere(bool test(E element), [int start = 0]) {
+  if (start < 0) start = 0;
+  for (int i = start; i < this.length; i++) {
+    if (test(this[i])) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/insert.md b/sdk/dart/package-collection_collection/UnmodifiableListView/insert.md
new file mode 100644
index 0000000..dd91619
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/insert.md
@@ -0,0 +1,22 @@
+
+# insert method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L118)
+    *<Null safety>*
+
+
+void insert
+(int index, E element)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void insert(int index, E element) {
+  throw new UnsupportedError("Cannot add to an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/insertAll.md b/sdk/dart/package-collection_collection/UnmodifiableListView/insertAll.md
new file mode 100644
index 0000000..954631f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/insertAll.md
@@ -0,0 +1,22 @@
+
+# insertAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L123)
+    *<Null safety>*
+
+
+void insertAll
+(int at, Iterable&lt;E> iterable)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void insertAll(int at, Iterable<E> iterable) {
+  throw new UnsupportedError("Cannot add to an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/isEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableListView/isEmpty.md
new file mode 100644
index 0000000..6e6df0f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/isEmpty.md
@@ -0,0 +1,22 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L94)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:prefer-inline")
+bool get isEmpty => length == 0;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/isNotEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableListView/isNotEmpty.md
new file mode 100644
index 0000000..08454e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L96)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/iterator.md b/sdk/dart/package-collection_collection/UnmodifiableListView/iterator.md
new file mode 100644
index 0000000..3b27b50
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/iterator.md
@@ -0,0 +1,41 @@
+
+# iterator property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L76)
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>.</p>
+<p>Iterable classes may specify the iteration order of their elements
+(for example <code>List</code> always iterate in index order),
+or they may leave it unspecified (for example a hash-based <code>Set</code>
+may iterate in any order).</p>
+<p>Each time <code>iterator</code> is read, it returns a new iterator,
+which can be used to iterate through all the elements again.
+The iterators of the same iterable can be stepped through independently,
+but should return the same elements in the same order,
+as long as the underlying collection isn't changed.</p>
+<p>Modifying the collection may cause new iterators to produce
+different elements, and may change the order of existing elements.
+A <code>List</code> specifies its iteration order precisely,
+so modifying the list changes the iteration order predictably.
+A hash-based <code>Set</code> may change its iteration order completely
+when adding a new element to the set.</p>
+<p>Modifying the underlying collection after creating the new iterator
+may cause an error the next time <code>Iterator.moveNext</code> is called
+on that iterator.
+Any <em>modifiable</em> iterable class should specify which operations will
+break iteration.</p>
+
+## Implementation
+
+```dart
+Iterator<E> get iterator => ListIterator<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/join.md b/sdk/dart/package-collection_collection/UnmodifiableListView/join.md
new file mode 100644
index 0000000..e2e57e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/join.md
@@ -0,0 +1,28 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L205)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  if (length == 0) return "";
+  StringBuffer buffer = StringBuffer()..writeAll(this, separator);
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/last.md b/sdk/dart/package-collection_collection/UnmodifiableListView/last.md
new file mode 100644
index 0000000..80b0fd5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/last.md
@@ -0,0 +1,44 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L108)
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  if (length == 0) throw IterableElementError.noElement();
+  return this[length - 1];
+}
+```
+
+last=
+(E element)  
+_inherited_
+
+<p>Updates the last position of the list to contain <code>value</code>.</p>
+<p>Equivalent to <code>theList[theList.length - 1] = value;</code>.</p>
+<p>The list must be non-empty.</p>
+
+## Implementation
+
+```dart
+set last(E element) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/lastIndexOf.md b/sdk/dart/package-collection_collection/UnmodifiableListView/lastIndexOf.md
new file mode 100644
index 0000000..dff8325
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/lastIndexOf.md
@@ -0,0 +1,43 @@
+
+# lastIndexOf method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L501)
+    *<Null safety>*
+
+
+int lastIndexOf
+(Object? element, [int? start])
+_inherited_
+
+<p>Returns the last index of <code>element</code> in this list.</p>
+<p>Searches the list backwards from index <code>start</code> to 0.</p>
+<p>The first time an object <code>o</code> is encountered so that <code>o == element</code>,
+the index of <code>o</code> is returned.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexOf('re', 2); // 1
+</code></pre>
+<p>If <code>start</code> is not provided, this method searches from the end of the
+list.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('re');  // 3
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexOf('fa');  // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexOf(Object? element, [int? start]) {
+  if (start == null || start >= this.length) start = this.length - 1;
+
+  // TODO(38493): The previous line should promote.
+  if (start == null) throw "!";
+
+  for (int i = start; i >= 0; i--) {
+    if (this[i] == element) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/lastIndexWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/lastIndexWhere.md
new file mode 100644
index 0000000..3423ea4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/lastIndexWhere.md
@@ -0,0 +1,41 @@
+
+# lastIndexWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L513)
+    *<Null safety>*
+
+
+int lastIndexWhere
+(bool test(E element), [int? start])
+_inherited_
+
+<p>Returns the last index in the list that satisfies the provided <code>test</code>.</p>
+<p>Searches the list from index <code>start</code> to 0.
+The first time an object <code>o</code> is encountered so that <code>test(o)</code> is true,
+the index of <code>o</code> is returned.
+If <code>start</code> is omitted, it defaults to the <a href="../../package-collection_collection/UnmodifiableListView/length.md">length</a> of the list.</p>
+<pre class="language-dart"><code>List&lt;String&gt; notes = ['do', 're', 'mi', 're'];
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'));       // 3
+notes.lastIndexWhere((note) =&gt; note.startsWith('r'), 2);    // 1
+</code></pre>
+<p>Returns -1 if <code>element</code> is not found.</p>
+<pre class="language-dart"><code>notes.lastIndexWhere((note) =&gt; note.startsWith('k'));    // -1
+</code></pre>
+
+## Implementation
+
+```dart
+int lastIndexWhere(bool test(E element), [int? start]) {
+  if (start == null || start >= this.length) start = this.length - 1;
+
+  // TODO(38493): The previous line should promote.
+  if (start == null) throw "!";
+
+  for (int i = start; i >= 0; i--) {
+    if (test(this[i])) return i;
+  }
+  return -1;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/lastWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/lastWhere.md
new file mode 100644
index 0000000..295da5f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/lastWhere.md
@@ -0,0 +1,40 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L170)
+    *<Null safety>*
+
+
+E lastWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  for (int i = length - 1; i >= 0; i--) {
+    E element = this[i];
+    if (test(element)) return element;
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/length.md b/sdk/dart/package-collection_collection/UnmodifiableListView/length.md
new file mode 100644
index 0000000..d9b028c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/length.md
@@ -0,0 +1,35 @@
+
+# length property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/collections.dart#L21)
+    *<Null safety>*
+
+
+int length
+  
+_override_
+
+<p>The number of objects in this list.</p>
+<p>The valid indices for a list are <code>0</code> through <code>length - 1</code>.</p>
+
+## Implementation
+
+```dart
+int get length => _source.length;
+```
+
+length=
+(int newLength)  
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+set length(int newLength) {
+  throw new UnsupportedError(
+      "Cannot change the length of an unmodifiable list");
+}
+```
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/map.md b/sdk/dart/package-collection_collection/UnmodifiableListView/map.md
new file mode 100644
index 0000000..7b94b28
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L215)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/UnmodifiableListView/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E element)) => MappedListIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/noSuchMethod.md b/sdk/dart/package-collection_collection/UnmodifiableListView/noSuchMethod.md
new file mode 100644
index 0000000..c67ec6f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/UnmodifiableListView/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/operator_equals.md b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_equals.md
new file mode 100644
index 0000000..d7c1a8f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/UnmodifiableListView/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/operator_get.md b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_get.md
new file mode 100644
index 0000000..8501051
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_get.md
@@ -0,0 +1,21 @@
+
+# operator [] method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/collections.dart#L23)
+    *<Null safety>*
+
+
+E operator []
+(int index)
+_override_
+
+<p>Returns the object at the given <code>index</code> in the list
+or throws a <code>RangeError</code> if <code>index</code> is out of bounds.</p>
+
+## Implementation
+
+```dart
+E operator [](int index) => _source.elementAt(index);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/operator_plus.md b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_plus.md
new file mode 100644
index 0000000..c9b57fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_plus.md
@@ -0,0 +1,25 @@
+
+# operator + method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L380)
+    *<Null safety>*
+
+
+List&lt;E> operator +
+(List&lt;E> other)
+_inherited_
+
+<p>Returns the concatenation of this list and <code>other</code>.</p>
+<p>Returns a new list containing the elements of this list followed by
+the elements of <code>other</code>.</p>
+<p>The default behavior is to return a normal growable list.
+Some list types may choose to return a list of the same type as themselves
+(see <code>Uint8List.+</code>);</p>
+
+## Implementation
+
+```dart
+List<E> operator +(List<E> other) => [...this, ...other];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/operator_put.md b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_put.md
new file mode 100644
index 0000000..0c484c9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/operator_put.md
@@ -0,0 +1,22 @@
+
+# operator []= method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L89)
+    *<Null safety>*
+
+
+void operator []=
+(int index, E value)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void operator []=(int index, E value) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/reduce.md b/sdk/dart/package-collection_collection/UnmodifiableListView/reduce.md
new file mode 100644
index 0000000..e9b83a2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/reduce.md
@@ -0,0 +1,46 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L220)
+    *<Null safety>*
+
+
+E reduce
+(E combine(E previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E previousValue, E element)) {
+  int length = this.length;
+  if (length == 0) throw IterableElementError.noElement();
+  E value = this[0];
+  for (int i = 1; i < length; i++) {
+    value = combine(value, this[i]);
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/remove.md b/sdk/dart/package-collection_collection/UnmodifiableListView/remove.md
new file mode 100644
index 0000000..aefe844
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/remove.md
@@ -0,0 +1,22 @@
+
+# remove method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L133)
+    *<Null safety>*
+
+
+bool remove
+(Object? element)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+bool remove(Object? element) {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/removeAt.md b/sdk/dart/package-collection_collection/UnmodifiableListView/removeAt.md
new file mode 100644
index 0000000..e56f2ad
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/removeAt.md
@@ -0,0 +1,22 @@
+
+# removeAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L163)
+    *<Null safety>*
+
+
+E removeAt
+(int index)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+E removeAt(int index) {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/removeLast.md b/sdk/dart/package-collection_collection/UnmodifiableListView/removeLast.md
new file mode 100644
index 0000000..77059eb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/removeLast.md
@@ -0,0 +1,22 @@
+
+# removeLast method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L168)
+    *<Null safety>*
+
+
+E removeLast
+()
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+E removeLast() {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/removeRange.md b/sdk/dart/package-collection_collection/UnmodifiableListView/removeRange.md
new file mode 100644
index 0000000..8eaf188
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/removeRange.md
@@ -0,0 +1,22 @@
+
+# removeRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L178)
+    *<Null safety>*
+
+
+void removeRange
+(int start, int end)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void removeRange(int start, int end) {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/removeWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/removeWhere.md
new file mode 100644
index 0000000..41fad46
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/removeWhere.md
@@ -0,0 +1,22 @@
+
+# removeWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L138)
+    *<Null safety>*
+
+
+void removeWhere
+(bool test(E element))
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void removeWhere(bool test(E element)) {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/replaceRange.md b/sdk/dart/package-collection_collection/UnmodifiableListView/replaceRange.md
new file mode 100644
index 0000000..beb1346
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/replaceRange.md
@@ -0,0 +1,22 @@
+
+# replaceRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L183)
+    *<Null safety>*
+
+
+void replaceRange
+(int start, int end, Iterable&lt;E> iterable)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void replaceRange(int start, int end, Iterable<E> iterable) {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/retainWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/retainWhere.md
new file mode 100644
index 0000000..87af41d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/retainWhere.md
@@ -0,0 +1,22 @@
+
+# retainWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L143)
+    *<Null safety>*
+
+
+void retainWhere
+(bool test(E element))
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void retainWhere(bool test(E element)) {
+  throw new UnsupportedError("Cannot remove from an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/reversed.md b/sdk/dart/package-collection_collection/UnmodifiableListView/reversed.md
new file mode 100644
index 0000000..b724cf9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/reversed.md
@@ -0,0 +1,20 @@
+
+# reversed property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L585)
+    *<Null safety>*
+
+
+Iterable&lt;E> reversed
+  
+_inherited_
+
+<p>Returns an <code>Iterable</code> of the objects in this list in reverse order.</p>
+
+## Implementation
+
+```dart
+Iterable<E> get reversed => ReversedListIterable<E>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/runtimeType.md b/sdk/dart/package-collection_collection/UnmodifiableListView/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/setAll.md b/sdk/dart/package-collection_collection/UnmodifiableListView/setAll.md
new file mode 100644
index 0000000..9e531d2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/setAll.md
@@ -0,0 +1,22 @@
+
+# setAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L108)
+    *<Null safety>*
+
+
+void setAll
+(int at, Iterable&lt;E> iterable)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void setAll(int at, Iterable<E> iterable) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/setRange.md b/sdk/dart/package-collection_collection/UnmodifiableListView/setRange.md
new file mode 100644
index 0000000..d6c28dc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/setRange.md
@@ -0,0 +1,22 @@
+
+# setRange method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L173)
+    *<Null safety>*
+
+
+void setRange
+(int start, int end, Iterable&lt;E> iterable, [int skipCount = 0])
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/shuffle.md b/sdk/dart/package-collection_collection/UnmodifiableListView/shuffle.md
new file mode 100644
index 0000000..d131c05
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/shuffle.md
@@ -0,0 +1,22 @@
+
+# shuffle method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L153)
+    *<Null safety>*
+
+
+void shuffle
+([Random? random])
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void shuffle([Random? random]) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/single.md b/sdk/dart/package-collection_collection/UnmodifiableListView/single.md
new file mode 100644
index 0000000..f42b96a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/single.md
@@ -0,0 +1,25 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L118)
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  if (length == 0) throw IterableElementError.noElement();
+  if (length > 1) throw IterableElementError.tooMany();
+  return this[0];
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/singleWhere.md b/sdk/dart/package-collection_collection/UnmodifiableListView/singleWhere.md
new file mode 100644
index 0000000..4032eec
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/singleWhere.md
@@ -0,0 +1,45 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L183)
+    *<Null safety>*
+
+
+E singleWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E Function()? orElse}) {
+  int length = this.length;
+  late E match;
+  bool matchFound = false;
+  for (int i = 0; i < length; i++) {
+    E element = this[i];
+    if (test(element)) {
+      if (matchFound) {
+        throw IterableElementError.tooMany();
+      }
+      matchFound = true;
+      match = element;
+    }
+    if (length != this.length) {
+      throw ConcurrentModificationError(this);
+    }
+  }
+  if (matchFound) return match;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/skip.md b/sdk/dart/package-collection_collection/UnmodifiableListView/skip.md
new file mode 100644
index 0000000..e9d0b08
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/skip.md
@@ -0,0 +1,30 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L245)
+    *<Null safety>*
+
+
+Iterable&lt;E> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) => SubListIterable<E>(this, count, null);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/skipWhile.md b/sdk/dart/package-collection_collection/UnmodifiableListView/skipWhile.md
new file mode 100644
index 0000000..099a3db
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L247)
+    *<Null safety>*
+
+
+Iterable&lt;E> skipWhile
+(bool test(E element))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E element)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/sort.md b/sdk/dart/package-collection_collection/UnmodifiableListView/sort.md
new file mode 100644
index 0000000..a2a2ccd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/sort.md
@@ -0,0 +1,22 @@
+
+# sort method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/list.dart#L148)
+    *<Null safety>*
+
+
+void sort
+([Comparator&lt;E>? compare])
+_inherited_
+
+<p>This operation is not supported by an unmodifiable list.</p>
+
+## Implementation
+
+```dart
+void sort([Comparator<E>? compare]) {
+  throw new UnsupportedError("Cannot modify an unmodifiable list");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/sublist.md b/sdk/dart/package-collection_collection/UnmodifiableListView/sublist.md
new file mode 100644
index 0000000..50874c0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/sublist.md
@@ -0,0 +1,39 @@
+
+# sublist method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L382)
+    *<Null safety>*
+
+
+List&lt;E> sublist
+(int start, [int? end])
+_inherited_
+
+<p>Returns a new list containing the elements between <code>start</code> and <code>end</code>.</p>
+<p>The new list is a <code>List&lt;E&gt;</code> containing the elements of this list at
+positions greater than or equal to <code>start</code> and less than <code>end</code> in the same
+order as they occur in this list.</p>
+<pre class="language-dart"><code class="language-dart">var colors = ["red", "green", "blue", "orange", "pink"];
+print(colors.sublist(1, 3)); // [green, blue]
+</code></pre>
+<p>If <code>end</code> is omitted, it defaults to the <a href="../../package-collection_collection/UnmodifiableListView/length.md">length</a> of this list.</p>
+<pre class="language-dart"><code class="language-dart">print(colors.sublist(1)); // [green, blue, orange, pink]
+</code></pre>
+<p>The <code>start</code> and <code>end</code> positions must satisfy the relations
+0 ≤ <code>start</code> ≤ <code>end</code> ≤ <code>this.length</code>
+If <code>end</code> is equal to <code>start</code>, then the returned list is empty.</p>
+
+## Implementation
+
+```dart
+List<E> sublist(int start, [int? end]) {
+  int listLength = this.length;
+  end ??= listLength;
+  if (end == null) throw "!"; // TODO(38493): The `??=` should promote.
+
+  RangeError.checkValidRange(start, end, listLength);
+  return List.from(getRange(start, end));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/take.md b/sdk/dart/package-collection_collection/UnmodifiableListView/take.md
new file mode 100644
index 0000000..2f5f03d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/take.md
@@ -0,0 +1,25 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L251)
+    *<Null safety>*
+
+
+Iterable&lt;E> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/UnmodifiableListView/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) => SubListIterable<E>(this, 0, count);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/takeWhile.md b/sdk/dart/package-collection_collection/UnmodifiableListView/takeWhile.md
new file mode 100644
index 0000000..1328e13
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L253)
+    *<Null safety>*
+
+
+Iterable&lt;E> takeWhile
+(bool test(E element))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/UnmodifiableListView/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E element)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/toList.md b/sdk/dart/package-collection_collection/UnmodifiableListView/toList.md
new file mode 100644
index 0000000..bd16dee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/toList.md
@@ -0,0 +1,30 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L257)
+    *<Null safety>*
+
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  if (this.isEmpty) return List<E>.empty(growable: growable);
+  var first = this[0];
+  var result = List<E>.filled(this.length, first, growable: growable);
+  for (int i = 1; i < this.length; i++) {
+    result[i] = this[i];
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/toSet.md b/sdk/dart/package-collection_collection/UnmodifiableListView/toSet.md
new file mode 100644
index 0000000..6d3e611
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/toSet.md
@@ -0,0 +1,31 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L267)
+    *<Null safety>*
+
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> containing the same elements as this iterable.</p>
+<p>The set may contain fewer elements than the iterable,
+if the iterable contains an element more than once,
+or it contains one or more elements that are equal.
+The order of the elements in the set is not guaranteed to be the same
+as for the iterable.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet() {
+  Set<E> result = Set<E>();
+  for (int i = 0; i < length; i++) {
+    result.add(this[i]);
+  }
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/toString.md b/sdk/dart/package-collection_collection/UnmodifiableListView/toString.md
new file mode 100644
index 0000000..1a9f1e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L587)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+String toString() => IterableBase.iterableToFullString(this, '[', ']');
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/where.md b/sdk/dart/package-collection_collection/UnmodifiableListView/where.md
new file mode 100644
index 0000000..98fc09a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L211)
+    *<Null safety>*
+
+
+Iterable&lt;E> where
+(bool test(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/UnmodifiableListView/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableListView/whereType.md b/sdk/dart/package-collection_collection/UnmodifiableListView/whereType.md
new file mode 100644
index 0000000..52abe18
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableListView/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/list.dart#L213)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/UnmodifiableListView/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin-class.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin-class.md
new file mode 100644
index 0000000..4bac050
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin-class.md
@@ -0,0 +1,186 @@
+
+# UnmodifiableMapMixin&lt;K, V> class
+
+    *<Null safety>*
+
+<p>Mixin class that implements a throwing version of all map operations that
+change the Map.</p>
+
+
+**Implemented types**
+
+- Map&lt;K, V>
+
+
+
+
+
+## Constructors
+
+[UnmodifiableMapMixin](../package-collection_collection/UnmodifiableMapMixin/UnmodifiableMapMixin.md) ()
+
+   
+ 
+
+
+## Properties
+
+##### [entries](../package-collection_collection/UnmodifiableMapMixin/entries.md) &#8594; Iterable&lt;MapEntry&lt;K, V>>
+
+The map entries of <a href="../package-collection_collection/UnmodifiableMapMixin-class.md">this</a>.   
+_read-only, inherited_
+
+##### [first](../package-collection_collection/UnmodifiableMapMixin/first.md) &#8592; dynamic
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_write-only_
+
+##### [hashCode](../package-collection_collection/UnmodifiableMapMixin/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableMapMixin/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/UnmodifiableMapMixin/isEmpty.md) &#8594; bool
+
+Returns true if there is no key/value pair in the map.   
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/UnmodifiableMapMixin/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one key/value pair in the map.   
+_read-only, inherited_
+
+##### [keys](../package-collection_collection/UnmodifiableMapMixin/keys.md) &#8594; Iterable&lt;K>
+
+The keys of <a href="../package-collection_collection/UnmodifiableMapMixin-class.md">this</a>. [...](../package-collection_collection/UnmodifiableMapMixin/keys.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/UnmodifiableMapMixin/last.md) &#8592; dynamic
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_write-only_
+
+##### [length](../package-collection_collection/UnmodifiableMapMixin/length.md) &#8594; int
+
+The number of key/value pairs in the map.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableMapMixin/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [values](../package-collection_collection/UnmodifiableMapMixin/values.md) &#8594; Iterable&lt;V>
+
+The values of <a href="../package-collection_collection/UnmodifiableMapMixin-class.md">this</a>. [...](../package-collection_collection/UnmodifiableMapMixin/values.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [addAll](../package-collection_collection/UnmodifiableMapMixin/addAll.md)(Map&lt;K, V> other) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_override_
+
+##### [addEntries](../package-collection_collection/UnmodifiableMapMixin/addEntries.md)(Iterable&lt;MapEntry&lt;K, V>> newEntries) void
+
+Adds all key/value pairs of <code>newEntries</code> to this map. [...](../package-collection_collection/UnmodifiableMapMixin/addEntries.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/UnmodifiableMapMixin/cast.md)&lt;RK, RV>() Map&lt;RK, RV>
+
+Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary. [...](../package-collection_collection/UnmodifiableMapMixin/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/UnmodifiableMapMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_override_
+
+##### [containsKey](../package-collection_collection/UnmodifiableMapMixin/containsKey.md)(Object? key) bool
+
+Returns true if this map contains the given <code>key</code>. [...](../package-collection_collection/UnmodifiableMapMixin/containsKey.md)  
+_inherited_
+
+##### [containsValue](../package-collection_collection/UnmodifiableMapMixin/containsValue.md)(Object? value) bool
+
+Returns true if this map contains the given <code>value</code>. [...](../package-collection_collection/UnmodifiableMapMixin/containsValue.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/UnmodifiableMapMixin/forEach.md)(void f(K key, V value)) void
+
+Applies <code>f</code> to each key/value pair of the map. [...](../package-collection_collection/UnmodifiableMapMixin/forEach.md)  
+_inherited_
+
+##### [map](../package-collection_collection/UnmodifiableMapMixin/map.md)&lt;K2, V2>(MapEntry&lt;K2, V2> f(K key, V value)) Map&lt;K2, V2>
+
+Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.   
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md)  
+_inherited_
+
+##### [putIfAbsent](../package-collection_collection/UnmodifiableMapMixin/putIfAbsent.md)(K key, V ifAbsent()) V
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_override_
+
+##### [remove](../package-collection_collection/UnmodifiableMapMixin/remove.md)(Object? key) V
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_override_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableMapMixin/removeWhere.md)(bool predicate(K key, V value)) void
+
+Removes all entries of this map that satisfy the given <code>predicate</code>.   
+_inherited_
+
+##### [toString](../package-collection_collection/UnmodifiableMapMixin/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [update](../package-collection_collection/UnmodifiableMapMixin/update.md)(K key, V update(V value), {V ifAbsent()}) V
+
+Updates the value for the provided <code>key</code>. [...](../package-collection_collection/UnmodifiableMapMixin/update.md)  
+_inherited_
+
+##### [updateAll](../package-collection_collection/UnmodifiableMapMixin/updateAll.md)(V update(K key, V value)) void
+
+Updates all values. [...](../package-collection_collection/UnmodifiableMapMixin/updateAll.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/UnmodifiableMapMixin/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableMapMixin/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/UnmodifiableMapMixin/operator_get.md)(Object? key) V?
+
+Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map. [...](../package-collection_collection/UnmodifiableMapMixin/operator_get.md)  
+_inherited_
+
+##### [operator []=](../package-collection_collection/UnmodifiableMapMixin/operator_put.md)(K key, V value) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.   
+_override_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/UnmodifiableMapMixin.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/UnmodifiableMapMixin.md
new file mode 100644
index 0000000..fbfbfc0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/UnmodifiableMapMixin.md
@@ -0,0 +1,12 @@
+
+# UnmodifiableMapMixin&lt;K, V> constructor
+
+    *<Null safety>*
+
+
+
+UnmodifiableMapMixin&lt;K, V>()
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/addAll.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/addAll.md
new file mode 100644
index 0000000..8776844
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/addAll.md
@@ -0,0 +1,22 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Map&lt;K, V> other)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Map<K, V> other) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/addEntries.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/addEntries.md
new file mode 100644
index 0000000..e9e3888
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/addEntries.md
@@ -0,0 +1,24 @@
+
+# addEntries method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L258)
+    *<Null safety>*
+
+
+void addEntries
+(Iterable&lt;MapEntry&lt;K, V>> newEntries)
+_inherited_
+
+<p>Adds all key/value pairs of <code>newEntries</code> to this map.</p>
+<p>If a key of <code>newEntries</code> is already in this map,
+the corresponding value is overwritten.</p>
+<p>The operation is equivalent to doing <code>this[entry.key] = entry.value</code>
+for each <code>MapEntry</code> of the iterable.</p>
+
+## Implementation
+
+```dart
+void addEntries(Iterable<MapEntry<K, V>> newEntries);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/cast.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/cast.md
new file mode 100644
index 0000000..fbb1e9e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/cast.md
@@ -0,0 +1,28 @@
+
+# cast&lt;RK, RV> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L201)
+    *<Null safety>*
+
+
+Map&lt;RK, RV> cast
+&lt;RK, RV>()
+_inherited_
+
+<p>Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary.</p>
+<p>If this map is already a <code>Map&lt;RK, RV&gt;</code>, it is returned unchanged.</p>
+<p>If this set contains only keys of type <code>RK</code> and values of type <code>RV</code>,
+all read operations will work correctly.
+If any operation exposes a non-<code>RK</code> key or non-<code>RV</code> value,
+the operation will throw instead.</p>
+<p>Entries added to the map must be valid for both a <code>Map&lt;K, V&gt;</code> and a
+<code>Map&lt;RK, RV&gt;</code>.</p>
+
+## Implementation
+
+```dart
+Map<RK, RV> cast<RK, RV>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/clear.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/clear.md
new file mode 100644
index 0000000..f711b22
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/clear.md
@@ -0,0 +1,22 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/containsKey.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/containsKey.md
new file mode 100644
index 0000000..9e8b465
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/containsKey.md
@@ -0,0 +1,22 @@
+
+# containsKey method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L217)
+    *<Null safety>*
+
+
+bool containsKey
+(Object? key)
+_inherited_
+
+<p>Returns true if this map contains the given <code>key</code>.</p>
+<p>Returns true if any of the keys in the map are equal to <code>key</code>
+according to the equality used by the map.</p>
+
+## Implementation
+
+```dart
+bool containsKey(Object? key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/containsValue.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/containsValue.md
new file mode 100644
index 0000000..da35527
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/containsValue.md
@@ -0,0 +1,22 @@
+
+# containsValue method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L209)
+    *<Null safety>*
+
+
+bool containsValue
+(Object? value)
+_inherited_
+
+<p>Returns true if this map contains the given <code>value</code>.</p>
+<p>Returns true if any of the values in the map are equal to <code>value</code>
+according to the <code>==</code> operator.</p>
+
+## Implementation
+
+```dart
+bool containsValue(Object? value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/entries.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/entries.md
new file mode 100644
index 0000000..83eac74
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/entries.md
@@ -0,0 +1,20 @@
+
+# entries property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L241)
+    *<Null safety>*
+
+
+Iterable&lt;MapEntry&lt;K, V>> entries
+  
+_inherited_
+
+<p>The map entries of <a href="../../package-collection_collection/UnmodifiableMapMixin-class.md">this</a>.</p>
+
+## Implementation
+
+```dart
+Iterable<MapEntry<K, V>> get entries;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/first.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/first.md
new file mode 100644
index 0000000..088faa8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/first.md
@@ -0,0 +1,20 @@
+
+# first property
+
+    *<Null safety>*
+
+
+
+first=
+(dynamic _)  
+
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+set first(_) => _throw();
+```
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/forEach.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/forEach.md
new file mode 100644
index 0000000..9f9cc1f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/forEach.md
@@ -0,0 +1,21 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L341)
+    *<Null safety>*
+
+
+void forEach
+(void f(K key, V value))
+_inherited_
+
+<p>Applies <code>f</code> to each key/value pair of the map.</p>
+<p>Calling <code>f</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+void forEach(void f(K key, V value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/hashCode.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/hashCode.md
new file mode 100644
index 0000000..528a6ee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/UnmodifiableMapMixin/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/UnmodifiableMapMixin/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/UnmodifiableMapMixin/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/UnmodifiableMapMixin/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/UnmodifiableMapMixin/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/UnmodifiableMapMixin/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/isEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/isEmpty.md
new file mode 100644
index 0000000..e5f3551
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/isEmpty.md
@@ -0,0 +1,20 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L381)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns true if there is no key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/isNotEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/isNotEmpty.md
new file mode 100644
index 0000000..c18227d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/isNotEmpty.md
@@ -0,0 +1,20 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L386)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/keys.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/keys.md
new file mode 100644
index 0000000..158270f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/keys.md
@@ -0,0 +1,26 @@
+
+# keys property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L355)
+    *<Null safety>*
+
+
+Iterable&lt;K> keys
+  
+_inherited_
+
+<p>The keys of <a href="../../package-collection_collection/UnmodifiableMapMixin-class.md">this</a>.</p>
+<p>The returned iterable has efficient <code>length</code> and <code>contains</code> operations,
+based on <a href="../../package-collection_collection/UnmodifiableMapMixin/length.md">length</a> and <a href="../../package-collection_collection/UnmodifiableMapMixin/containsKey.md">containsKey</a> of the map.</p>
+<p>The order of iteration is defined by the individual <code>Map</code> implementation,
+but must be consistent between changes to the map.</p>
+<p>Modifying the map while iterating the keys
+may break the iteration.</p>
+
+## Implementation
+
+```dart
+Iterable<K> get keys;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/last.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/last.md
new file mode 100644
index 0000000..cdfc6a6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/last.md
@@ -0,0 +1,20 @@
+
+# last property
+
+    *<Null safety>*
+
+
+
+last=
+(dynamic _)  
+
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+set last(_) => _throw();
+```
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/length.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/length.md
new file mode 100644
index 0000000..95c2537
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/length.md
@@ -0,0 +1,20 @@
+
+# length property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L376)
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>The number of key/value pairs in the map.</p>
+
+## Implementation
+
+```dart
+int get length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/map.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/map.md
new file mode 100644
index 0000000..720c0f9
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/map.md
@@ -0,0 +1,21 @@
+
+# map&lt;K2, V2> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L247)
+    *<Null safety>*
+
+
+Map&lt;K2, V2> map
+&lt;K2, V2>(MapEntry&lt;K2, V2> f(K key, V value))
+_inherited_
+
+<p>Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.</p>
+
+## Implementation
+
+```dart
+Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> f(K key, V value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md
new file mode 100644
index 0000000..c419b17
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/UnmodifiableMapMixin/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_equals.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_equals.md
new file mode 100644
index 0000000..cbf8ccd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/UnmodifiableMapMixin/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_get.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_get.md
new file mode 100644
index 0000000..2f2b8ee
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_get.md
@@ -0,0 +1,25 @@
+
+# operator [] method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L228)
+    *<Null safety>*
+
+
+V? operator []
+(Object? key)
+_inherited_
+
+<p>Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map.</p>
+<p>Some maps allow keys to have <code>null</code> as a value.
+For those maps, a lookup using this operator cannot distinguish between a
+key not being in the map and the key having a <code>null</code> value.
+Methods like <a href="../../package-collection_collection/UnmodifiableMapMixin/containsKey.md">containsKey</a> or <a href="../../package-collection_collection/UnmodifiableMapMixin/putIfAbsent.md">putIfAbsent</a> can be used if the distinction
+is important.</p>
+
+## Implementation
+
+```dart
+V? operator [](Object? key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_put.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_put.md
new file mode 100644
index 0000000..ab72db2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/operator_put.md
@@ -0,0 +1,22 @@
+
+# operator []= method
+
+    *<Null safety>*
+
+- @override
+
+void operator []=
+(K key, V value)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void operator []=(K key, V value) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/putIfAbsent.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/putIfAbsent.md
new file mode 100644
index 0000000..fc01743
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/putIfAbsent.md
@@ -0,0 +1,22 @@
+
+# putIfAbsent method
+
+    *<Null safety>*
+
+- @override
+
+V putIfAbsent
+(K key, V ifAbsent())
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+V putIfAbsent(K key, V Function() ifAbsent) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/remove.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/remove.md
new file mode 100644
index 0000000..55075e2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/remove.md
@@ -0,0 +1,22 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+V remove
+(Object? key)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the map are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+V remove(Object? key) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/removeWhere.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/removeWhere.md
new file mode 100644
index 0000000..96f88e8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/removeWhere.md
@@ -0,0 +1,20 @@
+
+# removeWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L286)
+    *<Null safety>*
+
+
+void removeWhere
+(bool predicate(K key, V value))
+_inherited_
+
+<p>Removes all entries of this map that satisfy the given <code>predicate</code>.</p>
+
+## Implementation
+
+```dart
+void removeWhere(bool predicate(K key, V value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/runtimeType.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/toString.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/update.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/update.md
new file mode 100644
index 0000000..ecedc0e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/update.md
@@ -0,0 +1,26 @@
+
+# update method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L273)
+    *<Null safety>*
+
+
+V update
+(K key, V update(V value), {V ifAbsent()})
+_inherited_
+
+<p>Updates the value for the provided <code>key</code>.</p>
+<p>Returns the new value of the key.</p>
+<p>If the key is present, invokes <code>update</code> with the current value and stores
+the new value in the map.</p>
+<p>If the key is not present and <code>ifAbsent</code> is provided, calls <code>ifAbsent</code>
+and adds the key with the returned value to the map.</p>
+<p>It's an error if the key is not present and <code>ifAbsent</code> is not provided.</p>
+
+## Implementation
+
+```dart
+V update(K key, V update(V value), {V ifAbsent()?});
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/updateAll.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/updateAll.md
new file mode 100644
index 0000000..f15b25a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/updateAll.md
@@ -0,0 +1,22 @@
+
+# updateAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L281)
+    *<Null safety>*
+
+
+void updateAll
+(V update(K key, V value))
+_inherited_
+
+<p>Updates all values.</p>
+<p>Iterates over all entries in the map and updates them with the result
+of invoking <code>update</code>.</p>
+
+## Implementation
+
+```dart
+void updateAll(V update(K key, V value));
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapMixin/values.md b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/values.md
new file mode 100644
index 0000000..51b73bc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapMixin/values.md
@@ -0,0 +1,28 @@
+
+# values property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/map.dart#L371)
+    *<Null safety>*
+
+
+Iterable&lt;V> values
+  
+_inherited_
+
+<p>The values of <a href="../../package-collection_collection/UnmodifiableMapMixin-class.md">this</a>.</p>
+<p>The values are iterated in the order of their corresponding keys.
+This means that iterating <a href="../../package-collection_collection/UnmodifiableMapMixin/keys.md">keys</a> and <a href="../../package-collection_collection/UnmodifiableMapMixin/values.md">values</a> in parallel will
+provide matching pairs of keys and values.</p>
+<p>The returned iterable has an efficient <code>length</code> method based on the
+<a href="../../package-collection_collection/UnmodifiableMapMixin/length.md">length</a> of the map. Its <code>Iterable.contains</code> method is based on
+<code>==</code> comparison.</p>
+<p>Modifying the map while iterating the
+values may break the iteration.</p>
+
+## Implementation
+
+```dart
+Iterable<V> get values;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView-class.md b/sdk/dart/package-collection_collection/UnmodifiableMapView-class.md
new file mode 100644
index 0000000..3f7f4e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView-class.md
@@ -0,0 +1,174 @@
+
+# UnmodifiableMapView&lt;K, V> class
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L382)
+    *<Null safety>*
+
+<p>View of a <code>Map</code> that disallow modifying the map.</p>
+<p>A wrapper around a <code>Map</code> that forwards all members to the map provided in
+the constructor, except for operations that modify the map.
+Modifying operations throw instead.</p>
+
+**Inheritance**
+
+- Object
+- MapView&lt;K, V>
+- UnmodifiableMapView
+
+
+
+
+
+
+## Constructors
+
+[UnmodifiableMapView](../package-collection_collection/UnmodifiableMapView/UnmodifiableMapView.md) (Map&lt;K, V> map)
+
+   
+ 
+
+
+## Properties
+
+##### [entries](../package-collection_collection/UnmodifiableMapView/entries.md) &#8594; Iterable&lt;MapEntry&lt;K, V>>
+
+The map entries of <a href="../package-collection_collection/UnmodifiableMapView-class.md">this</a>.   
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/UnmodifiableMapView/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableMapView/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/UnmodifiableMapView/isEmpty.md) &#8594; bool
+
+Returns true if there is no key/value pair in the map.   
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/UnmodifiableMapView/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one key/value pair in the map.   
+_read-only, inherited_
+
+##### [keys](../package-collection_collection/UnmodifiableMapView/keys.md) &#8594; Iterable&lt;K>
+
+The keys of <a href="../package-collection_collection/UnmodifiableMapView-class.md">this</a>. [...](../package-collection_collection/UnmodifiableMapView/keys.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/UnmodifiableMapView/length.md) &#8594; int
+
+The number of key/value pairs in the map.   
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableMapView/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [values](../package-collection_collection/UnmodifiableMapView/values.md) &#8594; Iterable&lt;V>
+
+The values of <a href="../package-collection_collection/UnmodifiableMapView-class.md">this</a>. [...](../package-collection_collection/UnmodifiableMapView/values.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [addAll](../package-collection_collection/UnmodifiableMapView/addAll.md)(Map&lt;K, V> other) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [addEntries](../package-collection_collection/UnmodifiableMapView/addEntries.md)(Iterable&lt;MapEntry&lt;K, V>> entries) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [cast](../package-collection_collection/UnmodifiableMapView/cast.md)&lt;RK, RV>() Map&lt;RK, RV>
+
+Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary. [...](../package-collection_collection/UnmodifiableMapView/cast.md)  
+_override_
+
+##### [clear](../package-collection_collection/UnmodifiableMapView/clear.md)() void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [containsKey](../package-collection_collection/UnmodifiableMapView/containsKey.md)(Object? key) bool
+
+Returns true if this map contains the given <code>key</code>. [...](../package-collection_collection/UnmodifiableMapView/containsKey.md)  
+_inherited_
+
+##### [containsValue](../package-collection_collection/UnmodifiableMapView/containsValue.md)(Object? value) bool
+
+Returns true if this map contains the given <code>value</code>. [...](../package-collection_collection/UnmodifiableMapView/containsValue.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/UnmodifiableMapView/forEach.md)(void action(K key, V value)) void
+
+Applies <code>f</code> to each key/value pair of the map. [...](../package-collection_collection/UnmodifiableMapView/forEach.md)  
+_inherited_
+
+##### [map](../package-collection_collection/UnmodifiableMapView/map.md)&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K key, V value)) Map&lt;K2, V2>
+
+Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.   
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableMapView/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableMapView/noSuchMethod.md)  
+_inherited_
+
+##### [putIfAbsent](../package-collection_collection/UnmodifiableMapView/putIfAbsent.md)(K key, V ifAbsent()) V
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [remove](../package-collection_collection/UnmodifiableMapView/remove.md)(Object? key) V
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableMapView/removeWhere.md)(bool test(K key, V value)) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [toString](../package-collection_collection/UnmodifiableMapView/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [update](../package-collection_collection/UnmodifiableMapView/update.md)(K key, V update(V value), {V ifAbsent()}) V
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+##### [updateAll](../package-collection_collection/UnmodifiableMapView/updateAll.md)(V update(K key, V value)) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/UnmodifiableMapView/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableMapView/operator_equals.md)  
+_inherited_
+
+##### [operator []](../package-collection_collection/UnmodifiableMapView/operator_get.md)(Object? key) V?
+
+Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map. [...](../package-collection_collection/UnmodifiableMapView/operator_get.md)  
+_inherited_
+
+##### [operator []=](../package-collection_collection/UnmodifiableMapView/operator_put.md)(K key, V value) void
+
+This operation is not supported by an unmodifiable map.   
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/UnmodifiableMapView.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/UnmodifiableMapView.md
new file mode 100644
index 0000000..83e523e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/UnmodifiableMapView.md
@@ -0,0 +1,18 @@
+
+# UnmodifiableMapView&lt;K, V> constructor
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L384)
+    *<Null safety>*
+
+
+
+UnmodifiableMapView&lt;K, V>(Map&lt;K, V> map)
+
+
+## Implementation
+
+```dart
+UnmodifiableMapView(Map<K, V> map) : super(map);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/addAll.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/addAll.md
new file mode 100644
index 0000000..1b96873
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/addAll.md
@@ -0,0 +1,22 @@
+
+# addAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L276)
+    *<Null safety>*
+
+
+void addAll
+(Map&lt;K, V> other)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void addAll(Map<K, V> other) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/addEntries.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/addEntries.md
new file mode 100644
index 0000000..27e60d8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/addEntries.md
@@ -0,0 +1,22 @@
+
+# addEntries method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L281)
+    *<Null safety>*
+
+
+void addEntries
+(Iterable&lt;MapEntry&lt;K, V>> entries)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void addEntries(Iterable<MapEntry<K, V>> entries) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/cast.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/cast.md
new file mode 100644
index 0000000..21d4bd7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/cast.md
@@ -0,0 +1,29 @@
+
+# cast&lt;RK, RV> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L386)
+    *<Null safety>*
+
+
+Map&lt;RK, RV> cast
+&lt;RK, RV>()
+_override_
+
+<p>Provides a view of this map as having <code>RK</code> keys and <code>RV</code> instances,
+if necessary.</p>
+<p>If this map is already a <code>Map&lt;RK, RV&gt;</code>, it is returned unchanged.</p>
+<p>If this set contains only keys of type <code>RK</code> and values of type <code>RV</code>,
+all read operations will work correctly.
+If any operation exposes a non-<code>RK</code> key or non-<code>RV</code> value,
+the operation will throw instead.</p>
+<p>Entries added to the map must be valid for both a <code>Map&lt;K, V&gt;</code> and a
+<code>Map&lt;RK, RV&gt;</code>.</p>
+
+## Implementation
+
+```dart
+Map<RK, RV> cast<RK, RV>() =>
+    UnmodifiableMapView<RK, RV>(_map.cast<RK, RV>());
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/clear.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/clear.md
new file mode 100644
index 0000000..377d127
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/clear.md
@@ -0,0 +1,22 @@
+
+# clear method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L286)
+    *<Null safety>*
+
+
+void clear
+()
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void clear() {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/containsKey.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/containsKey.md
new file mode 100644
index 0000000..39b2900
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/containsKey.md
@@ -0,0 +1,22 @@
+
+# containsKey method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L342)
+    *<Null safety>*
+
+
+bool containsKey
+(Object? key)
+_inherited_
+
+<p>Returns true if this map contains the given <code>key</code>.</p>
+<p>Returns true if any of the keys in the map are equal to <code>key</code>
+according to the equality used by the map.</p>
+
+## Implementation
+
+```dart
+bool containsKey(Object? key) => _map.containsKey(key);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/containsValue.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/containsValue.md
new file mode 100644
index 0000000..0352960
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/containsValue.md
@@ -0,0 +1,22 @@
+
+# containsValue method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L343)
+    *<Null safety>*
+
+
+bool containsValue
+(Object? value)
+_inherited_
+
+<p>Returns true if this map contains the given <code>value</code>.</p>
+<p>Returns true if any of the values in the map are equal to <code>value</code>
+according to the <code>==</code> operator.</p>
+
+## Implementation
+
+```dart
+bool containsValue(Object? value) => _map.containsValue(value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/entries.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/entries.md
new file mode 100644
index 0000000..8511fb4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/entries.md
@@ -0,0 +1,20 @@
+
+# entries property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L356)
+    *<Null safety>*
+
+
+Iterable&lt;MapEntry&lt;K, V>> entries
+  
+_inherited_
+
+<p>The map entries of <a href="../../package-collection_collection/UnmodifiableMapView-class.md">this</a>.</p>
+
+## Implementation
+
+```dart
+Iterable<MapEntry<K, V>> get entries => _map.entries;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/forEach.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/forEach.md
new file mode 100644
index 0000000..acd93d6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/forEach.md
@@ -0,0 +1,23 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L344)
+    *<Null safety>*
+
+
+void forEach
+(void action(K key, V value))
+_inherited_
+
+<p>Applies <code>f</code> to each key/value pair of the map.</p>
+<p>Calling <code>f</code> must not add or remove keys from the map.</p>
+
+## Implementation
+
+```dart
+void forEach(void action(K key, V value)) {
+  _map.forEach(action);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/hashCode.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/hashCode.md
new file mode 100644
index 0000000..22511bc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/UnmodifiableMapView/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/UnmodifiableMapView/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/UnmodifiableMapView/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/UnmodifiableMapView/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/UnmodifiableMapView/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/UnmodifiableMapView/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/isEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/isEmpty.md
new file mode 100644
index 0000000..12f3dac
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/isEmpty.md
@@ -0,0 +1,20 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L348)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns true if there is no key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty => _map.isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/isNotEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/isNotEmpty.md
new file mode 100644
index 0000000..657f672
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/isNotEmpty.md
@@ -0,0 +1,20 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L349)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one key/value pair in the map.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => _map.isNotEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/keys.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/keys.md
new file mode 100644
index 0000000..81c1e29
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/keys.md
@@ -0,0 +1,26 @@
+
+# keys property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L351)
+    *<Null safety>*
+
+
+Iterable&lt;K> keys
+  
+_inherited_
+
+<p>The keys of <a href="../../package-collection_collection/UnmodifiableMapView-class.md">this</a>.</p>
+<p>The returned iterable has efficient <code>length</code> and <code>contains</code> operations,
+based on <a href="../../package-collection_collection/UnmodifiableMapView/length.md">length</a> and <a href="../../package-collection_collection/UnmodifiableMapView/containsKey.md">containsKey</a> of the map.</p>
+<p>The order of iteration is defined by the individual <code>Map</code> implementation,
+but must be consistent between changes to the map.</p>
+<p>Modifying the map while iterating the keys
+may break the iteration.</p>
+
+## Implementation
+
+```dart
+Iterable<K> get keys => _map.keys;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/length.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/length.md
new file mode 100644
index 0000000..4d07b76
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/length.md
@@ -0,0 +1,20 @@
+
+# length property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L350)
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>The number of key/value pairs in the map.</p>
+
+## Implementation
+
+```dart
+int get length => _map.length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/map.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/map.md
new file mode 100644
index 0000000..e2e4b22
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/map.md
@@ -0,0 +1,22 @@
+
+# map&lt;K2, V2> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L362)
+    *<Null safety>*
+
+
+Map&lt;K2, V2> map
+&lt;K2, V2>(MapEntry&lt;K2, V2> transform(K key, V value))
+_inherited_
+
+<p>Returns a new map where all entries of this map are transformed by
+the given <code>f</code> function.</p>
+
+## Implementation
+
+```dart
+Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> transform(K key, V value)) =>
+    _map.map<K2, V2>(transform);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/noSuchMethod.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/noSuchMethod.md
new file mode 100644
index 0000000..33e1f78
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/UnmodifiableMapView/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_equals.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_equals.md
new file mode 100644
index 0000000..6e76322
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/UnmodifiableMapView/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_get.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_get.md
new file mode 100644
index 0000000..42a31dc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_get.md
@@ -0,0 +1,25 @@
+
+# operator [] method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L328)
+    *<Null safety>*
+
+
+V? operator []
+(Object? key)
+_inherited_
+
+<p>Returns the value for the given <code>key</code> or null if <code>key</code> is not in the map.</p>
+<p>Some maps allow keys to have <code>null</code> as a value.
+For those maps, a lookup using this operator cannot distinguish between a
+key not being in the map and the key having a <code>null</code> value.
+Methods like <a href="../../package-collection_collection/UnmodifiableMapView/containsKey.md">containsKey</a> or <a href="../../package-collection_collection/UnmodifiableMapView/putIfAbsent.md">putIfAbsent</a> can be used if the distinction
+is important.</p>
+
+## Implementation
+
+```dart
+V? operator [](Object? key) => _map[key];
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_put.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_put.md
new file mode 100644
index 0000000..26007d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/operator_put.md
@@ -0,0 +1,22 @@
+
+# operator []= method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L271)
+    *<Null safety>*
+
+
+void operator []=
+(K key, V value)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void operator []=(K key, V value) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/putIfAbsent.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/putIfAbsent.md
new file mode 100644
index 0000000..a2e3f1c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/putIfAbsent.md
@@ -0,0 +1,22 @@
+
+# putIfAbsent method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L301)
+    *<Null safety>*
+
+
+V putIfAbsent
+(K key, V ifAbsent())
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+V putIfAbsent(K key, V ifAbsent()) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/remove.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/remove.md
new file mode 100644
index 0000000..cc698d4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/remove.md
@@ -0,0 +1,22 @@
+
+# remove method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L291)
+    *<Null safety>*
+
+
+V remove
+(Object? key)
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+V remove(Object? key) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/removeWhere.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/removeWhere.md
new file mode 100644
index 0000000..722254d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/removeWhere.md
@@ -0,0 +1,22 @@
+
+# removeWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L296)
+    *<Null safety>*
+
+
+void removeWhere
+(bool test(K key, V value))
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void removeWhere(bool test(K key, V value)) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/runtimeType.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/toString.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/toString.md
new file mode 100644
index 0000000..b8df9dc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L353)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+String toString() => _map.toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/update.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/update.md
new file mode 100644
index 0000000..c24cfde
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/update.md
@@ -0,0 +1,22 @@
+
+# update method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L306)
+    *<Null safety>*
+
+
+V update
+(K key, V update(V value), {V ifAbsent()})
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+V update(K key, V update(V value), {V Function()? ifAbsent}) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/updateAll.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/updateAll.md
new file mode 100644
index 0000000..a9a4a14
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/updateAll.md
@@ -0,0 +1,22 @@
+
+# updateAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L311)
+    *<Null safety>*
+
+
+void updateAll
+(V update(K key, V value))
+_inherited_
+
+<p>This operation is not supported by an unmodifiable map.</p>
+
+## Implementation
+
+```dart
+void updateAll(V update(K key, V value)) {
+  throw UnsupportedError("Cannot modify unmodifiable map");
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableMapView/values.md b/sdk/dart/package-collection_collection/UnmodifiableMapView/values.md
new file mode 100644
index 0000000..6fbfce1
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableMapView/values.md
@@ -0,0 +1,28 @@
+
+# values property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/collection/maps.dart#L354)
+    *<Null safety>*
+
+
+Iterable&lt;V> values
+  
+_inherited_
+
+<p>The values of <a href="../../package-collection_collection/UnmodifiableMapView-class.md">this</a>.</p>
+<p>The values are iterated in the order of their corresponding keys.
+This means that iterating <a href="../../package-collection_collection/UnmodifiableMapView/keys.md">keys</a> and <a href="../../package-collection_collection/UnmodifiableMapView/values.md">values</a> in parallel will
+provide matching pairs of keys and values.</p>
+<p>The returned iterable has an efficient <code>length</code> method based on the
+<a href="../../package-collection_collection/UnmodifiableMapView/length.md">length</a> of the map. Its <code>Iterable.contains</code> method is based on
+<code>==</code> comparison.</p>
+<p>Modifying the map while iterating the
+values may break the iteration.</p>
+
+## Implementation
+
+```dart
+Iterable<V> get values => _map.values;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin-class.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin-class.md
new file mode 100644
index 0000000..2dce5c6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin-class.md
@@ -0,0 +1,300 @@
+
+# UnmodifiableSetMixin&lt;E> class
+
+    *<Null safety>*
+
+<p>Mixin class that implements a throwing version of all set operations that
+change the Set.</p>
+
+
+**Implemented types**
+
+- Set&lt;E>
+
+
+**Implementers**
+
+- [MapKeySet](../package-collection_collection/MapKeySet-class.md)
+- [UnionSet](../package-collection_collection/UnionSet-class.md)
+- [UnmodifiableSetView](../package-collection_collection/UnmodifiableSetView-class.md)
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[UnmodifiableSetMixin](../package-collection_collection/UnmodifiableSetMixin/UnmodifiableSetMixin.md) ()
+
+   
+ 
+
+
+## Properties
+
+##### [first](../package-collection_collection/UnmodifiableSetMixin/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/UnmodifiableSetMixin/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/UnmodifiableSetMixin/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/UnmodifiableSetMixin/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/UnmodifiableSetMixin/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/UnmodifiableSetMixin/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/UnmodifiableSetMixin/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/UnmodifiableSetMixin/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/UnmodifiableSetMixin/iterator.md) &#8594; Iterator&lt;E>
+
+Provides an iterator that iterates over the elements of this set. [...](../package-collection_collection/UnmodifiableSetMixin/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/UnmodifiableSetMixin/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/UnmodifiableSetMixin/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/UnmodifiableSetMixin/length.md) &#8594; int
+
+Returns the number of elements in the iterable. [...](../package-collection_collection/UnmodifiableSetMixin/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/UnmodifiableSetMixin/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/UnmodifiableSetMixin/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/UnmodifiableSetMixin/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/UnmodifiableSetMixin/add.md)(E value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [addAll](../package-collection_collection/UnmodifiableSetMixin/addAll.md)(Iterable&lt;E> elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [any](../package-collection_collection/UnmodifiableSetMixin/any.md)(bool test(E element)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/UnmodifiableSetMixin/cast.md)&lt;R>() Set&lt;R>
+
+Provides a view of this set as a set of <code>R</code> instances. [...](../package-collection_collection/UnmodifiableSetMixin/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/UnmodifiableSetMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [contains](../package-collection_collection/UnmodifiableSetMixin/contains.md)(Object? value) bool
+
+Returns true if <code>value</code> is in the set.   
+_inherited_
+
+##### [containsAll](../package-collection_collection/UnmodifiableSetMixin/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_inherited_
+
+##### [difference](../package-collection_collection/UnmodifiableSetMixin/difference.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set with the elements of this that are not in <code>other</code>. [...](../package-collection_collection/UnmodifiableSetMixin/difference.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/UnmodifiableSetMixin/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/UnmodifiableSetMixin/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/UnmodifiableSetMixin/every.md)(bool test(E element)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/UnmodifiableSetMixin/expand.md)&lt;T>(Iterable&lt;T> f(E element)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/UnmodifiableSetMixin/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/UnmodifiableSetMixin/firstWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/UnmodifiableSetMixin/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/UnmodifiableSetMixin/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/UnmodifiableSetMixin/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/UnmodifiableSetMixin/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/UnmodifiableSetMixin/forEach.md)(void f(E element)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/UnmodifiableSetMixin/intersection.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set which is the intersection between this set and <code>other</code>. [...](../package-collection_collection/UnmodifiableSetMixin/intersection.md)  
+_inherited_
+
+##### [join](../package-collection_collection/UnmodifiableSetMixin/join.md)([String separator = ""]) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/UnmodifiableSetMixin/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/UnmodifiableSetMixin/lastWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/UnmodifiableSetMixin/lookup.md)(Object? object) E?
+
+If an object equal to <code>object</code> is in the set, return it. [...](../package-collection_collection/UnmodifiableSetMixin/lookup.md)  
+_inherited_
+
+##### [map](../package-collection_collection/UnmodifiableSetMixin/map.md)&lt;T>(T f(E e)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/UnmodifiableSetMixin/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/UnmodifiableSetMixin/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/UnmodifiableSetMixin/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/UnmodifiableSetMixin/remove.md)(Object? value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [removeAll](../package-collection_collection/UnmodifiableSetMixin/removeAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableSetMixin/removeWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [retainAll](../package-collection_collection/UnmodifiableSetMixin/retainAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [retainWhere](../package-collection_collection/UnmodifiableSetMixin/retainWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_override_
+
+##### [singleWhere](../package-collection_collection/UnmodifiableSetMixin/singleWhere.md)(bool test(E element), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/UnmodifiableSetMixin/skip.md)(int count) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/UnmodifiableSetMixin/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/UnmodifiableSetMixin/skipWhile.md)(bool test(E value)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/UnmodifiableSetMixin/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/UnmodifiableSetMixin/take.md)(int count) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/UnmodifiableSetMixin/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/UnmodifiableSetMixin/takeWhile.md)(bool test(E value)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/UnmodifiableSetMixin/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/UnmodifiableSetMixin/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/UnmodifiableSetMixin/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> with the same elements and behavior as this <code>Set</code>. [...](../package-collection_collection/UnmodifiableSetMixin/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/UnmodifiableSetMixin/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [union](../package-collection_collection/UnmodifiableSetMixin/union.md)(Set&lt;E> other) Set&lt;E>
+
+Returns a new set which contains all the elements of this set and <code>other</code>. [...](../package-collection_collection/UnmodifiableSetMixin/union.md)  
+_inherited_
+
+##### [where](../package-collection_collection/UnmodifiableSetMixin/where.md)(bool test(E element)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/UnmodifiableSetMixin/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/UnmodifiableSetMixin/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/UnmodifiableSetMixin/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/UnmodifiableSetMixin/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/UnmodifiableSetMixin/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/UnmodifiableSetMixin.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/UnmodifiableSetMixin.md
new file mode 100644
index 0000000..76de731
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/UnmodifiableSetMixin.md
@@ -0,0 +1,12 @@
+
+# UnmodifiableSetMixin&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+UnmodifiableSetMixin&lt;E>()
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/add.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/add.md
new file mode 100644
index 0000000..aabe51f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/add.md
@@ -0,0 +1,22 @@
+
+# add method
+
+    *<Null safety>*
+
+- @override
+
+bool add
+(E value)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+bool add(E value) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/addAll.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/addAll.md
new file mode 100644
index 0000000..fd7b9a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/addAll.md
@@ -0,0 +1,22 @@
+
+# addAll method
+
+    *<Null safety>*
+
+- @override
+
+void addAll
+(Iterable&lt;E> elements)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void addAll(Iterable<E> elements) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/any.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/any.md
new file mode 100644
index 0000000..c02deb4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/any.md
@@ -0,0 +1,27 @@
+
+# any method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L390)
+    *<Null safety>*
+
+
+bool any
+(bool test(E element))
+_inherited_
+
+<p>Checks whether any element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>true</code> if
+any of them make <code>test</code> return <code>true</code>, otherwise returns false.</p>
+
+## Implementation
+
+```dart
+bool any(bool test(E element)) {
+  for (E element in this) {
+    if (test(element)) return true;
+  }
+  return false;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/cast.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/cast.md
new file mode 100644
index 0000000..b46ec94
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/cast.md
@@ -0,0 +1,27 @@
+
+# cast&lt;R> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L128)
+    *<Null safety>*
+
+
+Set&lt;R> cast
+&lt;R>()
+_inherited_
+
+<p>Provides a view of this set as a set of <code>R</code> instances.</p>
+<p>If this set contains only instances of <code>R</code>, all read operations
+will work correctly. If any operation tries to access an element
+that is not an instance of <code>R</code>, the access will throw instead.</p>
+<p>Elements added to the set (e.g., by using <a href="../../package-collection_collection/UnmodifiableSetMixin/add.md">add</a> or <a href="../../package-collection_collection/UnmodifiableSetMixin/addAll.md">addAll</a>)
+must be instance of <code>R</code> to be valid arguments to the adding function,
+and they must be instances of <code>E</code> as well to be accepted by
+this set as well.</p>
+
+## Implementation
+
+```dart
+Set<R> cast<R>();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/clear.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/clear.md
new file mode 100644
index 0000000..dba37c4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/clear.md
@@ -0,0 +1,22 @@
+
+# clear method
+
+    *<Null safety>*
+
+- @override
+
+void clear
+()
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void clear() => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/contains.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/contains.md
new file mode 100644
index 0000000..0b0b674
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/contains.md
@@ -0,0 +1,20 @@
+
+# contains method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L141)
+    *<Null safety>*
+
+
+bool contains
+(Object? value)
+_inherited_
+
+<p>Returns true if <code>value</code> is in the set.</p>
+
+## Implementation
+
+```dart
+bool contains(Object? value);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/containsAll.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/containsAll.md
new file mode 100644
index 0000000..c8270ba
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/containsAll.md
@@ -0,0 +1,20 @@
+
+# containsAll method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L225)
+    *<Null safety>*
+
+
+bool containsAll
+(Iterable&lt;Object?> other)
+_inherited_
+
+<p>Returns whether this Set contains all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+bool containsAll(Iterable<Object?> other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/difference.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/difference.md
new file mode 100644
index 0000000..ebd0339
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/difference.md
@@ -0,0 +1,22 @@
+
+# difference method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L249)
+    *<Null safety>*
+
+
+Set&lt;E> difference
+(Set&lt;Object?> other)
+_inherited_
+
+<p>Returns a new set with the elements of this that are not in <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that
+are not elements of <code>other</code> according to <code>other.contains</code>.</p>
+
+## Implementation
+
+```dart
+Set<E> difference(Set<Object?> other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/elementAt.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/elementAt.md
new file mode 100644
index 0000000..8310a15
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/elementAt.md
@@ -0,0 +1,34 @@
+
+# elementAt method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L646)
+    *<Null safety>*
+
+
+E elementAt
+(int index)
+_inherited_
+
+<p>Returns the <code>index</code>th element.</p>
+<p>The <code>index</code> must be non-negative and less than <a href="../../package-collection_collection/UnmodifiableSetMixin/length.md">length</a>.
+Index zero represents the first element (so <code>iterable.elementAt(0)</code> is
+equivalent to <code>iterable.first</code>).</p>
+<p>May iterate through the elements in iteration order, ignoring the
+first <code>index</code> elements and then returning the next.
+Some iterables may have a more efficient way to find the element.</p>
+
+## Implementation
+
+```dart
+E elementAt(int index) {
+  RangeError.checkNotNegative(index, "index");
+  int elementIndex = 0;
+  for (E element in this) {
+    if (index == elementIndex) return element;
+    elementIndex++;
+  }
+  throw RangeError.index(index, this, "index", null, elementIndex);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/every.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/every.md
new file mode 100644
index 0000000..bbcce02
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/every.md
@@ -0,0 +1,27 @@
+
+# every method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L351)
+    *<Null safety>*
+
+
+bool every
+(bool test(E element))
+_inherited_
+
+<p>Checks whether every element of this iterable satisfies <code>test</code>.</p>
+<p>Checks every element in iteration order, and returns <code>false</code> if
+any of them make <code>test</code> return <code>false</code>, otherwise returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool every(bool test(E element)) {
+  for (E element in this) {
+    if (!test(element)) return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/expand.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/expand.md
new file mode 100644
index 0000000..4519f26
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/expand.md
@@ -0,0 +1,34 @@
+
+# expand&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L252)
+    *<Null safety>*
+
+
+Iterable&lt;T> expand
+&lt;T>(Iterable&lt;T> f(E element))
+_inherited_
+
+<p>Expands each element of this <code>Iterable</code> into zero or more elements.</p>
+<p>The resulting Iterable runs through the elements returned
+by <code>f</code> for each element of this, in iteration order.</p>
+<p>The returned <code>Iterable</code> is lazy, and calls <code>f</code> for each element
+of this every time it's iterated.</p>
+<p>Example:</p>
+<pre class="language-dart"><code>var pairs = [[1, 2], [3, 4]];
+var flattened = pairs.expand((pair) =&gt; pair).toList();
+print(flattened); // =&gt; [1, 2, 3, 4];
+
+var input = [1, 2, 3];
+var duplicated = input.expand((i) =&gt; [i, i]).toList();
+print(duplicated); // =&gt; [1, 1, 2, 2, 3, 3]
+</code></pre>
+
+## Implementation
+
+```dart
+Iterable<T> expand<T>(Iterable<T> f(E element)) =>
+    ExpandIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/first.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/first.md
new file mode 100644
index 0000000..5f08477
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/first.md
@@ -0,0 +1,29 @@
+
+# first property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L521)
+    *<Null safety>*
+
+
+E first
+  
+_inherited_
+
+<p>Returns the first element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise returns the first element in the iteration order,
+equivalent to <code>this.elementAt(0)</code>.</p>
+
+## Implementation
+
+```dart
+E get first {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  return it.current;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/firstWhere.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/firstWhere.md
new file mode 100644
index 0000000..a3cb123
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/firstWhere.md
@@ -0,0 +1,30 @@
+
+# firstWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L573)
+    *<Null safety>*
+
+
+E firstWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the first element that satisfies the given predicate <code>test</code>.</p>
+<p>Iterates through elements and returns the first to satisfy <code>test</code>.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E firstWhere(bool test(E element), {E orElse()?}) {
+  for (E element in this) {
+    if (test(element)) return element;
+  }
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/fold.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/fold.md
new file mode 100644
index 0000000..36a907c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/fold.md
@@ -0,0 +1,37 @@
+
+# fold&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L339)
+    *<Null safety>*
+
+
+T fold
+&lt;T>(T initialValue, T combine(T previousValue, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value</p>
+<p>Uses <code>initialValue</code> as the initial value,
+then iterates through the elements and updates the value with
+each element using the <code>combine</code> function, as if by:</p>
+<pre class="language-dart"><code>var value = initialValue;
+for (E element in this) {
+  value = combine(value, element);
+}
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.fold(0, (prev, element) =&gt; prev + element);
+</code></pre>
+
+## Implementation
+
+```dart
+T fold<T>(T initialValue, T combine(T previousValue, E element)) {
+  var value = initialValue;
+  for (E element in this) value = combine(value, element);
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/followedBy.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/followedBy.md
new file mode 100644
index 0000000..9b66918
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/followedBy.md
@@ -0,0 +1,29 @@
+
+# followedBy method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L179)
+    *<Null safety>*
+
+
+Iterable&lt;E> followedBy
+(Iterable&lt;E> other)
+_inherited_
+
+<p>Returns the lazy concatentation of this iterable and <code>other</code>.</p>
+<p>The returned iterable will provide the same elements as this iterable,
+and, after that, the elements of <code>other</code>, in the same order as in the
+original iterables.</p>
+
+## Implementation
+
+```dart
+Iterable<E> followedBy(Iterable<E> other) {
+  var self = this; // TODO(lrn): Remove when we can promote `this`.
+  if (self is EfficientLengthIterable<E>) {
+    return FollowedByIterable<E>.firstEfficient(self, other);
+  }
+  return FollowedByIterable<E>(this, other);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/forEach.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/forEach.md
new file mode 100644
index 0000000..8a56c61
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/forEach.md
@@ -0,0 +1,23 @@
+
+# forEach method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L282)
+    *<Null safety>*
+
+
+void forEach
+(void f(E element))
+_inherited_
+
+<p>Applies the function <code>f</code> to each element of this collection in iteration
+order.</p>
+
+## Implementation
+
+```dart
+void forEach(void f(E element)) {
+  for (E element in this) f(element);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/hashCode.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/hashCode.md
new file mode 100644
index 0000000..4bb61be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-collection_collection/UnmodifiableSetMixin/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-collection_collection/UnmodifiableSetMixin/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-collection_collection/UnmodifiableSetMixin/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-collection_collection/UnmodifiableSetMixin/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-collection_collection/UnmodifiableSetMixin/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-collection_collection/UnmodifiableSetMixin/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/intersection.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/intersection.md
new file mode 100644
index 0000000..541fb42
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/intersection.md
@@ -0,0 +1,22 @@
+
+# intersection method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L233)
+    *<Null safety>*
+
+
+Set&lt;E> intersection
+(Set&lt;Object?> other)
+_inherited_
+
+<p>Returns a new set which is the intersection between this set and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> that
+are also elements of <code>other</code> according to <code>other.contains</code>.</p>
+
+## Implementation
+
+```dart
+Set<E> intersection(Set<Object?> other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/isEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/isEmpty.md
new file mode 100644
index 0000000..9617373
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/isEmpty.md
@@ -0,0 +1,21 @@
+
+# isEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L440)
+    *<Null safety>*
+
+
+bool isEmpty
+  
+_inherited_
+
+<p>Returns <code>true</code> if there are no elements in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+bool get isEmpty => !iterator.moveNext();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/isNotEmpty.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/isNotEmpty.md
new file mode 100644
index 0000000..79fa8e0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/isNotEmpty.md
@@ -0,0 +1,21 @@
+
+# isNotEmpty property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L447)
+    *<Null safety>*
+
+
+bool isNotEmpty
+  
+_inherited_
+
+<p>Returns true if there is at least one element in this collection.</p>
+<p>May be computed by checking if <code>iterator.moveNext()</code> returns <code>true</code>.</p>
+
+## Implementation
+
+```dart
+bool get isNotEmpty => !isEmpty;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/iterator.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/iterator.md
new file mode 100644
index 0000000..bb1648c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/iterator.md
@@ -0,0 +1,22 @@
+
+# iterator property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L136)
+    *<Null safety>*
+
+
+Iterator&lt;E> iterator
+  
+_inherited_
+
+<p>Provides an iterator that iterates over the elements of this set.</p>
+<p>The order of iteration is defined by the individual <code>Set</code> implementation,
+but must be consistent between changes to the set.</p>
+
+## Implementation
+
+```dart
+Iterator<E> get iterator;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/join.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/join.md
new file mode 100644
index 0000000..abe91fd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/join.md
@@ -0,0 +1,40 @@
+
+# join method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L366)
+    *<Null safety>*
+
+
+String join
+([String separator = ""])
+_inherited_
+
+<p>Converts each element to a <code>String</code> and concatenates the strings.</p>
+<p>Iterates through elements of this iterable,
+converts each one to a <code>String</code> by calling <code>Object.toString</code>,
+and then concatenates the strings, with the
+<code>separator</code> string interleaved between the elements.</p>
+
+## Implementation
+
+```dart
+String join([String separator = ""]) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) return "";
+  StringBuffer buffer = StringBuffer();
+  if (separator == null || separator == "") {
+    do {
+      buffer.write(iterator.current.toString());
+    } while (iterator.moveNext());
+  } else {
+    buffer.write(iterator.current.toString());
+    while (iterator.moveNext()) {
+      buffer.write(separator);
+      buffer.write(iterator.current.toString());
+    }
+  }
+  return buffer.toString();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/last.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/last.md
new file mode 100644
index 0000000..f7a8fa2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/last.md
@@ -0,0 +1,36 @@
+
+# last property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L539)
+    *<Null safety>*
+
+
+E last
+  
+_inherited_
+
+<p>Returns the last element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty.
+Otherwise may iterate through the elements and returns the last one
+seen.
+Some iterables may have more efficient ways to find the last element
+(for example a list can directly access the last element,
+without iterating through the previous ones).</p>
+
+## Implementation
+
+```dart
+E get last {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E result;
+  do {
+    result = it.current;
+  } while (it.moveNext());
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/lastWhere.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/lastWhere.md
new file mode 100644
index 0000000..9e504a4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/lastWhere.md
@@ -0,0 +1,41 @@
+
+# lastWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L595)
+    *<Null safety>*
+
+
+E lastWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the last element that satisfies the given predicate <code>test</code>.</p>
+<p>An iterable that can access its elements directly may check its
+elements in any order (for example a list starts by checking the
+last element and then moves towards the start of the list).
+The default implementation iterates elements in iteration order,
+checks <code>test(element)</code> for each,
+and finally returns that last one that matched.</p>
+<p>If no element satisfies <code>test</code>, the result of invoking the <code>orElse</code>
+function is returned.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E lastWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/length.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/length.md
new file mode 100644
index 0000000..78343de
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/length.md
@@ -0,0 +1,22 @@
+
+# length property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/internal/iterable.dart#L19)
+    *<Null safety>*
+
+
+int length
+  
+_inherited_
+
+<p>Returns the number of elements in the iterable.</p>
+<p>This is an efficient operation that doesn't require iterating through
+the elements.</p>
+
+## Implementation
+
+```dart
+int get length;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/lookup.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/lookup.md
new file mode 100644
index 0000000..634823e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/lookup.md
@@ -0,0 +1,29 @@
+
+# lookup method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L195)
+    *<Null safety>*
+
+
+E? lookup
+(Object? object)
+_inherited_
+
+<p>If an object equal to <code>object</code> is in the set, return it.</p>
+<p>Checks whether <code>object</code> is in the set, like <a href="../../package-collection_collection/UnmodifiableSetMixin/contains.md">contains</a>, and if so,
+returns the object in the set, otherwise returns <code>null</code>.</p>
+<p>If the equality relation used by the set is not identity,
+then the returned object may not be <em>identical</em> to <code>object</code>.
+Some set implementations may not be able to implement this method.
+If the <a href="../../package-collection_collection/UnmodifiableSetMixin/contains.md">contains</a> method is computed,
+rather than being based on an actual object instance,
+then there may not be a specific object instance representing the
+set element.</p>
+
+## Implementation
+
+```dart
+E? lookup(Object? object);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/map.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/map.md
new file mode 100644
index 0000000..cf9c30b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/map.md
@@ -0,0 +1,29 @@
+
+# map&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L201)
+    *<Null safety>*
+
+
+Iterable&lt;T> map
+&lt;T>(T f(E e))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order.</p>
+<p>This method returns a view of the mapped elements. As long as the
+returned <code>Iterable</code> is not iterated over, the supplied function <code>f</code> will
+not be invoked. The transformed elements will not be cached. Iterating
+multiple times over the returned <code>Iterable</code> will invoke the supplied
+function <code>f</code> multiple times on the same element.</p>
+<p>Methods on the returned iterable are allowed to omit calling <code>f</code>
+on any element where the result isn't needed.
+For example, <a href="../../package-collection_collection/UnmodifiableSetMixin/elementAt.md">elementAt</a> may call <code>f</code> only once.</p>
+
+## Implementation
+
+```dart
+Iterable<T> map<T>(T f(E e)) => MappedIterable<E, T>(this, f);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md
new file mode 100644
index 0000000..236605b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-collection_collection/UnmodifiableSetMixin/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/operator_equals.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/operator_equals.md
new file mode 100644
index 0000000..91157f7
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-collection_collection/UnmodifiableSetMixin/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/reduce.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/reduce.md
new file mode 100644
index 0000000..25ddcfc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/reduce.md
@@ -0,0 +1,45 @@
+
+# reduce method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L308)
+    *<Null safety>*
+
+
+E reduce
+(E combine(E value, E element))
+_inherited_
+
+<p>Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function.</p>
+<p>The iterable must have at least one element.
+If it has only one element, that element is returned.</p>
+<p>Otherwise this method starts with the first element from the iterator,
+and then combines it with the remaining elements in iteration order,
+as if by:</p>
+<pre class="language-dart"><code>E value = iterable.first;
+iterable.skip(1).forEach((element) {
+  value = combine(value, element);
+});
+return value;
+</code></pre>
+<p>Example of calculating the sum of an iterable:</p>
+<pre class="language-dart"><code>iterable.reduce((value, element) =&gt; value + element);
+</code></pre>
+
+## Implementation
+
+```dart
+E reduce(E combine(E value, E element)) {
+  Iterator<E> iterator = this.iterator;
+  if (!iterator.moveNext()) {
+    throw IterableElementError.noElement();
+  }
+  E value = iterator.current;
+  while (iterator.moveNext()) {
+    value = combine(value, iterator.current);
+  }
+  return value;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/remove.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/remove.md
new file mode 100644
index 0000000..9a12023
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/remove.md
@@ -0,0 +1,22 @@
+
+# remove method
+
+    *<Null safety>*
+
+- @override
+
+bool remove
+(Object? value)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+bool remove(Object? value) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/removeAll.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/removeAll.md
new file mode 100644
index 0000000..d16ccc2
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/removeAll.md
@@ -0,0 +1,22 @@
+
+# removeAll method
+
+    *<Null safety>*
+
+- @override
+
+void removeAll
+(Iterable elements)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void removeAll(Iterable elements) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/removeWhere.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/removeWhere.md
new file mode 100644
index 0000000..1cd8c62
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/removeWhere.md
@@ -0,0 +1,22 @@
+
+# removeWhere method
+
+    *<Null safety>*
+
+- @override
+
+void removeWhere
+(bool test(E))
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void removeWhere(bool Function(E) test) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/retainAll.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/retainAll.md
new file mode 100644
index 0000000..62e4ca0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/retainAll.md
@@ -0,0 +1,22 @@
+
+# retainAll method
+
+    *<Null safety>*
+
+- @override
+
+void retainAll
+(Iterable elements)
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void retainAll(Iterable elements) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/retainWhere.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/retainWhere.md
new file mode 100644
index 0000000..f901bdd
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/retainWhere.md
@@ -0,0 +1,22 @@
+
+# retainWhere method
+
+    *<Null safety>*
+
+- @override
+
+void retainWhere
+(bool test(E))
+_override_
+
+<p>Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.</p>
+
+## Implementation
+
+```dart
+@override
+void retainWhere(bool Function(E) test) => _throw();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/runtimeType.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/single.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/single.md
new file mode 100644
index 0000000..636fdcc
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/single.md
@@ -0,0 +1,27 @@
+
+# single property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L556)
+    *<Null safety>*
+
+
+E single
+  
+_inherited_
+
+<p>Checks that this iterable has only one element, and returns that element.</p>
+<p>Throws a <code>StateError</code> if <code>this</code> is empty or has more than one element.</p>
+
+## Implementation
+
+```dart
+E get single {
+  Iterator<E> it = iterator;
+  if (!it.moveNext()) throw IterableElementError.noElement();
+  E result = it.current;
+  if (it.moveNext()) throw IterableElementError.tooMany();
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/singleWhere.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/singleWhere.md
new file mode 100644
index 0000000..6ac76ab
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/singleWhere.md
@@ -0,0 +1,40 @@
+
+# singleWhere method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L618)
+    *<Null safety>*
+
+
+E singleWhere
+(bool test(E element), {E orElse()})
+_inherited_
+
+<p>Returns the single element that satisfies <code>test</code>.</p>
+<p>Checks elements to see if <code>test(element)</code> returns true.
+If exactly one element satisfies <code>test</code>, that element is returned.
+If more than one matching element is found, throws <code>StateError</code>.
+If no matching element is found, returns the result of <code>orElse</code>.
+If <code>orElse</code> is omitted, it defaults to throwing a <code>StateError</code>.</p>
+
+## Implementation
+
+```dart
+E singleWhere(bool test(E element), {E orElse()?}) {
+  late E result;
+  bool foundMatching = false;
+  for (E element in this) {
+    if (test(element)) {
+      if (foundMatching) {
+        throw IterableElementError.tooMany();
+      }
+      result = element;
+      foundMatching = true;
+    }
+  }
+  if (foundMatching) return result;
+  if (orElse != null) return orElse();
+  throw IterableElementError.noElement();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/skip.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/skip.md
new file mode 100644
index 0000000..a67935a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/skip.md
@@ -0,0 +1,32 @@
+
+# skip method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L494)
+    *<Null safety>*
+
+
+Iterable&lt;E> skip
+(int count)
+_inherited_
+
+<p>Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements.</p>
+<p>When the returned iterable is iterated, it starts iterating over <code>this</code>,
+first skipping past the initial <code>count</code> elements.
+If <code>this</code> has fewer than <code>count</code> elements, then the resulting Iterable is
+empty.
+After that, the remaining elements are iterated in the same order as
+in this iterable.</p>
+<p>Some iterables may be able to find later elements without first iterating
+through earlier elements, for example when iterating a <code>List</code>.
+Such iterables are allowed to ignore the initial skipped elements.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skip(int count) {
+  return SkipIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/skipWhile.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/skipWhile.md
new file mode 100644
index 0000000..bc6d32c
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/skipWhile.md
@@ -0,0 +1,29 @@
+
+# skipWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L510)
+    *<Null safety>*
+
+
+Iterable&lt;E> skipWhile
+(bool test(E value))
+_inherited_
+
+<p>Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied.</p>
+<p>The filtering happens lazily. Every new <code>Iterator</code> of the returned
+iterable iterates over all elements of <code>this</code>.</p>
+<p>The returned iterable provides elements by iterating this iterable,
+but skipping over all initial elements where <code>test(element)</code> returns
+true. If all elements satisfy <code>test</code> the resulting iterable is empty,
+otherwise it iterates the remaining elements in their original order,
+starting with the first element for which <code>test(element)</code> returns <code>false</code>.</p>
+
+## Implementation
+
+```dart
+Iterable<E> skipWhile(bool test(E value)) {
+  return SkipWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/take.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/take.md
new file mode 100644
index 0000000..274266f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/take.md
@@ -0,0 +1,27 @@
+
+# take method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L460)
+    *<Null safety>*
+
+
+Iterable&lt;E> take
+(int count)
+_inherited_
+
+<p>Returns a lazy iterable of the <code>count</code> first elements of this iterable.</p>
+<p>The returned <code>Iterable</code> may contain fewer than <code>count</code> elements, if <code>this</code>
+contains fewer than <code>count</code> elements.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/UnmodifiableSetMixin/iterator.md">iterator</a> until <code>count</code>
+elements have been seen.</p>
+<p>The <code>count</code> must not be negative.</p>
+
+## Implementation
+
+```dart
+Iterable<E> take(int count) {
+  return TakeIterable<E>(this, count);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/takeWhile.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/takeWhile.md
new file mode 100644
index 0000000..583a56d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/takeWhile.md
@@ -0,0 +1,27 @@
+
+# takeWhile method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L474)
+    *<Null safety>*
+
+
+Iterable&lt;E> takeWhile
+(bool test(E value))
+_inherited_
+
+<p>Returns a lazy iterable of the leading elements satisfying <code>test</code>.</p>
+<p>The filtering happens lazily. Every new iterator of the returned
+iterable starts iterating over the elements of <code>this</code>.</p>
+<p>The elements can be computed by stepping through <a href="../../package-collection_collection/UnmodifiableSetMixin/iterator.md">iterator</a> until an
+element is found where <code>test(element)</code> is false. At that point,
+the returned iterable stops (its <code>moveNext()</code> returns false).</p>
+
+## Implementation
+
+```dart
+Iterable<E> takeWhile(bool test(E value)) {
+  return TakeWhileIterable<E>(this, test);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toList.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toList.md
new file mode 100644
index 0000000..04b0bbb
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toList.md
@@ -0,0 +1,24 @@
+
+# toList method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L403)
+    *<Null safety>*
+
+
+List&lt;E> toList
+({bool growable: true})
+_inherited_
+
+<p>Creates a <code>List</code> containing the elements of this <code>Iterable</code>.</p>
+<p>The elements are in iteration order.
+The list is fixed-length if <code>growable</code> is false.</p>
+
+## Implementation
+
+```dart
+List<E> toList({bool growable = true}) {
+  return List<E>.of(this, growable: growable);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toSet.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toSet.md
new file mode 100644
index 0000000..c0ee74b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toSet.md
@@ -0,0 +1,25 @@
+
+# toSet method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L265)
+    *<Null safety>*
+
+
+Set&lt;E> toSet
+()
+_inherited_
+
+<p>Creates a <code>Set</code> with the same elements and behavior as this <code>Set</code>.</p>
+<p>The returned set behaves the same as this set
+with regard to adding and removing elements.
+It initially contains the same elements.
+If this set specifies an ordering of the elements,
+the returned set will have the same order.</p>
+
+## Implementation
+
+```dart
+Set<E> toSet();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toString.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/union.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/union.md
new file mode 100644
index 0000000..af2e056
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/union.md
@@ -0,0 +1,22 @@
+
+# union method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/set.dart#L241)
+    *<Null safety>*
+
+
+Set&lt;E> union
+(Set&lt;E> other)
+_inherited_
+
+<p>Returns a new set which contains all the elements of this set and <code>other</code>.</p>
+<p>That is, the returned set contains all the elements of this <code>Set</code> and
+all the elements of <code>other</code>.</p>
+
+## Implementation
+
+```dart
+Set<E> union(Set<E> other);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/where.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/where.md
new file mode 100644
index 0000000..648eff8
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/where.md
@@ -0,0 +1,29 @@
+
+# where method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L217)
+    *<Null safety>*
+
+
+Iterable&lt;E> where
+(bool test(E element))
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/UnmodifiableSetMixin/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+As long as the returned <code>Iterable</code> is not iterated over,
+the supplied function <code>test</code> will not be invoked.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may invoke the supplied
+function <code>test</code> multiple times on the same element.</p>
+
+## Implementation
+
+```dart
+Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetMixin/whereType.md b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/whereType.md
new file mode 100644
index 0000000..e89da0a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetMixin/whereType.md
@@ -0,0 +1,26 @@
+
+# whereType&lt;T> method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/iterable.dart#L230)
+    *<Null safety>*
+
+
+Iterable&lt;T> whereType
+&lt;T>()
+_inherited_
+
+<p>Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>.</p>
+<p>The matching elements have the same order in the returned iterable
+as they have in <a href="../../package-collection_collection/UnmodifiableSetMixin/iterator.md">iterator</a>.</p>
+<p>This method returns a view of the mapped elements.
+Iterating will not cache results, and thus iterating multiple times over
+the returned <code>Iterable</code> may yield different results,
+if the underlying elements change between iterations.</p>
+
+## Implementation
+
+```dart
+Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetView-class.md b/sdk/dart/package-collection_collection/UnmodifiableSetView-class.md
new file mode 100644
index 0000000..32db8e4
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetView-class.md
@@ -0,0 +1,315 @@
+
+# UnmodifiableSetView&lt;E> class
+
+    *<Null safety>*
+
+<p>An unmodifiable set.</p>
+<p>An <a href="../package-collection_collection/UnmodifiableSetView-class.md">UnmodifiableSetView</a> contains a <code>Set</code>,
+and prevents that set from being changed through the view.
+Methods that could change the set,
+such as <a href="../package-collection_collection/UnmodifiableSetMixin/add.md">add</a> and <a href="../package-collection_collection/UnmodifiableSetMixin/remove.md">remove</a>, throw an <code>UnsupportedError</code>.
+Permitted operations defer to the wrapped set.</p>
+
+**Inheritance**
+
+- Object
+- [DelegatingSet](../package-collection_collection/DelegatingSet-class.md)&lt;E>
+- UnmodifiableSetView
+
+
+**Mixed in types**
+
+- [UnmodifiableSetMixin](../package-collection_collection/UnmodifiableSetMixin-class.md)&lt;E>
+
+
+**Available Extensions**
+
+- [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+- [IterableExtension](../package-collection_collection/IterableExtension.md)
+- [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+
+## Constructors
+
+[UnmodifiableSetView](../package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.md) (Set&lt;E> setBase)
+
+   
+ 
+
+[UnmodifiableSetView.empty](../package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.empty.md) ()
+
+An unmodifiable empty set. [...](../package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.empty.md)  
+_const_ _factory_
+
+
+## Properties
+
+##### [first](../package-collection_collection/DelegatingSet/first.md) &#8594; E
+
+Returns the first element. [...](../package-collection_collection/DelegatingSet/first.md)  
+_read-only, inherited_
+
+##### [hashCode](../package-collection_collection/DelegatingSet/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/DelegatingSet/hashCode.md)  
+_read-only, inherited_
+
+##### [isEmpty](../package-collection_collection/DelegatingSet/isEmpty.md) &#8594; bool
+
+Returns <code>true</code> if there are no elements in this collection. [...](../package-collection_collection/DelegatingSet/isEmpty.md)  
+_read-only, inherited_
+
+##### [isNotEmpty](../package-collection_collection/DelegatingSet/isNotEmpty.md) &#8594; bool
+
+Returns true if there is at least one element in this collection. [...](../package-collection_collection/DelegatingSet/isNotEmpty.md)  
+_read-only, inherited_
+
+##### [iterator](../package-collection_collection/DelegatingSet/iterator.md) &#8594; Iterator&lt;E>
+
+Returns a new <code>Iterator</code> that allows iterating the elements of this
+<code>Iterable</code>. [...](../package-collection_collection/DelegatingSet/iterator.md)  
+_read-only, inherited_
+
+##### [last](../package-collection_collection/DelegatingSet/last.md) &#8594; E
+
+Returns the last element. [...](../package-collection_collection/DelegatingSet/last.md)  
+_read-only, inherited_
+
+##### [length](../package-collection_collection/DelegatingSet/length.md) &#8594; int
+
+Returns the number of elements in <a href="../package-collection_collection/UnmodifiableSetView-class.md">this</a>. [...](../package-collection_collection/DelegatingSet/length.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/DelegatingSet/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [single](../package-collection_collection/DelegatingSet/single.md) &#8594; E
+
+Checks that this iterable has only one element, and returns that element. [...](../package-collection_collection/DelegatingSet/single.md)  
+_read-only, inherited_
+
+
+## Methods
+
+##### [add](../package-collection_collection/UnmodifiableSetMixin/add.md)(E value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [addAll](../package-collection_collection/UnmodifiableSetMixin/addAll.md)(Iterable&lt;E> elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [any](../package-collection_collection/DelegatingSet/any.md)(bool test(E)) bool
+
+Checks whether any element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/any.md)  
+_inherited_
+
+##### [cast](../package-collection_collection/DelegatingSet/cast.md)&lt;T>() Set&lt;T>
+
+Provides a view of this iterable as an iterable of <code>R</code> instances. [...](../package-collection_collection/DelegatingSet/cast.md)  
+_inherited_
+
+##### [clear](../package-collection_collection/UnmodifiableSetMixin/clear.md)() void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [contains](../package-collection_collection/DelegatingSet/contains.md)(Object? element) bool
+
+Returns true if the collection contains an element equal to <code>element</code>. [...](../package-collection_collection/DelegatingSet/contains.md)  
+_inherited_
+
+##### [containsAll](../package-collection_collection/DelegatingSet/containsAll.md)(Iterable&lt;Object?> other) bool
+
+Returns whether this Set contains all the elements of <code>other</code>.   
+_inherited_
+
+##### [difference](../package-collection_collection/DelegatingSet/difference.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set with the elements of this that are not in <code>other</code>. [...](../package-collection_collection/DelegatingSet/difference.md)  
+_inherited_
+
+##### [elementAt](../package-collection_collection/DelegatingSet/elementAt.md)(int index) E
+
+Returns the <code>index</code>th element. [...](../package-collection_collection/DelegatingSet/elementAt.md)  
+_inherited_
+
+##### [every](../package-collection_collection/DelegatingSet/every.md)(bool test(E)) bool
+
+Checks whether every element of this iterable satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/every.md)  
+_inherited_
+
+##### [expand](../package-collection_collection/DelegatingSet/expand.md)&lt;T>(Iterable&lt;T> f(E)) Iterable&lt;T>
+
+Expands each element of this <code>Iterable</code> into zero or more elements. [...](../package-collection_collection/DelegatingSet/expand.md)  
+_inherited_
+
+##### [firstWhere](../package-collection_collection/DelegatingSet/firstWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the first element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/firstWhere.md)  
+_inherited_
+
+##### [fold](../package-collection_collection/DelegatingSet/fold.md)&lt;T>(T initialValue, T combine(T previousValue, E element)) T
+
+Reduces a collection to a single value by iteratively combining each
+element of the collection with an existing value [...](../package-collection_collection/DelegatingSet/fold.md)  
+_inherited_
+
+##### [followedBy](../package-collection_collection/DelegatingSet/followedBy.md)(Iterable&lt;E> other) Iterable&lt;E>
+
+Returns the lazy concatentation of this iterable and <code>other</code>. [...](../package-collection_collection/DelegatingSet/followedBy.md)  
+_inherited_
+
+##### [forEach](../package-collection_collection/DelegatingSet/forEach.md)(void f(E)) void
+
+Applies the function <code>f</code> to each element of this collection in iteration
+order.   
+_inherited_
+
+##### [intersection](../package-collection_collection/DelegatingSet/intersection.md)(Set&lt;Object?> other) Set&lt;E>
+
+Returns a new set which is the intersection between this set and <code>other</code>. [...](../package-collection_collection/DelegatingSet/intersection.md)  
+_inherited_
+
+##### [join](../package-collection_collection/DelegatingSet/join.md)([String separator = '']) String
+
+Converts each element to a <code>String</code> and concatenates the strings. [...](../package-collection_collection/DelegatingSet/join.md)  
+_inherited_
+
+##### [lastWhere](../package-collection_collection/DelegatingSet/lastWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the last element that satisfies the given predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/lastWhere.md)  
+_inherited_
+
+##### [lookup](../package-collection_collection/DelegatingSet/lookup.md)(Object? element) E?
+
+If an object equal to <code>object</code> is in the set, return it. [...](../package-collection_collection/DelegatingSet/lookup.md)  
+_inherited_
+
+##### [map](../package-collection_collection/DelegatingSet/map.md)&lt;T>(T f(E)) Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with elements that are created by
+calling <code>f</code> on each element of this <code>Iterable</code> in iteration order. [...](../package-collection_collection/DelegatingSet/map.md)  
+_inherited_
+
+##### [noSuchMethod](../package-collection_collection/DelegatingSet/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/DelegatingSet/noSuchMethod.md)  
+_inherited_
+
+##### [reduce](../package-collection_collection/DelegatingSet/reduce.md)(E combine(E value, E element)) E
+
+Reduces a collection to a single value by iteratively combining elements
+of the collection using the provided function. [...](../package-collection_collection/DelegatingSet/reduce.md)  
+_inherited_
+
+##### [remove](../package-collection_collection/UnmodifiableSetMixin/remove.md)(Object? value) bool
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [removeAll](../package-collection_collection/UnmodifiableSetMixin/removeAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [removeWhere](../package-collection_collection/UnmodifiableSetMixin/removeWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [retainAll](../package-collection_collection/UnmodifiableSetMixin/retainAll.md)(Iterable elements) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [retainWhere](../package-collection_collection/UnmodifiableSetMixin/retainWhere.md)(bool test(E)) void
+
+Throws an <code>UnsupportedError</code>;
+operations that change the set are disallowed.   
+_inherited_
+
+##### [~~retype~~](../package-collection_collection/DelegatingSet/retype.md)&lt;T>() Set&lt;T>
+
+   
+_inherited_
+
+##### [singleWhere](../package-collection_collection/DelegatingSet/singleWhere.md)(bool test(E), {E orElse()}) E
+
+Returns the single element that satisfies <code>test</code>. [...](../package-collection_collection/DelegatingSet/singleWhere.md)  
+_inherited_
+
+##### [skip](../package-collection_collection/DelegatingSet/skip.md)(int n) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that provides all but the first <code>count</code> elements. [...](../package-collection_collection/DelegatingSet/skip.md)  
+_inherited_
+
+##### [skipWhile](../package-collection_collection/DelegatingSet/skipWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns an <code>Iterable</code> that skips leading elements while <code>test</code> is satisfied. [...](../package-collection_collection/DelegatingSet/skipWhile.md)  
+_inherited_
+
+##### [take](../package-collection_collection/DelegatingSet/take.md)(int n) Iterable&lt;E>
+
+Returns a lazy iterable of the <code>count</code> first elements of this iterable. [...](../package-collection_collection/DelegatingSet/take.md)  
+_inherited_
+
+##### [takeWhile](../package-collection_collection/DelegatingSet/takeWhile.md)(bool test(E)) Iterable&lt;E>
+
+Returns a lazy iterable of the leading elements satisfying <code>test</code>. [...](../package-collection_collection/DelegatingSet/takeWhile.md)  
+_inherited_
+
+##### [toList](../package-collection_collection/DelegatingSet/toList.md)({bool growable: true}) List&lt;E>
+
+Creates a <code>List</code> containing the elements of this <code>Iterable</code>. [...](../package-collection_collection/DelegatingSet/toList.md)  
+_inherited_
+
+##### [toSet](../package-collection_collection/DelegatingSet/toSet.md)() Set&lt;E>
+
+Creates a <code>Set</code> containing the same elements as this iterable. [...](../package-collection_collection/DelegatingSet/toSet.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/DelegatingSet/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [union](../package-collection_collection/DelegatingSet/union.md)(Set&lt;E> other) Set&lt;E>
+
+Returns a new set which contains all the elements of this set and <code>other</code>. [...](../package-collection_collection/DelegatingSet/union.md)  
+_inherited_
+
+##### [where](../package-collection_collection/DelegatingSet/where.md)(bool test(E)) Iterable&lt;E>
+
+Returns a new lazy <code>Iterable</code> with all elements that satisfy the
+predicate <code>test</code>. [...](../package-collection_collection/DelegatingSet/where.md)  
+_inherited_
+
+##### [whereType](../package-collection_collection/DelegatingSet/whereType.md)&lt;T>() Iterable&lt;T>
+
+Returns a new lazy <code>Iterable</code> with all elements that have type <code>T</code>. [...](../package-collection_collection/DelegatingSet/whereType.md)  
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/DelegatingSet/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/DelegatingSet/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.empty.md b/sdk/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.empty.md
new file mode 100644
index 0000000..32d2072
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.empty.md
@@ -0,0 +1,20 @@
+
+# UnmodifiableSetView&lt;E>.empty constructor
+
+    *<Null safety>*
+
+
+const
+UnmodifiableSetView&lt;E>.empty()
+
+<p>An unmodifiable empty set.</p>
+<p>This is the same as <code>UnmodifiableSetView(Set())</code>, except that it
+can be used in const contexts.</p>
+
+## Implementation
+
+```dart
+const factory UnmodifiableSetView.empty() = EmptyUnmodifiableSet<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.md b/sdk/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.md
new file mode 100644
index 0000000..a27c916
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnmodifiableSetView/UnmodifiableSetView.md
@@ -0,0 +1,17 @@
+
+# UnmodifiableSetView&lt;E> constructor
+
+    *<Null safety>*
+
+
+
+UnmodifiableSetView&lt;E>(Set&lt;E> setBase)
+
+
+## Implementation
+
+```dart
+UnmodifiableSetView(Set<E> setBase) : super(setBase);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnorderedIterableEquality-class.md b/sdk/dart/package-collection_collection/UnorderedIterableEquality-class.md
new file mode 100644
index 0000000..90a6357
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnorderedIterableEquality-class.md
@@ -0,0 +1,71 @@
+
+# UnorderedIterableEquality&lt;E> class
+
+    *<Null safety>*
+
+<p>Equality of the elements of two iterables without considering order.</p>
+<p>Two iterables are considered equal if they have the same number of elements,
+and the elements of one set can be paired with the elements
+of the other iterable, so that each pair are equal.</p>
+
+
+## Constructors
+
+[UnorderedIterableEquality](../package-collection_collection/UnorderedIterableEquality/UnorderedIterableEquality.md) ([[Equality](../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-collection_collection/Equality/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-collection_collection/Equality/hashCode.md)  
+_read-only, inherited_
+
+##### [runtimeType](../package-collection_collection/Equality/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [equals](../package-collection_collection/UnorderedIterableEquality/equals.md)(Iterable&lt;E>? elements1, Iterable&lt;E>? elements2) bool
+
+Compare two elements for being equal. [...](../package-collection_collection/UnorderedIterableEquality/equals.md)  
+_inherited_
+
+##### [hash](../package-collection_collection/UnorderedIterableEquality/hash.md)(Iterable&lt;E>? elements) int
+
+Get a hashcode of an element. [...](../package-collection_collection/UnorderedIterableEquality/hash.md)  
+_inherited_
+
+##### [isValidKey](../package-collection_collection/UnorderedIterableEquality/isValidKey.md)(Object? o) bool
+
+Test whether an object is a valid argument to <a href="../package-collection_collection/UnorderedIterableEquality/equals.md">equals</a> and <a href="../package-collection_collection/UnorderedIterableEquality/hash.md">hash</a>. [...](../package-collection_collection/UnorderedIterableEquality/isValidKey.md)  
+_override_
+
+##### [noSuchMethod](../package-collection_collection/Equality/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-collection_collection/Equality/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-collection_collection/Equality/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+
+## Operators
+
+##### [operator ==](../package-collection_collection/Equality/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-collection_collection/Equality/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/UnorderedIterableEquality/UnorderedIterableEquality.md b/sdk/dart/package-collection_collection/UnorderedIterableEquality/UnorderedIterableEquality.md
new file mode 100644
index 0000000..487b1f6
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnorderedIterableEquality/UnorderedIterableEquality.md
@@ -0,0 +1,19 @@
+
+# UnorderedIterableEquality&lt;E> constructor
+
+    *<Null safety>*
+
+
+const
+UnorderedIterableEquality&lt;E>([[Equality](../../package-collection_collection/Equality-class.md)&lt;E> elementEquality = const DefaultEquality<Never>()])
+
+
+## Implementation
+
+```dart
+const UnorderedIterableEquality(
+    [Equality<E> elementEquality = const DefaultEquality<Never>()])
+    : super(elementEquality);
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnorderedIterableEquality/equals.md b/sdk/dart/package-collection_collection/UnorderedIterableEquality/equals.md
new file mode 100644
index 0000000..f8b175b
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnorderedIterableEquality/equals.md
@@ -0,0 +1,42 @@
+
+# equals method
+
+    *<Null safety>*
+
+- @override
+
+bool equals
+(Iterable&lt;E>? elements1, Iterable&lt;E>? elements2)
+_inherited_
+
+<p>Compare two elements for being equal.</p>
+<p>This should be a proper equality relation.</p>
+
+## Implementation
+
+```dart
+@override
+bool equals(T elements1, T elements2) {
+  if (identical(elements1, elements2)) return true;
+  if (elements1 == null || elements2 == null) return false;
+  var counts = HashMap(
+      equals: _elementEquality.equals,
+      hashCode: _elementEquality.hash,
+      isValidKey: _elementEquality.isValidKey);
+  var length = 0;
+  for (var e in elements1) {
+    var count = counts[e] ?? 0;
+    counts[e] = count + 1;
+    length++;
+  }
+  for (var e in elements2) {
+    var count = counts[e];
+    if (count == null || count == 0) return false;
+    counts[e] = count - 1;
+    length--;
+  }
+  return length == 0;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnorderedIterableEquality/hash.md b/sdk/dart/package-collection_collection/UnorderedIterableEquality/hash.md
new file mode 100644
index 0000000..a629aaf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnorderedIterableEquality/hash.md
@@ -0,0 +1,34 @@
+
+# hash method
+
+    *<Null safety>*
+
+- @override
+
+int hash
+(Iterable&lt;E>? elements)
+_inherited_
+
+<p>Get a hashcode of an element.</p>
+<p>The hashcode should be compatible with <a href="../../package-collection_collection/UnorderedIterableEquality/equals.md">equals</a>, so that if
+<code>equals(a, b)</code> then <code>hash(a) == hash(b)</code>.</p>
+
+## Implementation
+
+```dart
+@override
+int hash(T elements) {
+  if (elements == null) return null.hashCode;
+  var hash = 0;
+  for (E element in elements) {
+    var c = _elementEquality.hash(element);
+    hash = (hash + c) & _HASH_MASK;
+  }
+  hash = (hash + (hash << 3)) & _HASH_MASK;
+  hash ^= (hash >> 11);
+  hash = (hash + (hash << 15)) & _HASH_MASK;
+  return hash;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/UnorderedIterableEquality/isValidKey.md b/sdk/dart/package-collection_collection/UnorderedIterableEquality/isValidKey.md
new file mode 100644
index 0000000..355deca
--- /dev/null
+++ b/sdk/dart/package-collection_collection/UnorderedIterableEquality/isValidKey.md
@@ -0,0 +1,23 @@
+
+# isValidKey method
+
+    *<Null safety>*
+
+- @override
+
+bool isValidKey
+(Object? o)
+_override_
+
+<p>Test whether an object is a valid argument to <a href="../../package-collection_collection/UnorderedIterableEquality/equals.md">equals</a> and <a href="../../package-collection_collection/UnorderedIterableEquality/hash.md">hash</a>.</p>
+<p>Some implementations may be restricted to only work on specific types
+of objects.</p>
+
+## Implementation
+
+```dart
+@override
+bool isValidKey(Object? o) => o is Iterable<E>;
+```
+
+
diff --git a/sdk/dart/package-collection_collection/binarySearch.md b/sdk/dart/package-collection_collection/binarySearch.md
new file mode 100644
index 0000000..136aa2f
--- /dev/null
+++ b/sdk/dart/package-collection_collection/binarySearch.md
@@ -0,0 +1,27 @@
+
+# binarySearch&lt;E> function
+
+    *<Null safety>*
+
+
+int binarySearch
+&lt;E>(List&lt;E> sortedList, E value, {int compare(E, E)})
+
+<p>Returns a position of the <code>value</code> in <code>sortedList</code>, if it is there.</p>
+<p>If the list isn't sorted according to the <code>compare</code> function, the result
+is unpredictable.</p>
+<p>If <code>compare</code> is omitted, this defaults to calling <code>Comparable.compareTo</code> on
+the objects. In this case, the objects must be <code>Comparable</code>.</p>
+<p>Returns -1 if <code>value</code> is not in the list.</p>
+
+## Implementation
+
+```dart
+int binarySearch<E>(List<E> sortedList, E value,
+    {int Function(E, E)? compare}) {
+  compare ??= defaultCompare;
+  return binarySearchBy<E, E>(sortedList, identity, compare, value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/compareAsciiLowerCase.md b/sdk/dart/package-collection_collection/compareAsciiLowerCase.md
new file mode 100644
index 0000000..d4cbc31
--- /dev/null
+++ b/sdk/dart/package-collection_collection/compareAsciiLowerCase.md
@@ -0,0 +1,49 @@
+
+# compareAsciiLowerCase function
+
+    *<Null safety>*
+
+
+int compareAsciiLowerCase
+(String a, String b)
+
+<p>Compares <code>a</code> and <code>b</code> lexically, converting ASCII letters to lower case.</p>
+<p>Comparison treats all upper-case ASCII letters as lower-case letters,
+but does no case conversion for non-ASCII letters.</p>
+<p>If two strings differ only on the case of ASCII letters, the one with the
+capital letter at the first difference will compare as less than the other
+string. This tie-breaking ensures that the comparison is a total ordering
+on strings.</p>
+<p>Ignoring non-ASCII letters is not generally a good idea, but it makes sense
+for situations where the strings are known to be ASCII. Examples could
+be Dart identifiers, base-64 or hex encoded strings, GUIDs or similar
+strings with a known structure.</p>
+
+## Implementation
+
+```dart
+int compareAsciiLowerCase(String a, String b) {
+  var defaultResult = 0;
+  for (var i = 0; i < a.length; i++) {
+    if (i >= b.length) return 1;
+    var aChar = a.codeUnitAt(i);
+    var bChar = b.codeUnitAt(i);
+    if (aChar == bChar) continue;
+    var aLowerCase = aChar;
+    var bLowerCase = bChar;
+    // Upper case if ASCII letters.
+    if (_upperCaseA <= bChar && bChar <= _upperCaseZ) {
+      bLowerCase += _asciiCaseBit;
+    }
+    if (_upperCaseA <= aChar && aChar <= _upperCaseZ) {
+      aLowerCase += _asciiCaseBit;
+    }
+    if (aLowerCase != bLowerCase) return (aLowerCase - bLowerCase).sign;
+    if (defaultResult == 0) defaultResult = aChar - bChar;
+  }
+  if (b.length > a.length) return -1;
+  return defaultResult.sign;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/compareAsciiLowerCaseNatural.md b/sdk/dart/package-collection_collection/compareAsciiLowerCaseNatural.md
new file mode 100644
index 0000000..7493d6d
--- /dev/null
+++ b/sdk/dart/package-collection_collection/compareAsciiLowerCaseNatural.md
@@ -0,0 +1,48 @@
+
+# compareAsciiLowerCaseNatural function
+
+    *<Null safety>*
+
+
+int compareAsciiLowerCaseNatural
+(String a, String b)
+
+<p>Compares strings <code>a</code> and <code>b</code> according to lower-case
+<a href="https://en.wikipedia.org/wiki/Natural_sort_order">natural sort ordering</a>.</p>
+<p>ASCII letters are converted to lower case before being compared, like
+for <a href="../package-collection_collection/compareAsciiLowerCase.md">compareAsciiLowerCase</a>, then the result is compared like for
+<a href="../package-collection_collection/compareNatural.md">compareNatural</a>.</p>
+<p>If two strings differ only on the case of ASCII letters, the one with the
+capital letter at the first difference will compare as less than the other
+string. This tie-breaking ensures that the comparison is a total ordering
+on strings.</p>
+
+## Implementation
+
+```dart
+int compareAsciiLowerCaseNatural(String a, String b) {
+  var defaultResult = 0; // Returned if no difference found.
+  for (var i = 0; i < a.length; i++) {
+    if (i >= b.length) return 1;
+    var aChar = a.codeUnitAt(i);
+    var bChar = b.codeUnitAt(i);
+    if (aChar == bChar) continue;
+    var aLowerCase = aChar;
+    var bLowerCase = bChar;
+    if (_upperCaseA <= aChar && aChar <= _upperCaseZ) {
+      aLowerCase += _asciiCaseBit;
+    }
+    if (_upperCaseA <= bChar && bChar <= _upperCaseZ) {
+      bLowerCase += _asciiCaseBit;
+    }
+    if (aLowerCase != bLowerCase) {
+      return _compareNaturally(a, b, i, aLowerCase, bLowerCase);
+    }
+    if (defaultResult == 0) defaultResult = aChar - bChar;
+  }
+  if (b.length > a.length) return -1;
+  return defaultResult.sign;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/compareAsciiUpperCase.md b/sdk/dart/package-collection_collection/compareAsciiUpperCase.md
new file mode 100644
index 0000000..17c4af5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/compareAsciiUpperCase.md
@@ -0,0 +1,49 @@
+
+# compareAsciiUpperCase function
+
+    *<Null safety>*
+
+
+int compareAsciiUpperCase
+(String a, String b)
+
+<p>Compares <code>a</code> and <code>b</code> lexically, converting ASCII letters to upper case.</p>
+<p>Comparison treats all lower-case ASCII letters as upper-case letters,
+but does no case conversion for non-ASCII letters.</p>
+<p>If two strings differ only on the case of ASCII letters, the one with the
+capital letter at the first difference will compare as less than the other
+string. This tie-breaking ensures that the comparison is a total ordering
+on strings and is compatible with equality.</p>
+<p>Ignoring non-ASCII letters is not generally a good idea, but it makes sense
+for situations where the strings are known to be ASCII. Examples could
+be Dart identifiers, base-64 or hex encoded strings, GUIDs or similar
+strings with a known structure.</p>
+
+## Implementation
+
+```dart
+int compareAsciiUpperCase(String a, String b) {
+  var defaultResult = 0; // Returned if no difference found.
+  for (var i = 0; i < a.length; i++) {
+    if (i >= b.length) return 1;
+    var aChar = a.codeUnitAt(i);
+    var bChar = b.codeUnitAt(i);
+    if (aChar == bChar) continue;
+    // Upper-case if letters.
+    var aUpperCase = aChar;
+    var bUpperCase = bChar;
+    if (_lowerCaseA <= aChar && aChar <= _lowerCaseZ) {
+      aUpperCase -= _asciiCaseBit;
+    }
+    if (_lowerCaseA <= bChar && bChar <= _lowerCaseZ) {
+      bUpperCase -= _asciiCaseBit;
+    }
+    if (aUpperCase != bUpperCase) return (aUpperCase - bUpperCase).sign;
+    if (defaultResult == 0) defaultResult = (aChar - bChar);
+  }
+  if (b.length > a.length) return -1;
+  return defaultResult.sign;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/compareAsciiUpperCaseNatural.md b/sdk/dart/package-collection_collection/compareAsciiUpperCaseNatural.md
new file mode 100644
index 0000000..ddccaf3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/compareAsciiUpperCaseNatural.md
@@ -0,0 +1,48 @@
+
+# compareAsciiUpperCaseNatural function
+
+    *<Null safety>*
+
+
+int compareAsciiUpperCaseNatural
+(String a, String b)
+
+<p>Compares strings <code>a</code> and <code>b</code> according to upper-case
+<a href="https://en.wikipedia.org/wiki/Natural_sort_order">natural sort ordering</a>.</p>
+<p>ASCII letters are converted to upper case before being compared, like
+for <a href="../package-collection_collection/compareAsciiUpperCase.md">compareAsciiUpperCase</a>, then the result is compared like for
+<a href="../package-collection_collection/compareNatural.md">compareNatural</a>.</p>
+<p>If two strings differ only on the case of ASCII letters, the one with the
+capital letter at the first difference will compare as less than the other
+string. This tie-breaking ensures that the comparison is a total ordering
+on strings</p>
+
+## Implementation
+
+```dart
+int compareAsciiUpperCaseNatural(String a, String b) {
+  var defaultResult = 0;
+  for (var i = 0; i < a.length; i++) {
+    if (i >= b.length) return 1;
+    var aChar = a.codeUnitAt(i);
+    var bChar = b.codeUnitAt(i);
+    if (aChar == bChar) continue;
+    var aUpperCase = aChar;
+    var bUpperCase = bChar;
+    if (_lowerCaseA <= aChar && aChar <= _lowerCaseZ) {
+      aUpperCase -= _asciiCaseBit;
+    }
+    if (_lowerCaseA <= bChar && bChar <= _lowerCaseZ) {
+      bUpperCase -= _asciiCaseBit;
+    }
+    if (aUpperCase != bUpperCase) {
+      return _compareNaturally(a, b, i, aUpperCase, bUpperCase);
+    }
+    if (defaultResult == 0) defaultResult = aChar - bChar;
+  }
+  if (b.length > a.length) return -1;
+  return defaultResult.sign;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/compareNatural.md b/sdk/dart/package-collection_collection/compareNatural.md
new file mode 100644
index 0000000..826bba0
--- /dev/null
+++ b/sdk/dart/package-collection_collection/compareNatural.md
@@ -0,0 +1,40 @@
+
+# compareNatural function
+
+    *<Null safety>*
+
+
+int compareNatural
+(String a, String b)
+
+<p>Compares strings <code>a</code> and <code>b</code> according to <a href="https://en.wikipedia.org/wiki/Natural_sort_order">natural sort ordering</a>.</p>
+<p>A natural sort ordering is a lexical ordering where embedded
+numerals (digit sequences) are treated as a single unit and ordered by
+numerical value.
+This means that <code>"a10b"</code> will be ordered after <code>"a7b"</code> in natural
+ordering, where lexical ordering would put the <code>1</code> before the <code>7</code>, ignoring
+that the <code>1</code> is part of a larger number.</p>
+<p>Example:
+The following strings are in the order they would be sorted by using this
+comparison function:</p>
+<pre class="language-dart"><code>"a", "a0", "a0b", "a1", "a01", "a9", "a10", "a100", "a100b", "aa"
+</code></pre>
+
+## Implementation
+
+```dart
+int compareNatural(String a, String b) {
+  for (var i = 0; i < a.length; i++) {
+    if (i >= b.length) return 1;
+    var aChar = a.codeUnitAt(i);
+    var bChar = b.codeUnitAt(i);
+    if (aChar != bChar) {
+      return _compareNaturally(a, b, i, aChar, bChar);
+    }
+  }
+  if (b.length > a.length) return -1;
+  return 0;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/equalsIgnoreAsciiCase.md b/sdk/dart/package-collection_collection/equalsIgnoreAsciiCase.md
new file mode 100644
index 0000000..eba6238
--- /dev/null
+++ b/sdk/dart/package-collection_collection/equalsIgnoreAsciiCase.md
@@ -0,0 +1,45 @@
+
+# equalsIgnoreAsciiCase function
+
+    *<Null safety>*
+
+
+bool equalsIgnoreAsciiCase
+(String a, String b)
+
+<p>Checks if strings <code>a</code> and <code>b</code> differ only on the case of ASCII letters.</p>
+<p>Strings are equal if they have the same length, and the characters at
+each index are the same, or they are ASCII letters where one is upper-case
+and the other is the lower-case version of the same letter.</p>
+<p>The comparison does not ignore the case of non-ASCII letters, so
+an upper-case ae-ligature (Æ) is different from
+a lower case ae-ligature (æ).</p>
+<p>Ignoring non-ASCII letters is not generally a good idea, but it makes sense
+for situations where the strings are known to be ASCII. Examples could
+be Dart identifiers, base-64 or hex encoded strings, GUIDs or similar
+strings with a known structure.</p>
+
+## Implementation
+
+```dart
+bool equalsIgnoreAsciiCase(String a, String b) {
+  if (a.length != b.length) return false;
+  for (var i = 0; i < a.length; i++) {
+    var aChar = a.codeUnitAt(i);
+    var bChar = b.codeUnitAt(i);
+    if (aChar == bChar) continue;
+    // Quick-check for whether this may be different cases of the same letter.
+    if (aChar ^ bChar != _asciiCaseBit) return false;
+    // If it's possible, then check if either character is actually an ASCII
+    // letter.
+    var aCharLowerCase = aChar | _asciiCaseBit;
+    if (_lowerCaseA <= aCharLowerCase && aCharLowerCase <= _lowerCaseZ) {
+      continue;
+    }
+    return false;
+  }
+  return true;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/groupBy.md b/sdk/dart/package-collection_collection/groupBy.md
new file mode 100644
index 0000000..c3e48a5
--- /dev/null
+++ b/sdk/dart/package-collection_collection/groupBy.md
@@ -0,0 +1,27 @@
+
+# groupBy&lt;S, T> function
+
+    *<Null safety>*
+
+
+Map&lt;T, List&lt;S>> groupBy
+&lt;S, T>(Iterable&lt;S> values, T key(S))
+
+<p>Groups the elements in <code>values</code> by the value returned by <code>key</code>.</p>
+<p>Returns a map from keys computed by <code>key</code> to a list of all values for which
+<code>key</code> returns that key. The values appear in the list in the same relative
+order as in <code>values</code>.</p>
+
+## Implementation
+
+```dart
+Map<T, List<S>> groupBy<S, T>(Iterable<S> values, T Function(S) key) {
+  var map = <T, List<S>>{};
+  for (var element in values) {
+    (map[key(element)] ??= []).add(element);
+  }
+  return map;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/hashIgnoreAsciiCase.md b/sdk/dart/package-collection_collection/hashIgnoreAsciiCase.md
new file mode 100644
index 0000000..a6bb1d3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/hashIgnoreAsciiCase.md
@@ -0,0 +1,39 @@
+
+# hashIgnoreAsciiCase function
+
+    *<Null safety>*
+
+
+int hashIgnoreAsciiCase
+(String string)
+
+<p>Hash code for a string which is compatible with <a href="../package-collection_collection/equalsIgnoreAsciiCase.md">equalsIgnoreAsciiCase</a>.</p>
+<p>The hash code is unaffected by changing the case of ASCII letters, but
+the case of non-ASCII letters do affect the result.</p>
+
+## Implementation
+
+```dart
+int hashIgnoreAsciiCase(String string) {
+  // Jenkins hash code ( http://en.wikipedia.org/wiki/Jenkins_hash_function).
+  // adapted to smi values.
+  // Same hash used by dart2js for strings, modified to ignore ASCII letter
+  // case.
+  var hash = 0;
+  for (var i = 0; i < string.length; i++) {
+    var char = string.codeUnitAt(i);
+    // Convert lower-case ASCII letters to upper case.upper
+    // This ensures that strings that differ only in case will have the
+    // same hash code.
+    if (_lowerCaseA <= char && char <= _lowerCaseZ) char -= _asciiCaseBit;
+    hash = 0x1fffffff & (hash + char);
+    hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
+    hash >>= 6;
+  }
+  hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
+  hash >>= 11;
+  return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/insertionSort.md b/sdk/dart/package-collection_collection/insertionSort.md
new file mode 100644
index 0000000..ce0b184
--- /dev/null
+++ b/sdk/dart/package-collection_collection/insertionSort.md
@@ -0,0 +1,51 @@
+
+# insertionSort&lt;E> function
+
+    *<Null safety>*
+
+
+void insertionSort
+&lt;E>(List&lt;E> elements, {int compare(E, E), int start: 0, int? end})
+
+<p>Sort a list between <code>start</code> (inclusive) and <code>end</code> (exclusive) using
+insertion sort.</p>
+<p>If <code>compare</code> is omitted, this defaults to calling <code>Comparable.compareTo</code> on
+the objects. In this case, the objects must be <code>Comparable</code>.</p>
+<p>Insertion sort is a simple sorting algorithm. For <code>n</code> elements it does on
+the order of <code>n * log(n)</code> comparisons but up to <code>n</code> squared moves. The
+sorting is performed in-place, without using extra memory.</p>
+<p>For short lists the many moves have less impact than the simple algorithm,
+and it is often the favored sorting algorithm for short lists.</p>
+<p>This insertion sort is stable: Equal elements end up in the same order
+as they started in.</p>
+
+## Implementation
+
+```dart
+void insertionSort<E>(List<E> elements,
+    {int Function(E, E)? compare, int start = 0, int? end}) {
+  // If the same method could have both positional and named optional
+  // parameters, this should be (list, [start, end], {compare}).
+  compare ??= defaultCompare;
+  end ??= elements.length;
+
+  for (var pos = start + 1; pos < end; pos++) {
+    var min = start;
+    var max = pos;
+    var element = elements[pos];
+    while (min < max) {
+      var mid = min + ((max - min) >> 1);
+      var comparison = compare(element, elements[mid]);
+      if (comparison < 0) {
+        max = mid;
+      } else {
+        min = mid + 1;
+      }
+    }
+    elements.setRange(min + 1, pos + 1, elements, min);
+    elements[min] = element;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/lowerBound.md b/sdk/dart/package-collection_collection/lowerBound.md
new file mode 100644
index 0000000..fa223de
--- /dev/null
+++ b/sdk/dart/package-collection_collection/lowerBound.md
@@ -0,0 +1,28 @@
+
+# lowerBound&lt;E> function
+
+    *<Null safety>*
+
+
+int lowerBound
+&lt;E>(List&lt;E> sortedList, E value, {int compare(E, E)})
+
+<p>Returns the first position in <code>sortedList</code> that does not compare less than
+<code>value</code>.</p>
+<p>If the list isn't sorted according to the <code>compare</code> function, the result
+is unpredictable.</p>
+<p>If <code>compare</code> is omitted, this defaults to calling <code>Comparable.compareTo</code> on
+the objects. In this case, the objects must be <code>Comparable</code>.</p>
+<p>Returns <code>sortedList.length</code> if all the items in <code>sortedList</code> compare less
+than <code>value</code>.</p>
+
+## Implementation
+
+```dart
+int lowerBound<E>(List<E> sortedList, E value, {int Function(E, E)? compare}) {
+  compare ??= defaultCompare;
+  return lowerBoundBy<E, E>(sortedList, identity, compare, value);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/mapMap.md b/sdk/dart/package-collection_collection/mapMap.md
new file mode 100644
index 0000000..4c6ea0a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/mapMap.md
@@ -0,0 +1,32 @@
+
+# mapMap&lt;K1, V1, K2, V2> function
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Use Map.map or a for loop in a Map literal.&#39;)
+
+Map&lt;K2, V2> ~~mapMap~~
+&lt;K1, V1, K2, V2>(Map&lt;K1, V1> map, {K2 key(K1, V1), V2 value(K1, V1)})
+
+<p>Creates a new map from <code>map</code> with new keys and values.</p>
+<p>The return values of <code>key</code> are used as the keys and the return values of
+<code>value</code> are used as the values for the new map.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Use Map.map or a for loop in a Map literal.')
+Map<K2, V2> mapMap<K1, V1, K2, V2>(Map<K1, V1> map,
+    {K2 Function(K1, V1)? key, V2 Function(K1, V1)? value}) {
+  var keyFn = key ?? (mapKey, _) => mapKey as K2;
+  var valueFn = value ?? (_, mapValue) => mapValue as V2;
+
+  var result = <K2, V2>{};
+  map.forEach((mapKey, mapValue) {
+    result[keyFn(mapKey, mapValue)] = valueFn(mapKey, mapValue);
+  });
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/maxBy.md b/sdk/dart/package-collection_collection/maxBy.md
new file mode 100644
index 0000000..19136be
--- /dev/null
+++ b/sdk/dart/package-collection_collection/maxBy.md
@@ -0,0 +1,37 @@
+
+# maxBy&lt;S, T> function
+
+    *<Null safety>*
+
+
+S? maxBy
+&lt;S, T>(Iterable&lt;S> values, T orderBy(S?), {int? compare(T, T)})
+
+<p>Returns the element of <code>values</code> for which <code>orderBy</code> returns the maximum
+value.</p>
+<p>The values returned by <code>orderBy</code> are compared using the <code>compare</code> function.
+If <code>compare</code> is omitted, values must implement <code>Comparable&lt;T&gt;</code> and they are
+compared using their <code>Comparable.compareTo</code>.</p>
+<p>Returns <code>null</code> if <code>values</code> is empty.</p>
+
+## Implementation
+
+```dart
+S? maxBy<S, T>(Iterable<S> values, T Function(S?) orderBy,
+    {int? Function(T, T)? compare}) {
+  compare ??= defaultCompare;
+
+  S? maxValue;
+  T? maxOrderBy;
+  for (var element in values) {
+    var elementOrderBy = orderBy(element);
+    if (maxOrderBy == null || compare(elementOrderBy, maxOrderBy)! > 0) {
+      maxValue = element;
+      maxOrderBy = elementOrderBy;
+    }
+  }
+  return maxValue;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/mergeMaps.md b/sdk/dart/package-collection_collection/mergeMaps.md
new file mode 100644
index 0000000..e027ba3
--- /dev/null
+++ b/sdk/dart/package-collection_collection/mergeMaps.md
@@ -0,0 +1,31 @@
+
+# mergeMaps&lt;K, V> function
+
+    *<Null safety>*
+
+
+Map&lt;K, V> mergeMaps
+&lt;K, V>(Map&lt;K, V> map1, Map&lt;K, V> map2, {V value(V, V)})
+
+<p>Returns a new map with all key/value pairs in both <code>map1</code> and <code>map2</code>.</p>
+<p>If there are keys that occur in both maps, the <code>value</code> function is used to
+select the value that goes into the resulting map based on the two original
+values. If <code>value</code> is omitted, the value from <code>map2</code> is used.</p>
+
+## Implementation
+
+```dart
+Map<K, V> mergeMaps<K, V>(Map<K, V> map1, Map<K, V> map2,
+    {V Function(V, V)? value}) {
+  var result = Map<K, V>.of(map1);
+  if (value == null) return result..addAll(map2);
+
+  map2.forEach((key, mapValue) {
+    result[key] =
+        result.containsKey(key) ? value(result[key] as V, mapValue) : mapValue;
+  });
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/mergeSort.md b/sdk/dart/package-collection_collection/mergeSort.md
new file mode 100644
index 0000000..0c2f24e
--- /dev/null
+++ b/sdk/dart/package-collection_collection/mergeSort.md
@@ -0,0 +1,58 @@
+
+# mergeSort&lt;E> function
+
+    *<Null safety>*
+
+
+void mergeSort
+&lt;E>(List&lt;E> elements, {int start: 0, int? end, int compare(E, E)})
+
+<p>Sorts a list between <code>start</code> (inclusive) and <code>end</code> (exclusive) using the
+merge sort algorithm.</p>
+<p>If <code>compare</code> is omitted, this defaults to calling <code>Comparable.compareTo</code> on
+the objects. If any object is not <code>Comparable</code>, that throws a <code>TypeError</code>.</p>
+<p>Merge-sorting works by splitting the job into two parts, sorting each
+recursively, and then merging the two sorted parts.</p>
+<p>This takes on the order of <code>n * log(n)</code> comparisons and moves to sort
+<code>n</code> elements, but requires extra space of about the same size as the list
+being sorted.</p>
+<p>This merge sort is stable: Equal elements end up in the same order
+as they started in.</p>
+
+## Implementation
+
+```dart
+void mergeSort<E>(List<E> elements,
+    {int start = 0, int? end, int Function(E, E)? compare}) {
+  end = RangeError.checkValidRange(start, end, elements.length);
+  compare ??= defaultCompare;
+
+  var length = end - start;
+  if (length < 2) return;
+  if (length < _mergeSortLimit) {
+    insertionSort(elements, compare: compare, start: start, end: end);
+    return;
+  }
+  // Special case the first split instead of directly calling
+  // _mergeSort, because the _mergeSort requires its target to
+  // be different from its source, and it requires extra space
+  // of the same size as the list to sort.
+  // This split allows us to have only half as much extra space,
+  // and allows the sorted elements to end up in the original list.
+  var firstLength = (end - start) >> 1;
+  var middle = start + firstLength;
+  var secondLength = end - middle;
+  // secondLength is always the same as firstLength, or one greater.
+  var scratchSpace = List<E>.filled(secondLength, elements[start]);
+  // TODO(linter/2097): Remove ignore when no longer required by linter.
+  // See: https://github.com/dart-lang/linter/issues/2097
+  E Function(E) id = identity; // ignore: omit_local_variable_types
+  _mergeSort(elements, id, compare, middle, end, scratchSpace, 0);
+  var firstTarget = end - firstLength;
+  _mergeSort(elements, id, compare, start, middle, elements, firstTarget);
+  _merge(id, compare, elements, firstTarget, end, scratchSpace, 0, secondLength,
+      elements, start);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/minBy.md b/sdk/dart/package-collection_collection/minBy.md
new file mode 100644
index 0000000..753504a
--- /dev/null
+++ b/sdk/dart/package-collection_collection/minBy.md
@@ -0,0 +1,37 @@
+
+# minBy&lt;S, T> function
+
+    *<Null safety>*
+
+
+S? minBy
+&lt;S, T>(Iterable&lt;S> values, T orderBy(S), {int compare(T, T)})
+
+<p>Returns the element of <code>values</code> for which <code>orderBy</code> returns the minimum
+value.</p>
+<p>The values returned by <code>orderBy</code> are compared using the <code>compare</code> function.
+If <code>compare</code> is omitted, values must implement <code>Comparable&lt;T&gt;</code> and they are
+compared using their <code>Comparable.compareTo</code>.</p>
+<p>Returns <code>null</code> if <code>values</code> is empty.</p>
+
+## Implementation
+
+```dart
+S? minBy<S, T>(Iterable<S> values, T Function(S) orderBy,
+    {int Function(T, T)? compare}) {
+  compare ??= defaultCompare;
+
+  S? minValue;
+  T? minOrderBy;
+  for (var element in values) {
+    var elementOrderBy = orderBy(element);
+    if (minOrderBy == null || compare(elementOrderBy, minOrderBy) < 0) {
+      minValue = element;
+      minOrderBy = elementOrderBy;
+    }
+  }
+  return minValue;
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/package-collection_collection-library.md b/sdk/dart/package-collection_collection/package-collection_collection-library.md
new file mode 100644
index 0000000..07afcbe
--- /dev/null
+++ b/sdk/dart/package-collection_collection/package-collection_collection-library.md
@@ -0,0 +1,328 @@
+
+# collection library
+
+    *<Null safety>*
+
+
+## Classes
+
+##### [CanonicalizedMap](../package-collection_collection/CanonicalizedMap-class.md)&lt;C, K, V>
+
+A map whose keys are converted to canonical values of type <code>C</code>. [...](../package-collection_collection/CanonicalizedMap-class.md)
+
+##### [CaseInsensitiveEquality](../package-collection_collection/CaseInsensitiveEquality-class.md)
+
+String equality that's insensitive to differences in ASCII case. [...](../package-collection_collection/CaseInsensitiveEquality-class.md)
+
+##### [CombinedIterableView](../package-collection_collection/CombinedIterableView-class.md)&lt;T>
+
+A view of several iterables combined sequentially into a single iterable. [...](../package-collection_collection/CombinedIterableView-class.md)
+
+##### [CombinedListView](../package-collection_collection/CombinedListView-class.md)&lt;T>
+
+A view of several lists combined into a single list. [...](../package-collection_collection/CombinedListView-class.md)
+
+##### [CombinedMapView](../package-collection_collection/CombinedMapView-class.md)&lt;K, V>
+
+Returns a new map that represents maps flattened into a single map. [...](../package-collection_collection/CombinedMapView-class.md)
+
+##### [DeepCollectionEquality](../package-collection_collection/DeepCollectionEquality-class.md)
+
+Deep equality on collections. [...](../package-collection_collection/DeepCollectionEquality-class.md)
+
+##### [DefaultEquality](../package-collection_collection/DefaultEquality-class.md)&lt;E>
+
+Equality of objects that compares only the natural equality of the objects. [...](../package-collection_collection/DefaultEquality-class.md)
+
+##### [DelegatingIterable](../package-collection_collection/DelegatingIterable-class.md)&lt;E>
+
+An <code>Iterable</code> that delegates all operations to a base iterable. [...](../package-collection_collection/DelegatingIterable-class.md)
+
+##### [DelegatingList](../package-collection_collection/DelegatingList-class.md)&lt;E>
+
+A <code>List</code> that delegates all operations to a base list. [...](../package-collection_collection/DelegatingList-class.md)
+
+##### [DelegatingMap](../package-collection_collection/DelegatingMap-class.md)&lt;K, V>
+
+A <code>Map</code> that delegates all operations to a base map. [...](../package-collection_collection/DelegatingMap-class.md)
+
+##### [DelegatingQueue](../package-collection_collection/DelegatingQueue-class.md)&lt;E>
+
+A <code>Queue</code> that delegates all operations to a base queue. [...](../package-collection_collection/DelegatingQueue-class.md)
+
+##### [DelegatingSet](../package-collection_collection/DelegatingSet-class.md)&lt;E>
+
+A <code>Set</code> that delegates all operations to a base set. [...](../package-collection_collection/DelegatingSet-class.md)
+
+##### [Equality](../package-collection_collection/Equality-class.md)&lt;E>
+
+A generic equality relation on objects. 
+
+##### [EqualityBy](../package-collection_collection/EqualityBy-class.md)&lt;E, F>
+
+Equality of objects based on derived values. [...](../package-collection_collection/EqualityBy-class.md)
+
+##### [EqualityMap](../package-collection_collection/EqualityMap-class.md)&lt;K, V>
+
+A <code>Map</code> whose key equality is determined by an <a href="../package-collection_collection/Equality-class.md">Equality</a> object. 
+
+##### [EqualitySet](../package-collection_collection/EqualitySet-class.md)&lt;E>
+
+A <code>Set</code> whose key equality is determined by an <a href="../package-collection_collection/Equality-class.md">Equality</a> object. 
+
+##### [HeapPriorityQueue](../package-collection_collection/HeapPriorityQueue-class.md)&lt;E>
+
+Heap based priority queue. [...](../package-collection_collection/HeapPriorityQueue-class.md)
+
+##### [IdentityEquality](../package-collection_collection/IdentityEquality-class.md)&lt;E>
+
+Equality of objects that compares only the identity of the objects. 
+
+##### [IterableEquality](../package-collection_collection/IterableEquality-class.md)&lt;E>
+
+Equality on iterables. [...](../package-collection_collection/IterableEquality-class.md)
+
+##### [IterableZip](../package-collection_collection/IterableZip-class.md)&lt;T>
+
+Iterable that iterates over lists of values from other iterables. [...](../package-collection_collection/IterableZip-class.md)
+
+##### [ListEquality](../package-collection_collection/ListEquality-class.md)&lt;E>
+
+Equality on lists. [...](../package-collection_collection/ListEquality-class.md)
+
+##### [ListSlice](../package-collection_collection/ListSlice-class.md)&lt;E>
+
+A list view of a range of another list. [...](../package-collection_collection/ListSlice-class.md)
+
+##### [MapEquality](../package-collection_collection/MapEquality-class.md)&lt;K, V>
+
+Equality on maps. [...](../package-collection_collection/MapEquality-class.md)
+
+##### [MapKeySet](../package-collection_collection/MapKeySet-class.md)&lt;E>
+
+An unmodifiable <code>Set</code> view of the keys of a <code>Map</code>. [...](../package-collection_collection/MapKeySet-class.md)
+
+##### [MapValueSet](../package-collection_collection/MapValueSet-class.md)&lt;K, V>
+
+Creates a modifiable <code>Set</code> view of the values of a <code>Map</code>. [...](../package-collection_collection/MapValueSet-class.md)
+
+##### [MultiEquality](../package-collection_collection/MultiEquality-class.md)&lt;E>
+
+Combines several equalities into a single equality. [...](../package-collection_collection/MultiEquality-class.md)
+
+##### [NonGrowableListMixin](../package-collection_collection/NonGrowableListMixin-class.md)&lt;E>
+
+Mixin class that implements a throwing version of all list operations that
+change the List's length. 
+
+##### [NonGrowableListView](../package-collection_collection/NonGrowableListView-class.md)&lt;E>
+
+A fixed-length list. [...](../package-collection_collection/NonGrowableListView-class.md)
+
+##### [PriorityQueue](../package-collection_collection/PriorityQueue-class.md)&lt;E>
+
+A priority queue is a priority based work-list of elements. [...](../package-collection_collection/PriorityQueue-class.md)
+
+##### [QueueList](../package-collection_collection/QueueList-class.md)&lt;E>
+
+A class that efficiently implements both <code>Queue</code> and <code>List</code>. 
+
+##### [SetEquality](../package-collection_collection/SetEquality-class.md)&lt;E>
+
+Equality of sets. [...](../package-collection_collection/SetEquality-class.md)
+
+##### [UnionSet](../package-collection_collection/UnionSet-class.md)&lt;E>
+
+A single set that provides a view of the union over a set of sets. [...](../package-collection_collection/UnionSet-class.md)
+
+##### [UnionSetController](../package-collection_collection/UnionSetController-class.md)&lt;E>
+
+A controller that exposes a view of the union of a collection of sets. [...](../package-collection_collection/UnionSetController-class.md)
+
+##### [UnmodifiableListView](../package-collection_collection/UnmodifiableListView-class.md)&lt;E>
+
+An unmodifiable <code>List</code> view of another List. [...](../package-collection_collection/UnmodifiableListView-class.md)
+
+##### [UnmodifiableMapMixin](../package-collection_collection/UnmodifiableMapMixin-class.md)&lt;K, V>
+
+Mixin class that implements a throwing version of all map operations that
+change the Map. 
+
+##### [UnmodifiableMapView](../package-collection_collection/UnmodifiableMapView-class.md)&lt;K, V>
+
+View of a <code>Map</code> that disallow modifying the map. [...](../package-collection_collection/UnmodifiableMapView-class.md)
+
+##### [UnmodifiableSetMixin](../package-collection_collection/UnmodifiableSetMixin-class.md)&lt;E>
+
+Mixin class that implements a throwing version of all set operations that
+change the Set. 
+
+##### [UnmodifiableSetView](../package-collection_collection/UnmodifiableSetView-class.md)&lt;E>
+
+An unmodifiable set. [...](../package-collection_collection/UnmodifiableSetView-class.md)
+
+##### [UnorderedIterableEquality](../package-collection_collection/UnorderedIterableEquality-class.md)&lt;E>
+
+Equality of the elements of two iterables without considering order. [...](../package-collection_collection/UnorderedIterableEquality-class.md)
+
+
+
+## Extensions
+
+##### [ComparatorExtension](../package-collection_collection/ComparatorExtension.md)
+
+Extensions on comparator functions. 
+
+##### [IterableComparableExtension](../package-collection_collection/IterableComparableExtension.md)
+
+Extensions that apply to iterables of <code>Comparable</code> elements. [...](../package-collection_collection/IterableComparableExtension.md)
+
+##### [IterableDoubleExtension](../package-collection_collection/IterableDoubleExtension.md)
+
+Extension on iterables of double. [...](../package-collection_collection/IterableDoubleExtension.md)
+
+##### [IterableExtension](../package-collection_collection/IterableExtension.md)
+
+Extensions that apply to all iterables. [...](../package-collection_collection/IterableExtension.md)
+
+##### [IterableIntegerExtension](../package-collection_collection/IterableIntegerExtension.md)
+
+Extension on iterables of integers. [...](../package-collection_collection/IterableIntegerExtension.md)
+
+##### [IterableIterableExtension](../package-collection_collection/IterableIterableExtension.md)
+
+Extensions on iterables whose elements are also iterables. 
+
+##### [IterableNullableExtension](../package-collection_collection/IterableNullableExtension.md)
+
+Extensions that apply to iterables with a nullable element type. 
+
+##### [IterableNumberExtension](../package-collection_collection/IterableNumberExtension.md)
+
+Extensions that apply to iterables of numbers. 
+
+##### [ListComparableExtensions](../package-collection_collection/ListComparableExtensions.md)
+
+Various extensions on lists of comparable elements. 
+
+##### [ListExtensions](../package-collection_collection/ListExtensions.md)
+
+Various extensions on lists of arbitrary elements. 
+
+
+
+
+## Functions
+
+##### [binarySearch](../package-collection_collection/binarySearch.md)&lt;E>(List&lt;E> sortedList, E value, {int compare(E, E)}) int
+
+Returns a position of the <code>value</code> in <code>sortedList</code>, if it is there. [...](../package-collection_collection/binarySearch.md)  
+
+
+##### [compareAsciiLowerCase](../package-collection_collection/compareAsciiLowerCase.md)(String a, String b) int
+
+Compares <code>a</code> and <code>b</code> lexically, converting ASCII letters to lower case. [...](../package-collection_collection/compareAsciiLowerCase.md)  
+
+
+##### [compareAsciiLowerCaseNatural](../package-collection_collection/compareAsciiLowerCaseNatural.md)(String a, String b) int
+
+Compares strings <code>a</code> and <code>b</code> according to lower-case
+<a href="https://en.wikipedia.org/wiki/Natural_sort_order">natural sort ordering</a>. [...](../package-collection_collection/compareAsciiLowerCaseNatural.md)  
+
+
+##### [compareAsciiUpperCase](../package-collection_collection/compareAsciiUpperCase.md)(String a, String b) int
+
+Compares <code>a</code> and <code>b</code> lexically, converting ASCII letters to upper case. [...](../package-collection_collection/compareAsciiUpperCase.md)  
+
+
+##### [compareAsciiUpperCaseNatural](../package-collection_collection/compareAsciiUpperCaseNatural.md)(String a, String b) int
+
+Compares strings <code>a</code> and <code>b</code> according to upper-case
+<a href="https://en.wikipedia.org/wiki/Natural_sort_order">natural sort ordering</a>. [...](../package-collection_collection/compareAsciiUpperCaseNatural.md)  
+
+
+##### [compareNatural](../package-collection_collection/compareNatural.md)(String a, String b) int
+
+Compares strings <code>a</code> and <code>b</code> according to <a href="https://en.wikipedia.org/wiki/Natural_sort_order">natural sort ordering</a>. [...](../package-collection_collection/compareNatural.md)  
+
+
+##### [equalsIgnoreAsciiCase](../package-collection_collection/equalsIgnoreAsciiCase.md)(String a, String b) bool
+
+Checks if strings <code>a</code> and <code>b</code> differ only on the case of ASCII letters. [...](../package-collection_collection/equalsIgnoreAsciiCase.md)  
+
+
+##### [groupBy](../package-collection_collection/groupBy.md)&lt;S, T>(Iterable&lt;S> values, T key(S)) Map&lt;T, List&lt;S>>
+
+Groups the elements in <code>values</code> by the value returned by <code>key</code>. [...](../package-collection_collection/groupBy.md)  
+
+
+##### [hashIgnoreAsciiCase](../package-collection_collection/hashIgnoreAsciiCase.md)(String string) int
+
+Hash code for a string which is compatible with <a href="../package-collection_collection/equalsIgnoreAsciiCase.md">equalsIgnoreAsciiCase</a>. [...](../package-collection_collection/hashIgnoreAsciiCase.md)  
+
+
+##### [insertionSort](../package-collection_collection/insertionSort.md)&lt;E>(List&lt;E> elements, {int compare(E, E), int start: 0, int? end}) void
+
+Sort a list between <code>start</code> (inclusive) and <code>end</code> (exclusive) using
+insertion sort. [...](../package-collection_collection/insertionSort.md)  
+
+
+##### [lowerBound](../package-collection_collection/lowerBound.md)&lt;E>(List&lt;E> sortedList, E value, {int compare(E, E)}) int
+
+Returns the first position in <code>sortedList</code> that does not compare less than
+<code>value</code>. [...](../package-collection_collection/lowerBound.md)  
+
+
+##### [~~mapMap~~](../package-collection_collection/mapMap.md)&lt;K1, V1, K2, V2>(Map&lt;K1, V1> map, {K2 key(K1, V1), V2 value(K1, V1)}) Map&lt;K2, V2>
+
+Creates a new map from <code>map</code> with new keys and values. [...](../package-collection_collection/mapMap.md)  
+_@Deprecated(&#39;Use Map.map or a for loop in a Map literal.&#39;)_
+
+##### [maxBy](../package-collection_collection/maxBy.md)&lt;S, T>(Iterable&lt;S> values, T orderBy(S?), {int? compare(T, T)}) S?
+
+Returns the element of <code>values</code> for which <code>orderBy</code> returns the maximum
+value. [...](../package-collection_collection/maxBy.md)  
+
+
+##### [mergeMaps](../package-collection_collection/mergeMaps.md)&lt;K, V>(Map&lt;K, V> map1, Map&lt;K, V> map2, {V value(V, V)}) Map&lt;K, V>
+
+Returns a new map with all key/value pairs in both <code>map1</code> and <code>map2</code>. [...](../package-collection_collection/mergeMaps.md)  
+
+
+##### [mergeSort](../package-collection_collection/mergeSort.md)&lt;E>(List&lt;E> elements, {int start: 0, int? end, int compare(E, E)}) void
+
+Sorts a list between <code>start</code> (inclusive) and <code>end</code> (exclusive) using the
+merge sort algorithm. [...](../package-collection_collection/mergeSort.md)  
+
+
+##### [minBy](../package-collection_collection/minBy.md)&lt;S, T>(Iterable&lt;S> values, T orderBy(S), {int compare(T, T)}) S?
+
+Returns the element of <code>values</code> for which <code>orderBy</code> returns the minimum
+value. [...](../package-collection_collection/minBy.md)  
+
+
+##### [reverse](../package-collection_collection/reverse.md)&lt;E>(List&lt;E> elements, [int start = 0, int? end]) void
+
+Reverses a list, or a part of a list, in-place.   
+
+
+##### [shuffle](../package-collection_collection/shuffle.md)(List elements, [int start = 0, int? end, Random? random]) void
+
+Shuffles a list randomly. [...](../package-collection_collection/shuffle.md)  
+
+
+##### [stronglyConnectedComponents](../package-collection_collection/stronglyConnectedComponents.md)&lt;T>(Map&lt;T, Iterable&lt;T>> graph) List&lt;Set&lt;T>>
+
+Returns the <a href="https://en.wikipedia.org/wiki/Strongly_connected_component">strongly connected components</a> of <code>graph</code>, in topological
+order. [...](../package-collection_collection/stronglyConnectedComponents.md)  
+
+
+##### [transitiveClosure](../package-collection_collection/transitiveClosure.md)&lt;T>(Map&lt;T, Iterable&lt;T>> graph) Map&lt;T, Set&lt;T>>
+
+Returns the <a href="https://en.wikipedia.org/wiki/Transitive_closure">transitive closure</a> of <code>graph</code>. [...](../package-collection_collection/transitiveClosure.md)  
+
+
+
+
+
+
diff --git a/sdk/dart/package-collection_collection/reverse.md b/sdk/dart/package-collection_collection/reverse.md
new file mode 100644
index 0000000..8fb0dbf
--- /dev/null
+++ b/sdk/dart/package-collection_collection/reverse.md
@@ -0,0 +1,21 @@
+
+# reverse&lt;E> function
+
+    *<Null safety>*
+
+
+void reverse
+&lt;E>(List&lt;E> elements, [int start = 0, int? end])
+
+<p>Reverses a list, or a part of a list, in-place.</p>
+
+## Implementation
+
+```dart
+void reverse<E>(List<E> elements, [int start = 0, int? end]) {
+  end = RangeError.checkValidRange(start, end, elements.length);
+  _reverse<E>(elements, start, end);
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/shuffle.md b/sdk/dart/package-collection_collection/shuffle.md
new file mode 100644
index 0000000..a6dc516
--- /dev/null
+++ b/sdk/dart/package-collection_collection/shuffle.md
@@ -0,0 +1,33 @@
+
+# shuffle function
+
+    *<Null safety>*
+
+
+void shuffle
+(List elements, [int start = 0, int? end, Random? random])
+
+<p>Shuffles a list randomly.</p>
+<p>A sub-range of a list can be shuffled by providing <code>start</code> and <code>end</code>.</p>
+<p>If <code>start</code> or <code>end</code> are omitted,
+they default to the start and end of the list.</p>
+<p>If <code>random</code> is omitted, it defaults to a new instance of <code>Random</code>.</p>
+
+## Implementation
+
+```dart
+void shuffle(List elements, [int start = 0, int? end, Random? random]) {
+  random ??= Random();
+  end ??= elements.length;
+  var length = end - start;
+  while (length > 1) {
+    var pos = random.nextInt(length);
+    length--;
+    var tmp1 = elements[start + pos];
+    elements[start + pos] = elements[start + length];
+    elements[start + length] = tmp1;
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/stronglyConnectedComponents.md b/sdk/dart/package-collection_collection/stronglyConnectedComponents.md
new file mode 100644
index 0000000..6d87196
--- /dev/null
+++ b/sdk/dart/package-collection_collection/stronglyConnectedComponents.md
@@ -0,0 +1,75 @@
+
+# stronglyConnectedComponents&lt;T> function
+
+    *<Null safety>*
+
+
+List&lt;Set&lt;T>> stronglyConnectedComponents
+&lt;T>(Map&lt;T, Iterable&lt;T>> graph)
+
+<p>Returns the <a href="https://en.wikipedia.org/wiki/Strongly_connected_component">strongly connected components</a> of <code>graph</code>, in topological
+order.</p>
+<p>Interprets <code>graph</code> as a directed graph with a vertex for each key and edges
+from each key to the values that the key maps to.</p>
+<p>Assumes that every vertex in the graph has a key to represent it, even if
+that vertex has no outgoing edges. This isn't checked, but if it's not
+satisfied, the function may crash or provide unexpected output. For example,
+<code>{"a": ["b"]}</code> is not valid, but <code>{"a": ["b"], "b": []}</code> is.</p>
+
+## Implementation
+
+```dart
+List<Set<T>> stronglyConnectedComponents<T>(Map<T, Iterable<T>> graph) {
+  // This uses [Tarjan's algorithm][].
+  //
+  // [Tarjan's algorithm]: https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
+  var index = 0;
+  var stack = <T?>[];
+  var result = <Set<T>>[];
+
+  // The order of these doesn't matter, so we use un-linked implementations to
+  // avoid unnecessary overhead.
+  var indices = HashMap<T, int>();
+  var lowLinks = HashMap<T, int>();
+  var onStack = HashSet<T>();
+
+  void strongConnect(T vertex) {
+    indices[vertex] = index;
+    lowLinks[vertex] = index;
+    index++;
+
+    stack.add(vertex);
+    onStack.add(vertex);
+
+    for (var successor in graph[vertex]!) {
+      if (!indices.containsKey(successor)) {
+        strongConnect(successor);
+        lowLinks[vertex] = math.min(lowLinks[vertex]!, lowLinks[successor]!);
+      } else if (onStack.contains(successor)) {
+        lowLinks[vertex] = math.min(lowLinks[vertex]!, lowLinks[successor]!);
+      }
+    }
+
+    if (lowLinks[vertex] == indices[vertex]) {
+      var component = <T>{};
+      T? neighbor;
+      do {
+        neighbor = stack.removeLast();
+        onStack.remove(neighbor);
+        component.add(neighbor as T);
+      } while (neighbor != vertex);
+      result.add(component);
+    }
+  }
+
+  for (var vertex in graph.keys) {
+    if (!indices.containsKey(vertex)) strongConnect(vertex);
+  }
+
+  // Tarjan's algorithm produces a reverse-topological sort, so we reverse it to
+  // get a normal topological sort.
+  return result.reversed.toList();
+}
+```
+
+
diff --git a/sdk/dart/package-collection_collection/transitiveClosure.md b/sdk/dart/package-collection_collection/transitiveClosure.md
new file mode 100644
index 0000000..a15f737
--- /dev/null
+++ b/sdk/dart/package-collection_collection/transitiveClosure.md
@@ -0,0 +1,49 @@
+
+# transitiveClosure&lt;T> function
+
+    *<Null safety>*
+
+
+Map&lt;T, Set&lt;T>> transitiveClosure
+&lt;T>(Map&lt;T, Iterable&lt;T>> graph)
+
+<p>Returns the <a href="https://en.wikipedia.org/wiki/Transitive_closure">transitive closure</a> of <code>graph</code>.</p>
+<p>Interprets <code>graph</code> as a directed graph with a vertex for each key and edges
+from each key to the values that the key maps to.</p>
+<p>Assumes that every vertex in the graph has a key to represent it, even if
+that vertex has no outgoing edges. This isn't checked, but if it's not
+satisfied, the function may crash or provide unexpected output. For example,
+<code>{"a": ["b"]}</code> is not valid, but <code>{"a": ["b"], "b": []}</code> is.</p>
+
+## Implementation
+
+```dart
+Map<T, Set<T>> transitiveClosure<T>(Map<T, Iterable<T>> graph) {
+  // This uses [Warshall's algorithm][], modified not to add a vertex from each
+  // node to itself.
+  //
+  // [Warshall's algorithm]: https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm#Applications_and_generalizations.
+  var result = <T, Set<T>>{};
+  graph.forEach((vertex, edges) {
+    result[vertex] = Set<T>.from(edges);
+  });
+
+  // Lists are faster to iterate than maps, so we create a list since we're
+  // iterating repeatedly.
+  var keys = graph.keys.toList();
+  for (var vertex1 in keys) {
+    for (var vertex2 in keys) {
+      for (var vertex3 in keys) {
+        if (result[vertex2]!.contains(vertex1) &&
+            result[vertex1]!.contains(vertex3)) {
+          result[vertex2]!.add(vertex3);
+        }
+      }
+    }
+  }
+
+  return result;
+}
+```
+
+
diff --git a/sdk/dart/package-fuchsia_logger_logger/log.md b/sdk/dart/package-fuchsia_logger_logger/log.md
new file mode 100644
index 0000000..14db629
--- /dev/null
+++ b/sdk/dart/package-fuchsia_logger_logger/log.md
@@ -0,0 +1,28 @@
+
+# log top-level property
+
+    *<Null safety>*
+
+[Logger](../package-logging_logging/Logger-class.md) log
+  
+_read / write_
+
+<p>The logger instance in which logs will be written.</p>
+<p>This logger will connect to the Fuchsia system logger when running
+on a Fuchsia device and will write to stdout when not.
+When running on a Fuchsia device logs can be viewed by running
+<code>fx syslog</code>.</p>
+
+## Implementation
+
+```dart
+Logger log = () {
+  _connectToLogWriterIfNeeded();
+  print(_warningMessage);
+
+  return Logger.root;
+}()
+```
+
+
+
diff --git a/sdk/dart/package-fuchsia_logger_logger/package-fuchsia_logger_logger-library.md b/sdk/dart/package-fuchsia_logger_logger/package-fuchsia_logger_logger-library.md
new file mode 100644
index 0000000..3ed8a06
--- /dev/null
+++ b/sdk/dart/package-fuchsia_logger_logger/package-fuchsia_logger_logger-library.md
@@ -0,0 +1,74 @@
+
+# logger library
+
+    *<Null safety>*
+
+
+## Classes
+
+##### [Level](../package-logging_logging/Level-class.md)
+
+<a href="../package-logging_logging/Level-class.md">Level</a>s to control logging output. Logging can be enabled to include all
+levels above certain <a href="../package-logging_logging/Level-class.md">Level</a>. <a href="../package-logging_logging/Level-class.md">Level</a>s are ordered using an integer
+value <a href="../package-logging_logging/Level/value.md">Level.value</a>. The predefined <a href="../package-logging_logging/Level-class.md">Level</a> constants below are sorted as
+follows (in descending order): <a href="../package-logging_logging/Level/SHOUT-constant.md">Level.SHOUT</a>, <a href="../package-logging_logging/Level/SEVERE-constant.md">Level.SEVERE</a>,
+<a href="../package-logging_logging/Level/WARNING-constant.md">Level.WARNING</a>, <a href="../package-logging_logging/Level/INFO-constant.md">Level.INFO</a>, <a href="../package-logging_logging/Level/CONFIG-constant.md">Level.CONFIG</a>, <a href="../package-logging_logging/Level/FINE-constant.md">Level.FINE</a>, <a href="../package-logging_logging/Level/FINER-constant.md">Level.FINER</a>,
+<a href="../package-logging_logging/Level/FINEST-constant.md">Level.FINEST</a>, and <a href="../package-logging_logging/Level/ALL-constant.md">Level.ALL</a>. [...](../package-logging_logging/Level-class.md)
+
+##### [Logger](../package-logging_logging/Logger-class.md)
+
+Use a <a href="../package-logging_logging/Logger-class.md">Logger</a> to log debug messages. [...](../package-logging_logging/Logger-class.md)
+
+##### [LogRecord](../package-logging_logging/LogRecord-class.md)
+
+A log entry representation used to propagate information from <a href="../package-logging_logging/Logger-class.md">Logger</a> to
+individual handlers. 
+
+
+
+
+## Constants
+
+##### [defaultLevel](../package-logging_logging/defaultLevel-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+The default <a href="../package-logging_logging/Level-class.md">Level</a>.   
+
+
+
+## Properties
+
+##### [hierarchicalLoggingEnabled](../package-logging_logging/hierarchicalLoggingEnabled.md) &#8596; bool
+
+Whether to allow fine-grain logging and configuration of loggers in a
+hierarchy. [...](../package-logging_logging/hierarchicalLoggingEnabled.md)  
+_read / write_
+
+##### [log](../package-fuchsia_logger_logger/log.md) &#8596; [Logger](../package-logging_logging/Logger-class.md)
+
+The logger instance in which logs will be written. [...](../package-fuchsia_logger_logger/log.md)  
+_read / write_
+
+##### [recordStackTraceAtLevel](../package-logging_logging/recordStackTraceAtLevel.md) &#8596; [Level](../package-logging_logging/Level-class.md)
+
+Automatically record stack traces for any message of this level or above. [...](../package-logging_logging/recordStackTraceAtLevel.md)  
+_read / write_
+
+
+## Functions
+
+##### [setupLogger](../package-fuchsia_logger_logger/setupLogger.md)({String? name, [Level](../package-logging_logging/Level-class.md)? level, List&lt;String>? globalTags, bool? forceShowCodeLocation}) void
+
+Sets up the default logger for the current Dart application. [...](../package-fuchsia_logger_logger/setupLogger.md)  
+
+
+
+
+## Typedefs
+
+##### [~~LoggerHandler~~](../package-logging_logging/LoggerHandler.md)([LogRecord](../package-logging_logging/LogRecord-class.md) record) void
+
+Handler callback to process log entries as they are added to a <a href="../package-logging_logging/Logger-class.md">Logger</a>.   
+_@Deprecated(&#39;Will be removed in 1.0.0&#39;)_
+
+
+
diff --git a/sdk/dart/package-fuchsia_logger_logger/setupLogger.md b/sdk/dart/package-fuchsia_logger_logger/setupLogger.md
new file mode 100644
index 0000000..e9cc105
--- /dev/null
+++ b/sdk/dart/package-fuchsia_logger_logger/setupLogger.md
@@ -0,0 +1,70 @@
+
+# setupLogger function
+
+    *<Null safety>*
+
+
+void setupLogger
+({String? name, [Level](../package-logging_logging/Level-class.md)? level, List&lt;String>? globalTags, bool? forceShowCodeLocation})
+
+<p>Sets up the default logger for the current Dart application.</p>
+<p>Every Dart application should call this <a href="../package-fuchsia_logger_logger/setupLogger.md">setupLogger</a> function in their main
+before calling the actual log statements.</p>
+<p>The provided <code>name</code> will be used for displaying the scope, and this name
+will default to the last segment (i.e. basename) of the application url.</p>
+<p>If <code>level</code> is provided, only the log messages of which level is greater than
+equal to the provided <code>level</code> will be shown. If not provided, it defaults to
+<a href="../package-logging_logging/Level/ALL-constant.md">Level.ALL</a>.</p>
+<p>If <code>globalTags</code> is provided, these tags will be added to each message logged
+via this logger. The system logger can only accept 5 tags with each log
+record. Each record will include the name provided in the <a href="../package-fuchsia_logger_logger/setupLogger.md">setupLogger</a>
+method, the name of the dart logger if it is not the root logger and the
+code location if it is requested. Any tags that are over the maximum limit
+that the system is allowed to receive will be dropped.</p>
+<p>By default, the caller code location is automatically added in checked mode
+and not in production mode, because it is relatively expensive to calculate
+the code location. If <code>forceShowCodeLocation</code> is set to true, the location
+will be added in production mode as well.</p>
+
+## Implementation
+
+```dart
+void setupLogger({
+  String? name,
+  Level? level,
+  List<String>? globalTags,
+  bool? forceShowCodeLocation,
+}) {
+  // set the log variable to the root logger and set the level to that
+  // specified by level. We do this so subsequent calls to the log method
+  // will not run the default setup method.
+  log = Logger.root..level = level ?? Level.ALL;
+
+  // connect to the logger writer here. If log has already been called this
+  // method will be a noop. At this point, _logWriter will not be null
+  _connectToLogWriterIfNeeded();
+
+  final loggerBaseName =
+      name ?? Platform.script?.pathSegments?.lastWhereOrNull((_) => true);
+
+  // Tags get appended to each log statement. We put the name, if present
+  // as the first tag so it makes it easier to identify.
+  // We remove any null values before sending them to the logger
+  final List<String> tags = []
+    ..addAll(globalTags ?? const [])
+    ..removeWhere((t) => t == null || t.isEmpty);
+
+  bool inCheckedMode = false;
+  assert(() {
+    inCheckedMode = true;
+    return true;
+  }());
+
+  _logWriter
+    ..loggerBaseName = loggerBaseName
+    ..globalTags = tags
+    ..forceShowCodeLocation = forceShowCodeLocation ?? inCheckedMode;
+}
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level-class.md b/sdk/dart/package-logging_logging/Level-class.md
new file mode 100644
index 0000000..9c4bb15
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level-class.md
@@ -0,0 +1,162 @@
+
+# Level class
+
+    *<Null safety>*
+
+<p><a href="../package-logging_logging/Level-class.md">Level</a>s to control logging output. Logging can be enabled to include all
+levels above certain <a href="../package-logging_logging/Level-class.md">Level</a>. <a href="../package-logging_logging/Level-class.md">Level</a>s are ordered using an integer
+value <a href="../package-logging_logging/Level/value.md">Level.value</a>. The predefined <a href="../package-logging_logging/Level-class.md">Level</a> constants below are sorted as
+follows (in descending order): <a href="../package-logging_logging/Level/SHOUT-constant.md">Level.SHOUT</a>, <a href="../package-logging_logging/Level/SEVERE-constant.md">Level.SEVERE</a>,
+<a href="../package-logging_logging/Level/WARNING-constant.md">Level.WARNING</a>, <a href="../package-logging_logging/Level/INFO-constant.md">Level.INFO</a>, <a href="../package-logging_logging/Level/CONFIG-constant.md">Level.CONFIG</a>, <a href="../package-logging_logging/Level/FINE-constant.md">Level.FINE</a>, <a href="../package-logging_logging/Level/FINER-constant.md">Level.FINER</a>,
+<a href="../package-logging_logging/Level/FINEST-constant.md">Level.FINEST</a>, and <a href="../package-logging_logging/Level/ALL-constant.md">Level.ALL</a>.</p>
+<p>We recommend using one of the predefined logging levels. If you define your
+own level, make sure you use a value between those used in <a href="../package-logging_logging/Level/ALL-constant.md">Level.ALL</a> and
+<a href="../package-logging_logging/Level/OFF-constant.md">Level.OFF</a>.</p>
+
+
+**Implemented types**
+
+- Comparable&lt;[Level](../package-logging_logging/Level-class.md)>
+
+
+
+
+
+## Constructors
+
+[Level](../package-logging_logging/Level/Level.md) (String name, int value)
+
+   
+_const_ 
+
+
+## Properties
+
+##### [hashCode](../package-logging_logging/Level/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-logging_logging/Level/hashCode.md)  
+_read-only, override_
+
+##### [name](../package-logging_logging/Level/name.md) &#8594; String
+
+   
+_final_
+
+##### [runtimeType](../package-logging_logging/Level/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [value](../package-logging_logging/Level/value.md) &#8594; int
+
+Unique value for this level. Used to order levels, so filtering can
+exclude messages whose level is under certain value.   
+_final_
+
+
+## Methods
+
+##### [compareTo](../package-logging_logging/Level/compareTo.md)([Level](../package-logging_logging/Level-class.md) other) int
+
+Compares this object to another <code>Comparable</code> [...](../package-logging_logging/Level/compareTo.md)  
+_override_
+
+##### [noSuchMethod](../package-logging_logging/Level/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-logging_logging/Level/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-logging_logging/Level/toString.md)() String
+
+Returns a string representation of this object.   
+_override_
+
+
+## Operators
+
+##### [operator <](../package-logging_logging/Level/operator_less.md)([Level](../package-logging_logging/Level-class.md) other) bool
+
+   
+
+
+##### [operator <=](../package-logging_logging/Level/operator_less_equal.md)([Level](../package-logging_logging/Level-class.md) other) bool
+
+   
+
+
+##### [operator ==](../package-logging_logging/Level/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-logging_logging/Level/operator_equals.md)  
+_override_
+
+##### [operator >](../package-logging_logging/Level/operator_greater.md)([Level](../package-logging_logging/Level-class.md) other) bool
+
+   
+
+
+##### [operator >=](../package-logging_logging/Level/operator_greater_equal.md)([Level](../package-logging_logging/Level-class.md) other) bool
+
+   
+
+
+
+
+
+## Constants
+
+##### [ALL](../package-logging_logging/Level/ALL-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Special key to turn on logging for all levels (<a href="../package-logging_logging/Level/value.md">value</a> = 0).   
+
+
+##### [CONFIG](../package-logging_logging/Level/CONFIG-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for static configuration messages (<a href="../package-logging_logging/Level/value.md">value</a> = 700).   
+
+
+##### [FINE](../package-logging_logging/Level/FINE-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for tracing information (<a href="../package-logging_logging/Level/value.md">value</a> = 500).   
+
+
+##### [FINER](../package-logging_logging/Level/FINER-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for fairly detailed tracing (<a href="../package-logging_logging/Level/value.md">value</a> = 400).   
+
+
+##### [FINEST](../package-logging_logging/Level/FINEST-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for highly detailed tracing (<a href="../package-logging_logging/Level/value.md">value</a> = 300).   
+
+
+##### [INFO](../package-logging_logging/Level/INFO-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for informational messages (<a href="../package-logging_logging/Level/value.md">value</a> = 800).   
+
+
+##### [LEVELS](../package-logging_logging/Level/LEVELS-constant.md) const List&lt;[Level](../package-logging_logging/Level-class.md)>
+
+   
+
+
+##### [OFF](../package-logging_logging/Level/OFF-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Special key to turn off all logging (<a href="../package-logging_logging/Level/value.md">value</a> = 2000).   
+
+
+##### [SEVERE](../package-logging_logging/Level/SEVERE-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for serious failures (<a href="../package-logging_logging/Level/value.md">value</a> = 1000).   
+
+
+##### [SHOUT](../package-logging_logging/Level/SHOUT-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for extra debugging loudness (<a href="../package-logging_logging/Level/value.md">value</a> = 1200).   
+
+
+##### [WARNING](../package-logging_logging/Level/WARNING-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+Key for potential problems (<a href="../package-logging_logging/Level/value.md">value</a> = 900).   
+
+
+
diff --git a/sdk/dart/package-logging_logging/Level/ALL-constant.md b/sdk/dart/package-logging_logging/Level/ALL-constant.md
new file mode 100644
index 0000000..8e3e03e
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/ALL-constant.md
@@ -0,0 +1,20 @@
+
+# ALL constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const ALL
+  
+
+
+<p>Special key to turn on logging for all levels (<a href="../../package-logging_logging/Level/value.md">value</a> = 0).</p>
+
+## Implementation
+
+```dart
+static const Level ALL = Level('ALL', 0)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/CONFIG-constant.md b/sdk/dart/package-logging_logging/Level/CONFIG-constant.md
new file mode 100644
index 0000000..a4f9e0f
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/CONFIG-constant.md
@@ -0,0 +1,20 @@
+
+# CONFIG constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const CONFIG
+  
+
+
+<p>Key for static configuration messages (<a href="../../package-logging_logging/Level/value.md">value</a> = 700).</p>
+
+## Implementation
+
+```dart
+static const Level CONFIG = Level('CONFIG', 700)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/FINE-constant.md b/sdk/dart/package-logging_logging/Level/FINE-constant.md
new file mode 100644
index 0000000..95997f4
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/FINE-constant.md
@@ -0,0 +1,20 @@
+
+# FINE constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const FINE
+  
+
+
+<p>Key for tracing information (<a href="../../package-logging_logging/Level/value.md">value</a> = 500).</p>
+
+## Implementation
+
+```dart
+static const Level FINE = Level('FINE', 500)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/FINER-constant.md b/sdk/dart/package-logging_logging/Level/FINER-constant.md
new file mode 100644
index 0000000..144cd08
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/FINER-constant.md
@@ -0,0 +1,20 @@
+
+# FINER constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const FINER
+  
+
+
+<p>Key for fairly detailed tracing (<a href="../../package-logging_logging/Level/value.md">value</a> = 400).</p>
+
+## Implementation
+
+```dart
+static const Level FINER = Level('FINER', 400)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/FINEST-constant.md b/sdk/dart/package-logging_logging/Level/FINEST-constant.md
new file mode 100644
index 0000000..33452d6
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/FINEST-constant.md
@@ -0,0 +1,20 @@
+
+# FINEST constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const FINEST
+  
+
+
+<p>Key for highly detailed tracing (<a href="../../package-logging_logging/Level/value.md">value</a> = 300).</p>
+
+## Implementation
+
+```dart
+static const Level FINEST = Level('FINEST', 300)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/INFO-constant.md b/sdk/dart/package-logging_logging/Level/INFO-constant.md
new file mode 100644
index 0000000..8390e5d
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/INFO-constant.md
@@ -0,0 +1,20 @@
+
+# INFO constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const INFO
+  
+
+
+<p>Key for informational messages (<a href="../../package-logging_logging/Level/value.md">value</a> = 800).</p>
+
+## Implementation
+
+```dart
+static const Level INFO = Level('INFO', 800)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/LEVELS-constant.md b/sdk/dart/package-logging_logging/Level/LEVELS-constant.md
new file mode 100644
index 0000000..8d8b2ca
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/LEVELS-constant.md
@@ -0,0 +1,30 @@
+
+# LEVELS constant
+
+    *<Null safety>*
+
+List&lt;[Level](../../package-logging_logging/Level-class.md)> const LEVELS
+  
+
+
+
+## Implementation
+
+```dart
+static const List<Level> LEVELS = [
+  ALL,
+  FINEST,
+  FINER,
+  FINE,
+  CONFIG,
+  INFO,
+  WARNING,
+  SEVERE,
+  SHOUT,
+  OFF
+]
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/Level.md b/sdk/dart/package-logging_logging/Level/Level.md
new file mode 100644
index 0000000..94ea306
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/Level.md
@@ -0,0 +1,17 @@
+
+# Level constructor
+
+    *<Null safety>*
+
+
+const
+Level(String name, int value)
+
+
+## Implementation
+
+```dart
+const Level(this.name, this.value);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/OFF-constant.md b/sdk/dart/package-logging_logging/Level/OFF-constant.md
new file mode 100644
index 0000000..7a9736e
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/OFF-constant.md
@@ -0,0 +1,20 @@
+
+# OFF constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const OFF
+  
+
+
+<p>Special key to turn off all logging (<a href="../../package-logging_logging/Level/value.md">value</a> = 2000).</p>
+
+## Implementation
+
+```dart
+static const Level OFF = Level('OFF', 2000)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/SEVERE-constant.md b/sdk/dart/package-logging_logging/Level/SEVERE-constant.md
new file mode 100644
index 0000000..3fdbaab
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/SEVERE-constant.md
@@ -0,0 +1,20 @@
+
+# SEVERE constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const SEVERE
+  
+
+
+<p>Key for serious failures (<a href="../../package-logging_logging/Level/value.md">value</a> = 1000).</p>
+
+## Implementation
+
+```dart
+static const Level SEVERE = Level('SEVERE', 1000)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/SHOUT-constant.md b/sdk/dart/package-logging_logging/Level/SHOUT-constant.md
new file mode 100644
index 0000000..766455b
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/SHOUT-constant.md
@@ -0,0 +1,20 @@
+
+# SHOUT constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const SHOUT
+  
+
+
+<p>Key for extra debugging loudness (<a href="../../package-logging_logging/Level/value.md">value</a> = 1200).</p>
+
+## Implementation
+
+```dart
+static const Level SHOUT = Level('SHOUT', 1200)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/WARNING-constant.md b/sdk/dart/package-logging_logging/Level/WARNING-constant.md
new file mode 100644
index 0000000..2d231ed
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/WARNING-constant.md
@@ -0,0 +1,20 @@
+
+# WARNING constant
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) const WARNING
+  
+
+
+<p>Key for potential problems (<a href="../../package-logging_logging/Level/value.md">value</a> = 900).</p>
+
+## Implementation
+
+```dart
+static const Level WARNING = Level('WARNING', 900)
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/compareTo.md b/sdk/dart/package-logging_logging/Level/compareTo.md
new file mode 100644
index 0000000..a7fff02
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/compareTo.md
@@ -0,0 +1,26 @@
+
+# compareTo method
+
+    *<Null safety>*
+
+- @override
+
+int compareTo
+([Level](../../package-logging_logging/Level-class.md) other)
+_override_
+
+<p>Compares this object to another <code>Comparable</code></p>
+<p>Returns a value like a <code>Comparator</code> when comparing <code>this</code> to <code>other</code>.
+That is, it returns a negative integer if <code>this</code> is ordered before <code>other</code>,
+a positive integer if <code>this</code> is ordered after <code>other</code>,
+and zero if <code>this</code> and <code>other</code> are ordered together.</p>
+<p>The <code>other</code> argument must be a value that is comparable to this object.</p>
+
+## Implementation
+
+```dart
+@override
+int compareTo(Level other) => value - other.value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/hashCode.md b/sdk/dart/package-logging_logging/Level/hashCode.md
new file mode 100644
index 0000000..b85fca4
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+    *<Null safety>*
+
+
+int hashCode
+  
+_override_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-logging_logging/Level/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-logging_logging/Level/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-logging_logging/Level/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-logging_logging/Level/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-logging_logging/Level/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-logging_logging/Level/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+@override
+int get hashCode => value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/name.md b/sdk/dart/package-logging_logging/Level/name.md
new file mode 100644
index 0000000..4725351
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/name.md
@@ -0,0 +1,19 @@
+
+# name property
+
+    *<Null safety>*
+
+String name
+  
+_final_
+
+
+## Implementation
+
+```dart
+final String name
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/noSuchMethod.md b/sdk/dart/package-logging_logging/Level/noSuchMethod.md
new file mode 100644
index 0000000..7c7f7cc
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-logging_logging/Level/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/operator_equals.md b/sdk/dart/package-logging_logging/Level/operator_equals.md
new file mode 100644
index 0000000..737af75
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/operator_equals.md
@@ -0,0 +1,48 @@
+
+# operator == method
+
+    *<Null safety>*
+
+- @override
+
+bool operator ==
+(Object other)
+_override_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-logging_logging/Level/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+@override
+bool operator ==(Object other) => other is Level && value == other.value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/operator_greater.md b/sdk/dart/package-logging_logging/Level/operator_greater.md
new file mode 100644
index 0000000..3a6906e
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/operator_greater.md
@@ -0,0 +1,18 @@
+
+# operator > method
+
+    *<Null safety>*
+
+
+bool operator &gt;
+([Level](../../package-logging_logging/Level-class.md) other)
+
+
+
+## Implementation
+
+```dart
+bool operator >(Level other) => value > other.value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/operator_greater_equal.md b/sdk/dart/package-logging_logging/Level/operator_greater_equal.md
new file mode 100644
index 0000000..33f201d
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/operator_greater_equal.md
@@ -0,0 +1,18 @@
+
+# operator >= method
+
+    *<Null safety>*
+
+
+bool operator &gt;=
+([Level](../../package-logging_logging/Level-class.md) other)
+
+
+
+## Implementation
+
+```dart
+bool operator >=(Level other) => value >= other.value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/operator_less.md b/sdk/dart/package-logging_logging/Level/operator_less.md
new file mode 100644
index 0000000..16526cf
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/operator_less.md
@@ -0,0 +1,18 @@
+
+# operator < method
+
+    *<Null safety>*
+
+
+bool operator &lt;
+([Level](../../package-logging_logging/Level-class.md) other)
+
+
+
+## Implementation
+
+```dart
+bool operator <(Level other) => value < other.value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/operator_less_equal.md b/sdk/dart/package-logging_logging/Level/operator_less_equal.md
new file mode 100644
index 0000000..a54fdbf
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/operator_less_equal.md
@@ -0,0 +1,18 @@
+
+# operator <= method
+
+    *<Null safety>*
+
+
+bool operator &lt;=
+([Level](../../package-logging_logging/Level-class.md) other)
+
+
+
+## Implementation
+
+```dart
+bool operator <=(Level other) => value <= other.value;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/runtimeType.md b/sdk/dart/package-logging_logging/Level/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/toString.md b/sdk/dart/package-logging_logging/Level/toString.md
new file mode 100644
index 0000000..969e461
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_override_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => name;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Level/value.md b/sdk/dart/package-logging_logging/Level/value.md
new file mode 100644
index 0000000..bd1fdc0
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Level/value.md
@@ -0,0 +1,21 @@
+
+# value property
+
+    *<Null safety>*
+
+int value
+  
+_final_
+
+<p>Unique value for this level. Used to order levels, so filtering can
+exclude messages whose level is under certain value.</p>
+
+## Implementation
+
+```dart
+final int value
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord-class.md b/sdk/dart/package-logging_logging/LogRecord-class.md
new file mode 100644
index 0000000..d114b12
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord-class.md
@@ -0,0 +1,99 @@
+
+# LogRecord class
+
+    *<Null safety>*
+
+<p>A log entry representation used to propagate information from <a href="../package-logging_logging/Logger-class.md">Logger</a> to
+individual handlers.</p>
+
+
+## Constructors
+
+[LogRecord](../package-logging_logging/LogRecord/LogRecord.md) ([Level](../package-logging_logging/Level-class.md) level, String message, String loggerName, [Object error, StackTrace stackTrace, Zone zone, Object object])
+
+   
+ 
+
+
+## Properties
+
+##### [error](../package-logging_logging/LogRecord/error.md) &#8594; Object
+
+Associated error (if any) when recording errors messages.   
+_final_
+
+##### [hashCode](../package-logging_logging/LogRecord/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-logging_logging/LogRecord/hashCode.md)  
+_read-only, inherited_
+
+##### [level](../package-logging_logging/LogRecord/level.md) &#8594; [Level](../package-logging_logging/Level-class.md)
+
+   
+_final_
+
+##### [loggerName](../package-logging_logging/LogRecord/loggerName.md) &#8594; String
+
+Logger where this record is stored.   
+_final_
+
+##### [message](../package-logging_logging/LogRecord/message.md) &#8594; String
+
+   
+_final_
+
+##### [object](../package-logging_logging/LogRecord/object.md) &#8594; Object
+
+Non-string message passed to Logger.   
+_final_
+
+##### [runtimeType](../package-logging_logging/LogRecord/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+##### [sequenceNumber](../package-logging_logging/LogRecord/sequenceNumber.md) &#8594; int
+
+Unique sequence number greater than all log records created before it.   
+_final_
+
+##### [stackTrace](../package-logging_logging/LogRecord/stackTrace.md) &#8594; StackTrace
+
+Associated stackTrace (if any) when recording errors messages.   
+_final_
+
+##### [time](../package-logging_logging/LogRecord/time.md) &#8594; DateTime
+
+Time when this record was created.   
+_final_
+
+##### [zone](../package-logging_logging/LogRecord/zone.md) &#8594; Zone
+
+Zone of the calling code which resulted in this LogRecord.   
+_final_
+
+
+## Methods
+
+##### [noSuchMethod](../package-logging_logging/LogRecord/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-logging_logging/LogRecord/noSuchMethod.md)  
+_inherited_
+
+##### [toString](../package-logging_logging/LogRecord/toString.md)() String
+
+Returns a string representation of this object.   
+_override_
+
+
+## Operators
+
+##### [operator ==](../package-logging_logging/LogRecord/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-logging_logging/LogRecord/operator_equals.md)  
+_inherited_
+
+
+
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/LogRecord.md b/sdk/dart/package-logging_logging/LogRecord/LogRecord.md
new file mode 100644
index 0000000..d2df723
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/LogRecord.md
@@ -0,0 +1,20 @@
+
+# LogRecord constructor
+
+    *<Null safety>*
+
+
+
+LogRecord([Level](../../package-logging_logging/Level-class.md) level, String message, String loggerName, [Object error, StackTrace stackTrace, Zone zone, Object object])
+
+
+## Implementation
+
+```dart
+LogRecord(this.level, this.message, this.loggerName,
+    [this.error, this.stackTrace, this.zone, this.object])
+    : time = DateTime.now(),
+      sequenceNumber = LogRecord._nextNumber++;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/error.md b/sdk/dart/package-logging_logging/LogRecord/error.md
new file mode 100644
index 0000000..485ddac
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/error.md
@@ -0,0 +1,20 @@
+
+# error property
+
+    *<Null safety>*
+
+Object error
+  
+_final_
+
+<p>Associated error (if any) when recording errors messages.</p>
+
+## Implementation
+
+```dart
+final Object error
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/hashCode.md b/sdk/dart/package-logging_logging/LogRecord/hashCode.md
new file mode 100644
index 0000000..cd6f884
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-logging_logging/LogRecord/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-logging_logging/LogRecord/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-logging_logging/LogRecord/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-logging_logging/LogRecord/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-logging_logging/LogRecord/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-logging_logging/LogRecord/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/level.md b/sdk/dart/package-logging_logging/LogRecord/level.md
new file mode 100644
index 0000000..b03ac83
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/level.md
@@ -0,0 +1,19 @@
+
+# level property
+
+    *<Null safety>*
+
+[Level](../../package-logging_logging/Level-class.md) level
+  
+_final_
+
+
+## Implementation
+
+```dart
+final Level level
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/loggerName.md b/sdk/dart/package-logging_logging/LogRecord/loggerName.md
new file mode 100644
index 0000000..7a595c3
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/loggerName.md
@@ -0,0 +1,20 @@
+
+# loggerName property
+
+    *<Null safety>*
+
+String loggerName
+  
+_final_
+
+<p>Logger where this record is stored.</p>
+
+## Implementation
+
+```dart
+final String loggerName
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/message.md b/sdk/dart/package-logging_logging/LogRecord/message.md
new file mode 100644
index 0000000..8d69b7c
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/message.md
@@ -0,0 +1,19 @@
+
+# message property
+
+    *<Null safety>*
+
+String message
+  
+_final_
+
+
+## Implementation
+
+```dart
+final String message
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/noSuchMethod.md b/sdk/dart/package-logging_logging/LogRecord/noSuchMethod.md
new file mode 100644
index 0000000..3128bcf
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-logging_logging/LogRecord/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/object.md b/sdk/dart/package-logging_logging/LogRecord/object.md
new file mode 100644
index 0000000..27989de
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/object.md
@@ -0,0 +1,20 @@
+
+# object property
+
+    *<Null safety>*
+
+Object object
+  
+_final_
+
+<p>Non-string message passed to Logger.</p>
+
+## Implementation
+
+```dart
+final Object object
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/operator_equals.md b/sdk/dart/package-logging_logging/LogRecord/operator_equals.md
new file mode 100644
index 0000000..4ee76e9
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-logging_logging/LogRecord/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/runtimeType.md b/sdk/dart/package-logging_logging/LogRecord/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/sequenceNumber.md b/sdk/dart/package-logging_logging/LogRecord/sequenceNumber.md
new file mode 100644
index 0000000..ee993c1
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/sequenceNumber.md
@@ -0,0 +1,20 @@
+
+# sequenceNumber property
+
+    *<Null safety>*
+
+int sequenceNumber
+  
+_final_
+
+<p>Unique sequence number greater than all log records created before it.</p>
+
+## Implementation
+
+```dart
+final int sequenceNumber
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/stackTrace.md b/sdk/dart/package-logging_logging/LogRecord/stackTrace.md
new file mode 100644
index 0000000..a115258
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/stackTrace.md
@@ -0,0 +1,20 @@
+
+# stackTrace property
+
+    *<Null safety>*
+
+StackTrace stackTrace
+  
+_final_
+
+<p>Associated stackTrace (if any) when recording errors messages.</p>
+
+## Implementation
+
+```dart
+final StackTrace stackTrace
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/time.md b/sdk/dart/package-logging_logging/LogRecord/time.md
new file mode 100644
index 0000000..af115ba
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/time.md
@@ -0,0 +1,20 @@
+
+# time property
+
+    *<Null safety>*
+
+DateTime time
+  
+_final_
+
+<p>Time when this record was created.</p>
+
+## Implementation
+
+```dart
+final DateTime time
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/toString.md b/sdk/dart/package-logging_logging/LogRecord/toString.md
new file mode 100644
index 0000000..79d115b
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/toString.md
@@ -0,0 +1,21 @@
+
+# toString method
+
+    *<Null safety>*
+
+- @override
+
+String toString
+()
+_override_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+@override
+String toString() => '[${level.name}] $loggerName: $message';
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LogRecord/zone.md b/sdk/dart/package-logging_logging/LogRecord/zone.md
new file mode 100644
index 0000000..3ff46a3
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LogRecord/zone.md
@@ -0,0 +1,20 @@
+
+# zone property
+
+    *<Null safety>*
+
+Zone zone
+  
+_final_
+
+<p>Zone of the calling code which resulted in this LogRecord.</p>
+
+## Implementation
+
+```dart
+final Zone zone
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger-class.md b/sdk/dart/package-logging_logging/Logger-class.md
new file mode 100644
index 0000000..a5f08ae
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger-class.md
@@ -0,0 +1,154 @@
+
+# Logger class
+
+    *<Null safety>*
+
+<p>Use a <a href="../package-logging_logging/Logger-class.md">Logger</a> to log debug messages.</p>
+<p><a href="../package-logging_logging/Logger-class.md">Logger</a>s are named using a hierarchical dot-separated name convention.</p>
+
+
+## Constructors
+
+[Logger](../package-logging_logging/Logger/Logger.md) (String name)
+
+Singleton constructor. Calling <code>new Logger(name)</code> will return the same
+actual instance whenever it is called with the same string name.   
+ _factory_
+
+[Logger.detached](../package-logging_logging/Logger/Logger.detached.md) (String name)
+
+Creates a new detached <a href="../package-logging_logging/Logger-class.md">Logger</a>. [...](../package-logging_logging/Logger/Logger.detached.md)  
+ _factory_
+
+
+## Properties
+
+##### [children](../package-logging_logging/Logger/children.md) &#8594; Map&lt;String, [Logger](../package-logging_logging/Logger-class.md)>
+
+Children in the hierarchy of loggers, indexed by their simple names.   
+_final_
+
+##### [fullName](../package-logging_logging/Logger/fullName.md) &#8594; String
+
+The full name of this logger, which includes the parent's full name.   
+_read-only_
+
+##### [hashCode](../package-logging_logging/Logger/hashCode.md) &#8594; int
+
+The hash code for this object. [...](../package-logging_logging/Logger/hashCode.md)  
+_read-only, inherited_
+
+##### [level](../package-logging_logging/Logger/level.md) &#8596; [Level](../package-logging_logging/Level-class.md)
+
+Effective level considering the levels established in this logger's
+parents (when <a href="../package-logging_logging/hierarchicalLoggingEnabled.md">hierarchicalLoggingEnabled</a> is true).   
+_read / write_
+
+##### [name](../package-logging_logging/Logger/name.md) &#8594; String
+
+Simple name of this logger.   
+_final_
+
+##### [onRecord](../package-logging_logging/Logger/onRecord.md) &#8594; Stream&lt;[LogRecord](../package-logging_logging/LogRecord-class.md)>
+
+Returns a stream of messages added to this <a href="../package-logging_logging/Logger-class.md">Logger</a>. [...](../package-logging_logging/Logger/onRecord.md)  
+_read-only_
+
+##### [parent](../package-logging_logging/Logger/parent.md) &#8594; [Logger](../package-logging_logging/Logger-class.md)
+
+Parent of this logger in the hierarchy of loggers.   
+_final_
+
+##### [runtimeType](../package-logging_logging/Logger/runtimeType.md) &#8594; Type
+
+A representation of the runtime type of the object.   
+_read-only, inherited_
+
+
+## Methods
+
+##### [clearListeners](../package-logging_logging/Logger/clearListeners.md)() void
+
+   
+
+
+##### [config](../package-logging_logging/Logger/config.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/CONFIG-constant.md">Level.CONFIG</a>.   
+
+
+##### [fine](../package-logging_logging/Logger/fine.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/FINE-constant.md">Level.FINE</a>.   
+
+
+##### [finer](../package-logging_logging/Logger/finer.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/FINER-constant.md">Level.FINER</a>.   
+
+
+##### [finest](../package-logging_logging/Logger/finest.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/FINEST-constant.md">Level.FINEST</a>.   
+
+
+##### [info](../package-logging_logging/Logger/info.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/INFO-constant.md">Level.INFO</a>.   
+
+
+##### [isLoggable](../package-logging_logging/Logger/isLoggable.md)([Level](../package-logging_logging/Level-class.md) value) bool
+
+Whether a message for <code>value</code>'s level is loggable in this logger.   
+
+
+##### [log](../package-logging_logging/Logger/log.md)([Level](../package-logging_logging/Level-class.md) logLevel, dynamic message, [Object error, StackTrace stackTrace, Zone zone]) void
+
+Adds a log record for a <code>message</code> at a particular <code>logLevel</code> if
+<code>isLoggable(logLevel)</code> is true. [...](../package-logging_logging/Logger/log.md)  
+
+
+##### [noSuchMethod](../package-logging_logging/Logger/noSuchMethod.md)(Invocation invocation) dynamic
+
+Invoked when a non-existent method or property is accessed. [...](../package-logging_logging/Logger/noSuchMethod.md)  
+_inherited_
+
+##### [severe](../package-logging_logging/Logger/severe.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/SEVERE-constant.md">Level.SEVERE</a>.   
+
+
+##### [shout](../package-logging_logging/Logger/shout.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/SHOUT-constant.md">Level.SHOUT</a>.   
+
+
+##### [toString](../package-logging_logging/Logger/toString.md)() String
+
+Returns a string representation of this object.   
+_inherited_
+
+##### [warning](../package-logging_logging/Logger/warning.md)(dynamic message, [Object error, StackTrace stackTrace]) void
+
+Log message at level <a href="../package-logging_logging/Level/WARNING-constant.md">Level.WARNING</a>.   
+
+
+
+## Operators
+
+##### [operator ==](../package-logging_logging/Logger/operator_equals.md)(Object other) bool
+
+The equality operator. [...](../package-logging_logging/Logger/operator_equals.md)  
+_inherited_
+
+
+## Static Properties
+
+##### [root](../package-logging_logging/Logger/root.md) &#8594; [Logger](../package-logging_logging/Logger-class.md)
+
+Top-level root <a href="../package-logging_logging/Logger-class.md">Logger</a>.   
+_final_
+
+
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/Logger.detached.md b/sdk/dart/package-logging_logging/Logger/Logger.detached.md
new file mode 100644
index 0000000..24e4576
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/Logger.detached.md
@@ -0,0 +1,24 @@
+
+# Logger.detached constructor
+
+    *<Null safety>*
+
+
+
+Logger.detached(String name)
+
+<p>Creates a new detached <a href="../../package-logging_logging/Logger-class.md">Logger</a>.</p>
+<p>Returns a new <a href="../../package-logging_logging/Logger-class.md">Logger</a> instance (unlike <code>new Logger</code>, which returns a
+<a href="../../package-logging_logging/Logger-class.md">Logger</a> singleton), which doesn't have any parent or children,
+and is not a part of the global hierarchical loggers structure.</p>
+<p>It can be useful when you just need a local short-living logger,
+which you'd like to be garbage-collected later.</p>
+
+## Implementation
+
+```dart
+factory Logger.detached(String name) =>
+    Logger._internal(name, null, <String, Logger>{});
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/Logger.md b/sdk/dart/package-logging_logging/Logger/Logger.md
new file mode 100644
index 0000000..9f7d7f9
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/Logger.md
@@ -0,0 +1,20 @@
+
+# Logger constructor
+
+    *<Null safety>*
+
+
+
+Logger(String name)
+
+<p>Singleton constructor. Calling <code>new Logger(name)</code> will return the same
+actual instance whenever it is called with the same string name.</p>
+
+## Implementation
+
+```dart
+factory Logger(String name) =>
+    _loggers.putIfAbsent(name, () => Logger._named(name));
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/children.md b/sdk/dart/package-logging_logging/Logger/children.md
new file mode 100644
index 0000000..43dac34
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/children.md
@@ -0,0 +1,20 @@
+
+# children property
+
+    *<Null safety>*
+
+Map&lt;String, [Logger](../../package-logging_logging/Logger-class.md)> children
+  
+_final_
+
+<p>Children in the hierarchy of loggers, indexed by their simple names.</p>
+
+## Implementation
+
+```dart
+final Map<String, Logger> children
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/clearListeners.md b/sdk/dart/package-logging_logging/Logger/clearListeners.md
new file mode 100644
index 0000000..f007c86
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/clearListeners.md
@@ -0,0 +1,27 @@
+
+# clearListeners method
+
+    *<Null safety>*
+
+
+void clearListeners
+()
+
+
+
+## Implementation
+
+```dart
+void clearListeners() {
+  if (hierarchicalLoggingEnabled || parent == null) {
+    if (_controller != null) {
+      _controller.close();
+      _controller = null;
+    }
+  } else {
+    root.clearListeners();
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/config.md b/sdk/dart/package-logging_logging/Logger/config.md
new file mode 100644
index 0000000..45320e3
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/config.md
@@ -0,0 +1,20 @@
+
+# config method
+
+    *<Null safety>*
+
+
+void config
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/CONFIG-constant.md">Level.CONFIG</a>.</p>
+
+## Implementation
+
+```dart
+void config(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.CONFIG, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/fine.md b/sdk/dart/package-logging_logging/Logger/fine.md
new file mode 100644
index 0000000..d021835
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/fine.md
@@ -0,0 +1,20 @@
+
+# fine method
+
+    *<Null safety>*
+
+
+void fine
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/FINE-constant.md">Level.FINE</a>.</p>
+
+## Implementation
+
+```dart
+void fine(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.FINE, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/finer.md b/sdk/dart/package-logging_logging/Logger/finer.md
new file mode 100644
index 0000000..0f6c46e
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/finer.md
@@ -0,0 +1,20 @@
+
+# finer method
+
+    *<Null safety>*
+
+
+void finer
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/FINER-constant.md">Level.FINER</a>.</p>
+
+## Implementation
+
+```dart
+void finer(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.FINER, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/finest.md b/sdk/dart/package-logging_logging/Logger/finest.md
new file mode 100644
index 0000000..0fd26df
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/finest.md
@@ -0,0 +1,20 @@
+
+# finest method
+
+    *<Null safety>*
+
+
+void finest
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/FINEST-constant.md">Level.FINEST</a>.</p>
+
+## Implementation
+
+```dart
+void finest(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.FINEST, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/fullName.md b/sdk/dart/package-logging_logging/Logger/fullName.md
new file mode 100644
index 0000000..b3a5411
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/fullName.md
@@ -0,0 +1,20 @@
+
+# fullName property
+
+    *<Null safety>*
+
+
+String fullName
+  
+
+
+<p>The full name of this logger, which includes the parent's full name.</p>
+
+## Implementation
+
+```dart
+String get fullName =>
+    (parent == null || parent.name == '') ? name : '${parent.fullName}.$name';
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/hashCode.md b/sdk/dart/package-logging_logging/Logger/hashCode.md
new file mode 100644
index 0000000..acae49a
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/hashCode.md
@@ -0,0 +1,41 @@
+
+# hashCode property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L92)
+    *<Null safety>*
+
+
+int hashCode
+  
+_inherited_
+
+<p>The hash code for this object.</p>
+<p>A hash code is a single integer which represents the state of the object
+that affects <a href="../../package-logging_logging/Logger/operator_equals.md">operator ==</a> comparisons.</p>
+<p>All objects have hash codes.
+The default hash code represents only the identity of the object,
+the same way as the default <a href="../../package-logging_logging/Logger/operator_equals.md">operator ==</a> implementation only considers objects
+equal if they are identical (see <code>identityHashCode</code>).</p>
+<p>If <a href="../../package-logging_logging/Logger/operator_equals.md">operator ==</a> is overridden to use the object state instead,
+the hash code must also be changed to represent that state.</p>
+<p>Hash codes must be the same for objects that are equal to each other
+according to <a href="../../package-logging_logging/Logger/operator_equals.md">operator ==</a>.
+The hash code of an object should only change if the object changes
+in a way that affects equality.
+There are no further requirements for the hash codes.
+They need not be consistent between executions of the same program
+and there are no distribution guarantees.</p>
+<p>Objects that are not equal are allowed to have the same hash code,
+it is even technically allowed that all instances have the same hash code,
+but if clashes happen too often, it may reduce the efficiency of hash-based
+data structures like <code>HashSet</code> or <code>HashMap</code>.</p>
+<p>If a subclass overrides <a href="../../package-logging_logging/Logger/hashCode.md">hashCode</a>, it should override the
+<a href="../../package-logging_logging/Logger/operator_equals.md">operator ==</a> operator as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external int get hashCode;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/info.md b/sdk/dart/package-logging_logging/Logger/info.md
new file mode 100644
index 0000000..105ca02
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/info.md
@@ -0,0 +1,20 @@
+
+# info method
+
+    *<Null safety>*
+
+
+void info
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/INFO-constant.md">Level.INFO</a>.</p>
+
+## Implementation
+
+```dart
+void info(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.INFO, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/isLoggable.md b/sdk/dart/package-logging_logging/Logger/isLoggable.md
new file mode 100644
index 0000000..91d718f
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/isLoggable.md
@@ -0,0 +1,19 @@
+
+# isLoggable method
+
+    *<Null safety>*
+
+
+bool isLoggable
+([Level](../../package-logging_logging/Level-class.md) value)
+
+
+<p>Whether a message for <code>value</code>'s level is loggable in this logger.</p>
+
+## Implementation
+
+```dart
+bool isLoggable(Level value) => (value >= level);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/level.md b/sdk/dart/package-logging_logging/Logger/level.md
new file mode 100644
index 0000000..ee4aeff
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/level.md
@@ -0,0 +1,53 @@
+
+# level property
+
+    *<Null safety>*
+
+
+[Level](../../package-logging_logging/Level-class.md) level
+  
+
+
+<p>Effective level considering the levels established in this logger's
+parents (when <a href="../../package-logging_logging/hierarchicalLoggingEnabled.md">hierarchicalLoggingEnabled</a> is true).</p>
+
+## Implementation
+
+```dart
+Level get level {
+  Level effectiveLevel;
+
+  if (parent == null) {
+    // We're either the root logger or a detached logger.  Return our own
+    // level.
+    effectiveLevel = _level;
+  } else if (!hierarchicalLoggingEnabled) {
+    effectiveLevel = root._level;
+  } else {
+    effectiveLevel = _level ?? parent.level;
+  }
+
+  assert(effectiveLevel != null);
+  return effectiveLevel;
+}
+```
+
+level=
+([Level](../../package-logging_logging/Level-class.md) value)  
+
+
+<p>Override the level for this particular <a href="../../package-logging_logging/Logger-class.md">Logger</a> and its children.</p>
+
+## Implementation
+
+```dart
+set level(Level value) {
+  if (!hierarchicalLoggingEnabled && parent != null) {
+    throw UnsupportedError(
+        'Please set "hierarchicalLoggingEnabled" to true if you want to '
+        'change the level on a non-root logger.');
+  }
+  _level = value;
+}
+```
+
diff --git a/sdk/dart/package-logging_logging/Logger/log.md b/sdk/dart/package-logging_logging/Logger/log.md
new file mode 100644
index 0000000..60e632e
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/log.md
@@ -0,0 +1,69 @@
+
+# log method
+
+    *<Null safety>*
+
+
+void log
+([Level](../../package-logging_logging/Level-class.md) logLevel, dynamic message, [Object error, StackTrace stackTrace, Zone zone])
+
+
+<p>Adds a log record for a <code>message</code> at a particular <code>logLevel</code> if
+<code>isLoggable(logLevel)</code> is true.</p>
+<p>Use this method to create log entries for user-defined levels. To record a
+message at a predefined level (e.g. <a href="../../package-logging_logging/Level/INFO-constant.md">Level.INFO</a>, <a href="../../package-logging_logging/Level/WARNING-constant.md">Level.WARNING</a>, etc)
+you can use their specialized methods instead (e.g. <a href="../../package-logging_logging/Logger/info.md">info</a>, <a href="../../package-logging_logging/Logger/warning.md">warning</a>,
+etc).</p>
+<p>If <code>message</code> is a <code>Function</code>, it will be lazy evaluated. Additionally, if
+<code>message</code> or its evaluated value is not a <code>String</code>, then 'toString()' will
+be called on the object and the result will be logged. The log record will
+contain a field holding the original object.</p>
+<p>The log record will also contain a field for the zone in which this call
+was made. This can be advantageous if a log listener wants to handler
+records of different zones differently (e.g. group log records by HTTP
+request if each HTTP request handler runs in it's own zone).</p>
+
+## Implementation
+
+```dart
+void log(Level logLevel, message,
+    [Object error, StackTrace stackTrace, Zone zone]) {
+  Object object;
+  if (isLoggable(logLevel)) {
+    if (message is Function) {
+      message = message();
+    }
+
+    String msg;
+    if (message is String) {
+      msg = message;
+    } else {
+      msg = message.toString();
+      object = message;
+    }
+
+    if (stackTrace == null && logLevel >= recordStackTraceAtLevel) {
+      stackTrace = StackTrace.current;
+      error ??= 'autogenerated stack trace for $logLevel $msg';
+    }
+    zone ??= Zone.current;
+
+    var record =
+        LogRecord(logLevel, msg, fullName, error, stackTrace, zone, object);
+
+    if (parent == null) {
+      _publish(record);
+    } else if (!hierarchicalLoggingEnabled) {
+      root._publish(record);
+    } else {
+      var target = this;
+      while (target != null) {
+        target._publish(record);
+        target = target.parent;
+      }
+    }
+  }
+}
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/name.md b/sdk/dart/package-logging_logging/Logger/name.md
new file mode 100644
index 0000000..b2acb3e
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/name.md
@@ -0,0 +1,20 @@
+
+# name property
+
+    *<Null safety>*
+
+String name
+  
+_final_
+
+<p>Simple name of this logger.</p>
+
+## Implementation
+
+```dart
+final String name
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/noSuchMethod.md b/sdk/dart/package-logging_logging/Logger/noSuchMethod.md
new file mode 100644
index 0000000..03ba170
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/noSuchMethod.md
@@ -0,0 +1,24 @@
+
+# noSuchMethod method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L109)
+    *<Null safety>*
+
+
+dynamic noSuchMethod
+(Invocation invocation)
+_inherited_
+
+<p>Invoked when a non-existent method or property is accessed.</p>
+<p>Classes can override <a href="../../package-logging_logging/Logger/noSuchMethod.md">noSuchMethod</a> to provide custom behavior.</p>
+<p>If a value is returned, it becomes the result of the original invocation.</p>
+<p>The default behavior is to throw a <code>NoSuchMethodError</code>.</p>
+
+## Implementation
+
+```dart
+@pragma("vm:entry-point")
+external dynamic noSuchMethod(Invocation invocation);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/onRecord.md b/sdk/dart/package-logging_logging/Logger/onRecord.md
new file mode 100644
index 0000000..679882f
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/onRecord.md
@@ -0,0 +1,22 @@
+
+# onRecord property
+
+    *<Null safety>*
+
+
+Stream&lt;[LogRecord](../../package-logging_logging/LogRecord-class.md)> onRecord
+  
+
+
+<p>Returns a stream of messages added to this <a href="../../package-logging_logging/Logger-class.md">Logger</a>.</p>
+<p>You can listen for messages using the standard stream APIs, for instance:</p>
+<pre class="language-dart"><code class="language-dart">logger.onRecord.listen((record) { ... });
+</code></pre>
+
+## Implementation
+
+```dart
+Stream<LogRecord> get onRecord => _getStream();
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/operator_equals.md b/sdk/dart/package-logging_logging/Logger/operator_equals.md
new file mode 100644
index 0000000..21f84ad
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/operator_equals.md
@@ -0,0 +1,47 @@
+
+# operator == method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L60)
+    *<Null safety>*
+
+
+bool operator ==
+(Object other)
+_inherited_
+
+<p>The equality operator.</p>
+<p>The default behavior for all <code>Object</code>s is to return true if and
+only if <code>this</code> and <code>other</code> are the same object.</p>
+<p>Override this method to specify a different equality relation on
+a class. The overriding method must still be an equivalence relation.
+That is, it must be:</p>
+<ul>
+<li>
+<p>Total: It must return a boolean for all arguments. It should never throw
+or return <code>null</code>.</p>
+</li>
+<li>
+<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p>
+</li>
+<li>
+<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
+either both be true, or both be false.</p>
+</li>
+<li>
+<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
+<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p>
+</li>
+</ul>
+<p>The method should also be consistent over time,
+so whether two objects are equal should only change
+if at least one of the objects was modified.</p>
+<p>If a subclass overrides the equality operator it should override
+the <a href="../../package-logging_logging/Logger/hashCode.md">hashCode</a> method as well to maintain consistency.</p>
+
+## Implementation
+
+```dart
+external bool operator ==(Object other);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/parent.md b/sdk/dart/package-logging_logging/Logger/parent.md
new file mode 100644
index 0000000..6ec2cb2
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/parent.md
@@ -0,0 +1,20 @@
+
+# parent property
+
+    *<Null safety>*
+
+[Logger](../../package-logging_logging/Logger-class.md) parent
+  
+_final_
+
+<p>Parent of this logger in the hierarchy of loggers.</p>
+
+## Implementation
+
+```dart
+final Logger parent
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/root.md b/sdk/dart/package-logging_logging/Logger/root.md
new file mode 100644
index 0000000..b95f058
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/root.md
@@ -0,0 +1,20 @@
+
+# root property
+
+    *<Null safety>*
+
+[Logger](../../package-logging_logging/Logger-class.md) root
+  
+_final_
+
+<p>Top-level root <a href="../../package-logging_logging/Logger-class.md">Logger</a>.</p>
+
+## Implementation
+
+```dart
+static final Logger root = Logger('')
+
+
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/runtimeType.md b/sdk/dart/package-logging_logging/Logger/runtimeType.md
new file mode 100644
index 0000000..dcc00a5
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/runtimeType.md
@@ -0,0 +1,20 @@
+
+# runtimeType property
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L114)
+    *<Null safety>*
+
+
+Type runtimeType
+  
+_inherited_
+
+<p>A representation of the runtime type of the object.</p>
+
+## Implementation
+
+```dart
+external Type get runtimeType;
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/severe.md b/sdk/dart/package-logging_logging/Logger/severe.md
new file mode 100644
index 0000000..b4d34c5
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/severe.md
@@ -0,0 +1,20 @@
+
+# severe method
+
+    *<Null safety>*
+
+
+void severe
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/SEVERE-constant.md">Level.SEVERE</a>.</p>
+
+## Implementation
+
+```dart
+void severe(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.SEVERE, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/shout.md b/sdk/dart/package-logging_logging/Logger/shout.md
new file mode 100644
index 0000000..c596974
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/shout.md
@@ -0,0 +1,20 @@
+
+# shout method
+
+    *<Null safety>*
+
+
+void shout
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/SHOUT-constant.md">Level.SHOUT</a>.</p>
+
+## Implementation
+
+```dart
+void shout(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.SHOUT, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/toString.md b/sdk/dart/package-logging_logging/Logger/toString.md
new file mode 100644
index 0000000..07e6f86
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/toString.md
@@ -0,0 +1,20 @@
+
+# toString method
+
+[view source](https://github.com/dart-lang/sdk/blob/1a18fff9ad2ee79095f8b92d76f714cb666a3384/sdk/lib/core/object.dart#L97)
+    *<Null safety>*
+
+
+String toString
+()
+_inherited_
+
+<p>Returns a string representation of this object.</p>
+
+## Implementation
+
+```dart
+external String toString();
+```
+
+
diff --git a/sdk/dart/package-logging_logging/Logger/warning.md b/sdk/dart/package-logging_logging/Logger/warning.md
new file mode 100644
index 0000000..fd127ff
--- /dev/null
+++ b/sdk/dart/package-logging_logging/Logger/warning.md
@@ -0,0 +1,20 @@
+
+# warning method
+
+    *<Null safety>*
+
+
+void warning
+(dynamic message, [Object error, StackTrace stackTrace])
+
+
+<p>Log message at level <a href="../../package-logging_logging/Level/WARNING-constant.md">Level.WARNING</a>.</p>
+
+## Implementation
+
+```dart
+void warning(message, [Object error, StackTrace stackTrace]) =>
+    log(Level.WARNING, message, error, stackTrace);
+```
+
+
diff --git a/sdk/dart/package-logging_logging/LoggerHandler.md b/sdk/dart/package-logging_logging/LoggerHandler.md
new file mode 100644
index 0000000..460a561
--- /dev/null
+++ b/sdk/dart/package-logging_logging/LoggerHandler.md
@@ -0,0 +1,19 @@
+
+# LoggerHandler typedef
+
+    *<Null safety>*
+
+- @Deprecated(&#39;Will be removed in 1.0.0&#39;)
+
+void ~~LoggerHandler~~
+([LogRecord](../package-logging_logging/LogRecord-class.md) record)
+
+<p>Handler callback to process log entries as they are added to a <a href="../package-logging_logging/Logger-class.md">Logger</a>.</p>
+
+## Implementation
+
+```dart
+@Deprecated('Will be removed in 1.0.0')
+typedef LoggerHandler = void Function(LogRecord record);
+```
+
diff --git a/sdk/dart/package-logging_logging/defaultLevel-constant.md b/sdk/dart/package-logging_logging/defaultLevel-constant.md
new file mode 100644
index 0000000..426e3ee
--- /dev/null
+++ b/sdk/dart/package-logging_logging/defaultLevel-constant.md
@@ -0,0 +1,19 @@
+
+# defaultLevel top-level constant
+
+    *<Null safety>*
+
+[Level](../package-logging_logging/Level-class.md) const defaultLevel
+  
+
+
+<p>The default <a href="../package-logging_logging/Level-class.md">Level</a>.</p>
+
+## Implementation
+
+```dart
+const defaultLevel = Level.INFO
+```
+
+
+
diff --git a/sdk/dart/package-logging_logging/hierarchicalLoggingEnabled.md b/sdk/dart/package-logging_logging/hierarchicalLoggingEnabled.md
new file mode 100644
index 0000000..7e6d214
--- /dev/null
+++ b/sdk/dart/package-logging_logging/hierarchicalLoggingEnabled.md
@@ -0,0 +1,21 @@
+
+# hierarchicalLoggingEnabled top-level property
+
+    *<Null safety>*
+
+bool hierarchicalLoggingEnabled
+  
+_read / write_
+
+<p>Whether to allow fine-grain logging and configuration of loggers in a
+hierarchy.</p>
+<p>When false, all hierarchical logging instead is merged in the root logger.</p>
+
+## Implementation
+
+```dart
+bool hierarchicalLoggingEnabled = false
+```
+
+
+
diff --git a/sdk/dart/package-logging_logging/package-logging_logging-library.md b/sdk/dart/package-logging_logging/package-logging_logging-library.md
new file mode 100644
index 0000000..8a7e731
--- /dev/null
+++ b/sdk/dart/package-logging_logging/package-logging_logging-library.md
@@ -0,0 +1,62 @@
+
+# logging library
+
+    *<Null safety>*
+
+
+## Classes
+
+##### [Level](../package-logging_logging/Level-class.md)
+
+<a href="../package-logging_logging/Level-class.md">Level</a>s to control logging output. Logging can be enabled to include all
+levels above certain <a href="../package-logging_logging/Level-class.md">Level</a>. <a href="../package-logging_logging/Level-class.md">Level</a>s are ordered using an integer
+value <a href="../package-logging_logging/Level/value.md">Level.value</a>. The predefined <a href="../package-logging_logging/Level-class.md">Level</a> constants below are sorted as
+follows (in descending order): <a href="../package-logging_logging/Level/SHOUT-constant.md">Level.SHOUT</a>, <a href="../package-logging_logging/Level/SEVERE-constant.md">Level.SEVERE</a>,
+<a href="../package-logging_logging/Level/WARNING-constant.md">Level.WARNING</a>, <a href="../package-logging_logging/Level/INFO-constant.md">Level.INFO</a>, <a href="../package-logging_logging/Level/CONFIG-constant.md">Level.CONFIG</a>, <a href="../package-logging_logging/Level/FINE-constant.md">Level.FINE</a>, <a href="../package-logging_logging/Level/FINER-constant.md">Level.FINER</a>,
+<a href="../package-logging_logging/Level/FINEST-constant.md">Level.FINEST</a>, and <a href="../package-logging_logging/Level/ALL-constant.md">Level.ALL</a>. [...](../package-logging_logging/Level-class.md)
+
+##### [Logger](../package-logging_logging/Logger-class.md)
+
+Use a <a href="../package-logging_logging/Logger-class.md">Logger</a> to log debug messages. [...](../package-logging_logging/Logger-class.md)
+
+##### [LogRecord](../package-logging_logging/LogRecord-class.md)
+
+A log entry representation used to propagate information from <a href="../package-logging_logging/Logger-class.md">Logger</a> to
+individual handlers. 
+
+
+
+
+## Constants
+
+##### [defaultLevel](../package-logging_logging/defaultLevel-constant.md) const [Level](../package-logging_logging/Level-class.md)
+
+The default <a href="../package-logging_logging/Level-class.md">Level</a>.   
+
+
+
+## Properties
+
+##### [hierarchicalLoggingEnabled](../package-logging_logging/hierarchicalLoggingEnabled.md) &#8596; bool
+
+Whether to allow fine-grain logging and configuration of loggers in a
+hierarchy. [...](../package-logging_logging/hierarchicalLoggingEnabled.md)  
+_read / write_
+
+##### [recordStackTraceAtLevel](../package-logging_logging/recordStackTraceAtLevel.md) &#8596; [Level](../package-logging_logging/Level-class.md)
+
+Automatically record stack traces for any message of this level or above. [...](../package-logging_logging/recordStackTraceAtLevel.md)  
+_read / write_
+
+
+
+
+## Typedefs
+
+##### [~~LoggerHandler~~](../package-logging_logging/LoggerHandler.md)([LogRecord](../package-logging_logging/LogRecord-class.md) record) void
+
+Handler callback to process log entries as they are added to a <a href="../package-logging_logging/Logger-class.md">Logger</a>.   
+_@Deprecated(&#39;Will be removed in 1.0.0&#39;)_
+
+
+
diff --git a/sdk/dart/package-logging_logging/recordStackTraceAtLevel.md b/sdk/dart/package-logging_logging/recordStackTraceAtLevel.md
new file mode 100644
index 0000000..d8cb688
--- /dev/null
+++ b/sdk/dart/package-logging_logging/recordStackTraceAtLevel.md
@@ -0,0 +1,20 @@
+
+# recordStackTraceAtLevel top-level property
+
+    *<Null safety>*
+
+[Level](../package-logging_logging/Level-class.md) recordStackTraceAtLevel
+  
+_read / write_
+
+<p>Automatically record stack traces for any message of this level or above.</p>
+<p>Because this is expensive, this is off by default.</p>
+
+## Implementation
+
+```dart
+Level recordStackTraceAtLevel = Level.OFF
+```
+
+
+