public class org.apache.fop.fonts.autodetect.WindowsFontDirFinder implements org.apache.fop.fonts.autodetect.FontDirFinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.fop.fonts.autodetect.WindowsFontDirFinder
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.fonts.autodetect.WindowsFontDirFinder this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.fop.fonts.autodetect.WindowsFontDirFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/fonts/autodetect/WindowsFontDirFinder;

  private java.lang.String getWinDir(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.fop.fonts.autodetect.WindowsFontDirFinder this
        start local 1 // java.lang.String osName
         0: .line 40
            aconst_null
            astore 2 /* process */
        start local 2 // java.lang.Process process
         1: .line 41
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            astore 3 /* runtime */
        start local 3 // java.lang.Runtime runtime
         2: .line 42
            aload 1 /* osName */
            ldc "Windows 9"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 43
            aload 3 /* runtime */
            ldc "command.com /c echo %windir%"
            invokevirtual java.lang.Runtime.exec:(Ljava/lang/String;)Ljava/lang/Process;
            astore 2 /* process */
         4: .line 44
            goto 6
         5: .line 45
      StackMap locals: java.lang.Process java.lang.Runtime
      StackMap stack:
            aload 3 /* runtime */
            ldc "cmd.exe /c echo %windir%"
            invokevirtual java.lang.Runtime.exec:(Ljava/lang/String;)Ljava/lang/Process;
            astore 2 /* process */
         6: .line 47
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* isr */
        start local 4 // java.io.InputStreamReader isr
         7: .line 48
            aconst_null
            astore 5 /* bufferedReader */
        start local 5 // java.io.BufferedReader bufferedReader
         8: .line 49
            ldc ""
            astore 6 /* dir */
        start local 6 // java.lang.String dir
         9: .line 51
            new java.io.InputStreamReader
            dup
            aload 2 /* process */
            invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 4 /* isr */
        10: .line 52
            new java.io.BufferedReader
            dup
            aload 4 /* isr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* bufferedReader */
        11: .line 53
            aload 5 /* bufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* dir */
        12: .line 54
            goto 17
      StackMap locals: org.apache.fop.fonts.autodetect.WindowsFontDirFinder java.lang.String java.lang.Process java.lang.Runtime java.io.InputStreamReader java.io.BufferedReader java.lang.String
      StackMap stack: java.lang.Throwable
        13: astore 7
        14: .line 55
            aload 5 /* bufferedReader */
            invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
        15: .line 56
            aload 4 /* isr */
            invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
        16: .line 57
            aload 7
            athrow
        17: .line 55
      StackMap locals:
      StackMap stack:
            aload 5 /* bufferedReader */
            invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
        18: .line 56
            aload 4 /* isr */
            invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
        19: .line 58
            aload 6 /* dir */
            areturn
        end local 6 // java.lang.String dir
        end local 5 // java.io.BufferedReader bufferedReader
        end local 4 // java.io.InputStreamReader isr
        end local 3 // java.lang.Runtime runtime
        end local 2 // java.lang.Process process
        end local 1 // java.lang.String osName
        end local 0 // org.apache.fop.fonts.autodetect.WindowsFontDirFinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lorg/apache/fop/fonts/autodetect/WindowsFontDirFinder;
            0   20     1          osName  Ljava/lang/String;
            1   20     2         process  Ljava/lang/Process;
            2   20     3         runtime  Ljava/lang/Runtime;
            7   20     4             isr  Ljava/io/InputStreamReader;
            8   20     5  bufferedReader  Ljava/io/BufferedReader;
            9   20     6             dir  Ljava/lang/String;
      Exception table:
        from    to  target  type
           9    13      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      osName  

  public java.util.List<java.io.File> find();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // org.apache.fop.fonts.autodetect.WindowsFontDirFinder this
         0: .line 66
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* fontDirList */
        start local 1 // java.util.List fontDirList
         1: .line 67
            aconst_null
            astore 2 /* windir */
        start local 2 // java.lang.String windir
         2: .line 69
            ldc "env.windir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* windir */
         3: .line 70
            goto 5
      StackMap locals: org.apache.fop.fonts.autodetect.WindowsFontDirFinder java.util.List java.lang.String
      StackMap stack: java.lang.SecurityException
         4: pop
         5: .line 73
      StackMap locals:
      StackMap stack:
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* osName */
        start local 3 // java.lang.String osName
         6: .line 74
            aload 2 /* windir */
            ifnonnull 10
         7: .line 76
            aload 0 /* this */
            aload 3 /* osName */
            invokevirtual org.apache.fop.fonts.autodetect.WindowsFontDirFinder.getWinDir:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* windir */
         8: .line 77
            goto 10
      StackMap locals: org.apache.fop.fonts.autodetect.WindowsFontDirFinder java.util.List java.lang.String java.lang.String
      StackMap stack: java.io.IOException
         9: pop
        10: .line 81
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* osFontsDir */
        start local 4 // java.io.File osFontsDir
        11: .line 82
            aconst_null
            astore 5 /* psFontsDir */
        start local 5 // java.io.File psFontsDir
        12: .line 83
            aload 2 /* windir */
            ifnull 22
        13: .line 85
            aload 2 /* windir */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 15
        14: .line 86
            aload 2 /* windir */
            iconst_0
            aload 2 /* windir */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* windir */
        15: .line 88
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* windir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "FONTS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* osFontsDir */
        16: .line 89
            aload 4 /* osFontsDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 18
            aload 4 /* osFontsDir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 18
        17: .line 90
            aload 1 /* fontDirList */
            aload 4 /* osFontsDir */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 92
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* windir */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "PSFONTS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* psFontsDir */
        19: .line 93
            aload 5 /* psFontsDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 46
            aload 5 /* psFontsDir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 46
        20: .line 94
            aload 1 /* fontDirList */
            aload 5 /* psFontsDir */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 96
            goto 46
        22: .line 97
      StackMap locals:
      StackMap stack:
            aload 3 /* osName */
            ldc "NT"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 23
            ldc "WINNT"
            goto 24
      StackMap locals:
      StackMap stack:
        23: ldc "WINDOWS"
      StackMap locals:
      StackMap stack: java.lang.String
        24: astore 6 /* windowsDirName */
        start local 6 // java.lang.String windowsDirName
        25: .line 99
            bipush 67
            istore 7 /* driveLetter */
        start local 7 // char driveLetter
        26: goto 37
        27: .line 100
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.io.File
            dup
        28: .line 101
            new java.lang.StringBuilder
            dup
            iload 7 /* driveLetter */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 102
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* windowsDirName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 103
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "FONTS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 101
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 100
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* osFontsDir */
        33: .line 104
            aload 4 /* osFontsDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 36
            aload 4 /* osFontsDir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 36
        34: .line 105
            aload 1 /* fontDirList */
            aload 4 /* osFontsDir */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 106
            goto 38
        36: .line 99
      StackMap locals:
      StackMap stack:
            iload 7 /* driveLetter */
            iconst_1
            iadd
            i2c
            istore 7 /* driveLetter */
      StackMap locals:
      StackMap stack:
        37: iload 7 /* driveLetter */
            bipush 69
            if_icmple 27
        end local 7 // char driveLetter
        38: .line 110
      StackMap locals:
      StackMap stack:
            bipush 67
            istore 7 /* driveLetter */
        start local 7 // char driveLetter
        39: goto 45
        40: .line 111
      StackMap locals: int
      StackMap stack:
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            iload 7 /* driveLetter */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "PSFONTS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* psFontsDir */
        41: .line 112
            aload 5 /* psFontsDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 44
            aload 5 /* psFontsDir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 44
        42: .line 113
            aload 1 /* fontDirList */
            aload 5 /* psFontsDir */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 114
            goto 46
        44: .line 110
      StackMap locals:
      StackMap stack:
            iload 7 /* driveLetter */
            iconst_1
            iadd
            i2c
            istore 7 /* driveLetter */
      StackMap locals:
      StackMap stack:
        45: iload 7 /* driveLetter */
            bipush 69
            if_icmple 40
        end local 7 // char driveLetter
        end local 6 // java.lang.String windowsDirName
        46: .line 118
      StackMap locals:
      StackMap stack:
            aload 1 /* fontDirList */
            areturn
        end local 5 // java.io.File psFontsDir
        end local 4 // java.io.File osFontsDir
        end local 3 // java.lang.String osName
        end local 2 // java.lang.String windir
        end local 1 // java.util.List fontDirList
        end local 0 // org.apache.fop.fonts.autodetect.WindowsFontDirFinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   47     0            this  Lorg/apache/fop/fonts/autodetect/WindowsFontDirFinder;
            1   47     1     fontDirList  Ljava/util/List<Ljava/io/File;>;
            2   47     2          windir  Ljava/lang/String;
            6   47     3          osName  Ljava/lang/String;
           11   47     4      osFontsDir  Ljava/io/File;
           12   47     5      psFontsDir  Ljava/io/File;
           25   46     6  windowsDirName  Ljava/lang/String;
           26   38     7     driveLetter  C
           39   46     7     driveLetter  C
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.SecurityException
           7     8       9  Class java.io.IOException
    Signature: ()Ljava/util/List<Ljava/io/File;>;
}
SourceFile: "WindowsFontDirFinder.java"