final class io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher<T> implements org.reactivestreams.Publisher<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher
  super_class: java.lang.Object
{
  private final java.util.concurrent.atomic.AtomicReference<io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber<T>> curr;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplaySubscriber<TT;>;>;

  private final java.util.concurrent.Callable<? extends io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer<T>> bufferFactory;
    descriptor: Ljava/util/concurrent/Callable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/Callable<+Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer<TT;>;>;

  void <init>(java.util.concurrent.atomic.AtomicReference<io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber<T>>, java.util.concurrent.Callable<? extends io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer<T>>);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/Callable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher this
        start local 1 // java.util.concurrent.atomic.AtomicReference curr
        start local 2 // java.util.concurrent.Callable bufferFactory
         0: .line 1206
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1207
            aload 0 /* this */
            aload 1 /* curr */
            putfield io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher.curr:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 1208
            aload 0 /* this */
            aload 2 /* bufferFactory */
            putfield io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher.bufferFactory:Ljava/util/concurrent/Callable;
         3: .line 1209
            return
        end local 2 // java.util.concurrent.Callable bufferFactory
        end local 1 // java.util.concurrent.atomic.AtomicReference curr
        end local 0 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayPublisher<TT;>;
            0    4     1           curr  Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplaySubscriber<TT;>;>;
            0    4     2  bufferFactory  Ljava/util/concurrent/Callable<+Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer<TT;>;>;
    Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplaySubscriber<TT;>;>;Ljava/util/concurrent/Callable<+Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer<TT;>;>;)V
    MethodParameters:
               Name  Flags
      curr           
      bufferFactory  

  public void subscribe(org.reactivestreams.Subscriber<? super T>);
    descriptor: (Lorg/reactivestreams/Subscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher this
        start local 1 // org.reactivestreams.Subscriber child
         0: .line 1217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher.curr:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber
            astore 2 /* r */
        start local 2 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber r
         1: .line 1219
            aload 2 /* r */
            ifnonnull 12
         2: .line 1223
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher.bufferFactory:Ljava/util/concurrent/Callable;
            invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer
            astore 3 /* buf */
        start local 3 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer buf
         3: .line 1224
            goto 8
        end local 3 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer buf
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher org.reactivestreams.Subscriber io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber
      StackMap stack: java.lang.Throwable
         4: astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         5: .line 1225
            aload 4 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
         6: .line 1226
            aload 4 /* ex */
            aload 1 /* child */
            invokestatic io.reactivex.internal.subscriptions.EmptySubscription.error:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;)V
         7: .line 1227
            return
        end local 4 // java.lang.Throwable ex
        start local 3 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer buf
         8: .line 1230
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer
      StackMap stack:
            new io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber
            dup
            aload 3 /* buf */
            invokespecial io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber.<init>:(Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer;)V
            astore 4 /* u */
        start local 4 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber u
         9: .line 1232
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher.curr:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 4 /* u */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 11
        10: .line 1235
            goto 0
        11: .line 1238
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber
      StackMap stack:
            aload 4 /* u */
            astore 2 /* r */
        end local 4 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber u
        end local 3 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer buf
        12: .line 1242
      StackMap locals:
      StackMap stack:
            new io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription
            dup
            aload 2 /* r */
            aload 1 /* child */
            invokespecial io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription.<init>:(Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplaySubscriber;Lorg/reactivestreams/Subscriber;)V
            astore 3 /* inner */
        start local 3 // io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription inner
        13: .line 1247
            aload 1 /* child */
            aload 3 /* inner */
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
        14: .line 1251
            aload 2 /* r */
            aload 3 /* inner */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber.add:(Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;)Z
            pop
        15: .line 1253
            aload 3 /* inner */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription.isDisposed:()Z
            ifeq 18
        16: .line 1254
            aload 2 /* r */
            aload 3 /* inner */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber.remove:(Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;)V
        17: .line 1255
            return
        18: .line 1258
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription
      StackMap stack:
            aload 2 /* r */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber.manageRequests:()V
        19: .line 1261
            aload 2 /* r */
            getfield io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber.buffer:Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer;
            aload 3 /* inner */
            invokeinterface io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer.replay:(Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;)V
        end local 3 // io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription inner
        end local 2 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber r
        20: .line 1265
            return
        end local 1 // org.reactivestreams.Subscriber child
        end local 0 // io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayPublisher<TT;>;
            0   21     1  child  Lorg/reactivestreams/Subscriber<-TT;>;
            1   20     2      r  Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplaySubscriber<TT;>;
            3    4     3    buf  Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer<TT;>;
            8   12     3    buf  Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer<TT;>;
            5    8     4     ex  Ljava/lang/Throwable;
            9   12     4      u  Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplaySubscriber<TT;>;
           13   20     3  inner  Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription<TT;>;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    Signature: (Lorg/reactivestreams/Subscriber<-TT;>;)V
    MethodParameters:
       Name  Flags
      child  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/reactivestreams/Publisher<TT;>;
SourceFile: "FlowableReplay.java"
NestHost: io.reactivex.internal.operators.flowable.FlowableReplay
InnerClasses:
  final InnerSubscription = io.reactivex.internal.operators.flowable.FlowableReplay$InnerSubscription of io.reactivex.internal.operators.flowable.FlowableReplay
  abstract ReplayBuffer = io.reactivex.internal.operators.flowable.FlowableReplay$ReplayBuffer of io.reactivex.internal.operators.flowable.FlowableReplay
  final ReplayPublisher = io.reactivex.internal.operators.flowable.FlowableReplay$ReplayPublisher of io.reactivex.internal.operators.flowable.FlowableReplay
  final ReplaySubscriber = io.reactivex.internal.operators.flowable.FlowableReplay$ReplaySubscriber of io.reactivex.internal.operators.flowable.FlowableReplay