final class jdk.internal.icu.text.BidiLine
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.icu.text.BidiLine
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.icu.text.BidiLine this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.internal.icu.text.BidiLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/icu/text/BidiLine;

  static void setTrailingWSStart(jdk.internal.icu.text.BidiBase);
    descriptor: (Ljdk/internal/icu/text/BidiBase;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
         0: .line 110
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.dirProps:[B
            astore 1 /* dirProps */
        start local 1 // byte[] dirProps
         1: .line 111
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            astore 2 /* levels */
        start local 2 // byte[] levels
         2: .line 112
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            istore 3 /* start */
        start local 3 // int start
         3: .line 113
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            istore 4 /* paraLevel */
        start local 4 // byte paraLevel
         4: .line 121
            aload 1 /* dirProps */
            iload 3 /* start */
            iconst_1
            isub
            baload
            bipush 7
            if_icmpne 8
         5: .line 122
            aload 0 /* bidiBase */
            iload 3 /* start */
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
         6: .line 123
            return
         7: .line 128
      StackMap locals: jdk.internal.icu.text.BidiBase byte[] byte[] int int
      StackMap stack:
            iinc 3 /* start */ -1
         8: .line 126
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            ifle 12
         9: .line 127
            aload 1 /* dirProps */
            iload 3 /* start */
            iconst_1
            isub
            baload
            invokestatic jdk.internal.icu.text.BidiBase.DirPropFlag:(B)I
            getstatic jdk.internal.icu.text.BidiBase.MASK_WS:I
            iand
            ifne 7
        10: .line 132
            goto 12
        11: .line 133
      StackMap locals:
      StackMap stack:
            iinc 3 /* start */ -1
        12: .line 132
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            ifle 13
            aload 2 /* levels */
            iload 3 /* start */
            iconst_1
            isub
            baload
            iload 4 /* paraLevel */
            if_icmpeq 11
        13: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            iload 3 /* start */
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
        14: .line 137
            return
        end local 4 // byte paraLevel
        end local 3 // int start
        end local 2 // byte[] levels
        end local 1 // byte[] dirProps
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0   bidiBase  Ljdk/internal/icu/text/BidiBase;
            1   15     1   dirProps  [B
            2   15     2     levels  [B
            3   15     3      start  I
            4   15     4  paraLevel  B
    MethodParameters:
          Name  Flags
      bidiBase  

  static java.text.Bidi setLine(jdk.internal.icu.text.BidiBase, java.text.Bidi, jdk.internal.icu.text.BidiBase, int, int);
    descriptor: (Ljdk/internal/icu/text/BidiBase;Ljava/text/Bidi;Ljdk/internal/icu/text/BidiBase;II)Ljava/text/Bidi;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // jdk.internal.icu.text.BidiBase paraBidi
        start local 1 // java.text.Bidi newBidi
        start local 2 // jdk.internal.icu.text.BidiBase lineBidi
        start local 3 // int start
        start local 4 // int limit
         0: .line 150
            aload 2 /* lineBidi */
            aload 2 /* lineBidi */
         1: .line 151
            aload 2 /* lineBidi */
            iload 4 /* limit */
            iload 3 /* start */
            isub
            dup_x1
            putfield jdk.internal.icu.text.BidiBase.resultLength:I
         2: .line 150
            dup_x1
            putfield jdk.internal.icu.text.BidiBase.originalLength:I
            dup_x1
            putfield jdk.internal.icu.text.BidiBase.length:I
            istore 5 /* length */
        start local 5 // int length
         3: .line 153
            aload 2 /* lineBidi */
            iload 5 /* length */
            newarray 5
            putfield jdk.internal.icu.text.BidiBase.text:[C
         4: .line 154
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.text:[C
            iload 3 /* start */
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.text:[C
            iconst_0
            iload 5 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 155
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            iload 3 /* start */
            invokevirtual jdk.internal.icu.text.BidiBase.GetParaLevelAt:(I)B
            putfield jdk.internal.icu.text.BidiBase.paraLevel:B
         6: .line 156
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.paraCount:I
            putfield jdk.internal.icu.text.BidiBase.paraCount:I
         7: .line 157
            aload 2 /* lineBidi */
            iconst_0
            anewarray jdk.internal.icu.text.BidiRun
            putfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
         8: .line 158
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.reorderingMode:I
            putfield jdk.internal.icu.text.BidiBase.reorderingMode:I
         9: .line 159
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.reorderingOptions:I
            putfield jdk.internal.icu.text.BidiBase.reorderingOptions:I
        10: .line 160
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.controlCount:I
            ifle 18
        11: .line 162
            iload 3 /* start */
            istore 6 /* j */
        start local 6 // int j
        12: goto 16
        13: .line 163
      StackMap locals: int int
      StackMap stack:
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.text:[C
            iload 6 /* j */
            caload
            invokestatic jdk.internal.icu.text.BidiBase.IsBidiControlChar:(I)Z
            ifeq 15
        14: .line 164
            aload 2 /* lineBidi */
            dup
            getfield jdk.internal.icu.text.BidiBase.controlCount:I
            iconst_1
            iadd
            putfield jdk.internal.icu.text.BidiBase.controlCount:I
        15: .line 162
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* j */
            iload 4 /* limit */
            if_icmplt 13
        17: .line 167
            aload 2 /* lineBidi */
            dup
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.controlCount:I
            isub
            putfield jdk.internal.icu.text.BidiBase.resultLength:I
        end local 6 // int j
        18: .line 170
      StackMap locals:
      StackMap stack:
            aload 2 /* lineBidi */
            iload 5 /* length */
            invokevirtual jdk.internal.icu.text.BidiBase.getDirPropsMemory:(I)V
        19: .line 171
            aload 2 /* lineBidi */
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.dirPropsMemory:[B
            putfield jdk.internal.icu.text.BidiBase.dirProps:[B
        20: .line 172
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.dirProps:[B
            iload 3 /* start */
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.dirProps:[B
            iconst_0
        21: .line 173
            iload 5 /* length */
        22: .line 172
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 175
            aload 2 /* lineBidi */
            iload 5 /* length */
            invokevirtual jdk.internal.icu.text.BidiBase.getLevelsMemory:(I)V
        24: .line 176
            aload 2 /* lineBidi */
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.levelsMemory:[B
            putfield jdk.internal.icu.text.BidiBase.levels:[B
        25: .line 177
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            iload 3 /* start */
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            iconst_0
        26: .line 178
            iload 5 /* length */
        27: .line 177
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        28: .line 179
            aload 2 /* lineBidi */
            iconst_m1
            putfield jdk.internal.icu.text.BidiBase.runCount:I
        29: .line 181
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.direction:B
            iconst_2
            if_icmpeq 39
        30: .line 183
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.direction:B
            putfield jdk.internal.icu.text.BidiBase.direction:B
        31: .line 190
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            iload 3 /* start */
            if_icmpgt 34
        32: .line 191
            aload 2 /* lineBidi */
            iconst_0
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
        33: .line 192
            goto 67
      StackMap locals:
      StackMap stack:
        34: aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            iload 4 /* limit */
            if_icmpge 37
        35: .line 193
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            iload 3 /* start */
            isub
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
        36: .line 194
            goto 67
        37: .line 195
      StackMap locals:
      StackMap stack:
            aload 2 /* lineBidi */
            iload 5 /* length */
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
        38: .line 197
            goto 67
        39: .line 198
      StackMap locals:
      StackMap stack:
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            astore 6 /* levels */
        start local 6 // byte[] levels
        40: .line 202
            aload 2 /* lineBidi */
            invokestatic jdk.internal.icu.text.BidiLine.setTrailingWSStart:(Ljdk/internal/icu/text/BidiBase;)V
        41: .line 203
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            istore 8 /* trailingWSStart */
        start local 8 // int trailingWSStart
        42: .line 206
            iload 8 /* trailingWSStart */
            ifne 45
        43: .line 208
            aload 2 /* lineBidi */
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            iconst_1
            iand
            i2b
            putfield jdk.internal.icu.text.BidiBase.direction:B
        44: .line 209
            goto 58
        45: .line 211
      StackMap locals: jdk.internal.icu.text.BidiBase java.text.Bidi jdk.internal.icu.text.BidiBase int int int byte[] top int
      StackMap stack:
            aload 6 /* levels */
            iconst_0
            baload
            iconst_1
            iand
            i2b
            istore 9 /* level */
        start local 9 // byte level
        46: .line 215
            iload 8 /* trailingWSStart */
            iload 5 /* length */
            if_icmpge 50
        47: .line 216
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            iconst_1
            iand
            iload 9 /* level */
            if_icmpeq 50
        48: .line 219
            aload 2 /* lineBidi */
            iconst_2
            putfield jdk.internal.icu.text.BidiBase.direction:B
        49: .line 220
            goto 58
        50: .line 223
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 7 /* i */
        start local 7 // int i
        51: .line 224
      StackMap locals: jdk.internal.icu.text.BidiBase java.text.Bidi jdk.internal.icu.text.BidiBase int int int byte[] int int int
      StackMap stack:
            iload 7 /* i */
            iload 8 /* trailingWSStart */
            if_icmpne 54
        52: .line 226
            aload 2 /* lineBidi */
            iload 9 /* level */
            putfield jdk.internal.icu.text.BidiBase.direction:B
        53: .line 227
            goto 58
        54: .line 228
      StackMap locals:
      StackMap stack:
            aload 6 /* levels */
            iload 7 /* i */
            baload
            iconst_1
            iand
            iload 9 /* level */
            if_icmpeq 57
        55: .line 229
            aload 2 /* lineBidi */
            iconst_2
            putfield jdk.internal.icu.text.BidiBase.direction:B
        56: .line 230
            goto 58
        57: .line 223
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
            goto 51
        end local 9 // byte level
        end local 7 // int i
        58: .line 236
      StackMap locals: jdk.internal.icu.text.BidiBase java.text.Bidi jdk.internal.icu.text.BidiBase int int int byte[] top int
      StackMap stack:
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.direction:B
            tableswitch { // 0 - 1
                    0: 59
                    1: 64
              default: 67
          }
        59: .line 239
      StackMap locals:
      StackMap stack:
            aload 2 /* lineBidi */
        60: .line 240
            aload 2 /* lineBidi */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            iconst_1
            iadd
            bipush -2
            iand
            i2b
        61: .line 239
            putfield jdk.internal.icu.text.BidiBase.paraLevel:B
        62: .line 244
            aload 2 /* lineBidi */
            iconst_0
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
        63: .line 245
            goto 67
        64: .line 248
      StackMap locals:
      StackMap stack:
            aload 2 /* lineBidi */
            dup
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            iconst_1
            ior
            i2b
            putfield jdk.internal.icu.text.BidiBase.paraLevel:B
        65: .line 252
            aload 2 /* lineBidi */
            iconst_0
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
        66: .line 253
            goto 67
        end local 8 // int trailingWSStart
        end local 6 // byte[] levels
        67: .line 259
      StackMap locals: jdk.internal.icu.text.BidiBase java.text.Bidi jdk.internal.icu.text.BidiBase int int int
      StackMap stack:
            aload 2 /* lineBidi */
            aload 0 /* paraBidi */
            putfield jdk.internal.icu.text.BidiBase.paraBidi:Ljdk/internal/icu/text/BidiBase;
        68: .line 261
            aload 1 /* newBidi */
            areturn
        end local 5 // int length
        end local 4 // int limit
        end local 3 // int start
        end local 2 // jdk.internal.icu.text.BidiBase lineBidi
        end local 1 // java.text.Bidi newBidi
        end local 0 // jdk.internal.icu.text.BidiBase paraBidi
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   69     0         paraBidi  Ljdk/internal/icu/text/BidiBase;
            0   69     1          newBidi  Ljava/text/Bidi;
            0   69     2         lineBidi  Ljdk/internal/icu/text/BidiBase;
            0   69     3            start  I
            0   69     4            limit  I
            3   69     5           length  I
           12   18     6                j  I
           40   67     6           levels  [B
           51   58     7                i  I
           42   67     8  trailingWSStart  I
           46   58     9            level  B
    MethodParameters:
          Name  Flags
      paraBidi  
      newBidi   
      lineBidi  
      start     
      limit     

  static byte getLevelAt(jdk.internal.icu.text.BidiBase, int);
    descriptor: (Ljdk/internal/icu/text/BidiBase;I)B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
        start local 1 // int charIndex
         0: .line 267
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.direction:B
            iconst_2
            if_icmpne 1
            iload 1 /* charIndex */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            if_icmplt 2
         1: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            iload 1 /* charIndex */
            invokevirtual jdk.internal.icu.text.BidiBase.GetParaLevelAt:(I)B
            ireturn
         2: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            iload 1 /* charIndex */
            baload
            ireturn
        end local 1 // int charIndex
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0   bidiBase  Ljdk/internal/icu/text/BidiBase;
            0    3     1  charIndex  I
    MethodParameters:
           Name  Flags
      bidiBase   
      charIndex  

  static byte[] getLevels(jdk.internal.icu.text.BidiBase);
    descriptor: (Ljdk/internal/icu/text/BidiBase;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
         0: .line 276
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            istore 1 /* start */
        start local 1 // int start
         1: .line 277
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            istore 2 /* length */
        start local 2 // int length
         2: .line 279
            iload 1 /* start */
            iload 2 /* length */
            if_icmpeq 5
         3: .line 290
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            iload 1 /* start */
            iload 2 /* length */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            invokestatic java.util.Arrays.fill:([BIIB)V
         4: .line 293
            aload 0 /* bidiBase */
            iload 2 /* length */
            putfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
         5: .line 295
      StackMap locals: int int
      StackMap stack:
            iload 2 /* length */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            arraylength
            if_icmpge 9
         6: .line 296
            iload 2 /* length */
            newarray 8
            astore 3 /* levels */
        start local 3 // byte[] levels
         7: .line 297
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            iconst_0
            aload 3 /* levels */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 298
            aload 3 /* levels */
            areturn
        end local 3 // byte[] levels
         9: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            areturn
        end local 2 // int length
        end local 1 // int start
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  bidiBase  Ljdk/internal/icu/text/BidiBase;
            1   10     1     start  I
            2   10     2    length  I
            7    9     3    levels  [B
    MethodParameters:
          Name  Flags
      bidiBase  

  static jdk.internal.icu.text.BidiRun getVisualRun(jdk.internal.icu.text.BidiBase, int);
    descriptor: (Ljdk/internal/icu/text/BidiBase;I)Ljdk/internal/icu/text/BidiRun;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
        start local 1 // int runIndex
         0: .line 304
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iload 1 /* runIndex */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            istore 2 /* start */
        start local 2 // int start
         1: .line 306
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iload 1 /* runIndex */
            aaload
            getfield jdk.internal.icu.text.BidiRun.level:B
            istore 4 /* level */
        start local 4 // byte level
         2: .line 308
            iload 1 /* runIndex */
            ifle 9
         3: .line 309
            iload 2 /* start */
         4: .line 310
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iload 1 /* runIndex */
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
         5: .line 309
            iadd
         6: .line 311
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iload 1 /* runIndex */
            iconst_1
            isub
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
         7: .line 309
            isub
            istore 3 /* limit */
        start local 3 // int limit
         8: .line 312
            goto 10
        end local 3 // int limit
         9: .line 313
      StackMap locals: jdk.internal.icu.text.BidiBase int int top int
      StackMap stack:
            iload 2 /* start */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iconst_0
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            iadd
            istore 3 /* limit */
        start local 3 // int limit
        10: .line 315
      StackMap locals: jdk.internal.icu.text.BidiBase int int int int
      StackMap stack:
            new jdk.internal.icu.text.BidiRun
            dup
            iload 2 /* start */
            iload 3 /* limit */
            iload 4 /* level */
            invokespecial jdk.internal.icu.text.BidiRun.<init>:(IIB)V
            areturn
        end local 4 // byte level
        end local 3 // int limit
        end local 2 // int start
        end local 1 // int runIndex
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0  bidiBase  Ljdk/internal/icu/text/BidiBase;
            0   11     1  runIndex  I
            1   11     2     start  I
            8    9     3     limit  I
           10   11     3     limit  I
            2   11     4     level  B
    MethodParameters:
          Name  Flags
      bidiBase  
      runIndex  

  private static void getSingleRun(jdk.internal.icu.text.BidiBase, byte);
    descriptor: (Ljdk/internal/icu/text/BidiBase;B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
        start local 1 // byte level
         0: .line 321
            aload 0 /* bidiBase */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.simpleRuns:[Ljdk/internal/icu/text/BidiRun;
            putfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
         1: .line 322
            aload 0 /* bidiBase */
            iconst_1
            putfield jdk.internal.icu.text.BidiBase.runCount:I
         2: .line 325
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iconst_0
            new jdk.internal.icu.text.BidiRun
            dup
            iconst_0
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            iload 1 /* level */
            invokespecial jdk.internal.icu.text.BidiRun.<init>:(IIB)V
            aastore
         3: .line 326
            return
        end local 1 // byte level
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  bidiBase  Ljdk/internal/icu/text/BidiBase;
            0    4     1     level  B
    MethodParameters:
          Name  Flags
      bidiBase  
      level     

  private static void reorderLine(jdk.internal.icu.text.BidiBase, byte, byte);
    descriptor: (Ljdk/internal/icu/text/BidiBase;BB)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
        start local 1 // byte minLevel
        start local 2 // byte maxLevel
         0: .line 364
            iload 2 /* maxLevel */
            iload 1 /* minLevel */
            iconst_1
            ior
            if_icmpgt 2
         1: .line 365
            return
         2: .line 378
      StackMap locals:
      StackMap stack:
            iload 1 /* minLevel */
            iconst_1
            iadd
            i2b
            istore 1 /* minLevel */
         3: .line 380
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            astore 3 /* runs */
        start local 3 // jdk.internal.icu.text.BidiRun[] runs
         4: .line 381
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            astore 5 /* levels */
        start local 5 // byte[] levels
         5: .line 382
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runCount:I
            istore 9 /* runCount */
        start local 9 // int runCount
         6: .line 385
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            if_icmpge 31
         7: .line 386
            iinc 9 /* runCount */ -1
         8: .line 389
            goto 31
         9: .line 390
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] top top top int
      StackMap stack:
            iconst_0
            istore 6 /* firstRun */
        start local 6 // int firstRun
        10: .line 396
            goto 12
        11: .line 397
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] int top top int
      StackMap stack:
            iinc 6 /* firstRun */ 1
        12: .line 396
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 9 /* runCount */
            if_icmpge 13
            aload 5 /* levels */
            aload 3 /* runs */
            iload 6 /* firstRun */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            baload
            iload 2 /* maxLevel */
            if_icmplt 11
        13: .line 399
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 9 /* runCount */
            if_icmplt 15
        14: .line 400
            goto 31
        15: .line 404
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            istore 8 /* limitRun */
        start local 8 // int limitRun
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] int top int int
      StackMap stack:
        16: iinc 8 /* limitRun */ 1
            iload 8 /* limitRun */
            iload 9 /* runCount */
            if_icmpge 19
        17: .line 405
            aload 5 /* levels */
            aload 3 /* runs */
            iload 8 /* limitRun */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            baload
            iload 2 /* maxLevel */
        18: .line 404
            if_icmpge 16
        19: .line 408
      StackMap locals:
      StackMap stack:
            iload 8 /* limitRun */
            iconst_1
            isub
            istore 7 /* endRun */
        start local 7 // int endRun
        20: .line 409
            goto 26
        21: .line 410
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] int int int int
      StackMap stack:
            aload 3 /* runs */
            iload 6 /* firstRun */
            aaload
            astore 4 /* tempRun */
        start local 4 // jdk.internal.icu.text.BidiRun tempRun
        22: .line 411
            aload 3 /* runs */
            iload 6 /* firstRun */
            aload 3 /* runs */
            iload 7 /* endRun */
            aaload
            aastore
        23: .line 412
            aload 3 /* runs */
            iload 7 /* endRun */
            aload 4 /* tempRun */
            aastore
        24: .line 413
            iinc 6 /* firstRun */ 1
        25: .line 414
            iinc 7 /* endRun */ -1
        end local 4 // jdk.internal.icu.text.BidiRun tempRun
        26: .line 409
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 7 /* endRun */
            if_icmplt 21
        27: .line 417
            iload 8 /* limitRun */
            iload 9 /* runCount */
            if_icmpne 29
        28: .line 418
            goto 31
        29: .line 420
      StackMap locals:
      StackMap stack:
            iload 8 /* limitRun */
            iconst_1
            iadd
            istore 6 /* firstRun */
        end local 8 // int limitRun
        end local 7 // int endRun
        30: .line 393
            goto 12
        end local 6 // int firstRun
        31: .line 389
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] top top top int
      StackMap stack:
            iload 2 /* maxLevel */
            iconst_1
            isub
            i2b
            dup
            istore 2 /* maxLevel */
            iload 1 /* minLevel */
            if_icmpge 9
        32: .line 426
            iload 1 /* minLevel */
            iconst_1
            iand
            ifne 43
        33: .line 427
            iconst_0
            istore 6 /* firstRun */
        start local 6 // int firstRun
        34: .line 430
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            if_icmpne 42
        35: .line 431
            iinc 9 /* runCount */ -1
        36: .line 435
            goto 42
        37: .line 436
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] int top top int
      StackMap stack:
            aload 3 /* runs */
            iload 6 /* firstRun */
            aaload
            astore 4 /* tempRun */
        start local 4 // jdk.internal.icu.text.BidiRun tempRun
        38: .line 437
            aload 3 /* runs */
            iload 6 /* firstRun */
            aload 3 /* runs */
            iload 9 /* runCount */
            aaload
            aastore
        39: .line 438
            aload 3 /* runs */
            iload 9 /* runCount */
            aload 4 /* tempRun */
            aastore
        40: .line 439
            iinc 6 /* firstRun */ 1
        41: .line 440
            iinc 9 /* runCount */ -1
        end local 4 // jdk.internal.icu.text.BidiRun tempRun
        42: .line 435
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 9 /* runCount */
            if_icmplt 37
        end local 6 // int firstRun
        43: .line 443
      StackMap locals: jdk.internal.icu.text.BidiBase int int jdk.internal.icu.text.BidiRun[] top byte[] top top top int
      StackMap stack:
            return
        end local 9 // int runCount
        end local 5 // byte[] levels
        end local 3 // jdk.internal.icu.text.BidiRun[] runs
        end local 2 // byte maxLevel
        end local 1 // byte minLevel
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   44     0  bidiBase  Ljdk/internal/icu/text/BidiBase;
            0   44     1  minLevel  B
            0   44     2  maxLevel  B
            4   44     3      runs  [Ljdk/internal/icu/text/BidiRun;
           22   26     4   tempRun  Ljdk/internal/icu/text/BidiRun;
           38   42     4   tempRun  Ljdk/internal/icu/text/BidiRun;
            5   44     5    levels  [B
           10   31     6  firstRun  I
           34   43     6  firstRun  I
           20   30     7    endRun  I
           16   30     8  limitRun  I
            6   44     9  runCount  I
    MethodParameters:
          Name  Flags
      bidiBase  
      minLevel  
      maxLevel  

  static int getRunFromLogicalIndex(jdk.internal.icu.text.BidiBase, int);
    descriptor: (Ljdk/internal/icu/text/BidiBase;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
        start local 1 // int logicalIndex
         0: .line 448
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            astore 2 /* runs */
        start local 2 // jdk.internal.icu.text.BidiRun[] runs
         1: .line 449
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runCount:I
            istore 3 /* runCount */
        start local 3 // int runCount
         2: iconst_0
            istore 4 /* visualStart */
        start local 4 // int visualStart
         3: .line 451
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 452
      StackMap locals: jdk.internal.icu.text.BidiBase int jdk.internal.icu.text.BidiRun[] int int int
      StackMap stack:
            aload 2 /* runs */
            iload 5 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            iload 4 /* visualStart */
            isub
            istore 6 /* length */
        start local 6 // int length
         6: .line 453
            aload 2 /* runs */
            iload 5 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            istore 7 /* logicalStart */
        start local 7 // int logicalStart
         7: .line 454
            iload 1 /* logicalIndex */
            iload 7 /* logicalStart */
            if_icmplt 9
            iload 1 /* logicalIndex */
            iload 7 /* logicalStart */
            iload 6 /* length */
            iadd
            if_icmpge 9
         8: .line 455
            iload 5 /* i */
            ireturn
         9: .line 457
      StackMap locals: int int
      StackMap stack:
            iload 4 /* visualStart */
            iload 6 /* length */
            iadd
            istore 4 /* visualStart */
        10: .line 451
            iinc 5 /* i */ 1
        end local 7 // int logicalStart
        end local 6 // int length
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* runCount */
            if_icmplt 5
        12: .line 460
            new java.lang.IllegalStateException
            dup
            ldc "Internal ICU error in getRunFromLogicalIndex"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int i
        end local 4 // int visualStart
        end local 3 // int runCount
        end local 2 // jdk.internal.icu.text.BidiRun[] runs
        end local 1 // int logicalIndex
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0      bidiBase  Ljdk/internal/icu/text/BidiBase;
            0   13     1  logicalIndex  I
            1   13     2          runs  [Ljdk/internal/icu/text/BidiRun;
            2   13     3      runCount  I
            3   13     4   visualStart  I
            4   13     5             i  I
            6   11     6        length  I
            7   11     7  logicalStart  I
    MethodParameters:
              Name  Flags
      bidiBase      
      logicalIndex  

  static void getRuns(jdk.internal.icu.text.BidiBase);
    descriptor: (Ljdk/internal/icu/text/BidiBase;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=13, args_size=1
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
         0: .line 479
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runCount:I
            iflt 2
         1: .line 480
            return
         2: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.direction:B
            iconst_2
            if_icmpeq 5
         3: .line 485
            aload 0 /* bidiBase */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            invokestatic jdk.internal.icu.text.BidiLine.getSingleRun:(Ljdk/internal/icu/text/BidiBase;B)V
         4: .line 486
            goto 57
         5: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            istore 1 /* length */
        start local 1 // int length
         6: .line 489
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.levels:[B
            astore 3 /* levels */
        start local 3 // byte[] levels
         7: .line 491
            iconst_m1
            istore 6 /* level */
        start local 6 // byte level
         8: .line 503
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.trailingWSStart:I
            istore 2 /* limit */
        start local 2 // int limit
         9: .line 505
            iconst_0
            istore 5 /* runCount */
        start local 5 // int runCount
        10: .line 506
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 16
        12: .line 508
      StackMap locals: jdk.internal.icu.text.BidiBase int int byte[] int int int
      StackMap stack:
            aload 3 /* levels */
            iload 4 /* i */
            baload
            iload 6 /* level */
            if_icmpeq 15
        13: .line 509
            iinc 5 /* runCount */ 1
        14: .line 510
            aload 3 /* levels */
            iload 4 /* i */
            baload
            istore 6 /* level */
        15: .line 506
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 2 /* limit */
            if_icmplt 12
        17: .line 518
            iload 5 /* runCount */
            iconst_1
            if_icmpne 20
            iload 2 /* limit */
            iload 1 /* length */
            if_icmpne 20
        18: .line 520
            aload 0 /* bidiBase */
            aload 3 /* levels */
            iconst_0
            baload
            invokestatic jdk.internal.icu.text.BidiLine.getSingleRun:(Ljdk/internal/icu/text/BidiBase;B)V
        19: .line 521
            goto 57
        20: .line 525
      StackMap locals:
      StackMap stack:
            bipush 126
            istore 10 /* minLevel */
        start local 10 // byte minLevel
        21: .line 526
            iconst_0
            istore 11 /* maxLevel */
        start local 11 // byte maxLevel
        22: .line 529
            iload 2 /* limit */
            iload 1 /* length */
            if_icmpge 24
        23: .line 530
            iinc 5 /* runCount */ 1
        24: .line 534
      StackMap locals: jdk.internal.icu.text.BidiBase int int byte[] int int int top top top int int
      StackMap stack:
            aload 0 /* bidiBase */
            iload 5 /* runCount */
            invokevirtual jdk.internal.icu.text.BidiBase.getRunsMemory:(I)V
        25: .line 535
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runsMemory:[Ljdk/internal/icu/text/BidiRun;
            astore 7 /* runs */
        start local 7 // jdk.internal.icu.text.BidiRun[] runs
        26: .line 543
            iconst_0
            istore 8 /* runIndex */
        start local 8 // int runIndex
        27: .line 546
            iconst_0
            istore 4 /* i */
        28: .line 549
      StackMap locals: jdk.internal.icu.text.BidiBase int int byte[] int int int jdk.internal.icu.text.BidiRun[] int top int int
      StackMap stack:
            iload 4 /* i */
            istore 9 /* start */
        start local 9 // int start
        29: .line 550
            aload 3 /* levels */
            iload 4 /* i */
            baload
            istore 6 /* level */
        30: .line 551
            iload 6 /* level */
            iload 10 /* minLevel */
            if_icmpge 32
        31: .line 552
            iload 6 /* level */
            istore 10 /* minLevel */
        32: .line 554
      StackMap locals: jdk.internal.icu.text.BidiBase int int byte[] int int int jdk.internal.icu.text.BidiRun[] int int int int
      StackMap stack:
            iload 6 /* level */
            iload 11 /* maxLevel */
            if_icmple 34
        33: .line 555
            iload 6 /* level */
            istore 11 /* maxLevel */
        34: .line 559
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
            iload 4 /* i */
            iload 2 /* limit */
            if_icmpge 35
            aload 3 /* levels */
            iload 4 /* i */
            baload
            iload 6 /* level */
            if_icmpeq 34
        35: .line 562
      StackMap locals:
      StackMap stack:
            aload 7 /* runs */
            iload 8 /* runIndex */
            new jdk.internal.icu.text.BidiRun
            dup
            iload 9 /* start */
            iload 4 /* i */
            iload 9 /* start */
            isub
            iload 6 /* level */
            invokespecial jdk.internal.icu.text.BidiRun.<init>:(IIB)V
            aastore
        36: .line 563
            iinc 8 /* runIndex */ 1
        37: .line 564
            iload 4 /* i */
            iload 2 /* limit */
        38: .line 547
            if_icmplt 28
        39: .line 566
            iload 2 /* limit */
            iload 1 /* length */
            if_icmpge 43
        40: .line 568
            aload 7 /* runs */
            iload 8 /* runIndex */
            new jdk.internal.icu.text.BidiRun
            dup
            iload 2 /* limit */
            iload 1 /* length */
            iload 2 /* limit */
            isub
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            invokespecial jdk.internal.icu.text.BidiRun.<init>:(IIB)V
            aastore
        41: .line 571
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            iload 10 /* minLevel */
            if_icmpge 43
        42: .line 572
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            istore 10 /* minLevel */
        43: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            aload 7 /* runs */
            putfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
        44: .line 578
            aload 0 /* bidiBase */
            iload 5 /* runCount */
            putfield jdk.internal.icu.text.BidiBase.runCount:I
        45: .line 580
            aload 0 /* bidiBase */
            iload 10 /* minLevel */
            iload 11 /* maxLevel */
            invokestatic jdk.internal.icu.text.BidiLine.reorderLine:(Ljdk/internal/icu/text/BidiBase;BB)V
        46: .line 584
            iconst_0
            istore 2 /* limit */
        47: .line 585
            iconst_0
            istore 4 /* i */
            goto 51
        48: .line 586
      StackMap locals:
      StackMap stack:
            aload 7 /* runs */
            iload 4 /* i */
            aaload
            aload 3 /* levels */
            aload 7 /* runs */
            iload 4 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            baload
            putfield jdk.internal.icu.text.BidiRun.level:B
        49: .line 587
            aload 7 /* runs */
            iload 4 /* i */
            aaload
            dup
            getfield jdk.internal.icu.text.BidiRun.limit:I
            iload 2 /* limit */
            iadd
            dup_x1
            putfield jdk.internal.icu.text.BidiRun.limit:I
            istore 2 /* limit */
        50: .line 585
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 4 /* i */
            iload 5 /* runCount */
            if_icmplt 48
        52: .line 594
            iload 8 /* runIndex */
            iload 5 /* runCount */
            if_icmpge 57
        53: .line 595
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            iconst_1
            iand
            ifeq 54
            iconst_0
            goto 55
      StackMap locals:
      StackMap stack:
        54: iload 8 /* runIndex */
      StackMap locals:
      StackMap stack: int
        55: istore 12 /* trailingRun */
        start local 12 // int trailingRun
        56: .line 596
            aload 7 /* runs */
            iload 12 /* trailingRun */
            aaload
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.paraLevel:B
            putfield jdk.internal.icu.text.BidiRun.level:B
        end local 12 // int trailingRun
        end local 11 // byte maxLevel
        end local 10 // byte minLevel
        end local 9 // int start
        end local 8 // int runIndex
        end local 7 // jdk.internal.icu.text.BidiRun[] runs
        end local 6 // byte level
        end local 5 // int runCount
        end local 4 // int i
        end local 3 // byte[] levels
        end local 2 // int limit
        end local 1 // int length
        57: .line 602
      StackMap locals: jdk.internal.icu.text.BidiBase
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.insertPoints:Ljdk/internal/icu/text/BidiBase$InsertPoints;
            getfield jdk.internal.icu.text.BidiBase$InsertPoints.size:I
            ifle 65
        58: .line 605
            iconst_0
            istore 3 /* ip */
        start local 3 // int ip
        59: goto 64
        60: .line 606
      StackMap locals: jdk.internal.icu.text.BidiBase top top int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.insertPoints:Ljdk/internal/icu/text/BidiBase$InsertPoints;
            getfield jdk.internal.icu.text.BidiBase$InsertPoints.points:[Ljdk/internal/icu/text/BidiBase$Point;
            iload 3 /* ip */
            aaload
            astore 1 /* point */
        start local 1 // jdk.internal.icu.text.BidiBase$Point point
        61: .line 607
            aload 0 /* bidiBase */
            aload 1 /* point */
            getfield jdk.internal.icu.text.BidiBase$Point.pos:I
            invokestatic jdk.internal.icu.text.BidiLine.getRunFromLogicalIndex:(Ljdk/internal/icu/text/BidiBase;I)I
            istore 2 /* runIndex */
        start local 2 // int runIndex
        62: .line 608
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iload 2 /* runIndex */
            aaload
            dup
            getfield jdk.internal.icu.text.BidiRun.insertRemove:I
            aload 1 /* point */
            getfield jdk.internal.icu.text.BidiBase$Point.flag:I
            ior
            putfield jdk.internal.icu.text.BidiRun.insertRemove:I
        63: .line 605
            iinc 3 /* ip */ 1
        end local 2 // int runIndex
        end local 1 // jdk.internal.icu.text.BidiBase$Point point
      StackMap locals:
      StackMap stack:
        64: iload 3 /* ip */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.insertPoints:Ljdk/internal/icu/text/BidiBase$InsertPoints;
            getfield jdk.internal.icu.text.BidiBase$InsertPoints.size:I
            if_icmplt 60
        end local 3 // int ip
        65: .line 613
      StackMap locals: jdk.internal.icu.text.BidiBase
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.controlCount:I
            ifle 74
        66: .line 616
            iconst_0
            istore 2 /* ic */
        start local 2 // int ic
        67: goto 73
        68: .line 617
      StackMap locals: jdk.internal.icu.text.BidiBase top int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.text:[C
            iload 2 /* ic */
            caload
            istore 3 /* c */
        start local 3 // char c
        69: .line 618
            iload 3 /* c */
            invokestatic jdk.internal.icu.text.BidiBase.IsBidiControlChar:(I)Z
            ifeq 72
        70: .line 619
            aload 0 /* bidiBase */
            iload 2 /* ic */
            invokestatic jdk.internal.icu.text.BidiLine.getRunFromLogicalIndex:(Ljdk/internal/icu/text/BidiBase;I)I
            istore 1 /* runIndex */
        start local 1 // int runIndex
        71: .line 620
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            iload 1 /* runIndex */
            aaload
            dup
            getfield jdk.internal.icu.text.BidiRun.insertRemove:I
            iconst_1
            isub
            putfield jdk.internal.icu.text.BidiRun.insertRemove:I
        end local 1 // int runIndex
        72: .line 616
      StackMap locals: int
      StackMap stack:
            iinc 2 /* ic */ 1
        end local 3 // char c
      StackMap locals:
      StackMap stack:
        73: iload 2 /* ic */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            if_icmplt 68
        end local 2 // int ic
        74: .line 624
      StackMap locals: jdk.internal.icu.text.BidiBase
      StackMap stack:
            return
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   75     0     bidiBase  Ljdk/internal/icu/text/BidiBase;
            6   57     1       length  I
            9   57     2        limit  I
            7   57     3       levels  [B
           11   57     4            i  I
           10   57     5     runCount  I
            8   57     6        level  B
           26   57     7         runs  [Ljdk/internal/icu/text/BidiRun;
           27   57     8     runIndex  I
           29   57     9        start  I
           21   57    10     minLevel  B
           22   57    11     maxLevel  B
           56   57    12  trailingRun  I
           61   64     1        point  Ljdk/internal/icu/text/BidiBase$Point;
           62   64     2     runIndex  I
           59   65     3           ip  I
           71   72     1     runIndex  I
           67   74     2           ic  I
           69   73     3            c  C
    MethodParameters:
          Name  Flags
      bidiBase  

  static int[] prepareReorder(byte[], byte[], byte[]);
    descriptor: ([B[B[B)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // byte[] levels
        start local 1 // byte[] pMinLevel
        start local 2 // byte[] pMaxLevel
         0: .line 631
            aload 0 /* levels */
            ifnull 1
            aload 0 /* levels */
            arraylength
            ifgt 2
         1: .line 632
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 636
      StackMap locals:
      StackMap stack:
            bipush 126
            istore 5 /* minLevel */
        start local 5 // byte minLevel
         3: .line 637
            iconst_0
            istore 6 /* maxLevel */
        start local 6 // byte maxLevel
         4: .line 638
            aload 0 /* levels */
            arraylength
            istore 3 /* start */
        start local 3 // int start
         5: goto 13
         6: .line 639
      StackMap locals: byte[] byte[] byte[] int top int int
      StackMap stack:
            aload 0 /* levels */
            iinc 3 /* start */ -1
            iload 3 /* start */
            baload
            istore 4 /* level */
        start local 4 // byte level
         7: .line 640
            iload 4 /* level */
            iflt 8
            iload 4 /* level */
            bipush 126
            if_icmple 9
         8: .line 641
      StackMap locals: byte[] byte[] byte[] int int int int
      StackMap stack:
            aconst_null
            areturn
         9: .line 643
      StackMap locals:
      StackMap stack:
            iload 4 /* level */
            iload 5 /* minLevel */
            if_icmpge 11
        10: .line 644
            iload 4 /* level */
            istore 5 /* minLevel */
        11: .line 646
      StackMap locals:
      StackMap stack:
            iload 4 /* level */
            iload 6 /* maxLevel */
            if_icmple 13
        12: .line 647
            iload 4 /* level */
            istore 6 /* maxLevel */
        end local 4 // byte level
        13: .line 638
      StackMap locals: byte[] byte[] byte[] int top int int
      StackMap stack:
            iload 3 /* start */
            ifgt 6
        14: .line 650
            aload 1 /* pMinLevel */
            iconst_0
            iload 5 /* minLevel */
            bastore
        15: .line 651
            aload 2 /* pMaxLevel */
            iconst_0
            iload 6 /* maxLevel */
            bastore
        16: .line 654
            aload 0 /* levels */
            arraylength
            newarray 10
            astore 7 /* indexMap */
        start local 7 // int[] indexMap
        17: .line 655
            aload 0 /* levels */
            arraylength
            istore 3 /* start */
            goto 20
        18: .line 656
      StackMap locals: int[]
      StackMap stack:
            iinc 3 /* start */ -1
        19: .line 657
            aload 7 /* indexMap */
            iload 3 /* start */
            iload 3 /* start */
            iastore
        20: .line 655
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            ifgt 18
        21: .line 660
            aload 7 /* indexMap */
            areturn
        end local 7 // int[] indexMap
        end local 6 // byte maxLevel
        end local 5 // byte minLevel
        end local 3 // int start
        end local 2 // byte[] pMaxLevel
        end local 1 // byte[] pMinLevel
        end local 0 // byte[] levels
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0     levels  [B
            0   22     1  pMinLevel  [B
            0   22     2  pMaxLevel  [B
            5   22     3      start  I
            7   13     4      level  B
            3   22     5   minLevel  B
            4   22     6   maxLevel  B
           17   22     7   indexMap  [I
    MethodParameters:
           Name  Flags
      levels     
      pMinLevel  
      pMaxLevel  

  static int[] reorderVisual(byte[]);
    descriptor: ([B)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // byte[] levels
         0: .line 665
            iconst_1
            newarray 8
            astore 1 /* aMinLevel */
        start local 1 // byte[] aMinLevel
         1: .line 666
            iconst_1
            newarray 8
            astore 2 /* aMaxLevel */
        start local 2 // byte[] aMaxLevel
         2: .line 670
            aload 0 /* levels */
            aload 1 /* aMinLevel */
            aload 2 /* aMaxLevel */
            invokestatic jdk.internal.icu.text.BidiLine.prepareReorder:([B[B[B)[I
            astore 9 /* indexMap */
        start local 9 // int[] indexMap
         3: .line 671
            aload 9 /* indexMap */
            ifnonnull 5
         4: .line 672
            aconst_null
            areturn
         5: .line 675
      StackMap locals: byte[] byte[] byte[] top top top top top top int[]
      StackMap stack:
            aload 1 /* aMinLevel */
            iconst_0
            baload
            istore 7 /* minLevel */
        start local 7 // byte minLevel
         6: .line 676
            aload 2 /* aMaxLevel */
            iconst_0
            baload
            istore 8 /* maxLevel */
        start local 8 // byte maxLevel
         7: .line 679
            iload 7 /* minLevel */
            iload 8 /* maxLevel */
            if_icmpne 9
            iload 7 /* minLevel */
            iconst_1
            iand
            ifne 9
         8: .line 680
            aload 9 /* indexMap */
            areturn
         9: .line 684
      StackMap locals: byte[] byte[] byte[] top top top top int int int[]
      StackMap stack:
            iload 7 /* minLevel */
            iconst_1
            ior
            i2b
            istore 7 /* minLevel */
        10: .line 688
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* start */
        start local 3 // int start
        11: .line 694
            goto 13
        12: .line 695
      StackMap locals: byte[] byte[] byte[] int top top top int int int[]
      StackMap stack:
            iinc 3 /* start */ 1
        13: .line 694
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            aload 0 /* levels */
            arraylength
            if_icmpge 14
            aload 0 /* levels */
            iload 3 /* start */
            baload
            iload 8 /* maxLevel */
            if_icmplt 12
        14: .line 697
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            aload 0 /* levels */
            arraylength
            if_icmplt 16
        15: .line 698
            goto 30
        16: .line 702
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            istore 5 /* limit */
        start local 5 // int limit
      StackMap locals: byte[] byte[] byte[] int top int top int int int[]
      StackMap stack:
        17: iinc 5 /* limit */ 1
            iload 5 /* limit */
            aload 0 /* levels */
            arraylength
            if_icmpge 18
            aload 0 /* levels */
            iload 5 /* limit */
            baload
            iload 8 /* maxLevel */
            if_icmpge 17
        18: .line 710
      StackMap locals:
      StackMap stack:
            iload 5 /* limit */
            iconst_1
            isub
            istore 4 /* end */
        start local 4 // int end
        19: .line 711
            goto 25
        20: .line 712
      StackMap locals: byte[] byte[] byte[] int int int top int int int[]
      StackMap stack:
            aload 9 /* indexMap */
            iload 3 /* start */
            iaload
            istore 6 /* temp */
        start local 6 // int temp
        21: .line 713
            aload 9 /* indexMap */
            iload 3 /* start */
            aload 9 /* indexMap */
            iload 4 /* end */
            iaload
            iastore
        22: .line 714
            aload 9 /* indexMap */
            iload 4 /* end */
            iload 6 /* temp */
            iastore
        23: .line 716
            iinc 3 /* start */ 1
        24: .line 717
            iinc 4 /* end */ -1
        end local 6 // int temp
        25: .line 711
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            iload 4 /* end */
            if_icmplt 20
        26: .line 720
            iload 5 /* limit */
            aload 0 /* levels */
            arraylength
            if_icmpne 28
        27: .line 721
            goto 30
        28: .line 723
      StackMap locals:
      StackMap stack:
            iload 5 /* limit */
            iconst_1
            iadd
            istore 3 /* start */
        end local 5 // int limit
        end local 4 // int end
        29: .line 691
            goto 13
        30: .line 726
      StackMap locals: byte[] byte[] byte[] int top top top int int int[]
      StackMap stack:
            iload 8 /* maxLevel */
            iconst_1
            isub
            i2b
            dup
            istore 8 /* maxLevel */
            iload 7 /* minLevel */
        31: .line 687
            if_icmpge 10
        32: .line 728
            aload 9 /* indexMap */
            areturn
        end local 9 // int[] indexMap
        end local 8 // byte maxLevel
        end local 7 // byte minLevel
        end local 3 // int start
        end local 2 // byte[] aMaxLevel
        end local 1 // byte[] aMinLevel
        end local 0 // byte[] levels
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0     levels  [B
            1   33     1  aMinLevel  [B
            2   33     2  aMaxLevel  [B
           11   33     3      start  I
           19   29     4        end  I
           17   29     5      limit  I
           21   25     6       temp  I
            6   33     7   minLevel  B
            7   33     8   maxLevel  B
            3   33     9   indexMap  [I
    MethodParameters:
        Name  Flags
      levels  

  static int[] getVisualMap(jdk.internal.icu.text.BidiBase);
    descriptor: (Ljdk/internal/icu/text/BidiBase;)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=18, args_size=1
        start local 0 // jdk.internal.icu.text.BidiBase bidiBase
         0: .line 734
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            astore 1 /* runs */
        start local 1 // jdk.internal.icu.text.BidiRun[] runs
         1: .line 736
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
            if_icmple 2
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.length:I
            goto 3
         2: .line 737
      StackMap locals: jdk.internal.icu.text.BidiRun[]
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
         3: .line 736
      StackMap locals:
      StackMap stack: int
            istore 5 /* allocLength */
        start local 5 // int allocLength
         4: .line 738
            iload 5 /* allocLength */
            newarray 10
            astore 6 /* indexMap */
        start local 6 // int[] indexMap
         5: .line 740
            iconst_0
            istore 3 /* visualStart */
        start local 3 // int visualStart
         6: .line 741
            iconst_0
            istore 7 /* idx */
        start local 7 // int idx
         7: .line 742
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         8: goto 21
         9: .line 743
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int
      StackMap stack:
            aload 1 /* runs */
            iload 8 /* j */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            istore 2 /* logicalStart */
        start local 2 // int logicalStart
        10: .line 744
            aload 1 /* runs */
            iload 8 /* j */
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            istore 4 /* visualLimit */
        start local 4 // int visualLimit
        11: .line 745
            aload 1 /* runs */
            iload 8 /* j */
            aaload
            invokevirtual jdk.internal.icu.text.BidiRun.isEvenRun:()Z
            ifeq 16
        12: .line 747
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] int int int int int[] int int
      StackMap stack:
            aload 6 /* indexMap */
            iload 7 /* idx */
            iinc 7 /* idx */ 1
            iload 2 /* logicalStart */
            iinc 2 /* logicalStart */ 1
            iastore
        13: .line 748
            iinc 3 /* visualStart */ 1
            iload 3 /* visualStart */
            iload 4 /* visualLimit */
        14: .line 746
            if_icmplt 12
        15: .line 749
            goto 20
        16: .line 750
      StackMap locals:
      StackMap stack:
            iload 2 /* logicalStart */
            iload 4 /* visualLimit */
            iload 3 /* visualStart */
            isub
            iadd
            istore 2 /* logicalStart */
        17: .line 752
      StackMap locals:
      StackMap stack:
            aload 6 /* indexMap */
            iload 7 /* idx */
            iinc 7 /* idx */ 1
            iinc 2 /* logicalStart */ -1
            iload 2 /* logicalStart */
            iastore
        18: .line 753
            iinc 3 /* visualStart */ 1
            iload 3 /* visualStart */
            iload 4 /* visualLimit */
        19: .line 751
            if_icmplt 17
        20: .line 742
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
        end local 4 // int visualLimit
        end local 2 // int logicalStart
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int
      StackMap stack:
        21: iload 8 /* j */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runCount:I
            if_icmplt 9
        end local 8 // int j
        22: .line 758
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.insertPoints:Ljdk/internal/icu/text/BidiBase$InsertPoints;
            getfield jdk.internal.icu.text.BidiBase$InsertPoints.size:I
            ifle 55
        23: .line 759
            iconst_0
            istore 8 /* markFound */
        start local 8 // int markFound
        24: aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runCount:I
            istore 9 /* runCount */
        start local 9 // int runCount
        25: .line 761
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            astore 1 /* runs */
        26: .line 763
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        27: goto 34
        28: .line 764
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int top int
      StackMap stack:
            aload 1 /* runs */
            iload 11 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.insertRemove:I
            istore 10 /* insertRemove */
        start local 10 // int insertRemove
        29: .line 765
            iload 10 /* insertRemove */
            iconst_5
            iand
            ifle 31
        30: .line 766
            iinc 8 /* markFound */ 1
        31: .line 768
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int int int
      StackMap stack:
            iload 10 /* insertRemove */
            bipush 10
            iand
            ifle 33
        32: .line 769
            iinc 8 /* markFound */ 1
        33: .line 763
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
        end local 10 // int insertRemove
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int top int
      StackMap stack:
        34: iload 11 /* i */
            iload 9 /* runCount */
            if_icmplt 28
        35: .line 773
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
            istore 13 /* k */
        start local 13 // int k
        36: .line 774
            iload 9 /* runCount */
            iconst_1
            isub
            istore 11 /* i */
            goto 53
        37: .line 775
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int top int top int
      StackMap stack:
            aload 1 /* runs */
            iload 11 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.insertRemove:I
            istore 10 /* insertRemove */
        start local 10 // int insertRemove
        38: .line 776
            iload 10 /* insertRemove */
            bipush 10
            iand
            ifle 41
        39: .line 777
            aload 6 /* indexMap */
            iinc 13 /* k */ -1
            iload 13 /* k */
            iconst_m1
            iastore
        40: .line 778
            iinc 8 /* markFound */ -1
        41: .line 780
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int int int top int
      StackMap stack:
            iload 11 /* i */
            ifle 42
            aload 1 /* runs */
            iload 11 /* i */
            iconst_1
            isub
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            goto 43
      StackMap locals:
      StackMap stack:
        42: iconst_0
      StackMap locals:
      StackMap stack: int
        43: istore 3 /* visualStart */
        44: .line 781
            aload 1 /* runs */
            iload 11 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            iconst_1
            isub
            istore 12 /* j */
        start local 12 // int j
        45: goto 48
        46: .line 782
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int int int int int
      StackMap stack:
            aload 6 /* indexMap */
            iinc 13 /* k */ -1
            iload 13 /* k */
            aload 6 /* indexMap */
            iload 12 /* j */
            iaload
            iastore
        47: .line 781
            iinc 12 /* j */ -1
      StackMap locals:
      StackMap stack:
        48: iload 12 /* j */
            iload 3 /* visualStart */
            if_icmplt 49
            iload 8 /* markFound */
            ifgt 46
        49: .line 784
      StackMap locals:
      StackMap stack:
            iload 10 /* insertRemove */
            iconst_5
            iand
            ifle 52
        50: .line 785
            aload 6 /* indexMap */
            iinc 13 /* k */ -1
            iload 13 /* k */
            iconst_m1
            iastore
        51: .line 786
            iinc 8 /* markFound */ -1
        52: .line 774
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ -1
        end local 12 // int j
        end local 10 // int insertRemove
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int int top int top int
      StackMap stack:
        53: iload 11 /* i */
            iflt 90
            iload 8 /* markFound */
            ifgt 37
        end local 13 // int k
        end local 11 // int i
        end local 9 // int runCount
        end local 8 // int markFound
        54: .line 789
            goto 90
        55: .line 790
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.controlCount:I
            ifle 90
        56: .line 791
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runCount:I
            istore 8 /* runCount */
        start local 8 // int runCount
        57: .line 795
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.runs:[Ljdk/internal/icu/text/BidiRun;
            astore 1 /* runs */
        58: .line 796
            iconst_0
            istore 3 /* visualStart */
        59: .line 798
            iconst_0
            istore 14 /* k */
        start local 14 // int k
        60: .line 799
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        61: goto 89
        62: .line 800
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int top top top int top int
      StackMap stack:
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            iload 3 /* visualStart */
            isub
            istore 11 /* length */
        start local 11 // int length
        63: .line 801
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.insertRemove:I
            istore 10 /* insertRemove */
        start local 10 // int insertRemove
        64: .line 803
            iload 10 /* insertRemove */
            ifne 67
            iload 14 /* k */
            iload 3 /* visualStart */
            if_icmpne 67
        65: .line 804
            iload 14 /* k */
            iload 11 /* length */
            iadd
            istore 14 /* k */
        66: .line 805
            goto 88
        67: .line 808
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int top int int int top int
      StackMap stack:
            iload 10 /* insertRemove */
            ifne 75
        68: .line 809
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.limit:I
            istore 4 /* visualLimit */
        start local 4 // int visualLimit
        69: .line 810
            iload 3 /* visualStart */
            istore 13 /* j */
        start local 13 // int j
        70: goto 73
        71: .line 811
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int int int int[] int int top int int int int int
      StackMap stack:
            aload 6 /* indexMap */
            iload 14 /* k */
            iinc 14 /* k */ 1
            aload 6 /* indexMap */
            iload 13 /* j */
            iaload
            iastore
        72: .line 810
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        73: iload 13 /* j */
            iload 4 /* visualLimit */
            if_icmplt 71
        74: .line 813
            goto 88
        end local 13 // int j
        end local 4 // int visualLimit
        75: .line 815
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int top int int int top int
      StackMap stack:
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield jdk.internal.icu.text.BidiRun.start:I
            istore 2 /* logicalStart */
        start local 2 // int logicalStart
        76: .line 816
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            invokevirtual jdk.internal.icu.text.BidiRun.isEvenRun:()Z
            istore 17 /* evenRun */
        start local 17 // boolean evenRun
        77: .line 817
            iload 2 /* logicalStart */
            iload 11 /* length */
            iadd
            iconst_1
            isub
            istore 9 /* logicalEnd */
        start local 9 // int logicalEnd
        78: .line 818
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        79: goto 87
        80: .line 819
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] int int top int int[] int int int int int int int int top top int
      StackMap stack:
            iload 17 /* evenRun */
            ifeq 81
            iload 2 /* logicalStart */
            iload 13 /* j */
            iadd
            goto 82
      StackMap locals:
      StackMap stack:
        81: iload 9 /* logicalEnd */
            iload 13 /* j */
            isub
      StackMap locals:
      StackMap stack: int
        82: istore 15 /* m */
        start local 15 // int m
        83: .line 820
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.text:[C
            iload 15 /* m */
            caload
            istore 16 /* uchar */
        start local 16 // char uchar
        84: .line 821
            iload 16 /* uchar */
            invokestatic jdk.internal.icu.text.BidiBase.IsBidiControlChar:(I)Z
            ifne 86
        85: .line 822
            aload 6 /* indexMap */
            iload 14 /* k */
            iinc 14 /* k */ 1
            iload 15 /* m */
            iastore
        86: .line 818
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] int int top int int[] int int int int int int int int int int int
      StackMap stack:
            iinc 13 /* j */ 1
        end local 16 // char uchar
        end local 15 // int m
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] int int top int int[] int int int int int int int int top top int
      StackMap stack:
        87: iload 13 /* j */
            iload 11 /* length */
            if_icmplt 80
        end local 17 // boolean evenRun
        end local 13 // int j
        end local 9 // int logicalEnd
        end local 2 // int logicalStart
        88: .line 799
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int top int int int top int
      StackMap stack:
            iinc 12 /* i */ 1
            iload 3 /* visualStart */
            iload 11 /* length */
            iadd
            istore 3 /* visualStart */
        end local 11 // int length
        end local 10 // int insertRemove
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int int top top top int top int
      StackMap stack:
        89: iload 12 /* i */
            iload 8 /* runCount */
            if_icmplt 62
        end local 14 // int k
        end local 12 // int i
        end local 8 // int runCount
        90: .line 827
      StackMap locals: jdk.internal.icu.text.BidiBase jdk.internal.icu.text.BidiRun[] top int top int int[] int
      StackMap stack:
            iload 5 /* allocLength */
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
            if_icmpne 92
        91: .line 828
            aload 6 /* indexMap */
            areturn
        92: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
            newarray 10
            astore 8 /* newMap */
        start local 8 // int[] newMap
        93: .line 831
            aload 6 /* indexMap */
            iconst_0
            aload 8 /* newMap */
            iconst_0
            aload 0 /* bidiBase */
            getfield jdk.internal.icu.text.BidiBase.resultLength:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        94: .line 832
            aload 8 /* newMap */
            areturn
        end local 8 // int[] newMap
        end local 7 // int idx
        end local 6 // int[] indexMap
        end local 5 // int allocLength
        end local 3 // int visualStart
        end local 1 // jdk.internal.icu.text.BidiRun[] runs
        end local 0 // jdk.internal.icu.text.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   95     0      bidiBase  Ljdk/internal/icu/text/BidiBase;
            1   95     1          runs  [Ljdk/internal/icu/text/BidiRun;
           10   21     2  logicalStart  I
           76   88     2  logicalStart  I
            6   95     3   visualStart  I
           11   21     4   visualLimit  I
           69   75     4   visualLimit  I
            4   95     5   allocLength  I
            5   95     6      indexMap  [I
            7   95     7           idx  I
            8   22     8             j  I
           24   54     8     markFound  I
           25   54     9      runCount  I
           29   34    10  insertRemove  I
           38   53    10  insertRemove  I
           27   54    11             i  I
           45   53    12             j  I
           36   54    13             k  I
           57   90     8      runCount  I
           78   88     9    logicalEnd  I
           64   89    10  insertRemove  I
           63   89    11        length  I
           61   90    12             i  I
           70   75    13             j  I
           79   88    13             j  I
           60   90    14             k  I
           83   87    15             m  I
           84   87    16         uchar  C
           77   88    17       evenRun  Z
           93   95     8        newMap  [I
    MethodParameters:
          Name  Flags
      bidiBase  
}
SourceFile: "BidiLine.java"
InnerClasses:
  InsertPoints = jdk.internal.icu.text.BidiBase$InsertPoints of jdk.internal.icu.text.BidiBase
  Point = jdk.internal.icu.text.BidiBase$Point of jdk.internal.icu.text.BidiBase