class android.widget.OverScroller$SplineOverScroller
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.widget.OverScroller$SplineOverScroller
  super_class: java.lang.Object
{
  private int mStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mCurrentPosition;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mFinal;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mVelocity;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private float mCurrVelocity;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mDeceleration;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private long mStartTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int mDuration;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mSplineDuration;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mSplineDistance;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean mFinished;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int mOver;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private float mFlingFriction;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private int mState;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final float GRAVITY;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2000.0

  private float mPhysicalCoeff;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private static float DECELERATION_RATE;
    descriptor: F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final float INFLEXION;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.35

  private static final float START_TENSION;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.5

  private static final float END_TENSION;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0

  private static final float P1;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.175

  private static final float P2;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.35000002

  private static final int NB_SAMPLES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static final float[] SPLINE_POSITION;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float[] SPLINE_TIME;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int SPLINE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int CUBIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int BALLISTIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=11, args_size=0
         0: .line 589
            ldc 0.78
            invokestatic java.lang.Math.log:(D)D
            ldc 0.9
            invokestatic java.lang.Math.log:(D)D
            ddiv
            d2f
            putstatic android.widget.OverScroller$SplineOverScroller.DECELERATION_RATE:F
         1: .line 597
            bipush 101
            newarray 6
            putstatic android.widget.OverScroller$SplineOverScroller.SPLINE_POSITION:[F
         2: .line 598
            bipush 101
            newarray 6
            putstatic android.widget.OverScroller$SplineOverScroller.SPLINE_TIME:[F
         3: .line 605
            fconst_0
            fstore 0 /* x_min */
        start local 0 // float x_min
         4: .line 606
            fconst_0
            fstore 1 /* y_min */
        start local 1 // float y_min
         5: .line 607
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 27
         7: .line 608
      StackMap locals: float float int
      StackMap stack:
            iload 2 /* i */
            i2f
            ldc 100.0
            fdiv
            fstore 3 /* alpha */
        start local 3 // float alpha
         8: .line 610
            fconst_1
            fstore 4 /* x_max */
        start local 4 // float x_max
         9: .line 613
      StackMap locals: float float
      StackMap stack:
            fload 0 /* x_min */
            fload 4 /* x_max */
            fload 0 /* x_min */
            fsub
            fconst_2
            fdiv
            fadd
            fstore 5 /* x */
        start local 5 // float x
        10: .line 614
            ldc 3.0
            fload 5 /* x */
            fmul
            fconst_1
            fload 5 /* x */
            fsub
            fmul
            fstore 7 /* coef */
        start local 7 // float coef
        11: .line 615
            fload 7 /* coef */
            fconst_1
            fload 5 /* x */
            fsub
            ldc 0.175
            fmul
            fload 5 /* x */
            ldc 0.35000002
            fmul
            fadd
            fmul
            fload 5 /* x */
            fload 5 /* x */
            fmul
            fload 5 /* x */
            fmul
            fadd
            fstore 6 /* tx */
        start local 6 // float tx
        12: .line 616
            fload 6 /* tx */
            fload 3 /* alpha */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            f2d
            ldc 1.0E-5
            dcmpg
            ifge 13
            goto 16
        13: .line 617
      StackMap locals: float float float
      StackMap stack:
            fload 6 /* tx */
            fload 3 /* alpha */
            fcmpl
            ifle 14
            fload 5 /* x */
            fstore 4 /* x_max */
            goto 9
        14: .line 618
      StackMap locals:
      StackMap stack:
            fload 5 /* x */
            fstore 0 /* x_min */
        end local 7 // float coef
        end local 6 // float tx
        end local 5 // float x
        15: .line 612
            goto 9
        start local 5 // float x
        start local 6 // float tx
        start local 7 // float coef
        16: .line 620
      StackMap locals:
      StackMap stack:
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_POSITION:[F
            iload 2 /* i */
            fload 7 /* coef */
            fconst_1
            fload 5 /* x */
            fsub
            ldc 0.5
            fmul
            fload 5 /* x */
            fadd
            fmul
            fload 5 /* x */
            fload 5 /* x */
            fmul
            fload 5 /* x */
            fmul
            fadd
            fastore
        17: .line 622
            fconst_1
            fstore 8 /* y_max */
        start local 8 // float y_max
        18: .line 625
      StackMap locals: float
      StackMap stack:
            fload 1 /* y_min */
            fload 8 /* y_max */
            fload 1 /* y_min */
            fsub
            fconst_2
            fdiv
            fadd
            fstore 9 /* y */
        start local 9 // float y
        19: .line 626
            ldc 3.0
            fload 9 /* y */
            fmul
            fconst_1
            fload 9 /* y */
            fsub
            fmul
            fstore 7 /* coef */
        20: .line 627
            fload 7 /* coef */
            fconst_1
            fload 9 /* y */
            fsub
            ldc 0.5
            fmul
            fload 9 /* y */
            fadd
            fmul
            fload 9 /* y */
            fload 9 /* y */
            fmul
            fload 9 /* y */
            fmul
            fadd
            fstore 10 /* dy */
        start local 10 // float dy
        21: .line 628
            fload 10 /* dy */
            fload 3 /* alpha */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            f2d
            ldc 1.0E-5
            dcmpg
            ifge 22
            goto 25
        22: .line 629
      StackMap locals: float float
      StackMap stack:
            fload 10 /* dy */
            fload 3 /* alpha */
            fcmpl
            ifle 23
            fload 9 /* y */
            fstore 8 /* y_max */
            goto 18
        23: .line 630
      StackMap locals:
      StackMap stack:
            fload 9 /* y */
            fstore 1 /* y_min */
        end local 10 // float dy
        end local 9 // float y
        24: .line 624
            goto 18
        start local 9 // float y
        start local 10 // float dy
        25: .line 632
      StackMap locals:
      StackMap stack:
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_TIME:[F
            iload 2 /* i */
            fload 7 /* coef */
            fconst_1
            fload 9 /* y */
            fsub
            ldc 0.175
            fmul
            fload 9 /* y */
            ldc 0.35000002
            fmul
            fadd
            fmul
            fload 9 /* y */
            fload 9 /* y */
            fmul
            fload 9 /* y */
            fmul
            fadd
            fastore
        end local 10 // float dy
        end local 9 // float y
        end local 8 // float y_max
        end local 7 // float coef
        end local 6 // float tx
        end local 5 // float x
        end local 4 // float x_max
        end local 3 // float alpha
        26: .line 607
            iinc 2 /* i */ 1
      StackMap locals: float float int
      StackMap stack:
        27: iload 2 /* i */
            bipush 100
            if_icmplt 7
        end local 2 // int i
        28: .line 634
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_POSITION:[F
            bipush 100
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_TIME:[F
            bipush 100
            fconst_1
            dup_x2
            fastore
            fastore
        end local 1 // float y_min
        end local 0 // float x_min
        29: .line 635
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            4   29     0  x_min  F
            5   29     1  y_min  F
            6   28     2      i  I
            8   26     3  alpha  F
            9   26     4  x_max  F
           10   15     5      x  F
           16   26     5      x  F
           12   15     6     tx  F
           16   26     6     tx  F
           11   15     7   coef  F
           16   26     7   coef  F
           18   26     8  y_max  F
           19   24     9      y  F
           25   26     9      y  F
           21   24    10     dy  F
           25   26    10     dy  F

  void setFriction(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // float friction
         0: .line 638
            aload 0 /* this */
            fload 1 /* friction */
            putfield android.widget.OverScroller$SplineOverScroller.mFlingFriction:F
         1: .line 639
            return
        end local 1 // float friction
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/OverScroller$SplineOverScroller;
            0    2     1  friction  F
    MethodParameters:
          Name  Flags
      friction  

  void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // android.content.Context context
         0: .line 641
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 578
            aload 0 /* this */
            invokestatic android.view.ViewConfiguration.getScrollFriction:()F
            putfield android.widget.OverScroller$SplineOverScroller.mFlingFriction:F
         2: .line 581
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mState:I
         3: .line 642
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         4: .line 643
            aload 1 /* context */
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.density:F
            ldc 160.0
            fmul
            fstore 2 /* ppi */
        start local 2 // float ppi
         5: .line 644
            aload 0 /* this */
            ldc 386.0878
         6: .line 646
            fload 2 /* ppi */
            fmul
         7: .line 647
            ldc 0.84
            fmul
         8: .line 644
            putfield android.widget.OverScroller$SplineOverScroller.mPhysicalCoeff:F
         9: .line 648
            return
        end local 2 // float ppi
        end local 1 // android.content.Context context
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/widget/OverScroller$SplineOverScroller;
            0   10     1  context  Landroid/content/Context;
            5   10     2      ppi  F
    MethodParameters:
         Name  Flags
      context  

  void updateScroll(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // float q
         0: .line 651
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            fload 1 /* q */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            isub
            i2f
            fmul
            invokestatic java.lang.Math.round:(F)I
            iadd
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         1: .line 652
            return
        end local 1 // float q
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/widget/OverScroller$SplineOverScroller;
            0    2     1     q  F
    MethodParameters:
      Name  Flags
      q     

  private static float getDeceleration(int);
    descriptor: (I)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int velocity
         0: .line 658
            iload 0 /* velocity */
            ifle 1
            ldc -2000.0
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc 2000.0
      StackMap locals:
      StackMap stack: float
         2: freturn
        end local 0 // int velocity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  velocity  I
    MethodParameters:
          Name  Flags
      velocity  

  private void adjustDuration(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int oldFinal
        start local 3 // int newFinal
         0: .line 666
            iload 2 /* oldFinal */
            iload 1 /* start */
            isub
            istore 4 /* oldDistance */
        start local 4 // int oldDistance
         1: .line 667
            iload 3 /* newFinal */
            iload 1 /* start */
            isub
            istore 5 /* newDistance */
        start local 5 // int newDistance
         2: .line 668
            iload 5 /* newDistance */
            i2f
            iload 4 /* oldDistance */
            i2f
            fdiv
            invokestatic java.lang.Math.abs:(F)F
            fstore 6 /* x */
        start local 6 // float x
         3: .line 669
            ldc 100.0
            fload 6 /* x */
            fmul
            f2i
            istore 7 /* index */
        start local 7 // int index
         4: .line 670
            iload 7 /* index */
            bipush 100
            if_icmpge 11
         5: .line 671
            iload 7 /* index */
            i2f
            ldc 100.0
            fdiv
            fstore 8 /* x_inf */
        start local 8 // float x_inf
         6: .line 672
            iload 7 /* index */
            iconst_1
            iadd
            i2f
            ldc 100.0
            fdiv
            fstore 9 /* x_sup */
        start local 9 // float x_sup
         7: .line 673
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_TIME:[F
            iload 7 /* index */
            faload
            fstore 10 /* t_inf */
        start local 10 // float t_inf
         8: .line 674
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_TIME:[F
            iload 7 /* index */
            iconst_1
            iadd
            faload
            fstore 11 /* t_sup */
        start local 11 // float t_sup
         9: .line 675
            fload 10 /* t_inf */
            fload 6 /* x */
            fload 8 /* x_inf */
            fsub
            fload 9 /* x_sup */
            fload 8 /* x_inf */
            fsub
            fdiv
            fload 11 /* t_sup */
            fload 10 /* t_inf */
            fsub
            fmul
            fadd
            fstore 12 /* timeCoef */
        start local 12 // float timeCoef
        10: .line 676
            aload 0 /* this */
            dup
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            i2f
            fload 12 /* timeCoef */
            fmul
            f2i
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
        end local 12 // float timeCoef
        end local 11 // float t_sup
        end local 10 // float t_inf
        end local 9 // float x_sup
        end local 8 // float x_inf
        11: .line 678
      StackMap locals: android.widget.OverScroller$SplineOverScroller int int int int int float int
      StackMap stack:
            return
        end local 7 // int index
        end local 6 // float x
        end local 5 // int newDistance
        end local 4 // int oldDistance
        end local 3 // int newFinal
        end local 2 // int oldFinal
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Landroid/widget/OverScroller$SplineOverScroller;
            0   12     1        start  I
            0   12     2     oldFinal  I
            0   12     3     newFinal  I
            1   12     4  oldDistance  I
            2   12     5  newDistance  I
            3   12     6            x  F
            4   12     7        index  I
            6   11     8        x_inf  F
            7   11     9        x_sup  F
            8   11    10        t_inf  F
            9   11    11        t_sup  F
           10   11    12     timeCoef  F
    MethodParameters:
          Name  Flags
      start     
      oldFinal  
      newFinal  

  void startScroll(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int distance
        start local 3 // int duration
         0: .line 681
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         1: .line 683
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* start */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mStart:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         2: .line 684
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* distance */
            iadd
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
         3: .line 686
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
         4: .line 687
            aload 0 /* this */
            iload 3 /* duration */
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
         5: .line 690
            aload 0 /* this */
            fconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
         6: .line 691
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
         7: .line 692
            return
        end local 3 // int duration
        end local 2 // int distance
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Landroid/widget/OverScroller$SplineOverScroller;
            0    8     1     start  I
            0    8     2  distance  I
            0    8     3  duration  I
    MethodParameters:
          Name  Flags
      start     
      distance  
      duration  

  void finish();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.OverScroller$SplineOverScroller this
         0: .line 695
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         1: .line 699
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         2: .line 700
            return
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/OverScroller$SplineOverScroller;

  void setFinalPosition(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int position
         0: .line 703
            aload 0 /* this */
            iload 1 /* position */
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
         1: .line 704
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         2: .line 705
            return
        end local 1 // int position
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/widget/OverScroller$SplineOverScroller;
            0    3     1  position  I
    MethodParameters:
          Name  Flags
      position  

  void extendDuration(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int extend
         0: .line 708
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            lstore 2 /* time */
        start local 2 // long time
         1: .line 709
            lload 2 /* time */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            lsub
            l2i
            istore 4 /* elapsedTime */
        start local 4 // int elapsedTime
         2: .line 710
            aload 0 /* this */
            iload 4 /* elapsedTime */
            iload 1 /* extend */
            iadd
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
         3: .line 711
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         4: .line 712
            return
        end local 4 // int elapsedTime
        end local 2 // long time
        end local 1 // int extend
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Landroid/widget/OverScroller$SplineOverScroller;
            0    5     1       extend  I
            1    5     2         time  J
            2    5     4  elapsedTime  I
    MethodParameters:
        Name  Flags
      extend  

  boolean springback(int, int, int);
    descriptor: (III)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int min
        start local 3 // int max
         0: .line 715
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         1: .line 717
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* start */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mStart:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         2: .line 718
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
         3: .line 720
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
         4: .line 721
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
         5: .line 723
            iload 1 /* start */
            iload 2 /* min */
            if_icmpge 8
         6: .line 724
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* min */
            iconst_0
            invokevirtual android.widget.OverScroller$SplineOverScroller.startSpringback:(III)V
         7: .line 725
            goto 10
      StackMap locals:
      StackMap stack:
         8: iload 1 /* start */
            iload 3 /* max */
            if_icmple 10
         9: .line 726
            aload 0 /* this */
            iload 1 /* start */
            iload 3 /* max */
            iconst_0
            invokevirtual android.widget.OverScroller$SplineOverScroller.startSpringback:(III)V
        10: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
            ifeq 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: ireturn
        end local 3 // int max
        end local 2 // int min
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Landroid/widget/OverScroller$SplineOverScroller;
            0   13     1  start  I
            0   13     2    min  I
            0   13     3    max  I
    MethodParameters:
       Name  Flags
      start  
      min    
      max    

  private void startSpringback(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int end
        start local 3 // int velocity
         0: .line 734
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         1: .line 735
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller$SplineOverScroller.mState:I
         2: .line 736
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* start */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mStart:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         3: .line 737
            aload 0 /* this */
            iload 2 /* end */
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
         4: .line 738
            iload 1 /* start */
            iload 2 /* end */
            isub
            istore 4 /* delta */
        start local 4 // int delta
         5: .line 739
            aload 0 /* this */
            iload 4 /* delta */
            invokestatic android.widget.OverScroller$SplineOverScroller.getDeceleration:(I)F
            putfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
         6: .line 741
            aload 0 /* this */
            iload 4 /* delta */
            ineg
            putfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
         7: .line 742
            aload 0 /* this */
            iload 4 /* delta */
            invokestatic java.lang.Math.abs:(I)I
            putfield android.widget.OverScroller$SplineOverScroller.mOver:I
         8: .line 743
            aload 0 /* this */
            ldc 1000.0
            ldc -2.0
            iload 4 /* delta */
            i2d
            dmul
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            f2d
            ddiv
            invokestatic java.lang.Math.sqrt:(D)D
            dmul
            d2i
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
         9: .line 744
            return
        end local 4 // int delta
        end local 3 // int velocity
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/widget/OverScroller$SplineOverScroller;
            0   10     1     start  I
            0   10     2       end  I
            0   10     3  velocity  I
            5   10     4     delta  I
    MethodParameters:
          Name  Flags
      start     
      end       
      velocity  

  void fling(int, int, int, int, int);
    descriptor: (IIIII)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int velocity
        start local 3 // int min
        start local 4 // int max
        start local 5 // int over
         0: .line 747
            aload 0 /* this */
            iload 5 /* over */
            putfield android.widget.OverScroller$SplineOverScroller.mOver:I
         1: .line 748
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         2: .line 749
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* velocity */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            putfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
         3: .line 750
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mSplineDuration:I
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
         4: .line 751
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
         5: .line 752
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* start */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mStart:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         6: .line 754
            iload 1 /* start */
            iload 4 /* max */
            if_icmpgt 7
            iload 1 /* start */
            iload 3 /* min */
            if_icmpge 9
         7: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iload 3 /* min */
            iload 4 /* max */
            iload 2 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.startAfterEdge:(IIII)V
         8: .line 756
            return
         9: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.widget.OverScroller$SplineOverScroller.mState:I
        10: .line 760
            dconst_0
            dstore 6 /* totalDistance */
        start local 6 // double totalDistance
        11: .line 762
            iload 2 /* velocity */
            ifeq 14
        12: .line 763
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.getSplineFlingDuration:(I)I
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mSplineDuration:I
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
        13: .line 764
            aload 0 /* this */
            iload 2 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.getSplineFlingDistance:(I)D
            dstore 6 /* totalDistance */
        14: .line 767
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            dload 6 /* totalDistance */
            iload 2 /* velocity */
            i2f
            invokestatic java.lang.Math.signum:(F)F
            f2d
            dmul
            d2i
            putfield android.widget.OverScroller$SplineOverScroller.mSplineDistance:I
        15: .line 768
            aload 0 /* this */
            iload 1 /* start */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mSplineDistance:I
            iadd
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
        16: .line 771
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            iload 3 /* min */
            if_icmpge 19
        17: .line 772
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            iload 3 /* min */
            invokevirtual android.widget.OverScroller$SplineOverScroller.adjustDuration:(III)V
        18: .line 773
            aload 0 /* this */
            iload 3 /* min */
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
        19: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            iload 4 /* max */
            if_icmple 22
        20: .line 777
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            iload 4 /* max */
            invokevirtual android.widget.OverScroller$SplineOverScroller.adjustDuration:(III)V
        21: .line 778
            aload 0 /* this */
            iload 4 /* max */
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
        22: .line 780
      StackMap locals:
      StackMap stack:
            return
        end local 6 // double totalDistance
        end local 5 // int over
        end local 4 // int max
        end local 3 // int min
        end local 2 // int velocity
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Landroid/widget/OverScroller$SplineOverScroller;
            0   23     1          start  I
            0   23     2       velocity  I
            0   23     3            min  I
            0   23     4            max  I
            0   23     5           over  I
           11   23     6  totalDistance  D
    MethodParameters:
          Name  Flags
      start     
      velocity  
      min       
      max       
      over      

  private double getSplineDeceleration(int);
    descriptor: (I)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int velocity
         0: .line 783
            ldc 0.35
            iload 1 /* velocity */
            invokestatic java.lang.Math.abs:(I)I
            i2f
            fmul
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFlingFriction:F
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mPhysicalCoeff:F
            fmul
            fdiv
            f2d
            invokestatic java.lang.Math.log:(D)D
            dreturn
        end local 1 // int velocity
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/widget/OverScroller$SplineOverScroller;
            0    1     1  velocity  I
    MethodParameters:
          Name  Flags
      velocity  

  private double getSplineFlingDistance(int);
    descriptor: (I)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int velocity
         0: .line 787
            aload 0 /* this */
            iload 1 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.getSplineDeceleration:(I)D
            dstore 2 /* l */
        start local 2 // double l
         1: .line 788
            getstatic android.widget.OverScroller$SplineOverScroller.DECELERATION_RATE:F
            f2d
            dconst_1
            dsub
            dstore 4 /* decelMinusOne */
        start local 4 // double decelMinusOne
         2: .line 789
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFlingFriction:F
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mPhysicalCoeff:F
            fmul
            f2d
            getstatic android.widget.OverScroller$SplineOverScroller.DECELERATION_RATE:F
            f2d
            dload 4 /* decelMinusOne */
            ddiv
            dload 2 /* l */
            dmul
            invokestatic java.lang.Math.exp:(D)D
            dmul
            dreturn
        end local 4 // double decelMinusOne
        end local 2 // double l
        end local 1 // int velocity
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/widget/OverScroller$SplineOverScroller;
            0    3     1       velocity  I
            1    3     2              l  D
            2    3     4  decelMinusOne  D
    MethodParameters:
          Name  Flags
      velocity  

  private int getSplineFlingDuration(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int velocity
         0: .line 794
            aload 0 /* this */
            iload 1 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.getSplineDeceleration:(I)D
            dstore 2 /* l */
        start local 2 // double l
         1: .line 795
            getstatic android.widget.OverScroller$SplineOverScroller.DECELERATION_RATE:F
            f2d
            dconst_1
            dsub
            dstore 4 /* decelMinusOne */
        start local 4 // double decelMinusOne
         2: .line 796
            ldc 1000.0
            dload 2 /* l */
            dload 4 /* decelMinusOne */
            ddiv
            invokestatic java.lang.Math.exp:(D)D
            dmul
            d2i
            ireturn
        end local 4 // double decelMinusOne
        end local 2 // double l
        end local 1 // int velocity
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/widget/OverScroller$SplineOverScroller;
            0    3     1       velocity  I
            1    3     2              l  D
            2    3     4  decelMinusOne  D
    MethodParameters:
          Name  Flags
      velocity  

  private void fitOnBounceCurve(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int end
        start local 3 // int velocity
         0: .line 801
            iload 3 /* velocity */
            ineg
            i2f
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            fdiv
            fstore 4 /* durationToApex */
        start local 4 // float durationToApex
         1: .line 803
            iload 3 /* velocity */
            i2f
            iload 3 /* velocity */
            i2f
            fmul
            fstore 5 /* velocitySquared */
        start local 5 // float velocitySquared
         2: .line 804
            fload 5 /* velocitySquared */
            fconst_2
            fdiv
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            invokestatic java.lang.Math.abs:(F)F
            fdiv
            fstore 6 /* distanceToApex */
        start local 6 // float distanceToApex
         3: .line 805
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic java.lang.Math.abs:(I)I
            i2f
            fstore 7 /* distanceToEdge */
        start local 7 // float distanceToEdge
         4: .line 807
            ldc 2.0
            fload 6 /* distanceToApex */
            fload 7 /* distanceToEdge */
            fadd
            f2d
            dmul
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            invokestatic java.lang.Math.abs:(F)F
            f2d
            ddiv
         5: .line 806
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 8 /* totalDuration */
        start local 8 // float totalDuration
         6: .line 808
            aload 0 /* this */
            dup
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            ldc 1000.0
            fload 8 /* totalDuration */
            fload 4 /* durationToApex */
            fsub
            fmul
            f2i
            i2l
            lsub
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
         7: .line 809
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* end */
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mStart:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         8: .line 810
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            fneg
            fload 8 /* totalDuration */
            fmul
            f2i
            putfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
         9: .line 811
            return
        end local 8 // float totalDuration
        end local 7 // float distanceToEdge
        end local 6 // float distanceToApex
        end local 5 // float velocitySquared
        end local 4 // float durationToApex
        end local 3 // int velocity
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Landroid/widget/OverScroller$SplineOverScroller;
            0   10     1            start  I
            0   10     2              end  I
            0   10     3         velocity  I
            1   10     4   durationToApex  F
            2   10     5  velocitySquared  F
            3   10     6   distanceToApex  F
            4   10     7   distanceToEdge  F
            6   10     8    totalDuration  F
    MethodParameters:
          Name  Flags
      start     
      end       
      velocity  

  private void startBounceAfterEdge(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int end
        start local 3 // int velocity
         0: .line 814
            aload 0 /* this */
            iload 3 /* velocity */
            ifne 1
            iload 1 /* start */
            iload 2 /* end */
            isub
            goto 2
      StackMap locals:
      StackMap stack: android.widget.OverScroller$SplineOverScroller
         1: iload 3 /* velocity */
      StackMap locals: android.widget.OverScroller$SplineOverScroller int int int
      StackMap stack: android.widget.OverScroller$SplineOverScroller int
         2: invokestatic android.widget.OverScroller$SplineOverScroller.getDeceleration:(I)F
            putfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
         3: .line 815
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 3 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.fitOnBounceCurve:(III)V
         4: .line 816
            aload 0 /* this */
            invokevirtual android.widget.OverScroller$SplineOverScroller.onEdgeReached:()V
         5: .line 817
            return
        end local 3 // int velocity
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/widget/OverScroller$SplineOverScroller;
            0    6     1     start  I
            0    6     2       end  I
            0    6     3  velocity  I
    MethodParameters:
          Name  Flags
      start     
      end       
      velocity  

  private void startAfterEdge(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int min
        start local 3 // int max
        start local 4 // int velocity
         0: .line 820
            iload 1 /* start */
            iload 2 /* min */
            if_icmple 4
            iload 1 /* start */
            iload 3 /* max */
            if_icmpge 4
         1: .line 821
            ldc "OverScroller"
            ldc "startAfterEdge called from a valid position"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 822
            aload 0 /* this */
            iconst_1
            putfield android.widget.OverScroller$SplineOverScroller.mFinished:Z
         3: .line 823
            return
         4: .line 825
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 3 /* max */
            if_icmple 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* positive */
        start local 5 // boolean positive
         7: .line 826
            iload 5 /* positive */
            ifeq 8
            iload 3 /* max */
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iload 2 /* min */
      StackMap locals:
      StackMap stack: int
         9: istore 6 /* edge */
        start local 6 // int edge
        10: .line 827
            iload 1 /* start */
            iload 6 /* edge */
            isub
            istore 7 /* overDistance */
        start local 7 // int overDistance
        11: .line 828
            iload 7 /* overDistance */
            iload 4 /* velocity */
            imul
            iflt 12
            iconst_1
            goto 13
      StackMap locals: int int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 8 /* keepIncreasing */
        start local 8 // boolean keepIncreasing
        14: .line 829
            iload 8 /* keepIncreasing */
            ifeq 17
        15: .line 831
            aload 0 /* this */
            iload 1 /* start */
            iload 6 /* edge */
            iload 4 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.startBounceAfterEdge:(III)V
        16: .line 832
            goto 26
        17: .line 833
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.getSplineFlingDistance:(I)D
            dstore 9 /* totalDistance */
        start local 9 // double totalDistance
        18: .line 834
            dload 9 /* totalDistance */
            iload 7 /* overDistance */
            invokestatic java.lang.Math.abs:(I)I
            i2d
            dcmpl
            ifle 25
        19: .line 835
            aload 0 /* this */
            iload 1 /* start */
            iload 4 /* velocity */
            iload 5 /* positive */
            ifeq 20
            iload 2 /* min */
            goto 21
      StackMap locals: android.widget.OverScroller$SplineOverScroller int int int int int int int int double
      StackMap stack: android.widget.OverScroller$SplineOverScroller int int
        20: iload 1 /* start */
      StackMap locals: android.widget.OverScroller$SplineOverScroller int int int int int int int int double
      StackMap stack: android.widget.OverScroller$SplineOverScroller int int int
        21: iload 5 /* positive */
            ifeq 22
            iload 1 /* start */
            goto 23
      StackMap locals: android.widget.OverScroller$SplineOverScroller int int int int int int int int double
      StackMap stack: android.widget.OverScroller$SplineOverScroller int int int
        22: iload 3 /* max */
      StackMap locals: android.widget.OverScroller$SplineOverScroller int int int int int int int int double
      StackMap stack: android.widget.OverScroller$SplineOverScroller int int int int
        23: aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mOver:I
            invokevirtual android.widget.OverScroller$SplineOverScroller.fling:(IIIII)V
        24: .line 836
            goto 26
        25: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iload 6 /* edge */
            iload 4 /* velocity */
            invokevirtual android.widget.OverScroller$SplineOverScroller.startSpringback:(III)V
        end local 9 // double totalDistance
        26: .line 840
      StackMap locals:
      StackMap stack:
            return
        end local 8 // boolean keepIncreasing
        end local 7 // int overDistance
        end local 6 // int edge
        end local 5 // boolean positive
        end local 4 // int velocity
        end local 3 // int max
        end local 2 // int min
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Landroid/widget/OverScroller$SplineOverScroller;
            0   27     1           start  I
            0   27     2             min  I
            0   27     3             max  I
            0   27     4        velocity  I
            7   27     5        positive  Z
           10   27     6            edge  I
           11   27     7    overDistance  I
           14   27     8  keepIncreasing  Z
           18   26     9   totalDistance  D
    MethodParameters:
          Name  Flags
      start     
      min       
      max       
      velocity  

  void notifyEdgeReached(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.widget.OverScroller$SplineOverScroller this
        start local 1 // int start
        start local 2 // int end
        start local 3 // int over
         0: .line 844
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mState:I
            ifne 4
         1: .line 845
            aload 0 /* this */
            iload 3 /* over */
            putfield android.widget.OverScroller$SplineOverScroller.mOver:I
         2: .line 846
            aload 0 /* this */
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
         3: .line 849
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 2 /* end */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
            f2i
            invokevirtual android.widget.OverScroller$SplineOverScroller.startAfterEdge:(IIII)V
         4: .line 851
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int over
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/widget/OverScroller$SplineOverScroller;
            0    5     1  start  I
            0    5     2    end  I
            0    5     3   over  I
    MethodParameters:
       Name  Flags
      start  
      end    
      over   

  private void onEdgeReached();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.widget.OverScroller$SplineOverScroller this
         0: .line 856
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            fmul
            fstore 1 /* velocitySquared */
        start local 1 // float velocitySquared
         1: .line 857
            fload 1 /* velocitySquared */
            fconst_2
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            invokestatic java.lang.Math.abs:(F)F
            fmul
            fdiv
            fstore 2 /* distance */
        start local 2 // float distance
         2: .line 858
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fstore 3 /* sign */
        start local 3 // float sign
         3: .line 860
            fload 2 /* distance */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mOver:I
            i2f
            fcmpl
            ifle 6
         4: .line 862
            aload 0 /* this */
            fload 3 /* sign */
            fneg
            fload 1 /* velocitySquared */
            fmul
            fconst_2
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mOver:I
            i2f
            fmul
            fdiv
            putfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
         5: .line 863
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mOver:I
            i2f
            fstore 2 /* distance */
         6: .line 866
      StackMap locals: float float float
      StackMap stack:
            aload 0 /* this */
            fload 2 /* distance */
            f2i
            putfield android.widget.OverScroller$SplineOverScroller.mOver:I
         7: .line 867
            aload 0 /* this */
            iconst_2
            putfield android.widget.OverScroller$SplineOverScroller.mState:I
         8: .line 868
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            ifle 9
            fload 2 /* distance */
            goto 10
      StackMap locals: android.widget.OverScroller$SplineOverScroller float float float
      StackMap stack: android.widget.OverScroller$SplineOverScroller int
         9: fload 2 /* distance */
            fneg
      StackMap locals: android.widget.OverScroller$SplineOverScroller float float float
      StackMap stack: android.widget.OverScroller$SplineOverScroller int float
        10: f2i
            iadd
            putfield android.widget.OverScroller$SplineOverScroller.mFinal:I
        11: .line 869
            aload 0 /* this */
            ldc 1000.0
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            fmul
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            fdiv
            f2i
            ineg
            putfield android.widget.OverScroller$SplineOverScroller.mDuration:I
        12: .line 870
            return
        end local 3 // float sign
        end local 2 // float distance
        end local 1 // float velocitySquared
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Landroid/widget/OverScroller$SplineOverScroller;
            1   13     1  velocitySquared  F
            2   13     2         distance  F
            3   13     3             sign  F

  boolean continueWhenFinished();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.widget.OverScroller$SplineOverScroller this
         0: .line 873
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mState:I
            tableswitch { // 0 - 2
                    0: 1
                    1: 12
                    2: 9
              default: 13
          }
         1: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mSplineDuration:I
            if_icmpge 8
         2: .line 878
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            dup_x1
            putfield android.widget.OverScroller$SplineOverScroller.mStart:I
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
         3: .line 880
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
            f2i
            putfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
         4: .line 881
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            invokestatic android.widget.OverScroller$SplineOverScroller.getDeceleration:(I)F
            putfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
         5: .line 882
            aload 0 /* this */
            dup
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            i2l
            ladd
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
         6: .line 883
            aload 0 /* this */
            invokevirtual android.widget.OverScroller$SplineOverScroller.onEdgeReached:()V
         7: .line 884
            goto 13
         8: .line 886
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            i2l
            ladd
            putfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
        10: .line 891
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mFinal:I
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            iconst_0
            invokevirtual android.widget.OverScroller$SplineOverScroller.startSpringback:(III)V
        11: .line 892
            goto 13
        12: .line 894
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.widget.OverScroller$SplineOverScroller.update:()Z
            pop
        14: .line 898
            iconst_1
            ireturn
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Landroid/widget/OverScroller$SplineOverScroller;

  boolean update();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=15, args_size=1
        start local 0 // android.widget.OverScroller$SplineOverScroller this
         0: .line 907
            invokestatic android.view.animation.AnimationUtils.currentAnimationTimeMillis:()J
            lstore 1 /* time */
        start local 1 // long time
         1: .line 908
            lload 1 /* time */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStartTime:J
            lsub
            lstore 3 /* currentTime */
        start local 3 // long currentTime
         2: .line 910
            lload 3 /* currentTime */
            lconst_0
            lcmp
            ifne 5
         3: .line 912
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            ifle 4
            iconst_1
            ireturn
      StackMap locals: long long
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 914
      StackMap locals:
      StackMap stack:
            lload 3 /* currentTime */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            i2l
            lcmp
            ifle 7
         6: .line 915
            iconst_0
            ireturn
         7: .line 918
      StackMap locals:
      StackMap stack:
            dconst_0
            dstore 5 /* distance */
        start local 5 // double distance
         8: .line 919
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mState:I
            tableswitch { // 0 - 2
                    0: 9
                    1: 27
                    2: 23
              default: 32
          }
         9: .line 921
      StackMap locals: double
      StackMap stack:
            lload 3 /* currentTime */
            l2f
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mSplineDuration:I
            i2f
            fdiv
            fstore 7 /* t */
        start local 7 // float t
        10: .line 922
            ldc 100.0
            fload 7 /* t */
            fmul
            f2i
            istore 8 /* index */
        start local 8 // int index
        11: .line 923
            fconst_1
            fstore 9 /* distanceCoef */
        start local 9 // float distanceCoef
        12: .line 924
            fconst_0
            fstore 10 /* velocityCoef */
        start local 10 // float velocityCoef
        13: .line 925
            iload 8 /* index */
            bipush 100
            if_icmpge 20
        14: .line 926
            iload 8 /* index */
            i2f
            ldc 100.0
            fdiv
            fstore 11 /* t_inf */
        start local 11 // float t_inf
        15: .line 927
            iload 8 /* index */
            iconst_1
            iadd
            i2f
            ldc 100.0
            fdiv
            fstore 12 /* t_sup */
        start local 12 // float t_sup
        16: .line 928
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_POSITION:[F
            iload 8 /* index */
            faload
            fstore 13 /* d_inf */
        start local 13 // float d_inf
        17: .line 929
            getstatic android.widget.OverScroller$SplineOverScroller.SPLINE_POSITION:[F
            iload 8 /* index */
            iconst_1
            iadd
            faload
            fstore 14 /* d_sup */
        start local 14 // float d_sup
        18: .line 930
            fload 14 /* d_sup */
            fload 13 /* d_inf */
            fsub
            fload 12 /* t_sup */
            fload 11 /* t_inf */
            fsub
            fdiv
            fstore 10 /* velocityCoef */
        19: .line 931
            fload 13 /* d_inf */
            fload 7 /* t */
            fload 11 /* t_inf */
            fsub
            fload 10 /* velocityCoef */
            fmul
            fadd
            fstore 9 /* distanceCoef */
        end local 14 // float d_sup
        end local 13 // float d_inf
        end local 12 // float t_sup
        end local 11 // float t_inf
        20: .line 934
      StackMap locals: android.widget.OverScroller$SplineOverScroller long long double float int float float
      StackMap stack:
            fload 9 /* distanceCoef */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mSplineDistance:I
            i2f
            fmul
            f2d
            dstore 5 /* distance */
        21: .line 935
            aload 0 /* this */
            fload 10 /* velocityCoef */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mSplineDistance:I
            i2f
            fmul
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mSplineDuration:I
            i2f
            fdiv
            ldc 1000.0
            fmul
            putfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
        22: .line 936
            goto 32
        end local 10 // float velocityCoef
        end local 9 // float distanceCoef
        end local 8 // int index
        end local 7 // float t
        23: .line 940
      StackMap locals: android.widget.OverScroller$SplineOverScroller long long double
      StackMap stack:
            lload 3 /* currentTime */
            l2f
            ldc 1000.0
            fdiv
            fstore 7 /* t */
        start local 7 // float t
        24: .line 941
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            fload 7 /* t */
            fmul
            fadd
            putfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
        25: .line 942
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            fload 7 /* t */
            fmul
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDeceleration:F
            fload 7 /* t */
            fmul
            fload 7 /* t */
            fmul
            fconst_2
            fdiv
            fadd
            f2d
            dstore 5 /* distance */
        26: .line 943
            goto 32
        end local 7 // float t
        27: .line 947
      StackMap locals:
      StackMap stack:
            lload 3 /* currentTime */
            l2f
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mDuration:I
            i2f
            fdiv
            fstore 7 /* t */
        start local 7 // float t
        28: .line 948
            fload 7 /* t */
            fload 7 /* t */
            fmul
            fstore 8 /* t2 */
        start local 8 // float t2
        29: .line 949
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mVelocity:I
            i2f
            invokestatic java.lang.Math.signum:(F)F
            fstore 9 /* sign */
        start local 9 // float sign
        30: .line 950
            fload 9 /* sign */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mOver:I
            i2f
            fmul
            ldc 3.0
            fload 8 /* t2 */
            fmul
            fconst_2
            fload 7 /* t */
            fmul
            fload 8 /* t2 */
            fmul
            fsub
            fmul
            f2d
            dstore 5 /* distance */
        31: .line 951
            aload 0 /* this */
            fload 9 /* sign */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mOver:I
            i2f
            fmul
            ldc 6.0
            fmul
            fload 7 /* t */
            fneg
            fload 8 /* t2 */
            fadd
            fmul
            putfield android.widget.OverScroller$SplineOverScroller.mCurrVelocity:F
        end local 9 // float sign
        end local 8 // float t2
        end local 7 // float t
        32: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.OverScroller$SplineOverScroller.mStart:I
            dload 5 /* distance */
            invokestatic java.lang.Math.round:(D)J
            l2i
            iadd
            putfield android.widget.OverScroller$SplineOverScroller.mCurrentPosition:I
        33: .line 958
            iconst_1
            ireturn
        end local 5 // double distance
        end local 3 // long currentTime
        end local 1 // long time
        end local 0 // android.widget.OverScroller$SplineOverScroller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0          this  Landroid/widget/OverScroller$SplineOverScroller;
            1   34     1          time  J
            2   34     3   currentTime  J
            8   34     5      distance  D
           10   23     7             t  F
           11   23     8         index  I
           12   23     9  distanceCoef  F
           13   23    10  velocityCoef  F
           15   20    11         t_inf  F
           16   20    12         t_sup  F
           17   20    13         d_inf  F
           18   20    14         d_sup  F
           24   27     7             t  F
           28   32     7             t  F
           29   32     8            t2  F
           30   32     9          sign  F
}
SourceFile: "OverScroller.java"
NestHost: android.widget.OverScroller
InnerClasses:
  SplineOverScroller = android.widget.OverScroller$SplineOverScroller of android.widget.OverScroller