public abstract class sun.awt.UNIXToolkit extends sun.awt.SunToolkit
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.awt.UNIXToolkit
  super_class: sun.awt.SunToolkit
{
  public static final java.lang.Object GTK_LOCK;
    descriptor: Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final int[] BAND_OFFSETS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] BAND_OFFSETS_ALPHA;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private java.lang.Boolean nativeGTKAvailable;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean nativeGTKLoaded;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.BufferedImage tmpImage;
    descriptor: Ljava/awt/image/BufferedImage;
    flags: (0x0002) ACC_PRIVATE

  public static final java.lang.String FONTCONFIGAAHINT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "fontconfig/Antialias"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 42
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic sun.awt.UNIXToolkit.GTK_LOCK:Ljava/lang/Object;
         1: .line 44
            iconst_3
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            putstatic sun.awt.UNIXToolkit.BAND_OFFSETS:[I
         2: .line 45
            iconst_4
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            dup
            iconst_3
            iconst_3
            iastore
            putstatic sun.awt.UNIXToolkit.BAND_OFFSETS_ALPHA:[I
         3: .line 314
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.UNIXToolkit this
         0: .line 39
            aload 0 /* this */
            invokespecial sun.awt.SunToolkit.<init>:()V
         1: .line 84
            aload 0 /* this */
            aconst_null
            putfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
         2: .line 39
            return
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/UNIXToolkit;

  public static int getDatatransferTimeout();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 88
            new sun.security.action.GetIntegerAction
            dup
            ldc "sun.awt.datatransfer.timeout"
            invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;)V
         1: .line 87
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 0 /* dt */
        start local 0 // java.lang.Integer dt
         2: .line 89
            aload 0 /* dt */
            ifnull 3
            aload 0 /* dt */
            invokevirtual java.lang.Integer.intValue:()I
            ifgt 4
         3: .line 90
      StackMap locals: java.lang.Integer
      StackMap stack:
            sipush 10000
            ireturn
         4: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* dt */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 0 // java.lang.Integer dt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    5     0    dt  Ljava/lang/Integer;

  public java.lang.String getDesktop();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.awt.UNIXToolkit this
         0: .line 99
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  sun/awt/UNIXToolkit.lambda$0()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
         1: .line 98
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* gsi */
        start local 1 // java.lang.String gsi
         2: .line 101
            aload 1 /* gsi */
            ifnull 3
            ldc "gnome"
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 1 // java.lang.String gsi
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/UNIXToolkit;
            2    5     1   gsi  Ljava/lang/String;

  public boolean isNativeGTKAvailable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.awt.UNIXToolkit this
         0: .line 115
            getstatic sun.awt.UNIXToolkit.GTK_LOCK:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 116
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.nativeGTKLoaded:Ljava/lang/Boolean;
            ifnull 4
         2: .line 119
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.nativeGTKLoaded:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 1
            monitorexit
         3: ireturn
         4: .line 121
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.nativeGTKAvailable:Ljava/lang/Boolean;
            ifnull 7
         5: .line 124
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.nativeGTKAvailable:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 1
            monitorexit
         6: ireturn
         7: .line 127
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.UNIXToolkit.getEnabledGtkVersion:()Lsun/awt/UNIXToolkit$GtkVersions;
            invokevirtual sun.awt.UNIXToolkit$GtkVersions.getNumber:()I
            invokestatic sun.awt.UNIXToolkit.check_gtk:(I)Z
            istore 2 /* success */
        start local 2 // boolean success
         8: .line 128
            aload 0 /* this */
            iload 2 /* success */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield sun.awt.UNIXToolkit.nativeGTKAvailable:Ljava/lang/Boolean;
         9: .line 129
            iload 2 /* success */
            aload 1
            monitorexit
        10: ireturn
        end local 2 // boolean success
        11: .line 115
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        12: athrow
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lsun/awt/UNIXToolkit;
            8   11     2  success  Z
      Exception table:
        from    to  target  type
           1     3      11  any
           4     6      11  any
           7    10      11  any
          11    12      11  any

  public boolean loadGTK();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.UNIXToolkit this
         0: .line 143
            getstatic sun.awt.UNIXToolkit.GTK_LOCK:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 144
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.nativeGTKLoaded:Ljava/lang/Boolean;
            ifnonnull 5
         2: .line 145
            aload 0 /* this */
            invokestatic sun.awt.UNIXToolkit.getEnabledGtkVersion:()Lsun/awt/UNIXToolkit$GtkVersions;
            invokevirtual sun.awt.UNIXToolkit$GtkVersions.getNumber:()I
         3: .line 146
            invokestatic sun.awt.UNIXToolkit.isGtkVerbose:()Z
         4: .line 145
            invokestatic sun.awt.UNIXToolkit.load_gtk:(IZ)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield sun.awt.UNIXToolkit.nativeGTKLoaded:Ljava/lang/Boolean;
         5: .line 143
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
         9: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.nativeGTKLoaded:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/awt/UNIXToolkit;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any

  protected java.lang.Object lazilyLoadDesktopProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.UNIXToolkit this
        start local 1 // java.lang.String name
         0: .line 157
            aload 1 /* name */
            ldc "gtk.icon."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 158
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual sun.awt.UNIXToolkit.lazilyLoadGTKIcon:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
         2: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokespecial sun.awt.SunToolkit.lazilyLoadDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/UNIXToolkit;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.Object lazilyLoadGTKIcon(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // sun.awt.UNIXToolkit this
        start local 1 // java.lang.String longname
         0: .line 173
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.desktopProperties:Ljava/util/Map;
            aload 1 /* longname */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* result */
        start local 2 // java.lang.Object result
         1: .line 174
            aload 2 /* result */
            ifnull 3
         2: .line 175
            aload 2 /* result */
            areturn
         3: .line 179
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* longname */
            ldc "\\."
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String[] str
         4: .line 180
            aload 3 /* str */
            arraylength
            iconst_5
            if_icmpeq 6
         5: .line 181
            aconst_null
            areturn
         6: .line 185
      StackMap locals: java.lang.String[]
      StackMap stack:
            iconst_0
            istore 4 /* size */
        start local 4 // int size
         7: .line 187
            aload 3 /* str */
            iconst_3
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* size */
         8: .line 188
            goto 11
      StackMap locals: sun.awt.UNIXToolkit java.lang.String java.lang.Object java.lang.String[] int
      StackMap stack: java.lang.NumberFormatException
         9: pop
        10: .line 189
            aconst_null
            areturn
        11: .line 193
      StackMap locals:
      StackMap stack:
            ldc "ltr"
            aload 3 /* str */
            iconst_4
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
            getstatic com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection.LTR:Lcom/sun/java/swing/plaf/gtk/GTKConstants$TextDirection;
            goto 13
        12: .line 194
      StackMap locals:
      StackMap stack:
            getstatic com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection.RTL:Lcom/sun/java/swing/plaf/gtk/GTKConstants$TextDirection;
        13: .line 193
      StackMap locals:
      StackMap stack: com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection
            astore 5 /* dir */
        start local 5 // com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection dir
        14: .line 197
            aload 0 /* this */
            iconst_m1
            aload 3 /* str */
            iconst_2
            aaload
            iload 4 /* size */
            aload 5 /* dir */
            invokevirtual com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection.ordinal:()I
            aconst_null
            invokevirtual sun.awt.UNIXToolkit.getStockIcon:(ILjava/lang/String;IILjava/lang/String;)Ljava/awt/image/BufferedImage;
            astore 6 /* img */
        start local 6 // java.awt.image.BufferedImage img
        15: .line 198
            aload 6 /* img */
            ifnull 17
        16: .line 200
            aload 0 /* this */
            aload 1 /* longname */
            aload 6 /* img */
            invokevirtual sun.awt.UNIXToolkit.setDesktopProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        17: .line 202
      StackMap locals: com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection java.awt.image.BufferedImage
      StackMap stack:
            aload 6 /* img */
            areturn
        end local 6 // java.awt.image.BufferedImage img
        end local 5 // com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection dir
        end local 4 // int size
        end local 3 // java.lang.String[] str
        end local 2 // java.lang.Object result
        end local 1 // java.lang.String longname
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lsun/awt/UNIXToolkit;
            0   18     1  longname  Ljava/lang/String;
            1   18     2    result  Ljava/lang/Object;
            4   18     3       str  [Ljava/lang/String;
            7   18     4      size  I
           14   18     5       dir  Lcom/sun/java/swing/plaf/gtk/GTKConstants$TextDirection;
           15   18     6       img  Ljava/awt/image/BufferedImage;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.NumberFormatException
    MethodParameters:
          Name  Flags
      longname  

  public java.awt.image.BufferedImage getGTKIcon(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.awt.UNIXToolkit this
        start local 1 // java.lang.String filename
         0: .line 214
            aload 0 /* this */
            invokevirtual sun.awt.UNIXToolkit.loadGTK:()Z
            ifne 2
         1: .line 215
            aconst_null
            areturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.UNIXToolkit.GTK_LOCK:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 220
            aload 0 /* this */
            aload 1 /* filename */
            invokevirtual sun.awt.UNIXToolkit.load_gtk_icon:(Ljava/lang/String;)Z
            ifne 5
         4: .line 221
            aload 0 /* this */
            aconst_null
            putfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
         5: .line 219
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
            areturn
        end local 1 // java.lang.String filename
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lsun/awt/UNIXToolkit;
            0   10     1  filename  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
          Name  Flags
      filename  final

  public java.awt.image.BufferedImage getStockIcon(int, java.lang.String, int, int, java.lang.String);
    descriptor: (ILjava/lang/String;IILjava/lang/String;)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // sun.awt.UNIXToolkit this
        start local 1 // int widgetType
        start local 2 // java.lang.String stockId
        start local 3 // int iconSize
        start local 4 // int direction
        start local 5 // java.lang.String detail
         0: .line 247
            aload 0 /* this */
            invokevirtual sun.awt.UNIXToolkit.loadGTK:()Z
            ifne 2
         1: .line 248
            aconst_null
            areturn
         2: .line 252
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.UNIXToolkit.GTK_LOCK:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         3: .line 253
            aload 0 /* this */
            iload 1 /* widgetType */
            aload 2 /* stockId */
            iload 3 /* iconSize */
            iload 4 /* direction */
            aload 5 /* detail */
            invokevirtual sun.awt.UNIXToolkit.load_stock_icon:(ILjava/lang/String;IILjava/lang/String;)Z
            ifne 5
         4: .line 254
            aload 0 /* this */
            aconst_null
            putfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
         5: .line 252
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 6
            monitorexit
         8: athrow
         9: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
            areturn
        end local 5 // java.lang.String detail
        end local 4 // int direction
        end local 3 // int iconSize
        end local 2 // java.lang.String stockId
        end local 1 // int widgetType
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/awt/UNIXToolkit;
            0   10     1  widgetType  I
            0   10     2     stockId  Ljava/lang/String;
            0   10     3    iconSize  I
            0   10     4   direction  I
            0   10     5      detail  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
            Name  Flags
      widgetType  final
      stockId     final
      iconSize    final
      direction   final
      detail      final

  public void loadIconCallback(byte[], int, int, int, int, int, boolean);
    descriptor: ([BIIIIIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=8
        start local 0 // sun.awt.UNIXToolkit this
        start local 1 // byte[] data
        start local 2 // int width
        start local 3 // int height
        start local 4 // int rowStride
        start local 5 // int bps
        start local 6 // int channels
        start local 7 // boolean alpha
         0: .line 272
            aload 0 /* this */
            aconst_null
            putfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
         1: .line 276
            new java.awt.image.DataBufferByte
            dup
            aload 1 /* data */
            iload 4 /* rowStride */
            iload 3 /* height */
            imul
            invokespecial java.awt.image.DataBufferByte.<init>:([BI)V
            astore 8 /* dataBuf */
        start local 8 // java.awt.image.DataBuffer dataBuf
         2: .line 278
            aload 8 /* dataBuf */
         3: .line 279
            iload 2 /* width */
            iload 3 /* height */
            iload 4 /* rowStride */
            iload 6 /* channels */
         4: .line 280
            iload 7 /* alpha */
            ifeq 5
            getstatic sun.awt.UNIXToolkit.BAND_OFFSETS_ALPHA:[I
            goto 6
      StackMap locals: sun.awt.UNIXToolkit byte[] int int int int int int java.awt.image.DataBuffer
      StackMap stack: java.awt.image.DataBuffer int int int int
         5: getstatic sun.awt.UNIXToolkit.BAND_OFFSETS:[I
      StackMap locals: sun.awt.UNIXToolkit byte[] int int int int int int java.awt.image.DataBuffer
      StackMap stack: java.awt.image.DataBuffer int int int int int[]
         6: aconst_null
         7: .line 278
            invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
            astore 9 /* raster */
        start local 9 // java.awt.image.WritableRaster raster
         8: .line 281
            new java.awt.image.ComponentColorModel
            dup
         9: .line 282
            sipush 1000
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            iload 7 /* alpha */
            iconst_0
        10: .line 283
            iconst_3
            iconst_0
        11: .line 281
            invokespecial java.awt.image.ComponentColorModel.<init>:(Ljava/awt/color/ColorSpace;ZZII)V
            astore 10 /* colorModel */
        start local 10 // java.awt.image.ColorModel colorModel
        12: .line 287
            aload 0 /* this */
            new java.awt.image.BufferedImage
            dup
            aload 10 /* colorModel */
            aload 9 /* raster */
            iconst_0
            aconst_null
            invokespecial java.awt.image.BufferedImage.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/WritableRaster;ZLjava/util/Hashtable;)V
            putfield sun.awt.UNIXToolkit.tmpImage:Ljava/awt/image/BufferedImage;
        13: .line 288
            return
        end local 10 // java.awt.image.ColorModel colorModel
        end local 9 // java.awt.image.WritableRaster raster
        end local 8 // java.awt.image.DataBuffer dataBuf
        end local 7 // boolean alpha
        end local 6 // int channels
        end local 5 // int bps
        end local 4 // int rowStride
        end local 3 // int height
        end local 2 // int width
        end local 1 // byte[] data
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lsun/awt/UNIXToolkit;
            0   14     1        data  [B
            0   14     2       width  I
            0   14     3      height  I
            0   14     4   rowStride  I
            0   14     5         bps  I
            0   14     6    channels  I
            0   14     7       alpha  Z
            2   14     8     dataBuf  Ljava/awt/image/DataBuffer;
            8   14     9      raster  Ljava/awt/image/WritableRaster;
           12   14    10  colorModel  Ljava/awt/image/ColorModel;
    MethodParameters:
           Name  Flags
      data       
      width      
      height     
      rowStride  
      bps        
      channels   
      alpha      

  private static native boolean check_gtk(int);
    descriptor: (I)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      version  

  private static native boolean load_gtk(int, boolean);
    descriptor: (IZ)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      version  
      verbose  

  private static native boolean unload_gtk();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private native boolean load_gtk_icon(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
          Name  Flags
      filename  

  private native boolean load_stock_icon(int, java.lang.String, int, int, java.lang.String);
    descriptor: (ILjava/lang/String;IILjava/lang/String;)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      widget_type    
      stock_id       
      iconSize       
      textDirection  
      detail         

  private native void nativeSync();
    descriptor: ()V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private static native int get_gtk_version();
    descriptor: ()I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public void sync();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.UNIXToolkit this
         0: .line 303
            aload 0 /* this */
            invokevirtual sun.awt.UNIXToolkit.nativeSync:()V
         1: .line 305
            invokestatic sun.java2d.opengl.OGLRenderQueue.sync:()V
         2: .line 306
            return
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/UNIXToolkit;

  protected java.awt.RenderingHints getDesktopAAHints();
    descriptor: ()Ljava/awt/RenderingHints;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.awt.UNIXToolkit this
         0: .line 319
            aload 0 /* this */
            ldc "gnome.Xft/Antialias"
            invokevirtual sun.awt.UNIXToolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* aaValue */
        start local 1 // java.lang.Object aaValue
         1: .line 321
            aload 1 /* aaValue */
            ifnonnull 6
         2: .line 326
            aload 0 /* this */
            ldc "fontconfig/Antialias"
            invokevirtual sun.awt.UNIXToolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* aaValue */
         3: .line 327
            aload 1 /* aaValue */
            ifnull 5
         4: .line 328
            new java.awt.RenderingHints
            dup
            getstatic java.awt.RenderingHints.KEY_TEXT_ANTIALIASING:Ljava/awt/RenderingHints$Key;
            aload 1 /* aaValue */
            invokespecial java.awt.RenderingHints.<init>:(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V
            areturn
         5: .line 330
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
         6: .line 339
      StackMap locals:
      StackMap stack:
            aload 1 /* aaValue */
            instanceof java.lang.Number
            ifeq 9
         7: .line 340
            aload 1 /* aaValue */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.intValue:()I
            ifeq 9
         8: .line 339
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 2 /* aa */
        start local 2 // boolean aa
        11: .line 342
            iload 2 /* aa */
            ifeq 31
        12: .line 344
            aload 0 /* this */
            ldc "gnome.Xft/RGBA"
            invokevirtual sun.awt.UNIXToolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
        13: .line 343
            astore 4 /* subpixOrder */
        start local 4 // java.lang.String subpixOrder
        14: .line 346
            aload 4 /* subpixOrder */
            ifnull 15
            aload 4 /* subpixOrder */
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 347
      StackMap locals: sun.awt.UNIXToolkit java.lang.Object int top java.lang.String
      StackMap stack:
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON:Ljava/lang/Object;
            astore 3 /* aaHint */
        start local 3 // java.lang.Object aaHint
        16: .line 348
            goto 32
        end local 3 // java.lang.Object aaHint
      StackMap locals:
      StackMap stack:
        17: aload 4 /* subpixOrder */
            ldc "rgb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 349
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB:Ljava/lang/Object;
            astore 3 /* aaHint */
        start local 3 // java.lang.Object aaHint
        19: .line 350
            goto 32
        end local 3 // java.lang.Object aaHint
      StackMap locals:
      StackMap stack:
        20: aload 4 /* subpixOrder */
            ldc "bgr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 351
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HBGR:Ljava/lang/Object;
            astore 3 /* aaHint */
        start local 3 // java.lang.Object aaHint
        22: .line 352
            goto 32
        end local 3 // java.lang.Object aaHint
      StackMap locals:
      StackMap stack:
        23: aload 4 /* subpixOrder */
            ldc "vrgb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 353
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_VRGB:Ljava/lang/Object;
            astore 3 /* aaHint */
        start local 3 // java.lang.Object aaHint
        25: .line 354
            goto 32
        end local 3 // java.lang.Object aaHint
      StackMap locals:
      StackMap stack:
        26: aload 4 /* subpixOrder */
            ldc "vbgr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 355
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_VBGR:Ljava/lang/Object;
            astore 3 /* aaHint */
        start local 3 // java.lang.Object aaHint
        28: .line 356
            goto 32
        end local 3 // java.lang.Object aaHint
        29: .line 358
      StackMap locals:
      StackMap stack:
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON:Ljava/lang/Object;
            astore 3 /* aaHint */
        end local 4 // java.lang.String subpixOrder
        start local 3 // java.lang.Object aaHint
        30: .line 360
            goto 32
        end local 3 // java.lang.Object aaHint
        31: .line 361
      StackMap locals: sun.awt.UNIXToolkit java.lang.Object int
      StackMap stack:
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT:Ljava/lang/Object;
            astore 3 /* aaHint */
        start local 3 // java.lang.Object aaHint
        32: .line 363
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.awt.RenderingHints
            dup
            getstatic java.awt.RenderingHints.KEY_TEXT_ANTIALIASING:Ljava/awt/RenderingHints$Key;
            aload 3 /* aaHint */
            invokespecial java.awt.RenderingHints.<init>:(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V
            areturn
        end local 3 // java.lang.Object aaHint
        end local 2 // boolean aa
        end local 1 // java.lang.Object aaValue
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Lsun/awt/UNIXToolkit;
            1   33     1      aaValue  Ljava/lang/Object;
           11   33     2           aa  Z
           16   17     3       aaHint  Ljava/lang/Object;
           19   20     3       aaHint  Ljava/lang/Object;
           22   23     3       aaHint  Ljava/lang/Object;
           25   26     3       aaHint  Ljava/lang/Object;
           28   29     3       aaHint  Ljava/lang/Object;
           30   31     3       aaHint  Ljava/lang/Object;
           32   33     3       aaHint  Ljava/lang/Object;
           14   30     4  subpixOrder  Ljava/lang/String;

  private native boolean gtkCheckVersionImpl(int, int, int);
    descriptor: (III)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
       Name  Flags
      major  
      minor  
      micro  

  public boolean checkGtkVersion(int, int, int);
    descriptor: (III)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.awt.UNIXToolkit this
        start local 1 // int major
        start local 2 // int minor
        start local 3 // int micro
         0: .line 383
            aload 0 /* this */
            invokevirtual sun.awt.UNIXToolkit.loadGTK:()Z
            ifeq 2
         1: .line 384
            aload 0 /* this */
            iload 1 /* major */
            iload 2 /* minor */
            iload 3 /* micro */
            invokevirtual sun.awt.UNIXToolkit.gtkCheckVersionImpl:(III)Z
            ireturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int micro
        end local 2 // int minor
        end local 1 // int major
        end local 0 // sun.awt.UNIXToolkit this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/awt/UNIXToolkit;
            0    3     1  major  I
            0    3     2  minor  I
            0    3     3  micro  I
    MethodParameters:
       Name  Flags
      major  
      minor  
      micro  

  public static sun.awt.UNIXToolkit$GtkVersions getEnabledGtkVersion();
    descriptor: ()Lsun/awt/UNIXToolkit$GtkVersions;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 391
            new sun.security.action.GetPropertyAction
            dup
            ldc "jdk.gtk.version"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 390
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* version */
        start local 0 // java.lang.String version
         2: .line 392
            aload 0 /* version */
            ifnonnull 4
         3: .line 393
            getstatic sun.awt.UNIXToolkit$GtkVersions.ANY:Lsun/awt/UNIXToolkit$GtkVersions;
            areturn
         4: .line 394
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* version */
            ldc "2"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 395
            getstatic sun.awt.UNIXToolkit$GtkVersions.GTK2:Lsun/awt/UNIXToolkit$GtkVersions;
            areturn
         6: .line 396
      StackMap locals:
      StackMap stack:
            ldc "3"
            aload 0 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 397
            getstatic sun.awt.UNIXToolkit$GtkVersions.GTK3:Lsun/awt/UNIXToolkit$GtkVersions;
            areturn
         8: .line 399
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.UNIXToolkit$GtkVersions.ANY:Lsun/awt/UNIXToolkit$GtkVersions;
            areturn
        end local 0 // java.lang.String version
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            2    9     0  version  Ljava/lang/String;

  public static sun.awt.UNIXToolkit$GtkVersions getGtkVersion();
    descriptor: ()Lsun/awt/UNIXToolkit$GtkVersions;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 403
            invokestatic sun.awt.UNIXToolkit.get_gtk_version:()I
            invokestatic sun.awt.UNIXToolkit$GtkVersions.getVersion:(I)Lsun/awt/UNIXToolkit$GtkVersions;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isGtkVerbose();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 407
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  sun/awt/UNIXToolkit.lambda$1()Ljava/lang/Boolean; (6)
                  ()Ljava/lang/Boolean;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$0();
    descriptor: ()Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 100
            ldc "GNOME_DESKTOP_SESSION_ID"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Boolean lambda$1();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 408
            ldc "jdk.gtk.verbose"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "UNIXToolkit.java"
NestMembers:
  sun.awt.UNIXToolkit$GtkVersions  sun.awt.UNIXToolkit$GtkVersions$Constants
InnerClasses:
  public final TextDirection = com.sun.java.swing.plaf.gtk.GTKConstants$TextDirection of com.sun.java.swing.plaf.gtk.GTKConstants
  public abstract Key = java.awt.RenderingHints$Key of java.awt.RenderingHints
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final GtkVersions = sun.awt.UNIXToolkit$GtkVersions of sun.awt.UNIXToolkit