f.smali

.class public final Lcom/subgraph/orchid/directory/consensus/f;
.super Lcom/subgraph/orchid/directory/consensus/c;
.source "PreambleSectionParser.java"


# instance fields
.field private bJh:Z


# direct methods
.method constructor <init>(Lcom/subgraph/orchid/directory/a/b;Lcom/subgraph/orchid/directory/consensus/b;)V
    .registers 4

    .prologue
    .line 17
    invoke-direct {p0, p1, p2}, Lcom/subgraph/orchid/directory/consensus/c;-><init>(Lcom/subgraph/orchid/directory/a/b;Lcom/subgraph/orchid/directory/consensus/b;)V

    .line 14
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bJh:Z

    .line 18
    return-void
.end method

.method private NA()V
    .registers 6

    .prologue
    .line 125
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->ML()I

    move-result v1

    .line 126
    const/4 v0, 0x0

    :goto_7
    if-ge v0, v1, :cond_21

    .line 127
    iget-object v2, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v2}, Lcom/subgraph/orchid/directory/a/b;->Nb()Lcom/subgraph/orchid/directory/a/i;

    move-result-object v2

    .line 128
    iget-object v3, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    .line 5014
    iget-object v4, v2, Lcom/subgraph/orchid/directory/a/i;->name:Ljava/lang/String;

    .line 5018
    iget v2, v2, Lcom/subgraph/orchid/directory/a/i;->value:I

    .line 5075
    iget-object v3, v3, Lcom/subgraph/orchid/directory/consensus/b;->parameters:Ljava/util/Map;

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

    move-result-object v2

    invoke-interface {v3, v4, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 126
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 130
    :cond_21
    return-void
.end method

.method private b(Lcom/subgraph/orchid/directory/consensus/DocumentKeyword;)V
    .registers 6

    .prologue
    .line 42
    sget-object v0, Lcom/subgraph/orchid/directory/consensus/f$1;->bID:[I

    invoke-virtual {p1}, Lcom/subgraph/orchid/directory/consensus/DocumentKeyword;->ordinal()I

    move-result v1

    aget v0, v0, v1

    packed-switch v0, :pswitch_data_c8

    .line 92
    :cond_b
    :goto_b
    return-void

    .line 44
    :pswitch_c
    new-instance v0, Lcom/subgraph/orchid/TorParsingException;

    const-string v1, "Network status version may only appear on the first line of status document"

    invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 46
    :pswitch_14
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MJ()Ljava/lang/String;

    move-result-object v0

    .line 47
    const-string v1, "consensus"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_b

    .line 48
    new-instance v1, Lcom/subgraph/orchid/TorParsingException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Unexpected vote-status type: "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

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

    move-result-object v0

    invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 51
    :pswitch_37
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MP()I

    goto :goto_b

    .line 55
    :pswitch_3d
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    iget-object v1, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v1}, Lcom/subgraph/orchid/directory/a/b;->MS()Lcom/subgraph/orchid/d/f;

    move-result-object v1

    .line 3068
    iput-object v1, v0, Lcom/subgraph/orchid/directory/consensus/b;->bIF:Lcom/subgraph/orchid/d/f;

    goto :goto_b

    .line 59
    :pswitch_48
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    iget-object v1, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v1}, Lcom/subgraph/orchid/directory/a/b;->MS()Lcom/subgraph/orchid/d/f;

    move-result-object v1

    .line 3069
    iput-object v1, v0, Lcom/subgraph/orchid/directory/consensus/b;->bIG:Lcom/subgraph/orchid/d/f;

    goto :goto_b

    .line 63
    :pswitch_53
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    iget-object v1, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v1}, Lcom/subgraph/orchid/directory/a/b;->MS()Lcom/subgraph/orchid/d/f;

    move-result-object v1

    .line 3070
    iput-object v1, v0, Lcom/subgraph/orchid/directory/consensus/b;->bIH:Lcom/subgraph/orchid/d/f;

    goto :goto_b

    .line 67
    :pswitch_5e
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MP()I

    .line 68
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MP()I

    goto :goto_b

    .line 72
    :pswitch_69
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MJ()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/subgraph/orchid/directory/consensus/f;->hg(Ljava/lang/String;)Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_77
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_b

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 73
    iget-object v2, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    .line 4073
    iget-object v2, v2, Lcom/subgraph/orchid/directory/consensus/b;->bII:Ljava/util/Set;

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

    goto :goto_77

    .line 76
    :pswitch_8b
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MJ()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/subgraph/orchid/directory/consensus/f;->hg(Ljava/lang/String;)Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_99
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_b

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 77
    iget-object v2, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    .line 4074
    iget-object v2, v2, Lcom/subgraph/orchid/directory/consensus/b;->bIJ:Ljava/util/Set;

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

    goto :goto_99

    .line 80
    :goto_ad
    :pswitch_ad
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->ML()I

    move-result v0

    if-lez v0, :cond_b

    .line 81
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    iget-object v1, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v1}, Lcom/subgraph/orchid/directory/a/b;->MJ()Ljava/lang/String;

    move-result-object v1

    .line 4112
    iget-object v0, v0, Lcom/subgraph/orchid/directory/consensus/b;->bIK:Ljava/util/Set;

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

    goto :goto_ad

    .line 85
    :pswitch_c3
    invoke-direct {p0}, Lcom/subgraph/orchid/directory/consensus/f;->NA()V

    goto/16 :goto_b

    .line 42
    :pswitch_data_c8
    .packed-switch 0x1
        :pswitch_c
        :pswitch_14
        :pswitch_37
        :pswitch_3d
        :pswitch_48
        :pswitch_53
        :pswitch_5e
        :pswitch_69
        :pswitch_8b
        :pswitch_ad
        :pswitch_c3
    .end packed-switch
.end method

.method private static hg(Ljava/lang/String;)Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    .line 121
    const-string v0, ","

    invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method


# virtual methods
.method final Nx()Ljava/lang/String;
    .registers 2

    .prologue
    .line 21
    const-string v0, "dir-source"

    return-object v0
.end method

.method final Ny()Lcom/subgraph/orchid/directory/consensus/ConsensusDocumentParser$DocumentSection;
    .registers 2

    .prologue
    .line 29
    sget-object v0, Lcom/subgraph/orchid/directory/consensus/ConsensusDocumentParser$DocumentSection;->AUTHORITY:Lcom/subgraph/orchid/directory/consensus/ConsensusDocumentParser$DocumentSection;

    return-object v0
.end method

.method final a(Lcom/subgraph/orchid/directory/consensus/DocumentKeyword;)V
    .registers 6

    .prologue
    .line 34
    iget-boolean v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bJh:Z

    if-eqz v0, :cond_72

    .line 1095
    sget-object v0, Lcom/subgraph/orchid/directory/consensus/DocumentKeyword;->NETWORK_STATUS_VERSION:Lcom/subgraph/orchid/directory/consensus/DocumentKeyword;

    if-eq p1, v0, :cond_10

    .line 1096
    new-instance v0, Lcom/subgraph/orchid/TorParsingException;

    const-string v1, "network-status-version not found at beginning of consensus document as expected."

    invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1098
    :cond_10
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MP()I

    move-result v0

    .line 1100
    const/4 v1, 0x3

    if-eq v0, v1, :cond_2e

    .line 1101
    new-instance v1, Lcom/subgraph/orchid/TorParsingException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Unexpected consensus document version number: "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

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

    move-result-object v0

    invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 1103
    :cond_2e
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->ML()I

    move-result v0

    if-lez v0, :cond_4a

    .line 1110
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/b;->MJ()Ljava/lang/String;

    move-result-object v0

    .line 1111
    const-string v1, "ns"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_4e

    .line 1112
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    sget-object v1, Lcom/subgraph/orchid/ConsensusDocument$ConsensusFlavor;->NS:Lcom/subgraph/orchid/ConsensusDocument$ConsensusFlavor;

    .line 2066
    iput-object v1, v0, Lcom/subgraph/orchid/directory/consensus/b;->bIE:Lcom/subgraph/orchid/ConsensusDocument$ConsensusFlavor;

    .line 1106
    :cond_4a
    :goto_4a
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bJh:Z

    .line 39
    :goto_4d
    return-void

    .line 1113
    :cond_4e
    const-string v1, "microdesc"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_5d

    .line 1114
    iget-object v0, p0, Lcom/subgraph/orchid/directory/consensus/f;->bIX:Lcom/subgraph/orchid/directory/consensus/b;

    sget-object v1, Lcom/subgraph/orchid/ConsensusDocument$ConsensusFlavor;->MICRODESC:Lcom/subgraph/orchid/ConsensusDocument$ConsensusFlavor;

    .line 3066
    iput-object v1, v0, Lcom/subgraph/orchid/directory/consensus/b;->bIE:Lcom/subgraph/orchid/ConsensusDocument$ConsensusFlavor;

    goto :goto_4a

    .line 1116
    :cond_5d
    iget-object v1, p0, Lcom/subgraph/orchid/directory/consensus/f;->bEr:Lcom/subgraph/orchid/directory/a/b;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Unknown consensus flavor: "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

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

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/subgraph/orchid/directory/a/b;->hf(Ljava/lang/String;)V

    goto :goto_4a

    .line 37
    :cond_72
    invoke-direct {p0, p1}, Lcom/subgraph/orchid/directory/consensus/f;->b(Lcom/subgraph/orchid/directory/consensus/DocumentKeyword;)V

    goto :goto_4d
.end method

.method final getSection()Lcom/subgraph/orchid/directory/consensus/ConsensusDocumentParser$DocumentSection;
    .registers 2

    .prologue
    .line 25
    sget-object v0, Lcom/subgraph/orchid/directory/consensus/ConsensusDocumentParser$DocumentSection;->PREAMBLE:Lcom/subgraph/orchid/directory/consensus/ConsensusDocumentParser$DocumentSection;

    return-object v0
.end method