anchor.diff:          assert(cellExtent != null && cellExtent >= 0),
           assert(mainAxisSpacing != null && mainAxisSpacing >= 0),
           assert(crossAxisSpacing != null && crossAxisSpacing >= 0),
  -        assert(mainAxisOffsetsCacheSize != null && mainAxisOffsetsCacheSize > 0),
  +        assert(
  +            mainAxisOffsetsCacheSize != null && mainAxisOffsetsCacheSize > 0),
           cellStride = cellExtent + crossAxisSpacing;
   
     /// The maximum number of children in the cross axis.
  
positive.code: 
  class _ViewportOffsets {
    _ViewportOffsets(
    List<double> mainAxisOffsets,
        this.trailingScrollOffset,
        [
        this.pageIndex = 0,
        this.firstChildIndex = 0,
      ]
    ) : this.mainAxisOffsets = new List.from(mainAxisOffsets);
  
    final int pageIndex;
  
  
negative.code:         visibleIndices.add(index);
        }
  
        if (geometry.trailingScrollOffset >=
            viewportOffset.trailingScrollOffset) {
          int nextPageIndex = viewportOffset.pageIndex + 1;
          var nextViewportOffset = new _ViewportOffsets(mainAxisOffsets,
              (nextPageIndex + 1) * pageSize, nextPageIndex, index);
          viewportOffsets[nextPageIndex] = nextViewportOffset;
          viewportOffset = nextViewportOffset;
        }
  
        final double endOffset =
  