l.smali

.class final Lcom/google/protobuf/l;
.super Lcom/google/protobuf/CodedOutputStream;
.source "CodedOutputStream.java"


# instance fields
.field private final buffer:[B

.field private final limit:I

.field private position:I


# direct methods
.method constructor <init>([BI)V
    .registers 8

    .prologue
    const/4 v4, 0x0

    .line 1142
    invoke-direct {p0, v4}, Lcom/google/protobuf/CodedOutputStream;-><init>(B)V

    .line 1143
    if-nez p1, :cond_e

    .line 1144
    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "buffer"

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1146
    :cond_e
    or-int/lit8 v0, p2, 0x0

    array-length v1, p1

    sub-int/2addr v1, p2

    or-int/2addr v0, v1

    if-gez v0, :cond_39

    .line 1147
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "Array range is invalid. Buffer.length=%d, offset=%d, length=%d"

    const/4 v2, 0x3

    new-array v2, v2, [Ljava/lang/Object;

    array-length v3, p1

    .line 1149
    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    aput-object v3, v2, v4

    const/4 v3, 0x1

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

    move-result-object v4

    aput-object v4, v2, v3

    const/4 v3, 0x2

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

    move-result-object v4

    aput-object v4, v2, v3

    .line 1147
    invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1151
    :cond_39
    iput-object p1, p0, Lcom/google/protobuf/l;->buffer:[B

    .line 1153
    iput v4, p0, Lcom/google/protobuf/l;->position:I

    .line 1154
    iput p2, p0, Lcom/google/protobuf/l;->limit:I

    .line 1155
    return-void
.end method

.method private write([BII)V
    .registers 10

    .prologue
    .line 1405
    :try_start_0
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    invoke-static {p1, p2, v0, v1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 1406
    iget v0, p0, Lcom/google/protobuf/l;->position:I

    add-int/2addr v0, p3

    iput v0, p0, Lcom/google/protobuf/l;->position:I
    :try_end_c
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_0 .. :try_end_c} :catch_d

    .line 1410
    return-void

    .line 1407
    :catch_d
    move-exception v0

    .line 1408
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    const-string v2, "Pos: %d, limit: %d, len: %d"

    const/4 v3, 0x3

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget v5, p0, Lcom/google/protobuf/l;->position:I

    .line 1409
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    const/4 v4, 0x1

    iget v5, p0, Lcom/google/protobuf/l;->limit:I

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

    move-result-object v5

    aput-object v5, v3, v4

    const/4 v4, 0x2

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

    move-result-object v5

    aput-object v5, v3, v4

    invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
.end method


# virtual methods
.method public final Be()I
    .registers 3

    .prologue
    .line 1476
    iget v0, p0, Lcom/google/protobuf/l;->limit:I

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    sub-int/2addr v0, v1

    return v0
.end method

.method public final a(ILcom/google/protobuf/ByteString;)V
    .registers 4

    .prologue
    .line 1206
    const/4 v0, 0x2

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1207
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->c(Lcom/google/protobuf/ByteString;)V

    .line 1208
    return-void
.end method

.method public final a(ILcom/google/protobuf/MessageLite;)V
    .registers 4

    .prologue
    .line 1258
    const/4 v0, 0x2

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1259
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->a(Lcom/google/protobuf/MessageLite;)V

    .line 1260
    return-void
.end method

.method public final a(Lcom/google/protobuf/MessageLite;)V
    .registers 3

    .prologue
    .line 1282
    invoke-interface {p1}, Lcom/google/protobuf/MessageLite;->getSerializedSize()I

    move-result v0

    invoke-virtual {p0, v0}, Lcom/google/protobuf/l;->dy(I)V

    .line 1283
    invoke-interface {p1, p0}, Lcom/google/protobuf/MessageLite;->writeTo(Lcom/google/protobuf/CodedOutputStream;)V

    .line 1284
    return-void
.end method

.method public final ag(II)V
    .registers 4

    .prologue
    .line 1170
    const/4 v0, 0x0

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1171
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->dy(I)V

    .line 1172
    return-void
.end method

.method public final an(II)V
    .registers 4

    .prologue
    .line 1164
    const/4 v0, 0x0

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1165
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->dx(I)V

    .line 1166
    return-void
.end method

.method public final ao(II)V
    .registers 4

    .prologue
    .line 1176
    const/4 v0, 0x5

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1177
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->dz(I)V

    .line 1178
    return-void
.end method

.method public final b(B)V
    .registers 9

    .prologue
    const/4 v6, 0x1

    .line 1289
    :try_start_1
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    aput-byte p1, v0, v1
    :try_end_b
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_1 .. :try_end_b} :catch_c

    .line 1293
    return-void

    .line 1290
    :catch_c
    move-exception v0

    .line 1291
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    const-string v2, "Pos: %d, limit: %d, len: %d"

    const/4 v3, 0x3

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget v5, p0, Lcom/google/protobuf/l;->position:I

    .line 1292
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    iget v4, p0, Lcom/google/protobuf/l;->limit:I

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

    move-result-object v4

    aput-object v4, v3, v6

    const/4 v4, 0x2

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

    move-result-object v5

    aput-object v5, v3, v4

    invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
.end method

.method public final b(IJ)V
    .registers 6

    .prologue
    .line 1182
    const/4 v0, 0x0

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1183
    invoke-virtual {p0, p2, p3}, Lcom/google/protobuf/l;->v(J)V

    .line 1184
    return-void
.end method

.method public final b(ILcom/google/protobuf/ByteString;)V
    .registers 6

    .prologue
    const/4 v2, 0x3

    const/4 v1, 0x1

    .line 1274
    invoke-virtual {p0, v1, v2}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1275
    const/4 v0, 0x2

    invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/l;->ag(II)V

    .line 1276
    invoke-virtual {p0, v2, p2}, Lcom/google/protobuf/l;->a(ILcom/google/protobuf/ByteString;)V

    .line 1277
    const/4 v0, 0x4

    invoke-virtual {p0, v1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1278
    return-void
.end method

.method public final b(ILcom/google/protobuf/MessageLite;)V
    .registers 6

    .prologue
    const/4 v2, 0x3

    const/4 v1, 0x1

    .line 1265
    invoke-virtual {p0, v1, v2}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1266
    const/4 v0, 0x2

    invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/l;->ag(II)V

    .line 1267
    invoke-virtual {p0, v2, p2}, Lcom/google/protobuf/l;->a(ILcom/google/protobuf/MessageLite;)V

    .line 1268
    const/4 v0, 0x4

    invoke-virtual {p0, v1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1269
    return-void
.end method

.method public final c(Lcom/google/protobuf/ByteString;)V
    .registers 3

    .prologue
    .line 1233
    invoke-virtual {p1}, Lcom/google/protobuf/ByteString;->size()I

    move-result v0

    invoke-virtual {p0, v0}, Lcom/google/protobuf/l;->dy(I)V

    .line 1234
    invoke-virtual {p1, p0}, Lcom/google/protobuf/ByteString;->writeTo(Lcom/google/protobuf/d;)V

    .line 1235
    return-void
.end method

.method public final d(IJ)V
    .registers 6

    .prologue
    .line 1188
    const/4 v0, 0x1

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1189
    invoke-virtual {p0, p2, p3}, Lcom/google/protobuf/l;->w(J)V

    .line 1190
    return-void
.end method

.method public final d([BII)V
    .registers 4

    .prologue
    .line 1415
    invoke-direct {p0, p1, p2, p3}, Lcom/google/protobuf/l;->write([BII)V

    .line 1416
    return-void
.end method

.method public final dx(I)V
    .registers 4

    .prologue
    .line 1298
    if-ltz p1, :cond_6

    .line 1299
    invoke-virtual {p0, p1}, Lcom/google/protobuf/l;->dy(I)V

    .line 1304
    :goto_5
    return-void

    .line 1302
    :cond_6
    int-to-long v0, p1

    invoke-virtual {p0, v0, v1}, Lcom/google/protobuf/l;->v(J)V

    goto :goto_5
.end method

.method public final dy(I)V
    .registers 9

    .prologue
    const/4 v6, 0x1

    .line 3057
    sget-boolean v0, Lcom/google/protobuf/CodedOutputStream;->bin:Z

    .line 1308
    if-eqz v0, :cond_4c

    invoke-virtual {p0}, Lcom/google/protobuf/l;->Be()I

    move-result v0

    const/16 v1, 0xa

    if-lt v0, v1, :cond_4c

    .line 4057
    sget-wide v0, Lcom/google/protobuf/CodedOutputStream;->bio:J

    .line 1309
    iget v2, p0, Lcom/google/protobuf/l;->position:I

    int-to-long v2, v2

    add-long/2addr v0, v2

    .line 1311
    :goto_13
    and-int/lit8 v2, p1, -0x80

    if-nez v2, :cond_24

    .line 1312
    iget-object v2, p0, Lcom/google/protobuf/l;->buffer:[B

    int-to-byte v3, p1

    invoke-static {v2, v0, v1, v3}, Lcom/google/protobuf/ey;->a([BJB)V

    .line 1313
    iget v0, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/google/protobuf/l;->position:I

    .line 1326
    :goto_23
    return-void

    .line 1316
    :cond_24
    iget-object v4, p0, Lcom/google/protobuf/l;->buffer:[B

    const-wide/16 v2, 0x1

    add-long/2addr v2, v0

    and-int/lit8 v5, p1, 0x7f

    or-int/lit16 v5, v5, 0x80

    int-to-byte v5, v5

    invoke-static {v4, v0, v1, v5}, Lcom/google/protobuf/ey;->a([BJB)V

    .line 1317
    iget v0, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/google/protobuf/l;->position:I

    .line 1318
    ushr-int/lit8 p1, p1, 0x7

    move-wide v0, v2

    goto :goto_13

    .line 1328
    :cond_3b
    :try_start_3b
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    and-int/lit8 v2, p1, 0x7f

    or-int/lit16 v2, v2, 0x80

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1329
    ushr-int/lit8 p1, p1, 0x7

    .line 1324
    :cond_4c
    and-int/lit8 v0, p1, -0x80

    if-nez v0, :cond_3b

    .line 1325
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    int-to-byte v2, p1

    aput-byte v2, v0, v1
    :try_end_5b
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_3b .. :try_end_5b} :catch_5c

    goto :goto_23

    .line 1332
    :catch_5c
    move-exception v0

    .line 1333
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    const-string v2, "Pos: %d, limit: %d, len: %d"

    const/4 v3, 0x3

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget v5, p0, Lcom/google/protobuf/l;->position:I

    .line 1334
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    iget v4, p0, Lcom/google/protobuf/l;->limit:I

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

    move-result-object v4

    aput-object v4, v3, v6

    const/4 v4, 0x2

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

    move-result-object v5

    aput-object v5, v3, v4

    invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
.end method

.method public final dz(I)V
    .registers 9

    .prologue
    const/4 v6, 0x1

    .line 1342
    :try_start_1
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    int-to-byte v2, p1

    aput-byte v2, v0, v1

    .line 1343
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    shr-int/lit8 v2, p1, 0x8

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1344
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    shr-int/lit8 v2, p1, 0x10

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1345
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    shr-int/lit8 v2, p1, 0x18

    aput-byte v2, v0, v1
    :try_end_32
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_1 .. :try_end_32} :catch_33

    .line 1349
    return-void

    .line 1346
    :catch_33
    move-exception v0

    .line 1347
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    const-string v2, "Pos: %d, limit: %d, len: %d"

    const/4 v3, 0x3

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget v5, p0, Lcom/google/protobuf/l;->position:I

    .line 1348
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    iget v4, p0, Lcom/google/protobuf/l;->limit:I

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

    move-result-object v4

    aput-object v4, v3, v6

    const/4 v4, 0x2

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

    move-result-object v5

    aput-object v5, v3, v4

    invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
.end method

.method public final flush()V
    .registers 1

    .prologue
    .line 1472
    return-void
.end method

.method public final ft(Ljava/lang/String;)V
    .registers 7

    .prologue
    .line 1437
    iget v1, p0, Lcom/google/protobuf/l;->position:I

    .line 1441
    :try_start_2
    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v0

    mul-int/lit8 v0, v0, 0x3

    .line 1442
    invoke-static {v0}, Lcom/google/protobuf/l;->dD(I)I

    move-result v0

    .line 1443
    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v2

    invoke-static {v2}, Lcom/google/protobuf/l;->dD(I)I

    move-result v2

    .line 1444
    if-ne v2, v0, :cond_32

    .line 1445
    add-int v0, v1, v2

    iput v0, p0, Lcom/google/protobuf/l;->position:I

    .line 1446
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v3, p0, Lcom/google/protobuf/l;->position:I

    invoke-virtual {p0}, Lcom/google/protobuf/l;->Be()I

    move-result v4

    invoke-static {p1, v0, v3, v4}, Lcom/google/protobuf/Utf8;->a(Ljava/lang/CharSequence;[BII)I

    move-result v0

    .line 1449
    iput v1, p0, Lcom/google/protobuf/l;->position:I

    .line 1450
    sub-int v3, v0, v1

    sub-int v2, v3, v2

    .line 1451
    invoke-virtual {p0, v2}, Lcom/google/protobuf/l;->dy(I)V

    .line 1452
    iput v0, p0, Lcom/google/protobuf/l;->position:I

    .line 1466
    :goto_31
    return-void

    .line 1454
    :cond_32
    invoke-static {p1}, Lcom/google/protobuf/Utf8;->r(Ljava/lang/CharSequence;)I

    move-result v0

    .line 1455
    invoke-virtual {p0, v0}, Lcom/google/protobuf/l;->dy(I)V

    .line 1456
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v2, p0, Lcom/google/protobuf/l;->position:I

    invoke-virtual {p0}, Lcom/google/protobuf/l;->Be()I

    move-result v3

    invoke-static {p1, v0, v2, v3}, Lcom/google/protobuf/Utf8;->a(Ljava/lang/CharSequence;[BII)I

    move-result v0

    iput v0, p0, Lcom/google/protobuf/l;->position:I
    :try_end_47
    .catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_2 .. :try_end_47} :catch_48
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_2 .. :try_end_47} :catch_4f

    goto :goto_31

    .line 1458
    :catch_48
    move-exception v0

    .line 1460
    iput v1, p0, Lcom/google/protobuf/l;->position:I

    .line 1463
    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->a(Ljava/lang/String;Lcom/google/protobuf/Utf8$UnpairedSurrogateException;)V

    goto :goto_31

    .line 1464
    :catch_4f
    move-exception v0

    .line 1465
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    invoke-direct {v1, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/Throwable;)V

    throw v1
.end method

.method public final j(IZ)V
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 1194
    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1195
    if-eqz p2, :cond_7

    const/4 v0, 0x1

    :cond_7
    int-to-byte v0, v0

    invoke-virtual {p0, v0}, Lcom/google/protobuf/l;->b(B)V

    .line 1196
    return-void
.end method

.method public final k([BI)V
    .registers 4

    .prologue
    .line 1240
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->dy(I)V

    .line 1241
    const/4 v0, 0x0

    invoke-direct {p0, p1, v0, p2}, Lcom/google/protobuf/l;->write([BII)V

    .line 1242
    return-void
.end method

.method public final m(ILjava/lang/String;)V
    .registers 4

    .prologue
    .line 1200
    const/4 v0, 0x2

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/l;->writeTag(II)V

    .line 1201
    invoke-virtual {p0, p2}, Lcom/google/protobuf/l;->ft(Ljava/lang/String;)V

    .line 1202
    return-void
.end method

.method public final v(J)V
    .registers 16

    .prologue
    const-wide/16 v10, 0x0

    const-wide/16 v8, -0x80

    const/4 v7, 0x7

    const/4 v6, 0x1

    .line 5057
    sget-boolean v0, Lcom/google/protobuf/CodedOutputStream;->bin:Z

    .line 1354
    if-eqz v0, :cond_54

    invoke-virtual {p0}, Lcom/google/protobuf/l;->Be()I

    move-result v0

    const/16 v1, 0xa

    if-lt v0, v1, :cond_54

    .line 6057
    sget-wide v0, Lcom/google/protobuf/CodedOutputStream;->bio:J

    .line 1355
    iget v2, p0, Lcom/google/protobuf/l;->position:I

    int-to-long v2, v2

    add-long/2addr v0, v2

    .line 1357
    :goto_18
    and-long v2, p1, v8

    cmp-long v2, v2, v10

    if-nez v2, :cond_2c

    .line 1358
    iget-object v2, p0, Lcom/google/protobuf/l;->buffer:[B

    long-to-int v3, p1

    int-to-byte v3, v3

    invoke-static {v2, v0, v1, v3}, Lcom/google/protobuf/ey;->a([BJB)V

    .line 1359
    iget v0, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/google/protobuf/l;->position:I

    .line 1372
    :goto_2b
    return-void

    .line 1362
    :cond_2c
    iget-object v4, p0, Lcom/google/protobuf/l;->buffer:[B

    const-wide/16 v2, 0x1

    add-long/2addr v2, v0

    long-to-int v5, p1

    and-int/lit8 v5, v5, 0x7f

    or-int/lit16 v5, v5, 0x80

    int-to-byte v5, v5

    invoke-static {v4, v0, v1, v5}, Lcom/google/protobuf/ey;->a([BJB)V

    .line 1363
    iget v0, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/google/protobuf/l;->position:I

    .line 1364
    ushr-long/2addr p1, v7

    move-wide v0, v2

    goto :goto_18

    .line 1374
    :cond_43
    :try_start_43
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    long-to-int v2, p1

    and-int/lit8 v2, v2, 0x7f

    or-int/lit16 v2, v2, 0x80

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1375
    ushr-long/2addr p1, v7

    .line 1370
    :cond_54
    and-long v0, p1, v8

    cmp-long v0, v0, v10

    if-nez v0, :cond_43

    .line 1371
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    long-to-int v2, p1

    int-to-byte v2, v2

    aput-byte v2, v0, v1
    :try_end_66
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_43 .. :try_end_66} :catch_67

    goto :goto_2b

    .line 1378
    :catch_67
    move-exception v0

    .line 1379
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    const-string v2, "Pos: %d, limit: %d, len: %d"

    const/4 v3, 0x3

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget v5, p0, Lcom/google/protobuf/l;->position:I

    .line 1380
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    iget v4, p0, Lcom/google/protobuf/l;->limit:I

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

    move-result-object v4

    aput-object v4, v3, v6

    const/4 v4, 0x2

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

    move-result-object v5

    aput-object v5, v3, v4

    invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
.end method

.method public final w(J)V
    .registers 10

    .prologue
    const/4 v6, 0x1

    .line 1388
    :try_start_1
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    long-to-int v2, p1

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1389
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x8

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1390
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x10

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1391
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x18

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1392
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x20

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1393
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x28

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1394
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x30

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 1395
    iget-object v0, p0, Lcom/google/protobuf/l;->buffer:[B

    iget v1, p0, Lcom/google/protobuf/l;->position:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Lcom/google/protobuf/l;->position:I

    const/16 v2, 0x38

    shr-long v2, p1, v2

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, v0, v1
    :try_end_7d
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_1 .. :try_end_7d} :catch_7e

    .line 1399
    return-void

    .line 1396
    :catch_7e
    move-exception v0

    .line 1397
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    const-string v2, "Pos: %d, limit: %d, len: %d"

    const/4 v3, 0x3

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget v5, p0, Lcom/google/protobuf/l;->position:I

    .line 1398
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    iget v4, p0, Lcom/google/protobuf/l;->limit:I

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

    move-result-object v4

    aput-object v4, v3, v6

    const/4 v4, 0x2

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

    move-result-object v5

    aput-object v5, v3, v4

    invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
.end method

.method public final writeTag(II)V
    .registers 4

    .prologue
    .line 1159
    .line 2072
    shl-int/lit8 v0, p1, 0x3

    or-int/2addr v0, p2

    .line 1159
    invoke-virtual {p0, v0}, Lcom/google/protobuf/l;->dy(I)V

    .line 1160
    return-void
.end method