anchor.diff:        if (_onPageChange != null) {
           _onPageChange.add(index);
         }
  -      
  +
         // Ensure that the page transition end event is fired.
         if (speed > 0) {
           // At the end of the animation there will be a transitionEnd event.
  -        // Set the flag that the next transitionEnd event triggers a new 
  +        // Set the flag that the next transitionEnd event triggers a new
           // pageTransitionEnd event.
           _fireNextPageTransitionEnd = true;
  -        
  +
         } else {
  -        // As there was no animation, no transitionEndEvent will be fired by the 
  +        // As there was no animation, no transitionEndEvent will be fired by the
           // browser. So we need to manually call the fire method here.
           _firePageTransitionEndEvent();
         }
       }
  -    
  +
       // Set the new current index.
       _currentIndex = index;
     }
  -  
  -  /**
  -   * Moves to [index] with an animation. 
  -   * 
  +
  +  /**
  +   * Moves to [index] with an animation.
  +   *
      * [speed] defines the duration of the animation. [speed] must be > 0.
      */
     void _moveToIndexAnim(int index, int speed) {
       _addCssTransition(speed);
       _translatePercentX(index * -100);
     }
  -  
  +
     /**
      * Moves to [index] with no animation.
      */
     void _moveToIndexNoAnim(int index) {
       _translatePercentX(index * -100);
     }
  -  
  +
     /**
      * Moves the current page to the specified [offset].
      */
     void _moveToOffset(int offset) {
       _translatePixelX(_currentIndex * -_pageWidth + offset);
     }
  -   
  +
     /**
      * Moves to the next page.
      */
  
positive.code:     } else {
        _moveToIndexNoAnim(index);
      }
      
      // Fire events if there was a move to a new index.
      if (index != _currentIndex && !noEvents) {
        // Fire page change event.
  
negative.code:     _draggable = new Draggable(_swiperElement,
          handle: handle,
          cancel: cancel,
          draggingClass: draggingClass,
          draggingClassBody: draggingClassBody,
          horizontalOnly: true); // Swiping is only done horizontally.
  
      // Listen for drag events.
      _subs.add(_draggable.onDragStart.listen(_handleDragStart));
      _subs.add(_draggable.onDrag.listen(_handleDrag));
      _subs.add(_draggable.onDragEnd.listen(_handleDragEnd));
  
      // Install transitionEnd listener.
      _subs.add(_containerElement.onTransitionEnd.listen((_) {
        // Remove css animation transition style.
        _removeCssTransition();
  
        if (_fireNextPageTransitionEnd) {
          _firePageTransitionEndEvent();
        }
      }));
  
      if (_autoWidth) {
        // Install browser resize listener. This is done asynchronously after the
        // visibility has been applied, because setting visibility would somethimes
        // trigger a resize event.
        new Future(() {
  