UnicastSubject.smali
.class public final Lio/reactivex/subjects/UnicastSubject;
.super Lio/reactivex/subjects/b;
.source "UnicastSubject.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lio/reactivex/subjects/b",
"<TT;>;"
}
.end annotation
# instance fields
.field final actual:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Lio/reactivex/r",
"<-TT;>;>;"
}
.end annotation
.end field
.field private bTO:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field final bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/observers/BasicIntQueueDisposable",
"<TT;>;"
}
.end annotation
.end field
.field bTQ:Z
.field private delayError:Z
.field volatile disposed:Z
.field private volatile done:Z
.field private error:Ljava/lang/Throwable;
.field private once:Ljava/util/concurrent/atomic/AtomicBoolean;
.field final queue:Lio/reactivex/internal/queue/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/queue/a",
"<TT;>;"
}
.end annotation
.end field
# direct methods
.method private constructor <init>(I)V
.registers 4
.prologue
.line 259
invoke-direct {p0}, Lio/reactivex/subjects/b;-><init>()V
.line 260
new-instance v0, Lio/reactivex/internal/queue/a;
const-string v1, "capacityHint"
invoke-static {p1, v1}, Lio/reactivex/internal/functions/aj;->q(ILjava/lang/String;)I
move-result v1
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/a;-><init>(I)V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/a;
.line 261
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTO:Ljava/util/concurrent/atomic/AtomicReference;
.line 262
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->delayError:Z
.line 263
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
.line 264
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 265
new-instance v0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;
invoke-direct {v0, p0}, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;-><init>(Lio/reactivex/subjects/UnicastSubject;)V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
.line 266
return-void
.end method
.method private constructor <init>(ILjava/lang/Runnable;)V
.registers 5
.prologue
.line 288
invoke-direct {p0}, Lio/reactivex/subjects/b;-><init>()V
.line 289
new-instance v0, Lio/reactivex/internal/queue/a;
const-string v1, "capacityHint"
invoke-static {p1, v1}, Lio/reactivex/internal/functions/aj;->q(ILjava/lang/String;)I
move-result v1
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/a;-><init>(I)V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/a;
.line 290
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
const-string v1, "onTerminate"
invoke-static {p2, v1}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTO:Ljava/util/concurrent/atomic/AtomicReference;
.line 291
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->delayError:Z
.line 292
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
.line 293
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 294
new-instance v0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;
invoke-direct {v0, p0}, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;-><init>(Lio/reactivex/subjects/UnicastSubject;)V
iput-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
.line 295
return-void
.end method
.method public static Qj()Lio/reactivex/subjects/UnicastSubject;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">()",
"Lio/reactivex/subjects/UnicastSubject",
"<TT;>;"
}
.end annotation
.prologue
.line 184
new-instance v0, Lio/reactivex/subjects/UnicastSubject;
invoke-static {}, Lio/reactivex/subjects/UnicastSubject;->bufferSize()I
move-result v1
invoke-direct {v0, v1}, Lio/reactivex/subjects/UnicastSubject;-><init>(I)V
return-object v0
.end method
.method public static a(ILjava/lang/Runnable;)Lio/reactivex/subjects/UnicastSubject;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(I",
"Ljava/lang/Runnable;",
")",
"Lio/reactivex/subjects/UnicastSubject",
"<TT;>;"
}
.end annotation
.prologue
.line 212
new-instance v0, Lio/reactivex/subjects/UnicastSubject;
invoke-direct {v0, p0, p1}, Lio/reactivex/subjects/UnicastSubject;-><init>(ILjava/lang/Runnable;)V
return-object v0
.end method
.method private a(Lio/reactivex/r;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 446
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 447
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->error:Ljava/lang/Throwable;
.line 448
if-eqz v0, :cond_e
.line 449
invoke-interface {p1, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
.line 453
:goto_d
return-void
.line 451
:cond_e
invoke-interface {p1}, Lio/reactivex/r;->onComplete()V
goto :goto_d
.end method
.method private a(Lio/reactivex/internal/a/g;Lio/reactivex/r;)Z
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/a/g",
"<TT;>;",
"Lio/reactivex/r",
"<-TT;>;)Z"
}
.end annotation
.prologue
.line 456
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->error:Ljava/lang/Throwable;
.line 457
if-eqz v0, :cond_12
.line 458
iget-object v1, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v2, 0x0
invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 459
invoke-interface {p1}, Lio/reactivex/internal/a/g;->clear()V
.line 460
invoke-interface {p2, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
.line 461
const/4 v0, 0x1
.line 463
:goto_11
return v0
:cond_12
const/4 v0, 0x0
goto :goto_11
.end method
.method private drain()V
.registers 12
.prologue
const/4 v10, 0x0
const/4 v2, 0x0
const/4 v1, 0x1
.line 468
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
invoke-virtual {v0}, Lio/reactivex/internal/observers/BasicIntQueueDisposable;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_c
.line 2392
:cond_b
:goto_b
return-void
.line 472
:cond_c
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/r;
move-object v6, v0
move v0, v1
.line 477
:goto_16
if-eqz v6, :cond_9a
.line 478
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTQ:Z
if-eqz v0, :cond_51
.line 1413
iget-object v3, p0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/a;
.line 1414
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->delayError:Z
if-nez v0, :cond_30
move v0, v1
.line 1418
:cond_23
:goto_23
iget-boolean v2, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v2, :cond_32
.line 1419
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0, v10}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 1420
invoke-virtual {v3}, Lio/reactivex/internal/queue/a;->clear()V
goto :goto_b
:cond_30
move v0, v2
.line 1414
goto :goto_23
.line 1423
:cond_32
iget-boolean v2, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
.line 1425
if-eqz v0, :cond_3e
if-eqz v2, :cond_3e
.line 1426
invoke-direct {p0, v3, v6}, Lio/reactivex/subjects/UnicastSubject;->a(Lio/reactivex/internal/a/g;Lio/reactivex/r;)Z
move-result v4
if-nez v4, :cond_b
.line 1431
:cond_3e
invoke-interface {v6, v10}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
.line 1433
if-eqz v2, :cond_47
.line 1434
invoke-direct {p0, v6}, Lio/reactivex/subjects/UnicastSubject;->a(Lio/reactivex/r;)V
goto :goto_b
.line 1438
:cond_47
iget-object v2, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
neg-int v1, v1
invoke-virtual {v2, v1}, Lio/reactivex/internal/observers/BasicIntQueueDisposable;->addAndGet(I)I
move-result v1
.line 1439
if-nez v1, :cond_23
goto :goto_b
.line 2365
:cond_51
iget-object v7, p0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/a;
.line 2366
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->delayError:Z
if-nez v0, :cond_67
move v0, v1
:goto_58
move v3, v1
move v4, v1
.line 2371
:cond_5a
:goto_5a
iget-boolean v5, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v5, :cond_69
.line 2372
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0, v10}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 2373
invoke-interface {v7}, Lio/reactivex/internal/a/g;->clear()V
goto :goto_b
:cond_67
move v0, v2
.line 2366
goto :goto_58
.line 2377
:cond_69
iget-boolean v8, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
.line 2378
iget-object v5, p0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/a;
invoke-virtual {v5}, Lio/reactivex/internal/queue/a;->poll()Ljava/lang/Object;
move-result-object v9
.line 2379
if-nez v9, :cond_87
move v5, v1
.line 2381
:goto_74
if-eqz v8, :cond_89
.line 2382
if-eqz v0, :cond_81
if-eqz v3, :cond_81
.line 2383
invoke-direct {p0, v7, v6}, Lio/reactivex/subjects/UnicastSubject;->a(Lio/reactivex/internal/a/g;Lio/reactivex/r;)Z
move-result v3
if-nez v3, :cond_b
move v3, v2
.line 2390
:cond_81
if-eqz v5, :cond_89
.line 2391
invoke-direct {p0, v6}, Lio/reactivex/subjects/UnicastSubject;->a(Lio/reactivex/r;)V
goto :goto_b
:cond_87
move v5, v2
.line 2379
goto :goto_74
.line 2396
:cond_89
if-nez v5, :cond_8f
.line 2400
invoke-interface {v6, v9}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
goto :goto_5a
.line 2403
:cond_8f
iget-object v5, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
neg-int v4, v4
invoke-virtual {v5, v4}, Lio/reactivex/internal/observers/BasicIntQueueDisposable;->addAndGet(I)I
move-result v4
.line 2404
if-nez v4, :cond_5a
goto/16 :goto_b
.line 486
:cond_9a
iget-object v3, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
neg-int v0, v0
invoke-virtual {v3, v0}, Lio/reactivex/internal/observers/BasicIntQueueDisposable;->addAndGet(I)I
move-result v3
.line 487
if-eqz v3, :cond_b
.line 491
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/r;
move-object v6, v0
move v0, v3
goto/16 :goto_16
.end method
.method public static fj(I)Lio/reactivex/subjects/UnicastSubject;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(I)",
"Lio/reactivex/subjects/UnicastSubject",
"<TT;>;"
}
.end annotation
.prologue
.line 195
new-instance v0, Lio/reactivex/subjects/UnicastSubject;
invoke-direct {v0, p0}, Lio/reactivex/subjects/UnicastSubject;-><init>(I)V
return-object v0
.end method
# virtual methods
.method final Qk()V
.registers 4
.prologue
.line 313
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTO:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Runnable;
.line 314
if-eqz v0, :cond_16
iget-object v1, p0, Lio/reactivex/subjects/UnicastSubject;->bTO:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v2, 0x0
invoke-virtual {v1, v0, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_16
.line 315
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
.line 317
:cond_16
return-void
.end method
.method public final onComplete()V
.registers 2
.prologue
.line 353
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
if-nez v0, :cond_8
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v0, :cond_9
.line 361
:cond_8
:goto_8
return-void
.line 356
:cond_9
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
.line 358
invoke-virtual {p0}, Lio/reactivex/subjects/UnicastSubject;->Qk()V
.line 360
invoke-direct {p0}, Lio/reactivex/subjects/UnicastSubject;->drain()V
goto :goto_8
.end method
.method public final onError(Ljava/lang/Throwable;)V
.registers 3
.prologue
.line 338
const-string v0, "onError called with null. Null values are generally not allowed in 2.x operators and sources."
invoke-static {p1, v0}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 339
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
if-nez v0, :cond_d
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v0, :cond_11
.line 340
:cond_d
invoke-static {p1}, Lio/reactivex/d/a;->onError(Ljava/lang/Throwable;)V
.line 349
:goto_10
return-void
.line 343
:cond_11
iput-object p1, p0, Lio/reactivex/subjects/UnicastSubject;->error:Ljava/lang/Throwable;
.line 344
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
.line 346
invoke-virtual {p0}, Lio/reactivex/subjects/UnicastSubject;->Qk()V
.line 348
invoke-direct {p0}, Lio/reactivex/subjects/UnicastSubject;->drain()V
goto :goto_10
.end method
.method public final onNext(Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.prologue
.line 328
const-string v0, "onNext called with null. Null values are generally not allowed in 2.x operators and sources."
invoke-static {p1, v0}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 329
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
if-nez v0, :cond_d
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v0, :cond_e
.line 334
:cond_d
:goto_d
return-void
.line 332
:cond_e
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/a;
invoke-virtual {v0, p1}, Lio/reactivex/internal/queue/a;->offer(Ljava/lang/Object;)Z
.line 333
invoke-direct {p0}, Lio/reactivex/subjects/UnicastSubject;->drain()V
goto :goto_d
.end method
.method public final onSubscribe(Lio/reactivex/disposables/b;)V
.registers 3
.prologue
.line 321
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->done:Z
if-nez v0, :cond_8
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v0, :cond_b
.line 322
:cond_8
invoke-interface {p1}, Lio/reactivex/disposables/b;->dispose()V
.line 324
:cond_b
return-void
.end method
.method protected final subscribeActual(Lio/reactivex/r;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TT;>;)V"
}
.end annotation
.prologue
.line 299
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_2b
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_2b
.line 300
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->bTP:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
invoke-interface {p1, v0}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
.line 301
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 302
iget-boolean v0, p0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z
if-eqz v0, :cond_27
.line 303
iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
.line 310
:goto_26
return-void
.line 306
:cond_27
invoke-direct {p0}, Lio/reactivex/subjects/UnicastSubject;->drain()V
goto :goto_26
.line 308
:cond_2b
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Only a single observer allowed."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
invoke-static {v0, p1}, Lio/reactivex/internal/disposables/EmptyDisposable;->error(Ljava/lang/Throwable;Lio/reactivex/r;)V
goto :goto_26
.end method