public class javax.swing.plaf.basic.BasicGraphicsUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicGraphicsUtils
  super_class: java.lang.Object
{
  private static final java.awt.Insets GROOVE_INSETS;
    descriptor: Ljava/awt/Insets;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.awt.Insets ETCHED_INSETS;
    descriptor: Ljava/awt/Insets;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 51
            new java.awt.Insets
            dup
            iconst_2
            iconst_2
            iconst_2
            iconst_2
            invokespecial java.awt.Insets.<init>:(IIII)V
            putstatic javax.swing.plaf.basic.BasicGraphicsUtils.GROOVE_INSETS:Ljava/awt/Insets;
         1: .line 52
            new java.awt.Insets
            dup
            iconst_2
            iconst_2
            iconst_2
            iconst_2
            invokespecial java.awt.Insets.<init>:(IIII)V
            putstatic javax.swing.plaf.basic.BasicGraphicsUtils.ETCHED_INSETS:Ljava/awt/Insets;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicGraphicsUtils this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.swing.plaf.basic.BasicGraphicsUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicGraphicsUtils;

  public static void drawEtchedRect(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=9
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.Color shadow
        start local 6 // java.awt.Color darkShadow
        start local 7 // java.awt.Color highlight
        start local 8 // java.awt.Color lightHighlight
         0: .line 71
            aload 0 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 9 /* oldColor */
        start local 9 // java.awt.Color oldColor
         1: .line 72
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 74
            aload 0 /* g */
            aload 5 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         3: .line 75
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         4: .line 76
            aload 0 /* g */
            iconst_0
            iconst_1
            iconst_0
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         5: .line 78
            aload 0 /* g */
            aload 6 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         6: .line 79
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         7: .line 80
            aload 0 /* g */
            iconst_1
            iconst_2
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 82
            aload 0 /* g */
            aload 8 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         9: .line 83
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        10: .line 84
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        11: .line 86
            aload 0 /* g */
            aload 7 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        12: .line 87
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        13: .line 88
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        14: .line 90
            aload 0 /* g */
            iload 1 /* x */
            ineg
            iload 2 /* y */
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        15: .line 91
            aload 0 /* g */
            aload 9 /* oldColor */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        16: .line 92
            return
        end local 9 // java.awt.Color oldColor
        end local 8 // java.awt.Color lightHighlight
        end local 7 // java.awt.Color highlight
        end local 6 // java.awt.Color darkShadow
        end local 5 // java.awt.Color shadow
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0               g  Ljava/awt/Graphics;
            0   17     1               x  I
            0   17     2               y  I
            0   17     3               w  I
            0   17     4               h  I
            0   17     5          shadow  Ljava/awt/Color;
            0   17     6      darkShadow  Ljava/awt/Color;
            0   17     7       highlight  Ljava/awt/Color;
            0   17     8  lightHighlight  Ljava/awt/Color;
            1   17     9        oldColor  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      g               
      x               
      y               
      w               
      h               
      shadow          
      darkShadow      
      highlight       
      lightHighlight  

  public static java.awt.Insets getEtchedInsets();
    descriptor: ()Ljava/awt/Insets;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 102
            getstatic javax.swing.plaf.basic.BasicGraphicsUtils.ETCHED_INSETS:Ljava/awt/Insets;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void drawGroove(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.Color shadow
        start local 6 // java.awt.Color highlight
         0: .line 120
            aload 0 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 7 /* oldColor */
        start local 7 // java.awt.Color oldColor
         1: .line 121
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 123
            aload 0 /* g */
            aload 5 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         3: .line 124
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
         4: .line 126
            aload 0 /* g */
            aload 6 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         5: .line 127
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         6: .line 128
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         7: .line 130
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 131
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         9: .line 133
            aload 0 /* g */
            iload 1 /* x */
            ineg
            iload 2 /* y */
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        10: .line 134
            aload 0 /* g */
            aload 7 /* oldColor */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        11: .line 135
            return
        end local 7 // java.awt.Color oldColor
        end local 6 // java.awt.Color highlight
        end local 5 // java.awt.Color shadow
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          g  Ljava/awt/Graphics;
            0   12     1          x  I
            0   12     2          y  I
            0   12     3          w  I
            0   12     4          h  I
            0   12     5     shadow  Ljava/awt/Color;
            0   12     6  highlight  Ljava/awt/Color;
            1   12     7   oldColor  Ljava/awt/Color;
    MethodParameters:
           Name  Flags
      g          
      x          
      y          
      w          
      h          
      shadow     
      highlight  

  public static java.awt.Insets getGrooveInsets();
    descriptor: ()Ljava/awt/Insets;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 144
            getstatic javax.swing.plaf.basic.BasicGraphicsUtils.GROOVE_INSETS:Ljava/awt/Insets;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIIZZLjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=12, args_size=11
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // boolean isPressed
        start local 6 // boolean isDefault
        start local 7 // java.awt.Color shadow
        start local 8 // java.awt.Color darkShadow
        start local 9 // java.awt.Color highlight
        start local 10 // java.awt.Color lightHighlight
         0: .line 168
            aload 0 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 11 /* oldColor */
        start local 11 // java.awt.Color oldColor
         1: .line 169
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 171
            iload 5 /* isPressed */
            ifeq 8
            iload 6 /* isDefault */
            ifeq 8
         3: .line 172
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         4: .line 173
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
         5: .line 174
            aload 0 /* g */
            aload 7 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         6: .line 175
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
         7: .line 176
            goto 41
      StackMap locals: java.awt.Color
      StackMap stack:
         8: iload 5 /* isPressed */
            ifeq 13
         9: .line 177
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
        10: .line 178
            aload 7 /* shadow */
            aload 8 /* darkShadow */
            aload 9 /* highlight */
            aload 10 /* lightHighlight */
        11: .line 177
            invokestatic javax.swing.plaf.basic.BasicGraphicsUtils.drawLoweredBezel:(Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
        12: .line 179
            goto 41
      StackMap locals:
      StackMap stack:
        13: iload 6 /* isDefault */
            ifeq 29
        14: .line 180
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        15: .line 181
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
        16: .line 183
            aload 0 /* g */
            aload 10 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        17: .line 184
            aload 0 /* g */
            iconst_1
            iconst_1
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        18: .line 185
            aload 0 /* g */
            iconst_2
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        19: .line 187
            aload 0 /* g */
            aload 9 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        20: .line 188
            aload 0 /* g */
            iconst_2
            iconst_2
            iconst_2
            iload 4 /* h */
            iconst_4
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        21: .line 189
            aload 0 /* g */
            iconst_3
            iconst_2
            iload 3 /* w */
            iconst_4
            isub
            iconst_2
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        22: .line 191
            aload 0 /* g */
            aload 7 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        23: .line 192
            aload 0 /* g */
            iconst_2
            iload 4 /* h */
            iconst_3
            isub
            iload 3 /* w */
            iconst_3
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        24: .line 193
            aload 0 /* g */
            iload 3 /* w */
            iconst_3
            isub
            iconst_2
            iload 3 /* w */
            iconst_3
            isub
            iload 4 /* h */
            iconst_4
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        25: .line 195
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        26: .line 196
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        27: .line 197
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        28: .line 198
            goto 41
        29: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* g */
            aload 10 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        30: .line 200
            aload 0 /* g */
            iconst_0
            iconst_0
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        31: .line 201
            aload 0 /* g */
            iconst_1
            iconst_0
            iload 3 /* w */
            iconst_2
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        32: .line 203
            aload 0 /* g */
            aload 9 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        33: .line 204
            aload 0 /* g */
            iconst_1
            iconst_1
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        34: .line 205
            aload 0 /* g */
            iconst_2
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        35: .line 207
            aload 0 /* g */
            aload 7 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        36: .line 208
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        37: .line 209
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        38: .line 211
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        39: .line 212
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        40: .line 213
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        41: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* g */
            iload 1 /* x */
            ineg
            iload 2 /* y */
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        42: .line 216
            aload 0 /* g */
            aload 11 /* oldColor */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        43: .line 217
            return
        end local 11 // java.awt.Color oldColor
        end local 10 // java.awt.Color lightHighlight
        end local 9 // java.awt.Color highlight
        end local 8 // java.awt.Color darkShadow
        end local 7 // java.awt.Color shadow
        end local 6 // boolean isDefault
        end local 5 // boolean isPressed
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   44     0               g  Ljava/awt/Graphics;
            0   44     1               x  I
            0   44     2               y  I
            0   44     3               w  I
            0   44     4               h  I
            0   44     5       isPressed  Z
            0   44     6       isDefault  Z
            0   44     7          shadow  Ljava/awt/Color;
            0   44     8      darkShadow  Ljava/awt/Color;
            0   44     9       highlight  Ljava/awt/Color;
            0   44    10  lightHighlight  Ljava/awt/Color;
            1   44    11        oldColor  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      g               
      x               
      y               
      w               
      h               
      isPressed       
      isDefault       
      shadow          
      darkShadow      
      highlight       
      lightHighlight  

  public static void drawLoweredBezel(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=9
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.Color shadow
        start local 6 // java.awt.Color darkShadow
        start local 7 // java.awt.Color highlight
        start local 8 // java.awt.Color lightHighlight
         0: .line 235
            aload 0 /* g */
            aload 6 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         1: .line 236
            aload 0 /* g */
            iconst_0
            iconst_0
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         2: .line 237
            aload 0 /* g */
            iconst_1
            iconst_0
            iload 3 /* w */
            iconst_2
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         3: .line 239
            aload 0 /* g */
            aload 5 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         4: .line 240
            aload 0 /* g */
            iconst_1
            iconst_1
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         5: .line 241
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         6: .line 243
            aload 0 /* g */
            aload 8 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         7: .line 244
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 245
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         9: .line 247
            aload 0 /* g */
            aload 7 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        10: .line 248
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        11: .line 249
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        12: .line 250
            return
        end local 8 // java.awt.Color lightHighlight
        end local 7 // java.awt.Color highlight
        end local 6 // java.awt.Color darkShadow
        end local 5 // java.awt.Color shadow
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0               g  Ljava/awt/Graphics;
            0   13     1               x  I
            0   13     2               y  I
            0   13     3               w  I
            0   13     4               h  I
            0   13     5          shadow  Ljava/awt/Color;
            0   13     6      darkShadow  Ljava/awt/Color;
            0   13     7       highlight  Ljava/awt/Color;
            0   13     8  lightHighlight  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      g               
      x               
      y               
      w               
      h               
      shadow          
      darkShadow      
      highlight       
      lightHighlight  

  public static void drawString(java.awt.Graphics, java.lang.String, int, int, int);
    descriptor: (Ljava/awt/Graphics;Ljava/lang/String;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // java.awt.Graphics g
        start local 1 // java.lang.String text
        start local 2 // int underlinedChar
        start local 3 // int x
        start local 4 // int y
         0: .line 266
            iconst_m1
            istore 5 /* index */
        start local 5 // int index
         1: .line 268
            iload 2 /* underlinedChar */
            ifeq 15
         2: .line 269
            iload 2 /* underlinedChar */
            i2c
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 6 /* uc */
        start local 6 // char uc
         3: .line 270
            iload 2 /* underlinedChar */
            i2c
            invokestatic java.lang.Character.toLowerCase:(C)C
            istore 7 /* lc */
        start local 7 // char lc
         4: .line 271
            aload 1 /* text */
            iload 6 /* uc */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* uci */
        start local 8 // int uci
         5: .line 272
            aload 1 /* text */
            iload 7 /* lc */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* lci */
        start local 9 // int lci
         6: .line 274
            iload 8 /* uci */
            iconst_m1
            if_icmpne 9
         7: .line 275
            iload 9 /* lci */
            istore 5 /* index */
         8: .line 276
            goto 15
         9: .line 277
      StackMap locals: java.awt.Graphics java.lang.String int int int int int int int int
      StackMap stack:
            iload 9 /* lci */
            iconst_m1
            if_icmpne 12
        10: .line 278
            iload 8 /* uci */
            istore 5 /* index */
        11: .line 279
            goto 15
        12: .line 281
      StackMap locals:
      StackMap stack:
            iload 9 /* lci */
            iload 8 /* uci */
            if_icmpge 13
            iload 9 /* lci */
            goto 14
      StackMap locals:
      StackMap stack:
        13: iload 8 /* uci */
      StackMap locals:
      StackMap stack: int
        14: istore 5 /* index */
        end local 9 // int lci
        end local 8 // int uci
        end local 7 // char lc
        end local 6 // char uc
        15: .line 284
      StackMap locals: java.awt.Graphics java.lang.String int int int int
      StackMap stack:
            aload 0 /* g */
            aload 1 /* text */
            iload 5 /* index */
            iload 3 /* x */
            iload 4 /* y */
            invokestatic javax.swing.plaf.basic.BasicGraphicsUtils.drawStringUnderlineCharAt:(Ljava/awt/Graphics;Ljava/lang/String;III)V
        16: .line 285
            return
        end local 5 // int index
        end local 4 // int y
        end local 3 // int x
        end local 2 // int underlinedChar
        end local 1 // java.lang.String text
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0               g  Ljava/awt/Graphics;
            0   17     1            text  Ljava/lang/String;
            0   17     2  underlinedChar  I
            0   17     3               x  I
            0   17     4               y  I
            1   17     5           index  I
            3   15     6              uc  C
            4   15     7              lc  C
            5   15     8             uci  I
            6   15     9             lci  I
    MethodParameters:
                Name  Flags
      g               
      text            
      underlinedChar  
      x               
      y               

  public static void drawStringUnderlineCharAt(java.awt.Graphics, java.lang.String, int, int, int);
    descriptor: (Ljava/awt/Graphics;Ljava/lang/String;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.awt.Graphics g
        start local 1 // java.lang.String text
        start local 2 // int underlinedIndex
        start local 3 // int x
        start local 4 // int y
         0: .line 305
            aconst_null
            aload 0 /* g */
            aload 1 /* text */
         1: .line 306
            iload 2 /* underlinedIndex */
            iload 3 /* x */
            iload 4 /* y */
         2: .line 305
            invokestatic sun.swing.SwingUtilities2.drawStringUnderlineCharAt:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;III)V
         3: .line 307
            return
        end local 4 // int y
        end local 3 // int x
        end local 2 // int underlinedIndex
        end local 1 // java.lang.String text
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0                g  Ljava/awt/Graphics;
            0    4     1             text  Ljava/lang/String;
            0    4     2  underlinedIndex  I
            0    4     3                x  I
            0    4     4                y  I
    MethodParameters:
                 Name  Flags
      g                
      text             
      underlinedIndex  
      x                
      y                

  public static void drawDashedRect(java.awt.Graphics, int, int, int, int);
    descriptor: (Ljava/awt/Graphics;IIII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int width
        start local 4 // int height
         0: .line 322
            iload 1 /* x */
            istore 5 /* vx */
        start local 5 // int vx
         1: goto 5
         2: .line 323
      StackMap locals: int
      StackMap stack:
            aload 0 /* g */
            iload 5 /* vx */
            iload 2 /* y */
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         3: .line 324
            aload 0 /* g */
            iload 5 /* vx */
            iload 2 /* y */
            iload 4 /* height */
            iadd
            iconst_1
            isub
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         4: .line 322
            iinc 5 /* vx */ 2
      StackMap locals:
      StackMap stack:
         5: iload 5 /* vx */
            iload 1 /* x */
            iload 3 /* width */
            iadd
            if_icmplt 2
         6: .line 328
            iload 2 /* y */
            istore 6 /* vy */
        start local 6 // int vy
         7: goto 11
         8: .line 329
      StackMap locals: int
      StackMap stack:
            aload 0 /* g */
            iload 1 /* x */
            iload 6 /* vy */
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         9: .line 330
            aload 0 /* g */
            iload 1 /* x */
            iload 3 /* width */
            iadd
            iconst_1
            isub
            iload 6 /* vy */
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        10: .line 328
            iinc 6 /* vy */ 2
      StackMap locals:
      StackMap stack:
        11: iload 6 /* vy */
            iload 2 /* y */
            iload 4 /* height */
            iadd
            if_icmplt 8
        12: .line 332
            return
        end local 6 // int vy
        end local 5 // int vx
        end local 4 // int height
        end local 3 // int width
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0       g  Ljava/awt/Graphics;
            0   13     1       x  I
            0   13     2       y  I
            0   13     3   width  I
            0   13     4  height  I
            1   13     5      vx  I
            7   13     6      vy  I
    MethodParameters:
        Name  Flags
      g       
      x       
      y       
      width   
      height  

  public static java.awt.Dimension getPreferredButtonSize(javax.swing.AbstractButton, int);
    descriptor: (Ljavax/swing/AbstractButton;I)Ljava/awt/Dimension;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=11, args_size=2
        start local 0 // javax.swing.AbstractButton b
        start local 1 // int textIconGap
         0: .line 343
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getComponentCount:()I
            ifle 2
         1: .line 344
            aconst_null
            areturn
         2: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getIcon:()Ljavax/swing/Icon;
            astore 2 /* icon */
        start local 2 // javax.swing.Icon icon
         3: .line 348
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getText:()Ljava/lang/String;
            astore 3 /* text */
        start local 3 // java.lang.String text
         4: .line 350
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getFont:()Ljava/awt/Font;
            astore 4 /* font */
        start local 4 // java.awt.Font font
         5: .line 351
            aload 0 /* b */
            aload 4 /* font */
            invokevirtual javax.swing.AbstractButton.getFontMetrics:(Ljava/awt/Font;)Ljava/awt/FontMetrics;
            astore 5 /* fm */
        start local 5 // java.awt.FontMetrics fm
         6: .line 353
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 6 /* iconR */
        start local 6 // java.awt.Rectangle iconR
         7: .line 354
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 7 /* textR */
        start local 7 // java.awt.Rectangle textR
         8: .line 355
            new java.awt.Rectangle
            dup
            sipush 32767
            sipush 32767
            invokespecial java.awt.Rectangle.<init>:(II)V
            astore 8 /* viewR */
        start local 8 // java.awt.Rectangle viewR
         9: .line 358
            aload 0 /* b */
            aload 5 /* fm */
            aload 3 /* text */
            aload 2 /* icon */
        10: .line 359
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getVerticalAlignment:()I
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getHorizontalAlignment:()I
        11: .line 360
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getVerticalTextPosition:()I
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getHorizontalTextPosition:()I
        12: .line 361
            aload 8 /* viewR */
            aload 6 /* iconR */
            aload 7 /* textR */
            aload 3 /* text */
            ifnonnull 13
            iconst_0
            goto 14
      StackMap locals: javax.swing.AbstractButton int javax.swing.Icon java.lang.String java.awt.Font java.awt.FontMetrics java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: javax.swing.AbstractButton java.awt.FontMetrics java.lang.String javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
        13: iload 1 /* textIconGap */
        14: .line 357
      StackMap locals: javax.swing.AbstractButton int javax.swing.Icon java.lang.String java.awt.Font java.awt.FontMetrics java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: javax.swing.AbstractButton java.awt.FontMetrics java.lang.String javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle int
            invokestatic javax.swing.SwingUtilities.layoutCompoundLabel:(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;I)Ljava/lang/String;
            pop
        15: .line 368
            aload 6 /* iconR */
            aload 7 /* textR */
            invokevirtual java.awt.Rectangle.union:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 9 /* r */
        start local 9 // java.awt.Rectangle r
        16: .line 370
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getInsets:()Ljava/awt/Insets;
            astore 10 /* insets */
        start local 10 // java.awt.Insets insets
        17: .line 371
            aload 9 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            aload 10 /* insets */
            getfield java.awt.Insets.left:I
            aload 10 /* insets */
            getfield java.awt.Insets.right:I
            iadd
            iadd
            putfield java.awt.Rectangle.width:I
        18: .line 372
            aload 9 /* r */
            dup
            getfield java.awt.Rectangle.height:I
            aload 10 /* insets */
            getfield java.awt.Insets.top:I
            aload 10 /* insets */
            getfield java.awt.Insets.bottom:I
            iadd
            iadd
            putfield java.awt.Rectangle.height:I
        19: .line 374
            aload 9 /* r */
            invokevirtual java.awt.Rectangle.getSize:()Ljava/awt/Dimension;
            areturn
        end local 10 // java.awt.Insets insets
        end local 9 // java.awt.Rectangle r
        end local 8 // java.awt.Rectangle viewR
        end local 7 // java.awt.Rectangle textR
        end local 6 // java.awt.Rectangle iconR
        end local 5 // java.awt.FontMetrics fm
        end local 4 // java.awt.Font font
        end local 3 // java.lang.String text
        end local 2 // javax.swing.Icon icon
        end local 1 // int textIconGap
        end local 0 // javax.swing.AbstractButton b
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0            b  Ljavax/swing/AbstractButton;
            0   20     1  textIconGap  I
            3   20     2         icon  Ljavax/swing/Icon;
            4   20     3         text  Ljava/lang/String;
            5   20     4         font  Ljava/awt/Font;
            6   20     5           fm  Ljava/awt/FontMetrics;
            7   20     6        iconR  Ljava/awt/Rectangle;
            8   20     7        textR  Ljava/awt/Rectangle;
            9   20     8        viewR  Ljava/awt/Rectangle;
           16   20     9            r  Ljava/awt/Rectangle;
           17   20    10       insets  Ljava/awt/Insets;
    MethodParameters:
             Name  Flags
      b            
      textIconGap  

  static boolean isLeftToRight(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Component c
         0: .line 382
            aload 0 /* c */
            invokevirtual java.awt.Component.getComponentOrientation:()Ljava/awt/ComponentOrientation;
            invokevirtual java.awt.ComponentOrientation.isLeftToRight:()Z
            ireturn
        end local 0 // java.awt.Component c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      c     

  static boolean isMenuShortcutKeyDown(java.awt.event.InputEvent);
    descriptor: (Ljava/awt/event/InputEvent;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.event.InputEvent event
         0: .line 387
            aload 0 /* event */
            invokevirtual java.awt.event.InputEvent.getModifiers:()I
         1: .line 388
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            invokevirtual java.awt.Toolkit.getMenuShortcutKeyMask:()I
         2: .line 387
            iand
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.awt.event.InputEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  event  Ljava/awt/event/InputEvent;
    MethodParameters:
       Name  Flags
      event  

  public static void drawString(javax.swing.JComponent, java.awt.Graphics2D, java.lang.String, float, float);
    descriptor: (Ljavax/swing/JComponent;Ljava/awt/Graphics2D;Ljava/lang/String;FF)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // javax.swing.JComponent c
        start local 1 // java.awt.Graphics2D g
        start local 2 // java.lang.String string
        start local 3 // float x
        start local 4 // float y
         0: .line 407
            aload 0 /* c */
            aload 1 /* g */
            aload 2 /* string */
            fload 3 /* x */
            fload 4 /* y */
            iconst_1
            invokestatic sun.swing.SwingUtilities2.drawString:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;FFZ)V
         1: .line 408
            return
        end local 4 // float y
        end local 3 // float x
        end local 2 // java.lang.String string
        end local 1 // java.awt.Graphics2D g
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0       c  Ljavax/swing/JComponent;
            0    2     1       g  Ljava/awt/Graphics2D;
            0    2     2  string  Ljava/lang/String;
            0    2     3       x  F
            0    2     4       y  F
    MethodParameters:
        Name  Flags
      c       
      g       
      string  
      x       
      y       

  public static void drawStringUnderlineCharAt(javax.swing.JComponent, java.awt.Graphics2D, java.lang.String, int, float, float);
    descriptor: (Ljavax/swing/JComponent;Ljava/awt/Graphics2D;Ljava/lang/String;IFF)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // javax.swing.JComponent c
        start local 1 // java.awt.Graphics2D g
        start local 2 // java.lang.String string
        start local 3 // int underlinedIndex
        start local 4 // float x
        start local 5 // float y
         0: .line 442
            aload 0 /* c */
            aload 1 /* g */
            aload 2 /* string */
            iload 3 /* underlinedIndex */
         1: .line 443
            fload 4 /* x */
            fload 5 /* y */
            iconst_1
         2: .line 442
            invokestatic sun.swing.SwingUtilities2.drawStringUnderlineCharAt:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;IFFZ)V
         3: .line 444
            return
        end local 5 // float y
        end local 4 // float x
        end local 3 // int underlinedIndex
        end local 2 // java.lang.String string
        end local 1 // java.awt.Graphics2D g
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0                c  Ljavax/swing/JComponent;
            0    4     1                g  Ljava/awt/Graphics2D;
            0    4     2           string  Ljava/lang/String;
            0    4     3  underlinedIndex  I
            0    4     4                x  F
            0    4     5                y  F
    MethodParameters:
                 Name  Flags
      c                
      g                
      string           
      underlinedIndex  
      x                
      y                

  public static java.lang.String getClippedString(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String, int);
    descriptor: (Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.swing.JComponent c
        start local 1 // java.awt.FontMetrics fm
        start local 2 // java.lang.String string
        start local 3 // int availTextWidth
         0: .line 467
            aload 0 /* c */
            aload 1 /* fm */
            aload 2 /* string */
            iload 3 /* availTextWidth */
            invokestatic sun.swing.SwingUtilities2.clipStringIfNecessary:(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;I)Ljava/lang/String;
            areturn
        end local 3 // int availTextWidth
        end local 2 // java.lang.String string
        end local 1 // java.awt.FontMetrics fm
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0               c  Ljavax/swing/JComponent;
            0    1     1              fm  Ljava/awt/FontMetrics;
            0    1     2          string  Ljava/lang/String;
            0    1     3  availTextWidth  I
    MethodParameters:
                Name  Flags
      c               
      fm              
      string          
      availTextWidth  

  public static float getStringWidth(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String);
    descriptor: (Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.swing.JComponent c
        start local 1 // java.awt.FontMetrics fm
        start local 2 // java.lang.String string
         0: .line 486
            aload 0 /* c */
            aload 1 /* fm */
            aload 2 /* string */
            iconst_1
            invokestatic sun.swing.SwingUtilities2.stringWidth:(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;Z)F
            freturn
        end local 2 // java.lang.String string
        end local 1 // java.awt.FontMetrics fm
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       c  Ljavax/swing/JComponent;
            0    1     1      fm  Ljava/awt/FontMetrics;
            0    1     2  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      c       
      fm      
      string  
}
SourceFile: "BasicGraphicsUtils.java"