public final class sun.text.normalizer.Utility
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.text.normalizer.Utility
  super_class: java.lang.Object
{
  private static final char[] UNESCAPE_MAP;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final char[] DIGITS;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 85
            bipush 16
            newarray 5
            dup
            iconst_0
         1: .line 90
            bipush 97
            castore
            dup
            iconst_1
            bipush 7
            castore
            dup
            iconst_2
         2: .line 91
            bipush 98
            castore
            dup
            iconst_3
            bipush 8
            castore
            dup
            iconst_4
         3: .line 92
            bipush 101
            castore
            dup
            iconst_5
            bipush 27
            castore
            dup
            bipush 6
         4: .line 93
            bipush 102
            castore
            dup
            bipush 7
            bipush 12
            castore
            dup
            bipush 8
         5: .line 94
            bipush 110
            castore
            dup
            bipush 9
            bipush 10
            castore
            dup
            bipush 10
         6: .line 95
            bipush 114
            castore
            dup
            bipush 11
            bipush 13
            castore
            dup
            bipush 12
         7: .line 96
            bipush 116
            castore
            dup
            bipush 13
            bipush 9
            castore
            dup
            bipush 14
         8: .line 97
            bipush 118
            castore
            dup
            bipush 15
            bipush 11
            castore
         9: .line 85
            putstatic sun.text.normalizer.Utility.UNESCAPE_MAP:[C
        10: .line 264
            bipush 36
            newarray 5
            dup
            iconst_0
        11: .line 265
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
        12: .line 266
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
            dup
            bipush 16
            bipush 71
            castore
            dup
            bipush 17
            bipush 72
            castore
            dup
            bipush 18
            bipush 73
            castore
            dup
            bipush 19
            bipush 74
            castore
            dup
            bipush 20
        13: .line 267
            bipush 75
            castore
            dup
            bipush 21
            bipush 76
            castore
            dup
            bipush 22
            bipush 77
            castore
            dup
            bipush 23
            bipush 78
            castore
            dup
            bipush 24
            bipush 79
            castore
            dup
            bipush 25
            bipush 80
            castore
            dup
            bipush 26
            bipush 81
            castore
            dup
            bipush 27
            bipush 82
            castore
            dup
            bipush 28
            bipush 83
            castore
            dup
            bipush 29
            bipush 84
            castore
            dup
            bipush 30
        14: .line 268
            bipush 85
            castore
            dup
            bipush 31
            bipush 86
            castore
            dup
            bipush 32
            bipush 87
            castore
            dup
            bipush 33
            bipush 88
            castore
            dup
            bipush 34
            bipush 89
            castore
            dup
            bipush 35
            bipush 90
            castore
        15: .line 264
            putstatic sun.text.normalizer.Utility.DIGITS:[C
        16: .line 269
            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 // sun.text.normalizer.Utility this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.text.normalizer.Utility this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/text/normalizer/Utility;

  public static final boolean arrayRegionMatches(char[], int, char[], int, int);
    descriptor: ([CI[CII)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // char[] source
        start local 1 // int sourceStart
        start local 2 // char[] target
        start local 3 // int targetStart
        start local 4 // int len
         0: .line 51
            iload 1 /* sourceStart */
            iload 4 /* len */
            iadd
            istore 5 /* sourceEnd */
        start local 5 // int sourceEnd
         1: .line 52
            iload 3 /* targetStart */
            iload 1 /* sourceStart */
            isub
            istore 6 /* delta */
        start local 6 // int delta
         2: .line 53
            iload 1 /* sourceStart */
            istore 7 /* i */
        start local 7 // int i
         3: goto 7
         4: .line 54
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* source */
            iload 7 /* i */
            caload
            aload 2 /* target */
            iload 7 /* i */
            iload 6 /* delta */
            iadd
            caload
            if_icmpeq 6
         5: .line 55
            iconst_0
            ireturn
         6: .line 53
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 7 /* i */
            iload 5 /* sourceEnd */
            if_icmplt 4
        end local 7 // int i
         8: .line 57
            iconst_1
            ireturn
        end local 6 // int delta
        end local 5 // int sourceEnd
        end local 4 // int len
        end local 3 // int targetStart
        end local 2 // char[] target
        end local 1 // int sourceStart
        end local 0 // char[] source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       source  [C
            0    9     1  sourceStart  I
            0    9     2       target  [C
            0    9     3  targetStart  I
            0    9     4          len  I
            1    9     5    sourceEnd  I
            2    9     6        delta  I
            3    8     7            i  I
    MethodParameters:
             Name  Flags
      source       
      sourceStart  
      target       
      targetStart  
      len          

  public static final java.lang.String escape(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String s
         0: .line 65
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 66
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 20
         3: .line 67
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* s */
            iload 2 /* i */
            invokestatic sun.text.normalizer.UTF16.charAt:(Ljava/lang/String;I)I
            istore 3 /* c */
        start local 3 // int c
         4: .line 68
            iload 2 /* i */
            iload 3 /* c */
            invokestatic sun.text.normalizer.UTF16.getCharCount:(I)I
            iadd
            istore 2 /* i */
         5: .line 69
            iload 3 /* c */
            bipush 32
            if_icmplt 11
            iload 3 /* c */
            bipush 127
            if_icmpgt 11
         6: .line 70
            iload 3 /* c */
            bipush 92
            if_icmpne 9
         7: .line 71
            aload 1 /* buf */
            ldc "\\\\"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 72
            goto 20
         9: .line 73
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            iload 3 /* c */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 75
            goto 20
        11: .line 76
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            ldc 65535
            if_icmpgt 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 4 /* four */
        start local 4 // boolean four
        14: .line 77
            aload 1 /* buf */
            iload 4 /* four */
            ifeq 15
            ldc "\\u"
            goto 16
      StackMap locals: java.lang.String java.lang.StringBuffer int int int
      StackMap stack: java.lang.StringBuffer
        15: ldc "\\U"
      StackMap locals: java.lang.String java.lang.StringBuffer int int int
      StackMap stack: java.lang.StringBuffer java.lang.String
        16: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 78
            iload 3 /* c */
            iload 4 /* four */
            ifeq 18
            iconst_4
            goto 19
      StackMap locals:
      StackMap stack: int
        18: bipush 8
      StackMap locals: java.lang.String java.lang.StringBuffer int int int
      StackMap stack: int int
        19: aload 1 /* buf */
            invokestatic sun.text.normalizer.Utility.hex:(IILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        end local 4 // boolean four
        end local 3 // int c
        20: .line 66
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
        21: .line 81
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0     s  Ljava/lang/String;
            1   22     1   buf  Ljava/lang/StringBuffer;
            2   21     2     i  I
            4   20     3     c  I
           14   20     4  four  Z
    MethodParameters:
      Name  Flags
      s     

  public static int unescapeAt(java.lang.String, int[]);
    descriptor: (Ljava/lang/String;[I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int[] offset16
         0: .line 110
            iconst_0
            istore 3 /* result */
        start local 3 // int result
         1: .line 111
            iconst_0
            istore 4 /* n */
        start local 4 // int n
         2: .line 112
            iconst_0
            istore 5 /* minDig */
        start local 5 // int minDig
         3: .line 113
            iconst_0
            istore 6 /* maxDig */
        start local 6 // int maxDig
         4: .line 114
            iconst_4
            istore 7 /* bitsPerDigit */
        start local 7 // int bitsPerDigit
         5: .line 117
            iconst_0
            istore 10 /* braces */
        start local 10 // boolean braces
         6: .line 120
            aload 1 /* offset16 */
            iconst_0
            iaload
            istore 11 /* offset */
        start local 11 // int offset
         7: .line 121
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 12 /* length */
        start local 12 // int length
         8: .line 122
            iload 11 /* offset */
            iflt 9
            iload 11 /* offset */
            iload 12 /* length */
            if_icmplt 10
         9: .line 123
      StackMap locals: java.lang.String int[] top int int int int int top top int int int
      StackMap stack:
            iconst_m1
            ireturn
        10: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 11 /* offset */
            invokestatic sun.text.normalizer.UTF16.charAt:(Ljava/lang/String;I)I
            istore 2 /* c */
        start local 2 // int c
        11: .line 128
            iload 11 /* offset */
            iload 2 /* c */
            invokestatic sun.text.normalizer.UTF16.getCharCount:(I)I
            iadd
            istore 11 /* offset */
        12: .line 131
            iload 2 /* c */
            lookupswitch { // 3
                   85: 15
                  117: 13
                  120: 17
              default: 25
          }
        13: .line 133
      StackMap locals: java.lang.String int[] int int int int int int top top int int int
      StackMap stack:
            iconst_4
            dup
            istore 6 /* maxDig */
            istore 5 /* minDig */
        14: .line 134
            goto 32
        15: .line 136
      StackMap locals:
      StackMap stack:
            bipush 8
            dup
            istore 6 /* maxDig */
            istore 5 /* minDig */
        16: .line 137
            goto 32
        17: .line 139
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* minDig */
        18: .line 140
            iload 11 /* offset */
            iload 12 /* length */
            if_icmpge 23
            aload 0 /* s */
            iload 11 /* offset */
            invokestatic sun.text.normalizer.UTF16.charAt:(Ljava/lang/String;I)I
            bipush 123
            if_icmpne 23
        19: .line 141
            iinc 11 /* offset */ 1
        20: .line 142
            iconst_1
            istore 10 /* braces */
        21: .line 143
            bipush 8
            istore 6 /* maxDig */
        22: .line 144
            goto 32
        23: .line 145
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 6 /* maxDig */
        24: .line 147
            goto 32
        25: .line 149
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 8
            invokestatic sun.text.normalizer.UCharacter.digit:(II)I
            istore 8 /* dig */
        start local 8 // int dig
        26: .line 150
            iload 8 /* dig */
            iflt 32
        27: .line 151
            iconst_1
            istore 5 /* minDig */
        28: .line 152
            iconst_3
            istore 6 /* maxDig */
        29: .line 153
            iconst_1
            istore 4 /* n */
        30: .line 154
            iconst_3
            istore 7 /* bitsPerDigit */
        31: .line 155
            iload 8 /* dig */
            istore 3 /* result */
        end local 8 // int dig
        32: .line 159
      StackMap locals:
      StackMap stack:
            iload 5 /* minDig */
            ifeq 66
        33: .line 160
            goto 43
        34: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 11 /* offset */
            invokestatic sun.text.normalizer.UTF16.charAt:(Ljava/lang/String;I)I
            istore 2 /* c */
        35: .line 162
            iload 2 /* c */
            iload 7 /* bitsPerDigit */
            iconst_3
            if_icmpne 36
            bipush 8
            goto 37
      StackMap locals:
      StackMap stack: int
        36: bipush 16
      StackMap locals: java.lang.String int[] int int int int int int top top int int int
      StackMap stack: int int
        37: invokestatic sun.text.normalizer.UCharacter.digit:(II)I
            istore 8 /* dig */
        start local 8 // int dig
        38: .line 163
            iload 8 /* dig */
            ifge 40
        39: .line 164
            goto 44
        40: .line 166
      StackMap locals: java.lang.String int[] int int int int int int int top int int int
      StackMap stack:
            iload 3 /* result */
            iload 7 /* bitsPerDigit */
            ishl
            iload 8 /* dig */
            ior
            istore 3 /* result */
        41: .line 167
            iload 11 /* offset */
            iload 2 /* c */
            invokestatic sun.text.normalizer.UTF16.getCharCount:(I)I
            iadd
            istore 11 /* offset */
        42: .line 168
            iinc 4 /* n */ 1
        end local 8 // int dig
        43: .line 160
      StackMap locals: java.lang.String int[] int int int int int int top top int int int
      StackMap stack:
            iload 11 /* offset */
            iload 12 /* length */
            if_icmpge 44
            iload 4 /* n */
            iload 6 /* maxDig */
            if_icmplt 34
        44: .line 170
      StackMap locals:
      StackMap stack:
            iload 4 /* n */
            iload 5 /* minDig */
            if_icmpge 46
        45: .line 171
            iconst_m1
            ireturn
        46: .line 173
      StackMap locals:
      StackMap stack:
            iload 10 /* braces */
            ifeq 50
        47: .line 174
            iload 2 /* c */
            bipush 125
            if_icmpeq 49
        48: .line 175
            iconst_m1
            ireturn
        49: .line 177
      StackMap locals:
      StackMap stack:
            iinc 11 /* offset */ 1
        50: .line 179
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            iflt 51
            iload 3 /* result */
            ldc 1114112
            if_icmplt 52
        51: .line 180
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        52: .line 186
      StackMap locals:
      StackMap stack:
            iload 11 /* offset */
            iload 12 /* length */
            if_icmpge 64
        53: .line 187
            iload 3 /* result */
            i2c
            invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
            ifeq 64
        54: .line 188
            iload 11 /* offset */
            iconst_1
            iadd
            istore 13 /* ahead */
        start local 13 // int ahead
        55: .line 189
            aload 0 /* s */
            iload 11 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        56: .line 190
            iload 2 /* c */
            bipush 92
            if_icmpne 60
            iload 13 /* ahead */
            iload 12 /* length */
            if_icmpge 60
        57: .line 191
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 13 /* ahead */
            iastore
            astore 14 /* o */
        start local 14 // int[] o
        58: .line 192
            aload 0 /* s */
            aload 14 /* o */
            invokestatic sun.text.normalizer.Utility.unescapeAt:(Ljava/lang/String;[I)I
            istore 2 /* c */
        59: .line 193
            aload 14 /* o */
            iconst_0
            iaload
            istore 13 /* ahead */
        end local 14 // int[] o
        60: .line 195
      StackMap locals: int
      StackMap stack:
            iload 2 /* c */
            i2c
            invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
            ifeq 64
        61: .line 196
            iload 13 /* ahead */
            istore 11 /* offset */
        62: .line 198
            iload 3 /* result */
            i2c
            iload 2 /* c */
            i2c
        63: .line 197
            invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
            istore 3 /* result */
        end local 13 // int ahead
        64: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* offset16 */
            iconst_0
            iload 11 /* offset */
            iastore
        65: .line 202
            iload 3 /* result */
            ireturn
        66: .line 206
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        67: goto 74
        68: .line 207
      StackMap locals: java.lang.String int[] int int int int int int top int int int int
      StackMap stack:
            iload 2 /* c */
            getstatic sun.text.normalizer.Utility.UNESCAPE_MAP:[C
            iload 9 /* i */
            caload
            if_icmpne 71
        69: .line 208
            aload 1 /* offset16 */
            iconst_0
            iload 11 /* offset */
            iastore
        70: .line 209
            getstatic sun.text.normalizer.Utility.UNESCAPE_MAP:[C
            iload 9 /* i */
            iconst_1
            iadd
            caload
            ireturn
        71: .line 210
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            getstatic sun.text.normalizer.Utility.UNESCAPE_MAP:[C
            iload 9 /* i */
            caload
            if_icmpge 73
        72: .line 211
            goto 75
        73: .line 206
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 2
      StackMap locals:
      StackMap stack:
        74: iload 9 /* i */
            getstatic sun.text.normalizer.Utility.UNESCAPE_MAP:[C
            arraylength
            if_icmplt 68
        75: .line 216
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 99
            if_icmpne 79
            iload 11 /* offset */
            iload 12 /* length */
            if_icmpge 79
        76: .line 217
            aload 0 /* s */
            iload 11 /* offset */
            invokestatic sun.text.normalizer.UTF16.charAt:(Ljava/lang/String;I)I
            istore 2 /* c */
        77: .line 218
            aload 1 /* offset16 */
            iconst_0
            iload 11 /* offset */
            iload 2 /* c */
            invokestatic sun.text.normalizer.UTF16.getCharCount:(I)I
            iadd
            iastore
        78: .line 219
            bipush 31
            iload 2 /* c */
            iand
            ireturn
        79: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* offset16 */
            iconst_0
            iload 11 /* offset */
            iastore
        80: .line 225
            iload 2 /* c */
            ireturn
        end local 12 // int length
        end local 11 // int offset
        end local 10 // boolean braces
        end local 9 // int i
        end local 7 // int bitsPerDigit
        end local 6 // int maxDig
        end local 5 // int minDig
        end local 4 // int n
        end local 3 // int result
        end local 2 // int c
        end local 1 // int[] offset16
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   81     0             s  Ljava/lang/String;
            0   81     1      offset16  [I
           11   81     2             c  I
            1   81     3        result  I
            2   81     4             n  I
            3   81     5        minDig  I
            4   81     6        maxDig  I
            5   81     7  bitsPerDigit  I
           26   32     8           dig  I
           38   43     8           dig  I
           67   81     9             i  I
            6   81    10        braces  Z
            7   81    11        offset  I
            8   81    12        length  I
           55   64    13         ahead  I
           58   60    14             o  [I
    MethodParameters:
          Name  Flags
      s         
      offset16  

  public static java.lang.StringBuffer hex(int, int, java.lang.StringBuffer);
    descriptor: (IILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int ch
        start local 1 // int width
        start local 2 // java.lang.StringBuffer output
         0: .line 235
            aload 2 /* output */
            iload 0 /* ch */
            bipush 16
            iload 1 /* width */
            invokestatic sun.text.normalizer.Utility.appendNumber:(Ljava/lang/StringBuffer;III)Ljava/lang/StringBuffer;
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int width
        end local 0 // int ch
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0      ch  I
            0    1     1   width  I
            0    1     2  output  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      ch      
      width   
      output  

  public static java.lang.String hex(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // int ch
        start local 1 // int width
         0: .line 244
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         1: .line 245
            aload 2 /* buf */
            iload 0 /* ch */
            bipush 16
            iload 1 /* width */
            invokestatic sun.text.normalizer.Utility.appendNumber:(Ljava/lang/StringBuffer;III)Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer buf
        end local 1 // int width
        end local 0 // int ch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0     ch  I
            0    2     1  width  I
            1    2     2    buf  Ljava/lang/StringBuffer;
    MethodParameters:
       Name  Flags
      ch     
      width  

  public static int skipWhitespace(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String str
        start local 1 // int pos
         0: .line 254
            goto 5
         1: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iload 1 /* pos */
            invokestatic sun.text.normalizer.UTF16.charAt:(Ljava/lang/String;I)I
            istore 2 /* c */
        start local 2 // int c
         2: .line 256
            iload 2 /* c */
            invokestatic sun.text.normalizer.UCharacterProperty.isRuleWhiteSpace:(I)Z
            ifne 4
         3: .line 257
            goto 6
         4: .line 259
      StackMap locals: int
      StackMap stack:
            iload 1 /* pos */
            iload 2 /* c */
            invokestatic sun.text.normalizer.UTF16.getCharCount:(I)I
            iadd
            istore 1 /* pos */
        end local 2 // int c
         5: .line 254
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 1
         6: .line 261
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            ireturn
        end local 1 // int pos
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   str  Ljava/lang/String;
            0    7     1   pos  I
            2    5     2     c  I
    MethodParameters:
      Name  Flags
      str   
      pos   

  private static void recursiveAppendNumber(java.lang.StringBuffer, int, int, int);
    descriptor: (Ljava/lang/StringBuffer;III)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.StringBuffer result
        start local 1 // int n
        start local 2 // int radix
        start local 3 // int minDigits
         0: .line 285
            iload 1 /* n */
            iload 2 /* radix */
            irem
            istore 4 /* digit */
        start local 4 // int digit
         1: .line 287
            iload 1 /* n */
            iload 2 /* radix */
            if_icmpge 2
            iload 3 /* minDigits */
            iconst_1
            if_icmple 3
         2: .line 288
      StackMap locals: int
      StackMap stack:
            aload 0 /* result */
            iload 1 /* n */
            iload 2 /* radix */
            idiv
            iload 2 /* radix */
            iload 3 /* minDigits */
            iconst_1
            isub
            invokestatic sun.text.normalizer.Utility.recursiveAppendNumber:(Ljava/lang/StringBuffer;III)V
         3: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            iload 4 /* digit */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 292
            return
        end local 4 // int digit
        end local 3 // int minDigits
        end local 2 // int radix
        end local 1 // int n
        end local 0 // java.lang.StringBuffer result
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0     result  Ljava/lang/StringBuffer;
            0    5     1          n  I
            0    5     2      radix  I
            0    5     3  minDigits  I
            1    5     4      digit  I
    MethodParameters:
           Name  Flags
      result     
      n          
      radix      
      minDigits  

  public static java.lang.StringBuffer appendNumber(java.lang.StringBuffer, int, int, int);
    descriptor: (Ljava/lang/StringBuffer;III)Ljava/lang/StringBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.StringBuffer result
        start local 1 // int n
        start local 2 // int radix
        start local 3 // int minDigits
         0: .line 311
            iload 2 /* radix */
            iconst_2
            if_icmplt 1
            iload 2 /* radix */
            bipush 36
            if_icmple 2
         1: .line 312
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal radix "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* radix */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 316
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            istore 4 /* abs */
        start local 4 // int abs
         3: .line 318
            iload 1 /* n */
            ifge 6
         4: .line 319
            iload 1 /* n */
            ineg
            istore 4 /* abs */
         5: .line 320
            aload 0 /* result */
            ldc "-"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 323
      StackMap locals: int
      StackMap stack:
            aload 0 /* result */
            iload 4 /* abs */
            iload 2 /* radix */
            iload 3 /* minDigits */
            invokestatic sun.text.normalizer.Utility.recursiveAppendNumber:(Ljava/lang/StringBuffer;III)V
         7: .line 325
            aload 0 /* result */
            areturn
        end local 4 // int abs
        end local 3 // int minDigits
        end local 2 // int radix
        end local 1 // int n
        end local 0 // java.lang.StringBuffer result
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     result  Ljava/lang/StringBuffer;
            0    8     1          n  I
            0    8     2      radix  I
            0    8     3  minDigits  I
            3    8     4        abs  I
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
           Name  Flags
      result     
      n          
      radix      
      minDigits  

  public static boolean isUnprintable(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 333
            iload 0 /* c */
            bipush 32
            if_icmplt 1
            iload 0 /* c */
            bipush 126
            if_icmpgt 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean escapeUnprintable(java.lang.StringBuffer, int);
    descriptor: (Ljava/lang/StringBuffer;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.StringBuffer result
        start local 1 // int c
         0: .line 344
            iload 1 /* c */
            invokestatic sun.text.normalizer.Utility.isUnprintable:(I)Z
            ifeq 15
         1: .line 345
            aload 0 /* result */
            bipush 92
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 346
            iload 1 /* c */
            ldc -65536
            iand
            ifeq 9
         3: .line 347
            aload 0 /* result */
            bipush 85
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 348
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            bipush 28
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 349
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            bipush 24
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 350
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            bipush 20
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 351
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            bipush 16
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 352
            goto 10
         9: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            bipush 117
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            bipush 12
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 356
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            bipush 8
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 357
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            iconst_4
            ishr
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 358
            aload 0 /* result */
            getstatic sun.text.normalizer.Utility.DIGITS:[C
            bipush 15
            iload 1 /* c */
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 359
            iconst_1
            ireturn
        15: .line 361
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int c
        end local 0 // java.lang.StringBuffer result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0  result  Ljava/lang/StringBuffer;
            0   16     1       c  I
    MethodParameters:
        Name  Flags
      result  
      c       

  public static void getChars(java.lang.StringBuffer, int, int, char[], int);
    descriptor: (Ljava/lang/StringBuffer;II[CI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.StringBuffer src
        start local 1 // int srcBegin
        start local 2 // int srcEnd
        start local 3 // char[] dst
        start local 4 // int dstBegin
         0: .line 379
            iload 1 /* srcBegin */
            iload 2 /* srcEnd */
            if_icmpne 2
         1: .line 380
            return
         2: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            iload 1 /* srcBegin */
            iload 2 /* srcEnd */
            aload 3 /* dst */
            iload 4 /* dstBegin */
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
         3: .line 383
            return
        end local 4 // int dstBegin
        end local 3 // char[] dst
        end local 2 // int srcEnd
        end local 1 // int srcBegin
        end local 0 // java.lang.StringBuffer src
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       src  Ljava/lang/StringBuffer;
            0    4     1  srcBegin  I
            0    4     2    srcEnd  I
            0    4     3       dst  [C
            0    4     4  dstBegin  I
    MethodParameters:
          Name  Flags
      src       
      srcBegin  
      srcEnd    
      dst       
      dstBegin  
}
SourceFile: "Utility.java"