public final class sun.font.ScriptRun
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.font.ScriptRun
  super_class: java.lang.Object
{
  private char[] text;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private int textStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int textLimit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int scriptStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int scriptLimit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int scriptCode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] stack;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int parenSP;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final int SURROGATE_START;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  static final int LEAD_START;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 55296

  static final int LEAD_LIMIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 56320

  static final int TAIL_START;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 56320

  static final int TAIL_LIMIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 57344

  static final int LEAD_SURROGATE_SHIFT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  static final int SURROGATE_OFFSET;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -56613888

  static final int DONE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static int[] pairedChars;
    descriptor: [I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 357
            bipush 34
            newarray 10
            dup
            iconst_0
         1: .line 358
            bipush 40
            iastore
            dup
            iconst_1
            bipush 41
            iastore
            dup
            iconst_2
         2: .line 359
            bipush 60
            iastore
            dup
            iconst_3
            bipush 62
            iastore
            dup
            iconst_4
         3: .line 360
            bipush 91
            iastore
            dup
            iconst_5
            bipush 93
            iastore
            dup
            bipush 6
         4: .line 361
            bipush 123
            iastore
            dup
            bipush 7
            bipush 125
            iastore
            dup
            bipush 8
         5: .line 362
            sipush 171
            iastore
            dup
            bipush 9
            sipush 187
            iastore
            dup
            bipush 10
         6: .line 363
            sipush 8216
            iastore
            dup
            bipush 11
            sipush 8217
            iastore
            dup
            bipush 12
         7: .line 364
            sipush 8220
            iastore
            dup
            bipush 13
            sipush 8221
            iastore
            dup
            bipush 14
         8: .line 365
            sipush 8249
            iastore
            dup
            bipush 15
            sipush 8250
            iastore
            dup
            bipush 16
         9: .line 366
            sipush 12296
            iastore
            dup
            bipush 17
            sipush 12297
            iastore
            dup
            bipush 18
        10: .line 367
            sipush 12298
            iastore
            dup
            bipush 19
            sipush 12299
            iastore
            dup
            bipush 20
        11: .line 368
            sipush 12300
            iastore
            dup
            bipush 21
            sipush 12301
            iastore
            dup
            bipush 22
        12: .line 369
            sipush 12302
            iastore
            dup
            bipush 23
            sipush 12303
            iastore
            dup
            bipush 24
        13: .line 370
            sipush 12304
            iastore
            dup
            bipush 25
            sipush 12305
            iastore
            dup
            bipush 26
        14: .line 371
            sipush 12308
            iastore
            dup
            bipush 27
            sipush 12309
            iastore
            dup
            bipush 28
        15: .line 372
            sipush 12310
            iastore
            dup
            bipush 29
            sipush 12311
            iastore
            dup
            bipush 30
        16: .line 373
            sipush 12312
            iastore
            dup
            bipush 31
            sipush 12313
            iastore
            dup
            bipush 32
        17: .line 374
            sipush 12314
            iastore
            dup
            bipush 33
            sipush 12315
            iastore
        18: .line 357
            putstatic sun.font.ScriptRun.pairedChars:[I
        19: .line 377
            iconst_1
            getstatic sun.font.ScriptRun.pairedChars:[I
            arraylength
            invokestatic sun.font.ScriptRun.highBit:(I)B
            ishl
            putstatic sun.font.ScriptRun.pairedCharPower:I
        20: .line 378
            getstatic sun.font.ScriptRun.pairedChars:[I
            arraylength
            getstatic sun.font.ScriptRun.pairedCharPower:I
            isub
            putstatic sun.font.ScriptRun.pairedCharExtra:I
            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.font.ScriptRun this
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            return
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/ScriptRun;

  public void <init>(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.font.ScriptRun this
        start local 1 // char[] chars
        start local 2 // int start
        start local 3 // int count
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 100
            aload 0 /* this */
            aload 1 /* chars */
            iload 2 /* start */
            iload 3 /* count */
            invokevirtual sun.font.ScriptRun.init:([CII)V
         2: .line 101
            return
        end local 3 // int count
        end local 2 // int start
        end local 1 // char[] chars
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/font/ScriptRun;
            0    3     1  chars  [C
            0    3     2  start  I
            0    3     3  count  I
    MethodParameters:
       Name  Flags
      chars  
      start  
      count  

  public void init(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.font.ScriptRun this
        start local 1 // char[] chars
        start local 2 // int start
        start local 3 // int count
         0: .line 105
            aload 1 /* chars */
            ifnull 1
            iload 2 /* start */
            iflt 1
            iload 3 /* count */
            iflt 1
            iload 3 /* count */
            aload 1 /* chars */
            arraylength
            iload 2 /* start */
            isub
            if_icmple 2
         1: .line 106
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chars */
            putfield sun.font.ScriptRun.text:[C
         3: .line 110
            aload 0 /* this */
            iload 2 /* start */
            putfield sun.font.ScriptRun.textStart:I
         4: .line 111
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* count */
            iadd
            putfield sun.font.ScriptRun.textLimit:I
         5: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.ScriptRun.textStart:I
            putfield sun.font.ScriptRun.scriptStart:I
         6: .line 114
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.ScriptRun.textStart:I
            putfield sun.font.ScriptRun.scriptLimit:I
         7: .line 115
            aload 0 /* this */
            iconst_m1
            putfield sun.font.ScriptRun.scriptCode:I
         8: .line 116
            aload 0 /* this */
            iconst_0
            putfield sun.font.ScriptRun.parenSP:I
         9: .line 117
            return
        end local 3 // int count
        end local 2 // int start
        end local 1 // char[] chars
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/font/ScriptRun;
            0   10     1  chars  [C
            0   10     2  start  I
            0   10     3  count  I
    MethodParameters:
       Name  Flags
      chars  
      start  
      count  

  public final int getScriptStart();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.ScriptRun this
         0: .line 125
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptStart:I
            ireturn
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/ScriptRun;

  public final int getScriptLimit();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.ScriptRun this
         0: .line 134
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptLimit:I
            ireturn
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/ScriptRun;

  public final int getScriptCode();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.ScriptRun this
         0: .line 144
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptCode:I
            ireturn
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/ScriptRun;

  public final boolean next();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // sun.font.ScriptRun this
         0: .line 154
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            istore 1 /* startSP */
        start local 1 // int startSP
         1: .line 157
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptLimit:I
            aload 0 /* this */
            getfield sun.font.ScriptRun.textLimit:I
            if_icmplt 3
         2: .line 158
            iconst_0
            ireturn
         3: .line 161
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.font.ScriptRun.scriptCode:I
         4: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptLimit:I
            putfield sun.font.ScriptRun.scriptStart:I
         5: .line 166
            goto 43
        start local 2 // int ch
         6: .line 167
      StackMap locals: int
      StackMap stack:
            iload 2 /* ch */
            invokestatic sun.font.ScriptRunData.getScript:(I)I
            istore 3 /* sc */
        start local 3 // int sc
         7: .line 168
            iload 3 /* sc */
            ifne 8
            iload 2 /* ch */
            invokestatic sun.font.ScriptRun.getPairIndex:(I)I
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_m1
      StackMap locals:
      StackMap stack: int
         9: istore 4 /* pairIndex */
        start local 4 // int pairIndex
        10: .line 176
            iload 4 /* pairIndex */
            iflt 31
        11: .line 177
            iload 4 /* pairIndex */
            iconst_1
            iand
            ifne 22
        12: .line 178
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            ifnonnull 15
        13: .line 179
            aload 0 /* this */
            bipush 32
            newarray 10
            putfield sun.font.ScriptRun.stack:[I
        14: .line 180
            goto 19
      StackMap locals: int
      StackMap stack:
        15: aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            arraylength
            if_icmpne 19
        16: .line 181
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            arraylength
            bipush 32
            iadd
            newarray 10
            astore 5 /* newstack */
        start local 5 // int[] newstack
        17: .line 182
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            iconst_0
            aload 5 /* newstack */
            iconst_0
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 183
            aload 0 /* this */
            aload 5 /* newstack */
            putfield sun.font.ScriptRun.stack:[I
        end local 5 // int[] newstack
        19: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.parenSP:I
            dup_x1
            iconst_1
            iadd
            putfield sun.font.ScriptRun.parenSP:I
            iload 4 /* pairIndex */
            iastore
        20: .line 187
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.parenSP:I
            dup_x1
            iconst_1
            iadd
            putfield sun.font.ScriptRun.parenSP:I
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptCode:I
            iastore
        21: .line 188
            goto 31
      StackMap locals:
      StackMap stack:
        22: aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            ifle 31
        23: .line 189
            iload 4 /* pairIndex */
            bipush -2
            iand
            istore 5 /* pi */
        start local 5 // int pi
        24: .line 191
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.parenSP:I
            iconst_2
            isub
            dup_x1
            putfield sun.font.ScriptRun.parenSP:I
            iflt 25
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            iaload
            iload 5 /* pi */
            if_icmpne 24
        25: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            iflt 28
        26: .line 194
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            iconst_1
            iadd
            iaload
            istore 3 /* sc */
        27: .line 195
            goto 29
        28: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.font.ScriptRun.parenSP:I
        29: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            iload 1 /* startSP */
            if_icmpge 31
        30: .line 199
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            istore 1 /* startSP */
        end local 5 // int pi
        31: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptCode:I
            iload 3 /* sc */
            invokestatic sun.font.ScriptRun.sameScript:(II)Z
            ifeq 41
        32: .line 205
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptCode:I
            iconst_1
            if_icmpgt 38
            iload 3 /* sc */
            iconst_1
            if_icmple 38
        33: .line 206
            aload 0 /* this */
            iload 3 /* sc */
            putfield sun.font.ScriptRun.scriptCode:I
        34: .line 210
            goto 37
        35: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.ScriptRun.stack:[I
            iload 1 /* startSP */
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptCode:I
            iastore
        36: .line 212
            iinc 1 /* startSP */ 2
        37: .line 210
      StackMap locals:
      StackMap stack:
            iload 1 /* startSP */
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            if_icmplt 35
        38: .line 218
      StackMap locals:
      StackMap stack:
            iload 4 /* pairIndex */
            ifle 43
            iload 4 /* pairIndex */
            iconst_1
            iand
            ifeq 43
            aload 0 /* this */
            getfield sun.font.ScriptRun.parenSP:I
            ifle 43
        39: .line 219
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.parenSP:I
            iconst_2
            isub
            putfield sun.font.ScriptRun.parenSP:I
        40: .line 221
            goto 43
        41: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* ch */
            invokevirtual sun.font.ScriptRun.pushback:(I)V
        42: .line 228
            goto 45
        end local 4 // int pairIndex
        end local 3 // int sc
        end local 2 // int ch
        43: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.ScriptRun.nextCodePoint:()I
            dup
            istore 2 /* ch */
        start local 2 // int ch
        44: iconst_m1
            if_icmpne 6
        45: .line 232
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int ch
        end local 1 // int startSP
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   46     0       this  Lsun/font/ScriptRun;
            1   46     1    startSP  I
            6   43     2         ch  I
           44   46     2         ch  I
            7   43     3         sc  I
           10   43     4  pairIndex  I
           17   19     5   newstack  [I
           24   31     5         pi  I

  private final int nextCodePoint();
    descriptor: ()I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // sun.font.ScriptRun this
         0: .line 246
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptLimit:I
            aload 0 /* this */
            getfield sun.font.ScriptRun.textLimit:I
            if_icmplt 2
         1: .line 247
            iconst_m1
            ireturn
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.ScriptRun.text:[C
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.scriptLimit:I
            dup_x1
            iconst_1
            iadd
            putfield sun.font.ScriptRun.scriptLimit:I
            caload
            istore 1 /* ch */
        start local 1 // int ch
         3: .line 250
            iload 1 /* ch */
            ldc 55296
            if_icmplt 8
            iload 1 /* ch */
            ldc 56320
            if_icmpge 8
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptLimit:I
            aload 0 /* this */
            getfield sun.font.ScriptRun.textLimit:I
            if_icmpge 8
         4: .line 251
            aload 0 /* this */
            getfield sun.font.ScriptRun.text:[C
            aload 0 /* this */
            getfield sun.font.ScriptRun.scriptLimit:I
            caload
            istore 2 /* nch */
        start local 2 // int nch
         5: .line 252
            iload 2 /* nch */
            ldc 56320
            if_icmplt 8
            iload 2 /* nch */
            ldc 57344
            if_icmpge 8
         6: .line 253
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.scriptLimit:I
            iconst_1
            iadd
            putfield sun.font.ScriptRun.scriptLimit:I
         7: .line 254
            iload 1 /* ch */
            bipush 10
            ishl
            iload 2 /* nch */
            iadd
            ldc -56613888
            iadd
            istore 1 /* ch */
        end local 2 // int nch
         8: .line 257
      StackMap locals: int
      StackMap stack:
            iload 1 /* ch */
            ireturn
        end local 1 // int ch
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/font/ScriptRun;
            3    9     1    ch  I
            5    8     2   nch  I

  private final void pushback(int);
    descriptor: (I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.font.ScriptRun this
        start local 1 // int ch
         0: .line 261
            iload 1 /* ch */
            iflt 5
         1: .line 262
            iload 1 /* ch */
            ldc 65536
            if_icmplt 4
         2: .line 263
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.scriptLimit:I
            iconst_2
            isub
            putfield sun.font.ScriptRun.scriptLimit:I
         3: .line 264
            goto 5
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.font.ScriptRun.scriptLimit:I
            iconst_1
            isub
            putfield sun.font.ScriptRun.scriptLimit:I
         5: .line 268
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int ch
        end local 0 // sun.font.ScriptRun this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/font/ScriptRun;
            0    6     1    ch  I
    MethodParameters:
      Name  Flags
      ch    

  private static boolean sameScript(int, int);
    descriptor: (II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int scriptOne
        start local 1 // int scriptTwo
         0: .line 280
            iload 0 /* scriptOne */
            iload 1 /* scriptTwo */
            if_icmpeq 1
            iload 0 /* scriptOne */
            iconst_1
            if_icmple 1
            iload 1 /* scriptTwo */
            iconst_1
            if_icmple 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int scriptTwo
        end local 0 // int scriptOne
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  scriptOne  I
            0    2     1  scriptTwo  I
    MethodParameters:
           Name  Flags
      scriptOne  
      scriptTwo  

  private static final byte highBit(int);
    descriptor: (I)B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int n
         0: .line 292
            iload 0 /* n */
            ifgt 2
         1: .line 293
            bipush -32
            ireturn
         2: .line 296
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* bit */
        start local 1 // byte bit
         3: .line 298
            iload 0 /* n */
            ldc 65536
            if_icmplt 6
         4: .line 299
            iload 0 /* n */
            bipush 16
            ishr
            istore 0 /* n */
         5: .line 300
            iload 1 /* bit */
            bipush 16
            iadd
            i2b
            istore 1 /* bit */
         6: .line 303
      StackMap locals: int
      StackMap stack:
            iload 0 /* n */
            sipush 256
            if_icmplt 9
         7: .line 304
            iload 0 /* n */
            bipush 8
            ishr
            istore 0 /* n */
         8: .line 305
            iload 1 /* bit */
            bipush 8
            iadd
            i2b
            istore 1 /* bit */
         9: .line 308
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            bipush 16
            if_icmplt 12
        10: .line 309
            iload 0 /* n */
            iconst_4
            ishr
            istore 0 /* n */
        11: .line 310
            iload 1 /* bit */
            iconst_4
            iadd
            i2b
            istore 1 /* bit */
        12: .line 313
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            iconst_4
            if_icmplt 15
        13: .line 314
            iload 0 /* n */
            iconst_2
            ishr
            istore 0 /* n */
        14: .line 315
            iload 1 /* bit */
            iconst_2
            iadd
            i2b
            istore 1 /* bit */
        15: .line 318
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            iconst_2
            if_icmplt 18
        16: .line 319
            iload 0 /* n */
            iconst_1
            ishr
            istore 0 /* n */
        17: .line 320
            iload 1 /* bit */
            iconst_1
            iadd
            i2b
            istore 1 /* bit */
        18: .line 323
      StackMap locals:
      StackMap stack:
            iload 1 /* bit */
            ireturn
        end local 1 // byte bit
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0     n  I
            3   19     1   bit  B
    MethodParameters:
      Name  Flags
      n     

  private static int getPairIndex(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int ch
         0: .line 334
            getstatic sun.font.ScriptRun.pairedCharPower:I
            istore 1 /* probe */
        start local 1 // int probe
         1: .line 335
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         2: .line 337
            iload 0 /* ch */
            getstatic sun.font.ScriptRun.pairedChars:[I
            getstatic sun.font.ScriptRun.pairedCharExtra:I
            iaload
            if_icmplt 8
         3: .line 338
            getstatic sun.font.ScriptRun.pairedCharExtra:I
            istore 2 /* index */
         4: .line 341
            goto 8
         5: .line 342
      StackMap locals: int int
      StackMap stack:
            iload 1 /* probe */
            iconst_1
            ishr
            istore 1 /* probe */
         6: .line 344
            iload 0 /* ch */
            getstatic sun.font.ScriptRun.pairedChars:[I
            iload 2 /* index */
            iload 1 /* probe */
            iadd
            iaload
            if_icmplt 8
         7: .line 345
            iload 2 /* index */
            iload 1 /* probe */
            iadd
            istore 2 /* index */
         8: .line 341
      StackMap locals:
      StackMap stack:
            iload 1 /* probe */
            iconst_1
            if_icmpgt 5
         9: .line 349
            getstatic sun.font.ScriptRun.pairedChars:[I
            iload 2 /* index */
            iaload
            iload 0 /* ch */
            if_icmpeq 11
        10: .line 350
            iconst_m1
            istore 2 /* index */
        11: .line 353
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            ireturn
        end local 2 // int index
        end local 1 // int probe
        end local 0 // int ch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0     ch  I
            1   12     1  probe  I
            2   12     2  index  I
    MethodParameters:
      Name  Flags
      ch    
}
SourceFile: "ScriptRun.java"