i.smali

.class public final Lcom/google/protobuf/i;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/google/protobuf/i$b;
    }
.end annotation


# direct methods
.method public static a([BILcom/google/protobuf/i$b;)I
    .registers 5
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/protobuf/t0;
        }
    .end annotation

    .line 1
    invoke-static {p0, p1, p2}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 2
    iget v0, p2, Lcom/google/protobuf/i$b;->a:I

    if-ltz v0, :cond_20

    .line 3
    array-length v1, p0

    sub-int/2addr v1, p1

    if-gt v0, v1, :cond_1b

    if-nez v0, :cond_13

    .line 4
    sget-object p0, Lcom/google/protobuf/l;->b:Lcom/google/protobuf/l$h;

    iput-object p0, p2, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p1

    .line 5
    :cond_13
    invoke-static {p0, p1, v0}, Lcom/google/protobuf/l;->e([BII)Lcom/google/protobuf/l;

    move-result-object p0

    iput-object p0, p2, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    add-int/2addr p1, v0

    return p1

    .line 6
    :cond_1b
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    .line 7
    :cond_20
    invoke-static {}, Lcom/google/protobuf/t0;->f()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static b(I[BIILcom/google/protobuf/q0$c;Lcom/google/protobuf/q0$e;Lcom/google/protobuf/h3;Lcom/google/protobuf/i$b;)I
    .registers 16
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I[BII",
            "Lcom/google/protobuf/q0$c<",
            "**>;",
            "Lcom/google/protobuf/q0$e<",
            "**>;",
            "Lcom/google/protobuf/h3<",
            "Lcom/google/protobuf/j3;",
            "Lcom/google/protobuf/j3;",
            ">;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    iget-object v0, p4, Lcom/google/protobuf/q0$c;->a:Lcom/google/protobuf/l0;

    ushr-int/lit8 v2, p0, 0x3

    .line 2
    iget-object p0, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    .line 3
    iget-boolean v1, p0, Lcom/google/protobuf/q0$d;->d:Z

    if-eqz v1, :cond_df

    .line 4
    iget-boolean v1, p0, Lcom/google/protobuf/q0$d;->e:Z

    if-eqz v1, :cond_df

    .line 5
    sget-object p3, Lcom/google/protobuf/i$a;->a:[I

    .line 6
    iget-object p0, p0, Lcom/google/protobuf/q0$d;->c:Lcom/google/protobuf/q3$b;

    .line 7
    invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I

    move-result p0

    aget p0, p3, p0

    packed-switch p0, :pswitch_data_22a

    .line 8
    new-instance p0, Ljava/lang/IllegalStateException;

    const-string p1, "Type cannot be packed: "

    .line 9
    invoke-static {p1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    .line 10
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    goto/16 :goto_d2

    .line 11
    :pswitch_27
    new-instance p0, Lcom/google/protobuf/r0;

    invoke-direct {p0}, Lcom/google/protobuf/r0;-><init>()V

    .line 12
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->o([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 13
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    .line 14
    iget-object v4, p2, Lcom/google/protobuf/q0$d;->a:Lcom/google/protobuf/s0$d;

    const/4 v5, 0x0

    move-object v1, p4

    move-object v3, p0

    move-object v6, p6

    .line 15
    invoke-static/range {v1 .. v6}, Lcom/google/protobuf/p2;->y(Ljava/lang/Object;ILjava/util/List;Lcom/google/protobuf/s0$d;Ljava/lang/Object;Lcom/google/protobuf/h3;)Ljava/lang/Object;

    .line 16
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 17
    :pswitch_42
    new-instance p0, Lcom/google/protobuf/b1;

    invoke-direct {p0}, Lcom/google/protobuf/b1;-><init>()V

    .line 18
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->n([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 19
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 20
    :pswitch_52
    new-instance p0, Lcom/google/protobuf/r0;

    invoke-direct {p0}, Lcom/google/protobuf/r0;-><init>()V

    .line 21
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->m([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 22
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 23
    :pswitch_62
    new-instance p0, Lcom/google/protobuf/j;

    invoke-direct {p0}, Lcom/google/protobuf/j;-><init>()V

    .line 24
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->h([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 25
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 26
    :pswitch_72
    new-instance p0, Lcom/google/protobuf/r0;

    invoke-direct {p0}, Lcom/google/protobuf/r0;-><init>()V

    .line 27
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->j([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 28
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 29
    :pswitch_82
    new-instance p0, Lcom/google/protobuf/b1;

    invoke-direct {p0}, Lcom/google/protobuf/b1;-><init>()V

    .line 30
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->k([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 31
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 32
    :pswitch_92
    new-instance p0, Lcom/google/protobuf/r0;

    invoke-direct {p0}, Lcom/google/protobuf/r0;-><init>()V

    .line 33
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->o([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 34
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 35
    :pswitch_a2
    new-instance p0, Lcom/google/protobuf/b1;

    invoke-direct {p0}, Lcom/google/protobuf/b1;-><init>()V

    .line 36
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->p([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 37
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 38
    :pswitch_b2
    new-instance p0, Lcom/google/protobuf/n0;

    invoke-direct {p0}, Lcom/google/protobuf/n0;-><init>()V

    .line 39
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->l([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 40
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 41
    :pswitch_c2
    new-instance p0, Lcom/google/protobuf/u;

    invoke-direct {p0}, Lcom/google/protobuf/u;-><init>()V

    .line 42
    invoke-static {p1, p2, p0, p7}, Lcom/google/protobuf/i;->i([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I

    move-result p1

    .line 43
    iget-object p2, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p2, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto/16 :goto_229

    .line 44
    :goto_d2
    iget-object p2, p2, Lcom/google/protobuf/q0$d;->c:Lcom/google/protobuf/q3$b;

    .line 45
    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw p0

    .line 46
    :cond_df
    iget-object p0, p0, Lcom/google/protobuf/q0$d;->c:Lcom/google/protobuf/q3$b;

    .line 47
    sget-object v1, Lcom/google/protobuf/q3$b;->ENUM:Lcom/google/protobuf/q3$b;

    const/4 v3, 0x0

    if-ne p0, v1, :cond_104

    .line 48
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 49
    iget-object p0, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    .line 50
    iget-object p0, p0, Lcom/google/protobuf/q0$d;->a:Lcom/google/protobuf/s0$d;

    .line 51
    iget p1, p7, Lcom/google/protobuf/i$b;->a:I

    invoke-interface {p0, p1}, Lcom/google/protobuf/s0$d;->findValueByNumber(I)Lcom/google/protobuf/s0$c;

    move-result-object p0

    if-nez p0, :cond_fc

    .line 52
    iget p0, p7, Lcom/google/protobuf/i$b;->a:I

    invoke-static {p4, v2, p0, v3, p6}, Lcom/google/protobuf/p2;->E(Ljava/lang/Object;IILjava/lang/Object;Lcom/google/protobuf/h3;)Ljava/lang/Object;

    return p2

    .line 53
    :cond_fc
    iget p0, p7, Lcom/google/protobuf/i$b;->a:I

    invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    goto/16 :goto_21b

    .line 54
    :cond_104
    sget-object p4, Lcom/google/protobuf/i$a;->a:[I

    invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I

    move-result p0

    aget p0, p4, p0

    packed-switch p0, :pswitch_data_24a

    goto/16 :goto_21b

    .line 55
    :pswitch_111
    sget-object p0, Lcom/google/protobuf/i2;->c:Lcom/google/protobuf/i2;

    .line 56
    iget-object p4, p5, Lcom/google/protobuf/q0$e;->c:Lcom/google/protobuf/o1;

    .line 57
    invoke-virtual {p4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object p4

    invoke-virtual {p0, p4}, Lcom/google/protobuf/i2;->a(Ljava/lang/Class;)Lcom/google/protobuf/o2;

    move-result-object v2

    .line 58
    iget-object p0, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    iget-boolean p4, p0, Lcom/google/protobuf/q0$d;->d:Z

    if-eqz p4, :cond_12f

    .line 59
    invoke-static {v2, p1, p2, p3, p7}, Lcom/google/protobuf/i;->f(Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I

    move-result p0

    .line 60
    iget-object p1, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    iget-object p2, p7, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    invoke-virtual {v0, p1, p2}, Lcom/google/protobuf/l0;->a(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto :goto_147

    .line 61
    :cond_12f
    invoke-virtual {v0, p0}, Lcom/google/protobuf/l0;->j(Lcom/google/protobuf/l0$c;)Ljava/lang/Object;

    move-result-object p0

    if-nez p0, :cond_13e

    .line 62
    invoke-interface {v2}, Lcom/google/protobuf/o2;->newInstance()Ljava/lang/Object;

    move-result-object p0

    .line 63
    iget-object p4, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p4, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    :cond_13e
    move-object v1, p0

    move-object v3, p1

    move v4, p2

    move v5, p3

    move-object v6, p7

    .line 64
    invoke-static/range {v1 .. v6}, Lcom/google/protobuf/i;->y(Ljava/lang/Object;Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I

    move-result p0

    :goto_147
    return p0

    :pswitch_148
    shl-int/lit8 p0, v2, 0x3

    or-int/lit8 v6, p0, 0x4

    .line 65
    sget-object p0, Lcom/google/protobuf/i2;->c:Lcom/google/protobuf/i2;

    .line 66
    iget-object p4, p5, Lcom/google/protobuf/q0$e;->c:Lcom/google/protobuf/o1;

    .line 67
    invoke-virtual {p4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object p4

    invoke-virtual {p0, p4}, Lcom/google/protobuf/i2;->a(Ljava/lang/Class;)Lcom/google/protobuf/o2;

    move-result-object v2

    .line 68
    iget-object p0, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    iget-boolean p4, p0, Lcom/google/protobuf/q0$d;->d:Z

    if-eqz p4, :cond_170

    move-object v1, v2

    move-object v2, p1

    move v3, p2

    move v4, p3

    move v5, v6

    move-object v6, p7

    .line 69
    invoke-static/range {v1 .. v6}, Lcom/google/protobuf/i;->e(Lcom/google/protobuf/o2;[BIIILcom/google/protobuf/i$b;)I

    move-result p0

    .line 70
    iget-object p1, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    iget-object p2, p7, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    invoke-virtual {v0, p1, p2}, Lcom/google/protobuf/l0;->a(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto :goto_188

    .line 71
    :cond_170
    invoke-virtual {v0, p0}, Lcom/google/protobuf/l0;->j(Lcom/google/protobuf/l0$c;)Ljava/lang/Object;

    move-result-object p0

    if-nez p0, :cond_17f

    .line 72
    invoke-interface {v2}, Lcom/google/protobuf/o2;->newInstance()Ljava/lang/Object;

    move-result-object p0

    .line 73
    iget-object p4, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    invoke-virtual {v0, p4, p0}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    :cond_17f
    move-object v1, p0

    move-object v3, p1

    move v4, p2

    move v5, p3

    move-object v7, p7

    .line 74
    invoke-static/range {v1 .. v7}, Lcom/google/protobuf/i;->x(Ljava/lang/Object;Lcom/google/protobuf/o2;[BIIILcom/google/protobuf/i$b;)I

    move-result p0

    :goto_188
    return p0

    .line 75
    :pswitch_189
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->q([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 76
    iget-object v3, p7, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    goto/16 :goto_21b

    .line 77
    :pswitch_191
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->a([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 78
    iget-object v3, p7, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    goto/16 :goto_21b

    .line 79
    :pswitch_199
    new-instance p0, Ljava/lang/IllegalStateException;

    const-string p1, "Shouldn\'t reach here."

    invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw p0

    .line 80
    :pswitch_1a1
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 81
    iget-wide p0, p7, Lcom/google/protobuf/i$b;->b:J

    invoke-static {p0, p1}, Lcom/google/protobuf/m;->d(J)J

    move-result-wide p0

    invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v3

    goto/16 :goto_21b

    .line 82
    :pswitch_1b1
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 83
    iget p0, p7, Lcom/google/protobuf/i$b;->a:I

    invoke-static {p0}, Lcom/google/protobuf/m;->c(I)I

    move-result p0

    invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    goto :goto_21b

    .line 84
    :pswitch_1c0
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 85
    iget-wide p0, p7, Lcom/google/protobuf/i$b;->b:J

    const-wide/16 p3, 0x0

    cmp-long p6, p0, p3

    if-eqz p6, :cond_1ce

    const/4 p0, 0x1

    goto :goto_1cf

    :cond_1ce
    const/4 p0, 0x0

    :goto_1cf
    invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v3

    goto :goto_21b

    .line 86
    :pswitch_1d4
    invoke-static {p1, p2}, Lcom/google/protobuf/i;->c([BI)I

    move-result p0

    invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p0

    goto :goto_208

    .line 87
    :pswitch_1dd
    invoke-static {p1, p2}, Lcom/google/protobuf/i;->d([BI)J

    move-result-wide p0

    invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object p0

    goto :goto_218

    .line 88
    :pswitch_1e6
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 89
    iget p0, p7, Lcom/google/protobuf/i$b;->a:I

    invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    goto :goto_21b

    .line 90
    :pswitch_1f1
    invoke-static {p1, p2, p7}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 91
    iget-wide p0, p7, Lcom/google/protobuf/i$b;->b:J

    invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v3

    goto :goto_21b

    .line 92
    :pswitch_1fc
    invoke-static {p1, p2}, Lcom/google/protobuf/i;->c([BI)I

    move-result p0

    invoke-static {p0}, Ljava/lang/Float;->intBitsToFloat(I)F

    move-result p0

    .line 93
    invoke-static {p0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object p0

    :goto_208
    move-object v3, p0

    add-int/lit8 p2, p2, 0x4

    goto :goto_21b

    .line 94
    :pswitch_20c
    invoke-static {p1, p2}, Lcom/google/protobuf/i;->d([BI)J

    move-result-wide p0

    invoke-static {p0, p1}, Ljava/lang/Double;->longBitsToDouble(J)D

    move-result-wide p0

    .line 95
    invoke-static {p0, p1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object p0

    :goto_218
    move-object v3, p0

    add-int/lit8 p2, p2, 0x8

    .line 96
    :goto_21b
    iget-object p0, p5, Lcom/google/protobuf/q0$e;->d:Lcom/google/protobuf/q0$d;

    iget-boolean p1, p0, Lcom/google/protobuf/q0$d;->d:Z

    if-eqz p1, :cond_225

    .line 97
    invoke-virtual {v0, p0, v3}, Lcom/google/protobuf/l0;->a(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    goto :goto_228

    .line 98
    :cond_225
    invoke-virtual {v0, p0, v3}, Lcom/google/protobuf/l0;->A(Lcom/google/protobuf/l0$c;Ljava/lang/Object;)V

    :goto_228
    move p1, p2

    :goto_229
    return p1

    :pswitch_data_22a
    .packed-switch 0x1
        :pswitch_c2
        :pswitch_b2
        :pswitch_a2
        :pswitch_a2
        :pswitch_92
        :pswitch_92
        :pswitch_82
        :pswitch_82
        :pswitch_72
        :pswitch_72
        :pswitch_62
        :pswitch_52
        :pswitch_42
        :pswitch_27
    .end packed-switch

    :pswitch_data_24a
    .packed-switch 0x1
        :pswitch_20c
        :pswitch_1fc
        :pswitch_1f1
        :pswitch_1f1
        :pswitch_1e6
        :pswitch_1e6
        :pswitch_1dd
        :pswitch_1dd
        :pswitch_1d4
        :pswitch_1d4
        :pswitch_1c0
        :pswitch_1b1
        :pswitch_1a1
        :pswitch_199
        :pswitch_191
        :pswitch_189
        :pswitch_148
        :pswitch_111
    .end packed-switch
.end method

.method public static c([BI)I
    .registers 4

    aget-byte v0, p0, p1

    and-int/lit16 v0, v0, 0xff

    add-int/lit8 v1, p1, 0x1

    aget-byte v1, p0, v1

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    or-int/2addr v0, v1

    add-int/lit8 v1, p1, 0x2

    aget-byte v1, p0, v1

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x10

    or-int/2addr v0, v1

    add-int/lit8 p1, p1, 0x3

    aget-byte p0, p0, p1

    and-int/lit16 p0, p0, 0xff

    shl-int/lit8 p0, p0, 0x18

    or-int/2addr p0, v0

    return p0
.end method

.method public static d([BI)J
    .registers 9

    aget-byte v0, p0, p1

    int-to-long v0, v0

    const-wide/16 v2, 0xff

    and-long/2addr v0, v2

    add-int/lit8 v4, p1, 0x1

    aget-byte v4, p0, v4

    int-to-long v4, v4

    and-long/2addr v4, v2

    const/16 v6, 0x8

    shl-long/2addr v4, v6

    or-long/2addr v0, v4

    add-int/lit8 v4, p1, 0x2

    aget-byte v4, p0, v4

    int-to-long v4, v4

    and-long/2addr v4, v2

    const/16 v6, 0x10

    shl-long/2addr v4, v6

    or-long/2addr v0, v4

    add-int/lit8 v4, p1, 0x3

    aget-byte v4, p0, v4

    int-to-long v4, v4

    and-long/2addr v4, v2

    const/16 v6, 0x18

    shl-long/2addr v4, v6

    or-long/2addr v0, v4

    add-int/lit8 v4, p1, 0x4

    aget-byte v4, p0, v4

    int-to-long v4, v4

    and-long/2addr v4, v2

    const/16 v6, 0x20

    shl-long/2addr v4, v6

    or-long/2addr v0, v4

    add-int/lit8 v4, p1, 0x5

    aget-byte v4, p0, v4

    int-to-long v4, v4

    and-long/2addr v4, v2

    const/16 v6, 0x28

    shl-long/2addr v4, v6

    or-long/2addr v0, v4

    add-int/lit8 v4, p1, 0x6

    aget-byte v4, p0, v4

    int-to-long v4, v4

    and-long/2addr v4, v2

    const/16 v6, 0x30

    shl-long/2addr v4, v6

    or-long/2addr v0, v4

    add-int/lit8 p1, p1, 0x7

    aget-byte p0, p0, p1

    int-to-long p0, p0

    and-long/2addr p0, v2

    const/16 v2, 0x38

    shl-long/2addr p0, v2

    or-long/2addr p0, v0

    return-wide p0
.end method

.method public static e(Lcom/google/protobuf/o2;[BIIILcom/google/protobuf/i$b;)I
    .registers 14
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    invoke-interface {p0}, Lcom/google/protobuf/o2;->newInstance()Ljava/lang/Object;

    move-result-object v7

    move-object v0, v7

    move-object v1, p0

    move-object v2, p1

    move v3, p2

    move v4, p3

    move v5, p4

    move-object v6, p5

    .line 2
    invoke-static/range {v0 .. v6}, Lcom/google/protobuf/i;->x(Ljava/lang/Object;Lcom/google/protobuf/o2;[BIIILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    invoke-interface {p0, v7}, Lcom/google/protobuf/o2;->e(Ljava/lang/Object;)V

    .line 4
    iput-object v7, p5, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p1
.end method

.method public static f(Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I
    .registers 12
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    invoke-interface {p0}, Lcom/google/protobuf/o2;->newInstance()Ljava/lang/Object;

    move-result-object v6

    move-object v0, v6

    move-object v1, p0

    move-object v2, p1

    move v3, p2

    move v4, p3

    move-object v5, p4

    .line 2
    invoke-static/range {v0 .. v5}, Lcom/google/protobuf/i;->y(Ljava/lang/Object;Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    invoke-interface {p0, v6}, Lcom/google/protobuf/o2;->e(Ljava/lang/Object;)V

    .line 4
    iput-object v6, p4, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p1
.end method

.method public static g(Lcom/google/protobuf/o2;I[BIILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/protobuf/o2<",
            "*>;I[BII",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    invoke-static {p0, p2, p3, p4, p6}, Lcom/google/protobuf/i;->f(Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I

    move-result p3

    .line 2
    iget-object v0, p6, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    invoke-interface {p5, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    :goto_9
    if-ge p3, p4, :cond_1e

    .line 3
    invoke-static {p2, p3, p6}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result v0

    .line 4
    iget v1, p6, Lcom/google/protobuf/i$b;->a:I

    if-eq p1, v1, :cond_14

    goto :goto_1e

    .line 5
    :cond_14
    invoke-static {p0, p2, v0, p4, p6}, Lcom/google/protobuf/i;->f(Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I

    move-result p3

    .line 6
    iget-object v0, p6, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    invoke-interface {p5, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_9

    :cond_1e
    :goto_1e
    return p3
.end method

.method public static h([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/j;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget v0, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr v0, p1

    :goto_9
    if-ge p1, v0, :cond_1e

    .line 4
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 5
    iget-wide v1, p3, Lcom/google/protobuf/i$b;->b:J

    const-wide/16 v3, 0x0

    cmp-long v5, v1, v3

    if-eqz v5, :cond_19

    const/4 v1, 0x1

    goto :goto_1a

    :cond_19
    const/4 v1, 0x0

    :goto_1a
    invoke-virtual {p2, v1}, Lcom/google/protobuf/j;->b(Z)V

    goto :goto_9

    :cond_1e
    if-ne p1, v0, :cond_21

    return p1

    .line 6
    :cond_21
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static i([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/u;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget p3, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr p3, p1

    :goto_9
    if-ge p1, p3, :cond_19

    .line 4
    invoke-static {p0, p1}, Lcom/google/protobuf/i;->d([BI)J

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D

    move-result-wide v0

    .line 5
    invoke-virtual {p2, v0, v1}, Lcom/google/protobuf/u;->b(D)V

    add-int/lit8 p1, p1, 0x8

    goto :goto_9

    :cond_19
    if-ne p1, p3, :cond_1c

    return p1

    .line 6
    :cond_1c
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static j([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/r0;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget p3, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr p3, p1

    :goto_9
    if-ge p1, p3, :cond_15

    .line 4
    invoke-static {p0, p1}, Lcom/google/protobuf/i;->c([BI)I

    move-result v0

    invoke-virtual {p2, v0}, Lcom/google/protobuf/r0;->b(I)V

    add-int/lit8 p1, p1, 0x4

    goto :goto_9

    :cond_15
    if-ne p1, p3, :cond_18

    return p1

    .line 5
    :cond_18
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static k([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/b1;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget p3, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr p3, p1

    :goto_9
    if-ge p1, p3, :cond_15

    .line 4
    invoke-static {p0, p1}, Lcom/google/protobuf/i;->d([BI)J

    move-result-wide v0

    invoke-virtual {p2, v0, v1}, Lcom/google/protobuf/b1;->b(J)V

    add-int/lit8 p1, p1, 0x8

    goto :goto_9

    :cond_15
    if-ne p1, p3, :cond_18

    return p1

    .line 5
    :cond_18
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static l([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/n0;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget p3, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr p3, p1

    :goto_9
    if-ge p1, p3, :cond_19

    .line 4
    invoke-static {p0, p1}, Lcom/google/protobuf/i;->c([BI)I

    move-result v0

    invoke-static {v0}, Ljava/lang/Float;->intBitsToFloat(I)F

    move-result v0

    .line 5
    invoke-virtual {p2, v0}, Lcom/google/protobuf/n0;->b(F)V

    add-int/lit8 p1, p1, 0x4

    goto :goto_9

    :cond_19
    if-ne p1, p3, :cond_1c

    return p1

    .line 6
    :cond_1c
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static m([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/r0;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget v0, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr v0, p1

    :goto_9
    if-ge p1, v0, :cond_19

    .line 4
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 5
    iget v1, p3, Lcom/google/protobuf/i$b;->a:I

    invoke-static {v1}, Lcom/google/protobuf/m;->c(I)I

    move-result v1

    invoke-virtual {p2, v1}, Lcom/google/protobuf/r0;->b(I)V

    goto :goto_9

    :cond_19
    if-ne p1, v0, :cond_1c

    return p1

    .line 6
    :cond_1c
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static n([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/b1;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget v0, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr v0, p1

    :goto_9
    if-ge p1, v0, :cond_19

    .line 4
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 5
    iget-wide v1, p3, Lcom/google/protobuf/i$b;->b:J

    invoke-static {v1, v2}, Lcom/google/protobuf/m;->d(J)J

    move-result-wide v1

    invoke-virtual {p2, v1, v2}, Lcom/google/protobuf/b1;->b(J)V

    goto :goto_9

    :cond_19
    if-ne p1, v0, :cond_1c

    return p1

    .line 6
    :cond_1c
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static o([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/r0;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget v0, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr v0, p1

    :goto_9
    if-ge p1, v0, :cond_15

    .line 4
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 5
    iget v1, p3, Lcom/google/protobuf/i$b;->a:I

    invoke-virtual {p2, v1}, Lcom/google/protobuf/r0;->b(I)V

    goto :goto_9

    :cond_15
    if-ne p1, v0, :cond_18

    return p1

    .line 6
    :cond_18
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static p([BILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([BI",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    check-cast p2, Lcom/google/protobuf/b1;

    .line 2
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iget v0, p3, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr v0, p1

    :goto_9
    if-ge p1, v0, :cond_15

    .line 4
    invoke-static {p0, p1, p3}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 5
    iget-wide v1, p3, Lcom/google/protobuf/i$b;->b:J

    invoke-virtual {p2, v1, v2}, Lcom/google/protobuf/b1;->b(J)V

    goto :goto_9

    :cond_15
    if-ne p1, v0, :cond_18

    return p1

    .line 6
    :cond_18
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static q([BILcom/google/protobuf/i$b;)I
    .registers 6
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/protobuf/t0;
        }
    .end annotation

    .line 1
    invoke-static {p0, p1, p2}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 2
    iget v0, p2, Lcom/google/protobuf/i$b;->a:I

    if-ltz v0, :cond_1a

    if-nez v0, :cond_f

    const-string p0, ""

    .line 3
    iput-object p0, p2, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p1

    .line 4
    :cond_f
    new-instance v1, Ljava/lang/String;

    sget-object v2, Lcom/google/protobuf/s0;->a:Ljava/nio/charset/Charset;

    invoke-direct {v1, p0, p1, v0, v2}, Ljava/lang/String;-><init>([BIILjava/nio/charset/Charset;)V

    iput-object v1, p2, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    add-int/2addr p1, v0

    return p1

    .line 5
    :cond_1a
    invoke-static {}, Lcom/google/protobuf/t0;->f()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static r([BILcom/google/protobuf/i$b;)I
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/protobuf/t0;
        }
    .end annotation

    .line 1
    invoke-static {p0, p1, p2}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 2
    iget v0, p2, Lcom/google/protobuf/i$b;->a:I

    if-ltz v0, :cond_17

    if-nez v0, :cond_f

    const-string p0, ""

    .line 3
    iput-object p0, p2, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p1

    .line 4
    :cond_f
    invoke-static {p0, p1, v0}, Lcom/google/protobuf/o3;->c([BII)Ljava/lang/String;

    move-result-object p0

    iput-object p0, p2, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    add-int/2addr p1, v0

    return p1

    .line 5
    :cond_17
    invoke-static {}, Lcom/google/protobuf/t0;->f()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static s(I[BIILcom/google/protobuf/j3;Lcom/google/protobuf/i$b;)I
    .registers 15
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/protobuf/t0;
        }
    .end annotation

    ushr-int/lit8 v0, p0, 0x3

    if-eqz v0, :cond_9b

    and-int/lit8 v0, p0, 0x7

    if-eqz v0, :cond_8d

    const/4 v1, 0x1

    if-eq v0, v1, :cond_7f

    const/4 v1, 0x2

    if-eq v0, v1, :cond_58

    const/4 v1, 0x3

    if-eq v0, v1, :cond_27

    const/4 p3, 0x5

    if-ne v0, p3, :cond_22

    .line 1
    invoke-static {p1, p2}, Lcom/google/protobuf/i;->c([BI)I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    invoke-virtual {p4, p0, p1}, Lcom/google/protobuf/j3;->f(ILjava/lang/Object;)V

    add-int/lit8 p2, p2, 0x4

    return p2

    .line 2
    :cond_22
    invoke-static {}, Lcom/google/protobuf/t0;->b()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    .line 3
    :cond_27
    new-instance v6, Lcom/google/protobuf/j3;

    invoke-direct {v6}, Lcom/google/protobuf/j3;-><init>()V

    and-int/lit8 v0, p0, -0x8

    or-int/lit8 v7, v0, 0x4

    const/4 v0, 0x0

    :goto_31
    if-ge p2, p3, :cond_4b

    .line 4
    invoke-static {p1, p2, p5}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result v2

    .line 5
    iget p2, p5, Lcom/google/protobuf/i$b;->a:I

    if-ne p2, v7, :cond_3e

    move v0, p2

    move p2, v2

    goto :goto_4b

    :cond_3e
    move v0, p2

    move-object v1, p1

    move v3, p3

    move-object v4, v6

    move-object v5, p5

    .line 6
    invoke-static/range {v0 .. v5}, Lcom/google/protobuf/i;->s(I[BIILcom/google/protobuf/j3;Lcom/google/protobuf/i$b;)I

    move-result v0

    move v8, v0

    move v0, p2

    move p2, v8

    goto :goto_31

    :cond_4b
    :goto_4b
    if-gt p2, p3, :cond_53

    if-ne v0, v7, :cond_53

    .line 7
    invoke-virtual {p4, p0, v6}, Lcom/google/protobuf/j3;->f(ILjava/lang/Object;)V

    return p2

    .line 8
    :cond_53
    invoke-static {}, Lcom/google/protobuf/t0;->g()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    .line 9
    :cond_58
    invoke-static {p1, p2, p5}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 10
    iget p3, p5, Lcom/google/protobuf/i$b;->a:I

    if-ltz p3, :cond_7a

    .line 11
    array-length p5, p1

    sub-int/2addr p5, p2

    if-gt p3, p5, :cond_75

    if-nez p3, :cond_6c

    .line 12
    sget-object p1, Lcom/google/protobuf/l;->b:Lcom/google/protobuf/l$h;

    invoke-virtual {p4, p0, p1}, Lcom/google/protobuf/j3;->f(ILjava/lang/Object;)V

    goto :goto_73

    .line 13
    :cond_6c
    invoke-static {p1, p2, p3}, Lcom/google/protobuf/l;->e([BII)Lcom/google/protobuf/l;

    move-result-object p1

    invoke-virtual {p4, p0, p1}, Lcom/google/protobuf/j3;->f(ILjava/lang/Object;)V

    :goto_73
    add-int/2addr p2, p3

    return p2

    .line 14
    :cond_75
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    .line 15
    :cond_7a
    invoke-static {}, Lcom/google/protobuf/t0;->f()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    .line 16
    :cond_7f
    invoke-static {p1, p2}, Lcom/google/protobuf/i;->d([BI)J

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object p1

    invoke-virtual {p4, p0, p1}, Lcom/google/protobuf/j3;->f(ILjava/lang/Object;)V

    add-int/lit8 p2, p2, 0x8

    return p2

    .line 17
    :cond_8d
    invoke-static {p1, p2, p5}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p1

    .line 18
    iget-wide p2, p5, Lcom/google/protobuf/i$b;->b:J

    invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object p2

    invoke-virtual {p4, p0, p2}, Lcom/google/protobuf/j3;->f(ILjava/lang/Object;)V

    return p1

    .line 19
    :cond_9b
    invoke-static {}, Lcom/google/protobuf/t0;->b()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static t(I[BILcom/google/protobuf/i$b;)I
    .registers 5

    and-int/lit8 p0, p0, 0x7f

    add-int/lit8 v0, p2, 0x1

    .line 1
    aget-byte p2, p1, p2

    if-ltz p2, :cond_e

    shl-int/lit8 p1, p2, 0x7

    or-int/2addr p0, p1

    .line 2
    iput p0, p3, Lcom/google/protobuf/i$b;->a:I

    return v0

    :cond_e
    and-int/lit8 p2, p2, 0x7f

    shl-int/lit8 p2, p2, 0x7

    or-int/2addr p0, p2

    add-int/lit8 p2, v0, 0x1

    .line 3
    aget-byte v0, p1, v0

    if-ltz v0, :cond_1f

    shl-int/lit8 p1, v0, 0xe

    or-int/2addr p0, p1

    .line 4
    iput p0, p3, Lcom/google/protobuf/i$b;->a:I

    return p2

    :cond_1f
    and-int/lit8 v0, v0, 0x7f

    shl-int/lit8 v0, v0, 0xe

    or-int/2addr p0, v0

    add-int/lit8 v0, p2, 0x1

    .line 5
    aget-byte p2, p1, p2

    if-ltz p2, :cond_30

    shl-int/lit8 p1, p2, 0x15

    or-int/2addr p0, p1

    .line 6
    iput p0, p3, Lcom/google/protobuf/i$b;->a:I

    return v0

    :cond_30
    and-int/lit8 p2, p2, 0x7f

    shl-int/lit8 p2, p2, 0x15

    or-int/2addr p0, p2

    add-int/lit8 p2, v0, 0x1

    .line 7
    aget-byte v0, p1, v0

    if-ltz v0, :cond_41

    shl-int/lit8 p1, v0, 0x1c

    or-int/2addr p0, p1

    .line 8
    iput p0, p3, Lcom/google/protobuf/i$b;->a:I

    return p2

    :cond_41
    and-int/lit8 v0, v0, 0x7f

    shl-int/lit8 v0, v0, 0x1c

    or-int/2addr p0, v0

    :goto_46
    add-int/lit8 v0, p2, 0x1

    .line 9
    aget-byte p2, p1, p2

    if-gez p2, :cond_4e

    move p2, v0

    goto :goto_46

    .line 10
    :cond_4e
    iput p0, p3, Lcom/google/protobuf/i$b;->a:I

    return v0
.end method

.method public static u([BILcom/google/protobuf/i$b;)I
    .registers 4

    add-int/lit8 v0, p1, 0x1

    .line 1
    aget-byte p1, p0, p1

    if-ltz p1, :cond_9

    .line 2
    iput p1, p2, Lcom/google/protobuf/i$b;->a:I

    return v0

    .line 3
    :cond_9
    invoke-static {p1, p0, v0, p2}, Lcom/google/protobuf/i;->t(I[BILcom/google/protobuf/i$b;)I

    move-result p0

    return p0
.end method

.method public static v(I[BIILcom/google/protobuf/s0$i;Lcom/google/protobuf/i$b;)I
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I[BII",
            "Lcom/google/protobuf/s0$i<",
            "*>;",
            "Lcom/google/protobuf/i$b;",
            ")I"
        }
    .end annotation

    .line 1
    check-cast p4, Lcom/google/protobuf/r0;

    .line 2
    invoke-static {p1, p2, p5}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 3
    iget v0, p5, Lcom/google/protobuf/i$b;->a:I

    invoke-virtual {p4, v0}, Lcom/google/protobuf/r0;->b(I)V

    :goto_b
    if-ge p2, p3, :cond_20

    .line 4
    invoke-static {p1, p2, p5}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result v0

    .line 5
    iget v1, p5, Lcom/google/protobuf/i$b;->a:I

    if-eq p0, v1, :cond_16

    goto :goto_20

    .line 6
    :cond_16
    invoke-static {p1, v0, p5}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 7
    iget v0, p5, Lcom/google/protobuf/i$b;->a:I

    invoke-virtual {p4, v0}, Lcom/google/protobuf/r0;->b(I)V

    goto :goto_b

    :cond_20
    :goto_20
    return p2
.end method

.method public static w([BILcom/google/protobuf/i$b;)I
    .registers 12

    add-int/lit8 v0, p1, 0x1

    .line 1
    aget-byte p1, p0, p1

    int-to-long v1, p1

    const-wide/16 v3, 0x0

    cmp-long p1, v1, v3

    if-ltz p1, :cond_e

    .line 2
    iput-wide v1, p2, Lcom/google/protobuf/i$b;->b:J

    return v0

    :cond_e
    const-wide/16 v3, 0x7f

    and-long/2addr v1, v3

    add-int/lit8 p1, v0, 0x1

    .line 3
    aget-byte v0, p0, v0

    and-int/lit8 v3, v0, 0x7f

    int-to-long v3, v3

    const/4 v5, 0x7

    shl-long/2addr v3, v5

    or-long/2addr v1, v3

    const/4 v3, 0x7

    :goto_1c
    if-gez v0, :cond_2c

    add-int/lit8 v0, p1, 0x1

    .line 4
    aget-byte p1, p0, p1

    add-int/2addr v3, v5

    and-int/lit8 v4, p1, 0x7f

    int-to-long v6, v4

    shl-long/2addr v6, v3

    or-long/2addr v1, v6

    move v8, v0

    move v0, p1

    move p1, v8

    goto :goto_1c

    .line 5
    :cond_2c
    iput-wide v1, p2, Lcom/google/protobuf/i$b;->b:J

    return p1
.end method

.method public static x(Ljava/lang/Object;Lcom/google/protobuf/o2;[BIIILcom/google/protobuf/i$b;)I
    .registers 14
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    move-object v0, p1

    check-cast v0, Lcom/google/protobuf/t1;

    move-object v1, p0

    move-object v2, p2

    move v3, p3

    move v4, p4

    move v5, p5

    move-object v6, p6

    .line 2
    invoke-virtual/range {v0 .. v6}, Lcom/google/protobuf/t1;->K(Ljava/lang/Object;[BIIILcom/google/protobuf/i$b;)I

    move-result p1

    .line 3
    iput-object p0, p6, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p1
.end method

.method public static y(Ljava/lang/Object;Lcom/google/protobuf/o2;[BIILcom/google/protobuf/i$b;)I
    .registers 12
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    add-int/lit8 v0, p3, 0x1

    .line 1
    aget-byte p3, p2, p3

    if-gez p3, :cond_c

    .line 2
    invoke-static {p3, p2, v0, p5}, Lcom/google/protobuf/i;->t(I[BILcom/google/protobuf/i$b;)I

    move-result v0

    .line 3
    iget p3, p5, Lcom/google/protobuf/i$b;->a:I

    :cond_c
    move v3, v0

    if-ltz p3, :cond_1e

    sub-int/2addr p4, v3

    if-gt p3, p4, :cond_1e

    add-int/2addr p3, v3

    move-object v0, p1

    move-object v1, p0

    move-object v2, p2

    move v4, p3

    move-object v5, p5

    .line 4
    invoke-interface/range {v0 .. v5}, Lcom/google/protobuf/o2;->d(Ljava/lang/Object;[BIILcom/google/protobuf/i$b;)V

    .line 5
    iput-object p0, p5, Lcom/google/protobuf/i$b;->c:Ljava/lang/Object;

    return p3

    .line 6
    :cond_1e
    invoke-static {}, Lcom/google/protobuf/t0;->i()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method

.method public static z(I[BIILcom/google/protobuf/i$b;)I
    .registers 7
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/protobuf/t0;
        }
    .end annotation

    ushr-int/lit8 v0, p0, 0x3

    if-eqz v0, :cond_4b

    and-int/lit8 v0, p0, 0x7

    if-eqz v0, :cond_46

    const/4 v1, 0x1

    if-eq v0, v1, :cond_43

    const/4 v1, 0x2

    if-eq v0, v1, :cond_3b

    const/4 v1, 0x3

    if-eq v0, v1, :cond_1c

    const/4 p0, 0x5

    if-ne v0, p0, :cond_17

    add-int/lit8 p2, p2, 0x4

    return p2

    .line 1
    :cond_17
    invoke-static {}, Lcom/google/protobuf/t0;->b()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    :cond_1c
    and-int/lit8 p0, p0, -0x8

    or-int/lit8 p0, p0, 0x4

    const/4 v0, 0x0

    :goto_21
    if-ge p2, p3, :cond_31

    .line 2
    invoke-static {p1, p2, p4}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p2

    .line 3
    iget v0, p4, Lcom/google/protobuf/i$b;->a:I

    if-ne v0, p0, :cond_2c

    goto :goto_31

    .line 4
    :cond_2c
    invoke-static {v0, p1, p2, p3, p4}, Lcom/google/protobuf/i;->z(I[BIILcom/google/protobuf/i$b;)I

    move-result p2

    goto :goto_21

    :cond_31
    :goto_31
    if-gt p2, p3, :cond_36

    if-ne v0, p0, :cond_36

    return p2

    .line 5
    :cond_36
    invoke-static {}, Lcom/google/protobuf/t0;->g()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0

    .line 6
    :cond_3b
    invoke-static {p1, p2, p4}, Lcom/google/protobuf/i;->u([BILcom/google/protobuf/i$b;)I

    move-result p0

    .line 7
    iget p1, p4, Lcom/google/protobuf/i$b;->a:I

    add-int/2addr p0, p1

    return p0

    :cond_43
    add-int/lit8 p2, p2, 0x8

    return p2

    .line 8
    :cond_46
    invoke-static {p1, p2, p4}, Lcom/google/protobuf/i;->w([BILcom/google/protobuf/i$b;)I

    move-result p0

    return p0

    .line 9
    :cond_4b
    invoke-static {}, Lcom/google/protobuf/t0;->b()Lcom/google/protobuf/t0;

    move-result-object p0

    throw p0
.end method