class javax.swing.Autoscroller implements java.awt.event.ActionListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.Autoscroller
  super_class: java.lang.Object
{
  private static javax.swing.Autoscroller sharedInstance;
    descriptor: Ljavax/swing/Autoscroller;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.event.MouseEvent event;
    descriptor: Ljava/awt/event/MouseEvent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static javax.swing.Timer timer;
    descriptor: Ljavax/swing/Timer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static javax.swing.JComponent component;
    descriptor: Ljavax/swing/JComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 44
            new javax.swing.Autoscroller
            dup
            invokespecial javax.swing.Autoscroller.<init>:()V
            putstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
         1: .line 51
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void stop(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 60
            getstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
            aload 0 /* c */
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         1: .line 61
            return
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public static boolean isRunning(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 67
            getstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
            aload 0 /* c */
            invokevirtual javax.swing.Autoscroller._isRunning:(Ljavax/swing/JComponent;)Z
            ireturn
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public static void processMouseDragged(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.event.MouseEvent e
         0: .line 75
            getstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
            aload 0 /* e */
            invokevirtual javax.swing.Autoscroller._processMouseDragged:(Ljava/awt/event/MouseEvent;)V
         1: .line 76
            return
        end local 0 // java.awt.event.MouseEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Ljava/awt/event/MouseEvent;
    MethodParameters:
      Name  Flags
      e     

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.Autoscroller this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            return
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/Autoscroller;

  private void start(javax.swing.JComponent, java.awt.event.MouseEvent);
    descriptor: (Ljavax/swing/JComponent;Ljava/awt/event/MouseEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=4, args_size=3
        start local 0 // javax.swing.Autoscroller this
        start local 1 // javax.swing.JComponent c
        start local 2 // java.awt.event.MouseEvent e
         0: .line 87
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getLocationOnScreen:()Ljava/awt/Point;
            astore 3 /* screenLocation */
        start local 3 // java.awt.Point screenLocation
         1: .line 89
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            aload 1 /* c */
            if_acmpeq 3
         2: .line 90
            aload 0 /* this */
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         3: .line 92
      StackMap locals: java.awt.Point
      StackMap stack:
            aload 1 /* c */
            putstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
         4: .line 93
            new java.awt.event.MouseEvent
            dup
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
         5: .line 94
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getX:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.x:I
            iadd
         6: .line 95
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getY:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.y:I
            iadd
         7: .line 96
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
         8: .line 97
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
         9: .line 98
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        10: .line 99
            iconst_0
        11: .line 93
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            putstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
        12: .line 101
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            ifnonnull 14
        13: .line 102
            new javax.swing.Timer
            dup
            bipush 100
            aload 0 /* this */
            invokespecial javax.swing.Timer.<init>:(ILjava/awt/event/ActionListener;)V
            putstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
        14: .line 105
      StackMap locals:
      StackMap stack:
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.isRunning:()Z
            ifne 16
        15: .line 106
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.start:()V
        16: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.awt.Point screenLocation
        end local 2 // java.awt.event.MouseEvent e
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Ljavax/swing/Autoscroller;
            0   17     1               c  Ljavax/swing/JComponent;
            0   17     2               e  Ljava/awt/event/MouseEvent;
            1   17     3  screenLocation  Ljava/awt/Point;
    MethodParameters:
      Name  Flags
      c     
      e     

  private void _stop(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // javax.swing.JComponent c
         0: .line 118
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            aload 1 /* c */
            if_acmpne 6
         1: .line 119
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            ifnull 3
         2: .line 120
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.stop:()V
         3: .line 122
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
         4: .line 123
            aconst_null
            putstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
         5: .line 124
            aconst_null
            putstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
         6: .line 126
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/Autoscroller;
            0    7     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  private boolean _isRunning(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // javax.swing.JComponent c
         0: .line 133
            aload 1 /* c */
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            if_acmpne 1
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            ifnull 1
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.isRunning:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/Autoscroller;
            0    2     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  private void _processMouseDragged(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // java.awt.event.MouseEvent e
         0: .line 140
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getComponent:()Ljava/awt/Component;
            checkcast javax.swing.JComponent
            astore 2 /* component */
        start local 2 // javax.swing.JComponent component
         1: .line 141
            iconst_1
            istore 3 /* stop */
        start local 3 // boolean stop
         2: .line 142
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.isShowing:()Z
            ifeq 5
         3: .line 143
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.getVisibleRect:()Ljava/awt/Rectangle;
            astore 4 /* visibleRect */
        start local 4 // java.awt.Rectangle visibleRect
         4: .line 144
            aload 4 /* visibleRect */
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getX:()I
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getY:()I
            invokevirtual java.awt.Rectangle.contains:(II)Z
            istore 3 /* stop */
        end local 4 // java.awt.Rectangle visibleRect
         5: .line 146
      StackMap locals: javax.swing.JComponent int
      StackMap stack:
            iload 3 /* stop */
            ifeq 8
         6: .line 147
            aload 0 /* this */
            aload 2 /* component */
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         7: .line 148
            goto 9
         8: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* component */
            aload 1 /* e */
            invokevirtual javax.swing.Autoscroller.start:(Ljavax/swing/JComponent;Ljava/awt/event/MouseEvent;)V
         9: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean stop
        end local 2 // javax.swing.JComponent component
        end local 1 // java.awt.event.MouseEvent e
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljavax/swing/Autoscroller;
            0   10     1            e  Ljava/awt/event/MouseEvent;
            1   10     2    component  Ljavax/swing/JComponent;
            2   10     3         stop  Z
            4    5     4  visibleRect  Ljava/awt/Rectangle;
    MethodParameters:
      Name  Flags
      e     

  public void actionPerformed(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=5, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // java.awt.event.ActionEvent x
         0: .line 162
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            astore 2 /* component */
        start local 2 // javax.swing.JComponent component
         1: .line 164
            aload 2 /* component */
            ifnull 2
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.isShowing:()Z
            ifeq 2
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            ifnonnull 4
         2: .line 165
      StackMap locals: javax.swing.JComponent
      StackMap stack:
            aload 0 /* this */
            aload 2 /* component */
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         3: .line 166
            return
         4: .line 168
      StackMap locals:
      StackMap stack:
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.getLocationOnScreen:()Ljava/awt/Point;
            astore 3 /* screenLocation */
        start local 3 // java.awt.Point screenLocation
         5: .line 169
            new java.awt.event.MouseEvent
            dup
            aload 2 /* component */
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getID:()I
         6: .line 170
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
         7: .line 171
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getX:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.x:I
            isub
         8: .line 172
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getY:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.y:I
            isub
         9: .line 173
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
        10: .line 174
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
        11: .line 175
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
        12: .line 176
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        13: .line 177
            iconst_0
        14: .line 169
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            astore 4 /* e */
        start local 4 // java.awt.event.MouseEvent e
        15: .line 178
            aload 2 /* component */
            aload 4 /* e */
            invokevirtual javax.swing.JComponent.superProcessMouseMotionEvent:(Ljava/awt/event/MouseEvent;)V
        16: .line 179
            return
        end local 4 // java.awt.event.MouseEvent e
        end local 3 // java.awt.Point screenLocation
        end local 2 // javax.swing.JComponent component
        end local 1 // java.awt.event.ActionEvent x
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Ljavax/swing/Autoscroller;
            0   17     1               x  Ljava/awt/event/ActionEvent;
            1   17     2       component  Ljavax/swing/JComponent;
            5   17     3  screenLocation  Ljava/awt/Point;
           15   17     4               e  Ljava/awt/event/MouseEvent;
    MethodParameters:
      Name  Flags
      x     
}
SourceFile: "Autoscroller.java"