.class public final La0/c0/f/k; .super Ljava/lang/Object; .source "Http2Reader.kt" # interfaces .implements Ljava/io/Closeable; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { La0/c0/f/k$b;, La0/c0/f/k$c;, La0/c0/f/k$a; } .end annotation # static fields .field public static final h:Ljava/util/logging/Logger; .field public static final i:La0/c0/f/k$a; # instance fields .field public final d:La0/c0/f/k$b; .field public final e:La0/c0/f/d$a; .field public final f:Lb0/g; .field public final g:Z # direct methods .method public static constructor ()V .locals 2 new-instance v0, La0/c0/f/k$a; const/4 v1, 0x0 invoke-direct {v0, v1}, La0/c0/f/k$a;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, La0/c0/f/k;->i:La0/c0/f/k$a; const-class v0, La0/c0/f/e; invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger; move-result-object v0 const-string v1, "Logger.getLogger(Http2::class.java.name)" invoke-static {v0, v1}, Lw/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V sput-object v0, La0/c0/f/k;->h:Ljava/util/logging/Logger; return-void .end method .method public constructor (Lb0/g;Z)V .locals 3 const-string v0, "source" invoke-static {p1, v0}, Lw/u/b/j;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, La0/c0/f/k;->f:Lb0/g; iput-boolean p2, p0, La0/c0/f/k;->g:Z new-instance p1, La0/c0/f/k$b; iget-object p2, p0, La0/c0/f/k;->f:Lb0/g; invoke-direct {p1, p2}, La0/c0/f/k$b;->(Lb0/g;)V iput-object p1, p0, La0/c0/f/k;->d:La0/c0/f/k$b; new-instance p1, La0/c0/f/d$a; iget-object p2, p0, La0/c0/f/k;->d:La0/c0/f/k$b; const/16 v0, 0x1000 const/4 v1, 0x0 const/4 v2, 0x4 invoke-direct {p1, p2, v0, v1, v2}, La0/c0/f/d$a;->(Lb0/w;III)V iput-object p1, p0, La0/c0/f/k;->e:La0/c0/f/d$a; return-void .end method # virtual methods .method public final a(IIII)Ljava/util/List; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(IIII)", "Ljava/util/List<", "La0/c0/f/c;", ">;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, La0/c0/f/k;->d:La0/c0/f/k$b; iput p1, v0, La0/c0/f/k$b;->g:I iget p1, v0, La0/c0/f/k$b;->g:I iput p1, v0, La0/c0/f/k$b;->d:I iput p2, v0, La0/c0/f/k$b;->h:I iput p3, v0, La0/c0/f/k$b;->e:I iput p4, v0, La0/c0/f/k$b;->f:I iget-object p1, p0, La0/c0/f/k;->e:La0/c0/f/d$a; :cond_0 :goto_0 iget-object p2, p1, La0/c0/f/d$a;->b:Lb0/g; invoke-interface {p2}, Lb0/g;->q()Z move-result p2 if-nez p2, :cond_d iget-object p2, p1, La0/c0/f/d$a;->b:Lb0/g; invoke-interface {p2}, Lb0/g;->readByte()B move-result p2 const/16 p3, 0xff invoke-static {p2, p3}, La0/c0/a;->a(BI)I move-result p2 const/16 p3, 0x80 if-eq p2, p3, :cond_c and-int/lit16 p4, p2, 0x80 const/4 v0, -0x1 if-ne p4, p3, :cond_4 const/16 p3, 0x7f invoke-virtual {p1, p2, p3}, La0/c0/f/d$a;->a(II)I move-result p2 add-int/2addr p2, v0 invoke-virtual {p1, p2}, La0/c0/f/d$a;->d(I)Z move-result p3 if-eqz p3, :cond_1 sget-object p3, La0/c0/f/d;->c:La0/c0/f/d; invoke-virtual {p3}, La0/c0/f/d;->b()[La0/c0/f/c; move-result-object p3 aget-object p2, p3, p2 iget-object p3, p1, La0/c0/f/d$a;->a:Ljava/util/List; invoke-interface {p3, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_1 sget-object p3, La0/c0/f/d;->c:La0/c0/f/d; invoke-virtual {p3}, La0/c0/f/d;->b()[La0/c0/f/c; move-result-object p3 array-length p3, p3 sub-int p3, p2, p3 invoke-virtual {p1, p3}, La0/c0/f/d$a;->a(I)I move-result p3 if-ltz p3, :cond_3 iget-object p4, p1, La0/c0/f/d$a;->c:[La0/c0/f/c; array-length v0, p4 if-ge p3, v0, :cond_3 iget-object p2, p1, La0/c0/f/d$a;->a:Ljava/util/List; aget-object p3, p4, p3 if-eqz p3, :cond_2 invoke-interface {p2, p3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_2 invoke-static {}, Lw/u/b/j;->throwNpe()V const/4 p1, 0x0 throw p1 :cond_3 new-instance p1, Ljava/io/IOException; const-string p3, "Header index too large " invoke-static {p3}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 add-int/lit8 p2, p2, 0x1 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 :cond_4 const/16 p3, 0x40 if-ne p2, p3, :cond_5 sget-object p2, La0/c0/f/d;->c:La0/c0/f/d; invoke-virtual {p1}, La0/c0/f/d$a;->b()Lokio/ByteString; move-result-object p3 invoke-virtual {p2, p3}, La0/c0/f/d;->a(Lokio/ByteString;)Lokio/ByteString; invoke-virtual {p1}, La0/c0/f/d$a;->b()Lokio/ByteString; move-result-object p2 new-instance p4, La0/c0/f/c; invoke-direct {p4, p3, p2}, La0/c0/f/c;->(Lokio/ByteString;Lokio/ByteString;)V invoke-virtual {p1, v0, p4}, La0/c0/f/d$a;->a(ILa0/c0/f/c;)V goto/16 :goto_0 :cond_5 and-int/lit8 p4, p2, 0x40 if-ne p4, p3, :cond_6 const/16 p3, 0x3f invoke-virtual {p1, p2, p3}, La0/c0/f/d$a;->a(II)I move-result p2 add-int/2addr p2, v0 invoke-virtual {p1, p2}, La0/c0/f/d$a;->c(I)Lokio/ByteString; move-result-object p2 invoke-virtual {p1}, La0/c0/f/d$a;->b()Lokio/ByteString; move-result-object p3 new-instance p4, La0/c0/f/c; invoke-direct {p4, p2, p3}, La0/c0/f/c;->(Lokio/ByteString;Lokio/ByteString;)V invoke-virtual {p1, v0, p4}, La0/c0/f/d$a;->a(ILa0/c0/f/c;)V goto/16 :goto_0 :cond_6 and-int/lit8 p3, p2, 0x20 const/16 p4, 0x20 if-ne p3, p4, :cond_9 const/16 p3, 0x1f invoke-virtual {p1, p2, p3}, La0/c0/f/d$a;->a(II)I move-result p2 iput p2, p1, La0/c0/f/d$a;->h:I iget p2, p1, La0/c0/f/d$a;->h:I if-ltz p2, :cond_8 iget p3, p1, La0/c0/f/d$a;->g:I if-gt p2, p3, :cond_8 iget p3, p1, La0/c0/f/d$a;->f:I if-ge p2, p3, :cond_0 if-nez p2, :cond_7 invoke-virtual {p1}, La0/c0/f/d$a;->a()V goto/16 :goto_0 :cond_7 sub-int/2addr p3, p2 invoke-virtual {p1, p3}, La0/c0/f/d$a;->b(I)I goto/16 :goto_0 :cond_8 new-instance p2, Ljava/io/IOException; const-string p3, "Invalid dynamic table size update " invoke-static {p3}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 iget p1, p1, La0/c0/f/d$a;->h:I invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p2 :cond_9 const/16 p3, 0x10 if-eq p2, p3, :cond_b if-nez p2, :cond_a goto :goto_1 :cond_a const/16 p3, 0xf invoke-virtual {p1, p2, p3}, La0/c0/f/d$a;->a(II)I move-result p2 add-int/2addr p2, v0 invoke-virtual {p1, p2}, La0/c0/f/d$a;->c(I)Lokio/ByteString; move-result-object p2 invoke-virtual {p1}, La0/c0/f/d$a;->b()Lokio/ByteString; move-result-object p3 iget-object p4, p1, La0/c0/f/d$a;->a:Ljava/util/List; new-instance v0, La0/c0/f/c; invoke-direct {v0, p2, p3}, La0/c0/f/c;->(Lokio/ByteString;Lokio/ByteString;)V invoke-interface {p4, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto/16 :goto_0 :cond_b :goto_1 sget-object p2, La0/c0/f/d;->c:La0/c0/f/d; invoke-virtual {p1}, La0/c0/f/d$a;->b()Lokio/ByteString; move-result-object p3 invoke-virtual {p2, p3}, La0/c0/f/d;->a(Lokio/ByteString;)Lokio/ByteString; invoke-virtual {p1}, La0/c0/f/d$a;->b()Lokio/ByteString; move-result-object p2 iget-object p4, p1, La0/c0/f/d$a;->a:Ljava/util/List; new-instance v0, La0/c0/f/c; invoke-direct {v0, p3, p2}, La0/c0/f/c;->(Lokio/ByteString;Lokio/ByteString;)V invoke-interface {p4, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto/16 :goto_0 :cond_c new-instance p1, Ljava/io/IOException; const-string p2, "index == 0" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 :cond_d iget-object p1, p0, La0/c0/f/k;->e:La0/c0/f/d$a; iget-object p2, p1, La0/c0/f/d$a;->a:Ljava/util/List; invoke-static {p2}, Lw/q/l;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object p2 iget-object p1, p1, La0/c0/f/d$a;->a:Ljava/util/List; invoke-interface {p1}, Ljava/util/List;->clear()V return-object p2 .end method .method public final a(La0/c0/f/k$c;)V .locals 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation if-eqz p1, :cond_4 iget-boolean v0, p0, La0/c0/f/k;->g:Z const/4 v1, 0x1 if-eqz v0, :cond_1 invoke-virtual {p0, v1, p1}, La0/c0/f/k;->a(ZLa0/c0/f/k$c;)Z move-result p1 if-eqz p1, :cond_0 goto :goto_0 :cond_0 new-instance p1, Ljava/io/IOException; const-string v0, "Required SETTINGS preface not received" invoke-direct {p1, v0}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 :cond_1 iget-object p1, p0, La0/c0/f/k;->f:Lb0/g; sget-object v0, La0/c0/f/e;->a:Lokio/ByteString; invoke-virtual {v0}, Lokio/ByteString;->j()I move-result v0 int-to-long v2, v0 invoke-interface {p1, v2, v3}, Lb0/g;->d(J)Lokio/ByteString; move-result-object p1 sget-object v0, La0/c0/f/k;->h:Ljava/util/logging/Logger; sget-object v2, Ljava/util/logging/Level;->FINE:Ljava/util/logging/Level; invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z move-result v0 if-eqz v0, :cond_2 sget-object v0, La0/c0/f/k;->h:Ljava/util/logging/Logger; const-string v2, "<< CONNECTION " invoke-static {v2}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {p1}, Lokio/ByteString;->f()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 const/4 v3, 0x0 new-array v3, v3, [Ljava/lang/Object; invoke-static {v2, v3}, La0/c0/a;->a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V :cond_2 sget-object v0, La0/c0/f/e;->a:Lokio/ByteString; invoke-static {v0, p1}, Lw/u/b/j;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v0 xor-int/2addr v0, v1 if-nez v0, :cond_3 :goto_0 return-void :cond_3 new-instance v0, Ljava/io/IOException; const-string v1, "Expected a connection header but was " invoke-static {v1}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {p1}, Lokio/ByteString;->l()Ljava/lang/String; move-result-object p1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 :cond_4 const-string p1, "handler" invoke-static {p1}, Lw/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final a(La0/c0/f/k$c;I)V .locals 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v0}, Lb0/g;->readInt()I move-result v0 const-wide v1, 0x80000000L long-to-int v2, v1 and-int v1, v0, v2 const/4 v2, 0x1 if-eqz v1, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 const v3, 0x7fffffff and-int/2addr v0, v3 iget-object v3, p0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v3}, Lb0/g;->readByte()B move-result v3 const/16 v4, 0xff invoke-static {v3, v4}, La0/c0/a;->a(BI)I move-result v3 add-int/2addr v3, v2 check-cast p1, La0/c0/f/f$d; invoke-virtual {p1, p2, v0, v3, v1}, La0/c0/f/f$d;->a(IIIZ)V return-void .end method .method public final a(ZLa0/c0/f/k$c;)Z .locals 16 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p2 if-eqz v1, :cond_34 :try_start_0 iget-object v3, v0, La0/c0/f/k;->f:Lb0/g; const-wide/16 v4, 0x9 invoke-interface {v3, v4, v5}, Lb0/g;->g(J)V :try_end_0 .catch Ljava/io/EOFException; {:try_start_0 .. :try_end_0} :catch_1 iget-object v3, v0, La0/c0/f/k;->f:Lb0/g; invoke-static {v3}, La0/c0/a;->a(Lb0/g;)I move-result v3 const/16 v4, 0x4000 if-gt v3, v4, :cond_33 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readByte()B move-result v4 const/16 v10, 0xff and-int/lit16 v11, v4, 0xff const/4 v12, 0x4 if-eqz p1, :cond_1 if-ne v11, v12, :cond_0 goto :goto_0 :cond_0 new-instance v1, Ljava/io/IOException; const-string v2, "Expected a SETTINGS frame but was " invoke-static {v2, v11}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_1 :goto_0 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readByte()B move-result v4 and-int/lit16 v13, v4, 0xff iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readInt()I move-result v4 const v14, 0x7fffffff and-int v15, v4, v14 sget-object v4, La0/c0/f/k;->h:Ljava/util/logging/Logger; sget-object v5, Ljava/util/logging/Level;->FINE:Ljava/util/logging/Level; invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z move-result v4 if-eqz v4, :cond_2 sget-object v9, La0/c0/f/k;->h:Ljava/util/logging/Logger; sget-object v4, La0/c0/f/e;->e:La0/c0/f/e; const/4 v5, 0x1 move v6, v15 move v7, v3 move v8, v11 move-object v2, v9 move v9, v13 invoke-virtual/range {v4 .. v9}, La0/c0/f/e;->a(ZIIII)Ljava/lang/String; move-result-object v4 invoke-virtual {v2, v4}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V :cond_2 const-string v2, "OkHttp " const/4 v4, 0x5 const/16 v5, 0x8 const/4 v6, 0x1 packed-switch v11, :pswitch_data_0 iget-object v1, v0, La0/c0/f/k;->f:Lb0/g; int-to-long v2, v3 invoke-interface {v1, v2, v3}, Lb0/g;->skip(J)V goto/16 :goto_c :pswitch_0 if-ne v3, v12, :cond_4 iget-object v2, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v2}, Lb0/g;->readInt()I move-result v2 const-wide/32 v3, 0x7fffffff invoke-static {v2, v3, v4}, La0/c0/a;->a(IJ)J move-result-wide v2 const-wide/16 v4, 0x0 cmp-long v7, v2, v4 if-eqz v7, :cond_3 check-cast v1, La0/c0/f/f$d; invoke-virtual {v1, v15, v2, v3}, La0/c0/f/f$d;->a(IJ)V goto/16 :goto_c :cond_3 new-instance v1, Ljava/io/IOException; const-string v2, "windowSizeIncrement was 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_4 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_WINDOW_UPDATE length !=4: " invoke-static {v2, v3}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_1 if-lt v3, v5, :cond_8 if-nez v15, :cond_7 iget-object v2, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v2}, Lb0/g;->readInt()I move-result v2 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readInt()I move-result v4 sub-int/2addr v3, v5 sget-object v5, La0/c0/f/b;->k:La0/c0/f/b$a; invoke-virtual {v5, v4}, La0/c0/f/b$a;->a(I)La0/c0/f/b; move-result-object v5 if-eqz v5, :cond_6 sget-object v4, Lokio/ByteString;->f:Lokio/ByteString; if-lez v3, :cond_5 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; int-to-long v7, v3 invoke-interface {v4, v7, v8}, Lb0/g;->d(J)Lokio/ByteString; move-result-object v4 :cond_5 check-cast v1, La0/c0/f/f$d; invoke-virtual {v1, v2, v5, v4}, La0/c0/f/f$d;->a(ILa0/c0/f/b;Lokio/ByteString;)V goto/16 :goto_c :cond_6 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_GOAWAY unexpected error code: " invoke-static {v2, v4}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_7 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_GOAWAY streamId != 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_8 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_GOAWAY length < 8: " invoke-static {v2, v3}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_2 if-ne v3, v5, :cond_b if-nez v15, :cond_a iget-object v2, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v2}, Lb0/g;->readInt()I move-result v2 iget-object v3, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v3}, Lb0/g;->readInt()I move-result v3 and-int/lit8 v4, v13, 0x1 if-eqz v4, :cond_9 const/4 v4, 0x1 goto :goto_1 :cond_9 const/4 v4, 0x0 :goto_1 check-cast v1, La0/c0/f/f$d; invoke-virtual {v1, v4, v2, v3}, La0/c0/f/f$d;->a(ZII)V goto/16 :goto_c :cond_a new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_PING streamId != 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_b new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_PING length != 8: " invoke-static {v2, v3}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_3 if-eqz v15, :cond_e and-int/lit8 v2, v13, 0x8 if-eqz v2, :cond_c iget-object v2, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v2}, Lb0/g;->readByte()B move-result v2 invoke-static {v2, v10}, La0/c0/a;->a(BI)I move-result v2 goto :goto_2 :cond_c const/4 v2, 0x0 :goto_2 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readInt()I move-result v4 and-int/2addr v4, v14 sget-object v5, La0/c0/f/k;->i:La0/c0/f/k$a; add-int/lit8 v3, v3, -0x4 invoke-virtual {v5, v3, v13, v2}, La0/c0/f/k$a;->a(III)I move-result v3 invoke-virtual {v0, v3, v2, v13, v15}, La0/c0/f/k;->a(IIII)Ljava/util/List; move-result-object v2 check-cast v1, La0/c0/f/f$d; if-eqz v2, :cond_d iget-object v1, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-virtual {v1, v4, v2}, La0/c0/f/f;->a(ILjava/util/List;)V goto/16 :goto_c :cond_d const-string v1, "requestHeaders" invoke-static {v1}, Lw/u/b/j;->a(Ljava/lang/String;)V const/4 v1, 0x0 throw v1 :cond_e new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR: TYPE_PUSH_PROMISE streamId == 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_4 if-nez v15, :cond_1c and-int/lit8 v5, v13, 0x1 if-eqz v5, :cond_10 if-nez v3, :cond_f check-cast v1, La0/c0/f/f$d; invoke-virtual {v1}, La0/c0/f/f$d;->a()V goto/16 :goto_c :cond_f new-instance v1, Ljava/io/IOException; const-string v2, "FRAME_SIZE_ERROR ack frame should be empty!" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_10 rem-int/lit8 v5, v3, 0x6 if-nez v5, :cond_1b new-instance v5, La0/c0/f/q; invoke-direct {v5}, La0/c0/f/q;->()V const/4 v7, 0x0 invoke-static {v7, v3}, Lw/x/f;->until(II)Lkotlin/ranges/IntRange; move-result-object v3 const/4 v7, 0x6 invoke-static {v3, v7}, Lw/x/f;->step(Lkotlin/ranges/IntProgression;I)Lkotlin/ranges/IntProgression; move-result-object v3 invoke-virtual {v3}, Lkotlin/ranges/IntProgression;->getFirst()I move-result v7 invoke-virtual {v3}, Lkotlin/ranges/IntProgression;->getLast()I move-result v8 invoke-virtual {v3}, Lkotlin/ranges/IntProgression;->getStep()I move-result v3 if-ltz v3, :cond_11 if-gt v7, v8, :cond_1a goto :goto_3 :cond_11 if-lt v7, v8, :cond_1a :goto_3 iget-object v9, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v9}, Lb0/g;->readShort()S move-result v9 const v10, 0xffff invoke-static {v9, v10}, La0/c0/a;->a(SI)I move-result v9 iget-object v10, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v10}, Lb0/g;->readInt()I move-result v10 if-eq v9, v6, :cond_19 const/4 v11, 0x2 if-eq v9, v11, :cond_17 const/4 v11, 0x3 if-eq v9, v11, :cond_16 if-eq v9, v12, :cond_14 if-eq v9, v4, :cond_12 goto :goto_4 :cond_12 const/16 v11, 0x4000 if-lt v10, v11, :cond_13 const v11, 0xffffff if-gt v10, v11, :cond_13 goto :goto_4 :cond_13 new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR SETTINGS_MAX_FRAME_SIZE: " invoke-static {v2, v10}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_14 const/4 v9, 0x7 if-ltz v10, :cond_15 goto :goto_4 :cond_15 new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR SETTINGS_INITIAL_WINDOW_SIZE > 2^31 - 1" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_16 const/4 v9, 0x4 goto :goto_4 :cond_17 if-eqz v10, :cond_19 if-ne v10, v6, :cond_18 goto :goto_4 :cond_18 new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR SETTINGS_ENABLE_PUSH != 0 or 1" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_19 :goto_4 invoke-virtual {v5, v9, v10}, La0/c0/f/q;->a(II)La0/c0/f/q; if-eq v7, v8, :cond_1a add-int/2addr v7, v3 goto :goto_3 :cond_1a check-cast v1, La0/c0/f/f$d; iget-object v3, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-static {v3}, La0/c0/f/f;->a(La0/c0/f/f;)Ljava/util/concurrent/ScheduledThreadPoolExecutor; move-result-object v3 invoke-static {v2}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 iget-object v4, v1, La0/c0/f/f$d;->e:La0/c0/f/f; iget-object v4, v4, La0/c0/f/f;->g:Ljava/lang/String; const-string v7, " ACK Settings" invoke-static {v2, v4, v7}, Le/e/b/a/a;->a(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v2 :try_start_1 new-instance v4, La0/c0/f/g; const/4 v7, 0x0 invoke-direct {v4, v2, v1, v7, v5}, La0/c0/f/g;->(Ljava/lang/String;La0/c0/f/f$d;ZLa0/c0/f/q;)V invoke-interface {v3, v4}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V :try_end_1 .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_1 .. :try_end_1} :catch_0 goto/16 :goto_c :cond_1b new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_SETTINGS length % 6 != 0: " invoke-static {v2, v3}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_1c new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_SETTINGS streamId != 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_5 if-ne v3, v12, :cond_20 if-eqz v15, :cond_1f iget-object v3, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v3}, Lb0/g;->readInt()I move-result v3 sget-object v4, La0/c0/f/b;->k:La0/c0/f/b$a; invoke-virtual {v4, v3}, La0/c0/f/b$a;->a(I)La0/c0/f/b; move-result-object v4 if-eqz v4, :cond_1e check-cast v1, La0/c0/f/f$d; iget-object v3, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-virtual {v3, v15}, La0/c0/f/f;->b(I)Z move-result v3 if-eqz v3, :cond_1d iget-object v1, v1, La0/c0/f/f$d;->e:La0/c0/f/f; iget-boolean v3, v1, La0/c0/f/f;->j:Z if-nez v3, :cond_32 iget-object v3, v1, La0/c0/f/f;->l:Ljava/util/concurrent/ThreadPoolExecutor; invoke-static {v2}, Le/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 iget-object v5, v1, La0/c0/f/f;->g:Ljava/lang/String; invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, " Push Reset[" invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const/16 v5, 0x5d invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 new-instance v5, La0/c0/f/i; invoke-direct {v5, v2, v1, v15, v4}, La0/c0/f/i;->(Ljava/lang/String;La0/c0/f/f;ILa0/c0/f/b;)V invoke-interface {v3, v5}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V goto/16 :goto_c :cond_1d iget-object v1, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-virtual {v1, v15}, La0/c0/f/f;->c(I)La0/c0/f/l; move-result-object v1 if-eqz v1, :cond_32 invoke-virtual {v1, v4}, La0/c0/f/l;->b(La0/c0/f/b;)V goto/16 :goto_c :cond_1e new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_RST_STREAM unexpected error code: " invoke-static {v2, v3}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_1f new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_RST_STREAM streamId == 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_20 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_RST_STREAM length: " const-string v4, " != 4" invoke-static {v2, v3, v4}, Le/e/b/a/a;->a(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_6 if-ne v3, v4, :cond_22 if-eqz v15, :cond_21 invoke-virtual {v0, v1, v15}, La0/c0/f/k;->a(La0/c0/f/k$c;I)V goto/16 :goto_c :cond_21 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_PRIORITY streamId == 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_22 new-instance v1, Ljava/io/IOException; const-string v2, "TYPE_PRIORITY length: " const-string v4, " != 5" invoke-static {v2, v3, v4}, Le/e/b/a/a;->a(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_7 if-eqz v15, :cond_26 and-int/lit8 v2, v13, 0x1 if-eqz v2, :cond_23 const/4 v2, 0x1 goto :goto_5 :cond_23 const/4 v2, 0x0 :goto_5 and-int/lit8 v4, v13, 0x8 if-eqz v4, :cond_24 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readByte()B move-result v4 invoke-static {v4, v10}, La0/c0/a;->a(BI)I move-result v4 goto :goto_6 :cond_24 const/4 v4, 0x0 :goto_6 and-int/lit8 v5, v13, 0x20 if-eqz v5, :cond_25 invoke-virtual {v0, v1, v15}, La0/c0/f/k;->a(La0/c0/f/k$c;I)V add-int/lit8 v3, v3, -0x5 :cond_25 sget-object v5, La0/c0/f/k;->i:La0/c0/f/k$a; invoke-virtual {v5, v3, v13, v4}, La0/c0/f/k$a;->a(III)I move-result v3 invoke-virtual {v0, v3, v4, v13, v15}, La0/c0/f/k;->a(IIII)Ljava/util/List; move-result-object v3 const/4 v4, -0x1 check-cast v1, La0/c0/f/f$d; invoke-virtual {v1, v2, v15, v4, v3}, La0/c0/f/f$d;->a(ZIILjava/util/List;)V goto/16 :goto_c :cond_26 new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR: TYPE_HEADERS streamId == 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :pswitch_8 if-eqz v15, :cond_31 and-int/lit8 v2, v13, 0x1 if-eqz v2, :cond_27 const/4 v2, 0x1 goto :goto_7 :cond_27 const/4 v2, 0x0 :goto_7 and-int/lit8 v4, v13, 0x20 if-eqz v4, :cond_28 const/4 v4, 0x1 goto :goto_8 :cond_28 const/4 v4, 0x0 :goto_8 if-nez v4, :cond_30 and-int/lit8 v4, v13, 0x8 if-eqz v4, :cond_29 iget-object v4, v0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v4}, Lb0/g;->readByte()B move-result v4 invoke-static {v4, v10}, La0/c0/a;->a(BI)I move-result v4 goto :goto_9 :cond_29 const/4 v4, 0x0 :goto_9 sget-object v5, La0/c0/f/k;->i:La0/c0/f/k$a; invoke-virtual {v5, v3, v13, v4}, La0/c0/f/k$a;->a(III)I move-result v3 iget-object v5, v0, La0/c0/f/k;->f:Lb0/g; check-cast v1, La0/c0/f/f$d; if-eqz v5, :cond_2f iget-object v7, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-virtual {v7, v15}, La0/c0/f/f;->b(I)Z move-result v7 if-eqz v7, :cond_2a iget-object v1, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-virtual {v1, v15, v5, v3, v2}, La0/c0/f/f;->a(ILb0/g;IZ)V goto :goto_b :cond_2a iget-object v7, v1, La0/c0/f/f$d;->e:La0/c0/f/f; invoke-virtual {v7, v15}, La0/c0/f/f;->a(I)La0/c0/f/l; move-result-object v7 if-nez v7, :cond_2b iget-object v2, v1, La0/c0/f/f$d;->e:La0/c0/f/f; sget-object v7, La0/c0/f/b;->e:La0/c0/f/b; invoke-virtual {v2, v15, v7}, La0/c0/f/f;->a(ILa0/c0/f/b;)V iget-object v1, v1, La0/c0/f/f$d;->e:La0/c0/f/f; int-to-long v2, v3 invoke-virtual {v1, v2, v3}, La0/c0/f/f;->h(J)V invoke-interface {v5, v2, v3}, Lb0/g;->skip(J)V goto :goto_b :cond_2b invoke-static {v7}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z move-result v1 xor-int/2addr v1, v6 sget-boolean v8, Lw/p;->a:Z if-eqz v8, :cond_2d if-eqz v1, :cond_2c goto :goto_a :cond_2c new-instance v1, Ljava/lang/AssertionError; const-string v2, "Assertion failed" invoke-direct {v1, v2}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V throw v1 :cond_2d :goto_a iget-object v1, v7, La0/c0/f/l;->g:La0/c0/f/l$b; int-to-long v8, v3 invoke-virtual {v1, v5, v8, v9}, La0/c0/f/l$b;->a(Lb0/g;J)V if-eqz v2, :cond_2e sget-object v1, La0/c0/a;->b:Lokhttp3/Headers; invoke-virtual {v7, v1, v6}, La0/c0/f/l;->a(Lokhttp3/Headers;Z)V :cond_2e :goto_b iget-object v1, v0, La0/c0/f/k;->f:Lb0/g; int-to-long v2, v4 invoke-interface {v1, v2, v3}, Lb0/g;->skip(J)V goto :goto_c :cond_2f const-string v1, "source" invoke-static {v1}, Lw/u/b/j;->a(Ljava/lang/String;)V const/4 v1, 0x0 throw v1 :cond_30 new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR: FLAG_COMPRESSED without SETTINGS_COMPRESS_DATA" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :cond_31 new-instance v1, Ljava/io/IOException; const-string v2, "PROTOCOL_ERROR: TYPE_DATA streamId == 0" invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :catch_0 :cond_32 :goto_c return v6 :cond_33 new-instance v1, Ljava/io/IOException; const-string v2, "FRAME_SIZE_ERROR: " invoke-static {v2, v3}, Le/e/b/a/a;->a(Ljava/lang/String;I)Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 :catch_1 const/4 v1, 0x0 return v1 :cond_34 const-string v1, "handler" invoke-static {v1}, Lw/u/b/j;->a(Ljava/lang/String;)V const/4 v1, 0x0 throw v1 :pswitch_data_0 .packed-switch 0x0 :pswitch_8 :pswitch_7 :pswitch_6 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_2 :pswitch_1 :pswitch_0 .end packed-switch .end method .method public close()V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, La0/c0/f/k;->f:Lb0/g; invoke-interface {v0}, Lb0/w;->close()V return-void .end method