final class android.media.TtmlUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.media.TtmlUtils
  super_class: java.lang.Object
{
  public static final java.lang.String TAG_TT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tt"

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

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

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

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

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

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

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

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

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

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

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

  public static final java.lang.String TAG_SMPTE_IMAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "smpte:image"

  public static final java.lang.String TAG_SMPTE_DATA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "smpte:data"

  public static final java.lang.String TAG_SMPTE_INFORMATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "smpte:information"

  public static final java.lang.String PCDATA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "#pcdata"

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

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

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

  public static final long INVALID_TIMESTAMP;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9223372036854775807

  private static final java.util.regex.Pattern CLOCK_TIME;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern OFFSET_TIME;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 104
            ldc "^([0-9][0-9]+):([0-9][0-9]):([0-9][0-9])(?:(\\.[0-9]+)|:([0-9][0-9])(?:\\.([0-9]+))?)?$"
         1: .line 103
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic android.media.TtmlUtils.CLOCK_TIME:Ljava/util/regex/Pattern;
         2: .line 108
            ldc "^([0-9]+(?:\\.[0-9]+)?)(h|m|s|ms|f|t)$"
         3: .line 107
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic android.media.TtmlUtils.OFFSET_TIME:Ljava/util/regex/Pattern;
         4: .line 108
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.TtmlUtils this
         0: .line 110
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            return
        end local 0 // android.media.TtmlUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/TtmlUtils;

  public static long parseTimeExpression(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // java.lang.String time
        start local 1 // int frameRate
        start local 2 // int subframeRate
        start local 3 // int tickRate
         0: .line 129
            getstatic android.media.TtmlUtils.CLOCK_TIME:Ljava/util/regex/Pattern;
            aload 0 /* time */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 4 /* matcher */
        start local 4 // java.util.regex.Matcher matcher
         1: .line 130
            aload 4 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 22
         2: .line 131
            aload 4 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 5 /* hours */
        start local 5 // java.lang.String hours
         3: .line 132
            aload 5 /* hours */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            ldc 3600
            lmul
            l2d
            dstore 6 /* durationSeconds */
        start local 6 // double durationSeconds
         4: .line 133
            aload 4 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 8 /* minutes */
        start local 8 // java.lang.String minutes
         5: .line 134
            dload 6 /* durationSeconds */
            aload 8 /* minutes */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            ldc 60
            lmul
            l2d
            dadd
            dstore 6 /* durationSeconds */
         6: .line 135
            aload 4 /* matcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 9 /* seconds */
        start local 9 // java.lang.String seconds
         7: .line 136
            dload 6 /* durationSeconds */
            aload 9 /* seconds */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            l2d
            dadd
            dstore 6 /* durationSeconds */
         8: .line 137
            aload 4 /* matcher */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 10 /* fraction */
        start local 10 // java.lang.String fraction
         9: .line 138
            dload 6 /* durationSeconds */
            aload 10 /* fraction */
            ifnull 10
            aload 10 /* fraction */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            goto 11
      StackMap locals: java.lang.String int int int java.util.regex.Matcher java.lang.String double java.lang.String java.lang.String java.lang.String
      StackMap stack: double
        10: dconst_0
      StackMap locals: java.lang.String int int int java.util.regex.Matcher java.lang.String double java.lang.String java.lang.String java.lang.String
      StackMap stack: double double
        11: dadd
            dstore 6 /* durationSeconds */
        12: .line 139
            aload 4 /* matcher */
            iconst_5
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 11 /* frames */
        start local 11 // java.lang.String frames
        13: .line 140
            dload 6 /* durationSeconds */
            aload 11 /* frames */
            ifnull 14
            aload 11 /* frames */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            l2d
            iload 1 /* frameRate */
            i2d
            ddiv
            goto 15
      StackMap locals: java.lang.String int int int java.util.regex.Matcher java.lang.String double java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: double
        14: dconst_0
      StackMap locals: java.lang.String int int int java.util.regex.Matcher java.lang.String double java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: double double
        15: dadd
            dstore 6 /* durationSeconds */
        16: .line 141
            aload 4 /* matcher */
            bipush 6
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 12 /* subframes */
        start local 12 // java.lang.String subframes
        17: .line 142
            dload 6 /* durationSeconds */
            aload 12 /* subframes */
            ifnull 19
            aload 12 /* subframes */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            l2d
        18: .line 143
            iload 2 /* subframeRate */
            i2d
            ddiv
            iload 1 /* frameRate */
            i2d
            ddiv
            goto 20
        19: .line 144
      StackMap locals: java.lang.String int int int java.util.regex.Matcher java.lang.String double java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: double
            dconst_0
      StackMap locals: java.lang.String int int int java.util.regex.Matcher java.lang.String double java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: double double
        20: dadd
            dstore 6 /* durationSeconds */
        21: .line 145
            dload 6 /* durationSeconds */
            ldc 1000.0
            dmul
            d2l
            lreturn
        end local 12 // java.lang.String subframes
        end local 11 // java.lang.String frames
        end local 10 // java.lang.String fraction
        end local 9 // java.lang.String seconds
        end local 8 // java.lang.String minutes
        end local 6 // double durationSeconds
        end local 5 // java.lang.String hours
        22: .line 147
      StackMap locals: java.lang.String int int int java.util.regex.Matcher
      StackMap stack:
            getstatic android.media.TtmlUtils.OFFSET_TIME:Ljava/util/regex/Pattern;
            aload 0 /* time */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 4 /* matcher */
        23: .line 148
            aload 4 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 45
        24: .line 149
            aload 4 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 5 /* timeValue */
        start local 5 // java.lang.String timeValue
        25: .line 150
            aload 5 /* timeValue */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 6 /* value */
        start local 6 // double value
        26: .line 151
            aload 4 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 8 /* unit */
        start local 8 // java.lang.String unit
        27: .line 152
            aload 8 /* unit */
            ldc "h"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 153
            dload 6 /* value */
            ldc 3.6E9
            dmul
            dstore 6 /* value */
        29: .line 154
            goto 44
      StackMap locals: java.lang.String double java.lang.String
      StackMap stack:
        30: aload 8 /* unit */
            ldc "m"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 155
            dload 6 /* value */
            ldc 6.0E7
            dmul
            dstore 6 /* value */
        32: .line 156
            goto 44
      StackMap locals:
      StackMap stack:
        33: aload 8 /* unit */
            ldc "s"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 157
            dload 6 /* value */
            ldc 1000000.0
            dmul
            dstore 6 /* value */
        35: .line 158
            goto 44
      StackMap locals:
      StackMap stack:
        36: aload 8 /* unit */
            ldc "ms"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 39
        37: .line 159
            dload 6 /* value */
            ldc 1000.0
            dmul
            dstore 6 /* value */
        38: .line 160
            goto 44
      StackMap locals:
      StackMap stack:
        39: aload 8 /* unit */
            ldc "f"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 42
        40: .line 161
            dload 6 /* value */
            iload 1 /* frameRate */
            i2d
            ddiv
            ldc 1000000.0
            dmul
            dstore 6 /* value */
        41: .line 162
            goto 44
      StackMap locals:
      StackMap stack:
        42: aload 8 /* unit */
            ldc "t"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        43: .line 163
            dload 6 /* value */
            iload 3 /* tickRate */
            i2d
            ddiv
            ldc 1000000.0
            dmul
            dstore 6 /* value */
        44: .line 165
      StackMap locals:
      StackMap stack:
            dload 6 /* value */
            d2l
            lreturn
        end local 8 // java.lang.String unit
        end local 6 // double value
        end local 5 // java.lang.String timeValue
        45: .line 167
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Malformed time expression : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* time */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.util.regex.Matcher matcher
        end local 3 // int tickRate
        end local 2 // int subframeRate
        end local 1 // int frameRate
        end local 0 // java.lang.String time
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             time  Ljava/lang/String;
            0   46     1        frameRate  I
            0   46     2     subframeRate  I
            0   46     3         tickRate  I
            1   46     4          matcher  Ljava/util/regex/Matcher;
            3   22     5            hours  Ljava/lang/String;
            4   22     6  durationSeconds  D
            5   22     8          minutes  Ljava/lang/String;
            7   22     9          seconds  Ljava/lang/String;
            9   22    10         fraction  Ljava/lang/String;
           13   22    11           frames  Ljava/lang/String;
           17   22    12        subframes  Ljava/lang/String;
           25   45     5        timeValue  Ljava/lang/String;
           26   45     6            value  D
           27   45     8             unit  Ljava/lang/String;
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      time          
      frameRate     
      subframeRate  
      tickRate      

  public static java.lang.String applyDefaultSpacePolicy(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String in
         0: .line 178
            aload 0 /* in */
            iconst_1
            invokestatic android.media.TtmlUtils.applySpacePolicy:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    in  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      in    

  public static java.lang.String applySpacePolicy(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.String in
        start local 1 // boolean treatLfAsSpace
         0: .line 193
            aload 0 /* in */
            ldc "\r\n"
            ldc "\n"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* crRemoved */
        start local 2 // java.lang.String crRemoved
         1: .line 196
            aload 2 /* crRemoved */
            ldc " *\n *"
            ldc "\n"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* spacesNeighboringLfRemoved */
        start local 3 // java.lang.String spacesNeighboringLfRemoved
         2: .line 198
            iload 1 /* treatLfAsSpace */
            ifeq 3
            aload 3 /* spacesNeighboringLfRemoved */
            ldc "\n"
            ldc " "
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            goto 4
         3: .line 199
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* spacesNeighboringLfRemoved */
         4: .line 198
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* lfToSpace */
        start local 4 // java.lang.String lfToSpace
         5: .line 201
            aload 4 /* lfToSpace */
            ldc "[ \t\\x0B\f\r]+"
            ldc " "
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* spacesCollapsed */
        start local 5 // java.lang.String spacesCollapsed
         6: .line 202
            aload 5 /* spacesCollapsed */
            areturn
        end local 5 // java.lang.String spacesCollapsed
        end local 4 // java.lang.String lfToSpace
        end local 3 // java.lang.String spacesNeighboringLfRemoved
        end local 2 // java.lang.String crRemoved
        end local 1 // boolean treatLfAsSpace
        end local 0 // java.lang.String in
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    7     0                          in  Ljava/lang/String;
            0    7     1              treatLfAsSpace  Z
            1    7     2                   crRemoved  Ljava/lang/String;
            2    7     3  spacesNeighboringLfRemoved  Ljava/lang/String;
            5    7     4                   lfToSpace  Ljava/lang/String;
            6    7     5             spacesCollapsed  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      in              
      treatLfAsSpace  

  public static java.lang.String extractText(android.media.TtmlNode, long, long);
    descriptor: (Landroid/media/TtmlNode;JJ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // android.media.TtmlNode root
        start local 1 // long startUs
        start local 3 // long endUs
         0: .line 213
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* text */
        start local 5 // java.lang.StringBuilder text
         1: .line 214
            aload 0 /* root */
            lload 1 /* startUs */
            lload 3 /* endUs */
            aload 5 /* text */
            iconst_0
            invokestatic android.media.TtmlUtils.extractText:(Landroid/media/TtmlNode;JJLjava/lang/StringBuilder;Z)V
         2: .line 215
            aload 5 /* text */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "\n$"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder text
        end local 3 // long endUs
        end local 1 // long startUs
        end local 0 // android.media.TtmlNode root
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     root  Landroid/media/TtmlNode;
            0    3     1  startUs  J
            0    3     3    endUs  J
            1    3     5     text  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      root     
      startUs  
      endUs    

  private static void extractText(android.media.TtmlNode, long, long, java.lang.StringBuilder, boolean);
    descriptor: (Landroid/media/TtmlNode;JJLjava/lang/StringBuilder;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // android.media.TtmlNode node
        start local 1 // long startUs
        start local 3 // long endUs
        start local 5 // java.lang.StringBuilder out
        start local 6 // boolean inPTag
         0: .line 220
            aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            ldc "#pcdata"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iload 6 /* inPTag */
            ifeq 3
         1: .line 221
            aload 5 /* out */
            aload 0 /* node */
            getfield android.media.TtmlNode.mText:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 222
            goto 19
      StackMap locals:
      StackMap stack:
         3: aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            ldc "br"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iload 6 /* inPTag */
            ifeq 6
         4: .line 223
            aload 5 /* out */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 224
            goto 19
      StackMap locals:
      StackMap stack:
         6: aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            ldc "metadata"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
         7: .line 226
            aload 0 /* node */
            lload 1 /* startUs */
            lload 3 /* endUs */
            invokevirtual android.media.TtmlNode.isActive:(JJ)Z
            ifeq 19
         8: .line 227
            aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            ldc "p"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 7 /* pTag */
        start local 7 // boolean pTag
         9: .line 228
            aload 5 /* out */
            invokevirtual java.lang.StringBuilder.length:()I
            istore 8 /* length */
        start local 8 // int length
        10: .line 229
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: goto 16
        12: .line 230
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* node */
            getfield android.media.TtmlNode.mChildren:Ljava/util/List;
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.media.TtmlNode
            lload 1 /* startUs */
            lload 3 /* endUs */
            aload 5 /* out */
            iload 7 /* pTag */
            ifne 13
            iload 6 /* inPTag */
            ifne 13
            iconst_0
            goto 14
      StackMap locals: android.media.TtmlNode long long java.lang.StringBuilder int int int int
      StackMap stack: android.media.TtmlNode long long java.lang.StringBuilder
        13: iconst_1
      StackMap locals: android.media.TtmlNode long long java.lang.StringBuilder int int int int
      StackMap stack: android.media.TtmlNode long long java.lang.StringBuilder int
        14: invokestatic android.media.TtmlUtils.extractText:(Landroid/media/TtmlNode;JJLjava/lang/StringBuilder;Z)V
        15: .line 229
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            aload 0 /* node */
            getfield android.media.TtmlNode.mChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 12
        end local 9 // int i
        17: .line 232
            iload 7 /* pTag */
            ifeq 19
            iload 8 /* length */
            aload 5 /* out */
            invokevirtual java.lang.StringBuilder.length:()I
            if_icmpeq 19
        18: .line 233
            aload 5 /* out */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // int length
        end local 7 // boolean pTag
        19: .line 236
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean inPTag
        end local 5 // java.lang.StringBuilder out
        end local 3 // long endUs
        end local 1 // long startUs
        end local 0 // android.media.TtmlNode node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     node  Landroid/media/TtmlNode;
            0   20     1  startUs  J
            0   20     3    endUs  J
            0   20     5      out  Ljava/lang/StringBuilder;
            0   20     6   inPTag  Z
            9   19     7     pTag  Z
           10   19     8   length  I
           11   17     9        i  I
    MethodParameters:
         Name  Flags
      node     
      startUs  
      endUs    
      out      
      inPTag   

  public static java.lang.String extractTtmlFragment(android.media.TtmlNode, long, long);
    descriptor: (Landroid/media/TtmlNode;JJ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // android.media.TtmlNode root
        start local 1 // long startUs
        start local 3 // long endUs
         0: .line 246
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* fragment */
        start local 5 // java.lang.StringBuilder fragment
         1: .line 247
            aload 0 /* root */
            lload 1 /* startUs */
            lload 3 /* endUs */
            aload 5 /* fragment */
            invokestatic android.media.TtmlUtils.extractTtmlFragment:(Landroid/media/TtmlNode;JJLjava/lang/StringBuilder;)V
         2: .line 248
            aload 5 /* fragment */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder fragment
        end local 3 // long endUs
        end local 1 // long startUs
        end local 0 // android.media.TtmlNode root
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      root  Landroid/media/TtmlNode;
            0    3     1   startUs  J
            0    3     3     endUs  J
            1    3     5  fragment  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      root     
      startUs  
      endUs    

  private static void extractTtmlFragment(android.media.TtmlNode, long, long, java.lang.StringBuilder);
    descriptor: (Landroid/media/TtmlNode;JJLjava/lang/StringBuilder;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // android.media.TtmlNode node
        start local 1 // long startUs
        start local 3 // long endUs
        start local 5 // java.lang.StringBuilder out
         0: .line 253
            aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            ldc "#pcdata"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 254
            aload 5 /* out */
            aload 0 /* node */
            getfield android.media.TtmlNode.mText:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 255
            goto 19
      StackMap locals:
      StackMap stack:
         3: aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            ldc "br"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 256
            aload 5 /* out */
            ldc "<br/>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 257
            goto 19
      StackMap locals:
      StackMap stack:
         6: aload 0 /* node */
            lload 1 /* startUs */
            lload 3 /* endUs */
            invokevirtual android.media.TtmlNode.isActive:(JJ)Z
            ifeq 19
         7: .line 258
            aload 5 /* out */
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 259
            aload 5 /* out */
            aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 260
            aload 5 /* out */
            aload 0 /* node */
            getfield android.media.TtmlNode.mAttributes:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 261
            aload 5 /* out */
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 262
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: goto 15
        13: .line 263
      StackMap locals: int
      StackMap stack:
            aload 0 /* node */
            getfield android.media.TtmlNode.mChildren:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.media.TtmlNode
            lload 1 /* startUs */
            lload 3 /* endUs */
            aload 5 /* out */
            invokestatic android.media.TtmlUtils.extractTtmlFragment:(Landroid/media/TtmlNode;JJLjava/lang/StringBuilder;)V
        14: .line 262
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            aload 0 /* node */
            getfield android.media.TtmlNode.mChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 13
        end local 6 // int i
        16: .line 265
            aload 5 /* out */
            ldc "</"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 266
            aload 5 /* out */
            aload 0 /* node */
            getfield android.media.TtmlNode.mName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 267
            aload 5 /* out */
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 269
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.StringBuilder out
        end local 3 // long endUs
        end local 1 // long startUs
        end local 0 // android.media.TtmlNode node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     node  Landroid/media/TtmlNode;
            0   20     1  startUs  J
            0   20     3    endUs  J
            0   20     5      out  Ljava/lang/StringBuilder;
           12   16     6        i  I
    MethodParameters:
         Name  Flags
      node     
      startUs  
      endUs    
      out      
}
SourceFile: "TtmlRenderer.java"