             {
                 throwEffectMotionPaths.push(verticalMP);
                 verticalTime = verticalMP.keyframes[verticalMP.keyframes.length-1].time;
+                throwFinalVSP = Number(verticalMP.keyframes[verticalMP.keyframes.length-1].value); 
                 scrollingVertically = true;
             }
         }

                    
            // Snap the scroll position to the content in case the empty space beyond the edge was visible
            // due to bounce/pull.
            var maxHsp:Number = viewport.contentWidth > viewport.width ? viewport.contentWidth-viewport.width : 0; 
            viewport.horizontalScrollPosition = Math.min(Math.max(0,viewport.horizontalScrollPosition),maxHsp);
            var maxVsp:Number = viewport.contentHeight > viewport.height ? viewport.contentHeight-viewport.height : 0; 
            viewport.verticalScrollPosition = Math.min(Math.max(0,viewport.verticalScrollPosition),maxVsp);
            
            // get new values in case we start scrolling again
            hspBeforeTouchScroll = viewport.horizontalScrollPosition;

            
            if (verticalScrollBar)
                verticalScrollBar.alpha = viewport.contentHeight > viewport.height ? 1.0 : 0.0;
            
            inTouchInteraction = true;
        }
    }
    
    /**
     *  @private
     *  Snap the scroll positions to valid values.
     */
    private function snapContentScrollPosition():void
    {
        var maxHsp:Number = viewport.contentWidth > viewport.width ? 
            viewport.contentWidth-viewport.width : 0; 
        viewport.horizontalScrollPosition = 
            Math.min(Math.max(0,viewport.horizontalScrollPosition),maxHsp);

        var maxVsp:Number = viewport.contentHeight > viewport.height ? 
            viewport.contentHeight-viewport.height : 0; 
        viewport.verticalScrollPosition = 
            Math.min(Math.max(0,viewport.verticalScrollPosition),maxVsp);
    }
    
    /**
