public final class org.springframework.http.ResponseCookie extends org.springframework.http.HttpCookie
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.springframework.http.ResponseCookie
  super_class: org.springframework.http.HttpCookie
{
  private final java.time.Duration maxAge;
    descriptor: Ljava/time/Duration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String domain;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final java.lang.String path;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final boolean secure;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean httpOnly;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sameSite;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private void <init>(java.lang.String, java.lang.String, java.time.Duration, java.lang.String, java.lang.String, boolean, boolean, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=9
        start local 0 // org.springframework.http.ResponseCookie this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
        start local 3 // java.time.Duration maxAge
        start local 4 // java.lang.String domain
        start local 5 // java.lang.String path
        start local 6 // boolean secure
        start local 7 // boolean httpOnly
        start local 8 // java.lang.String sameSite
         0: .line 60
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokespecial org.springframework.http.HttpCookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 61
            aload 3 /* maxAge */
            ldc "Max age must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 63
            aload 0 /* this */
            aload 3 /* maxAge */
            putfield org.springframework.http.ResponseCookie.maxAge:Ljava/time/Duration;
         3: .line 64
            aload 0 /* this */
            aload 4 /* domain */
            putfield org.springframework.http.ResponseCookie.domain:Ljava/lang/String;
         4: .line 65
            aload 0 /* this */
            aload 5 /* path */
            putfield org.springframework.http.ResponseCookie.path:Ljava/lang/String;
         5: .line 66
            aload 0 /* this */
            iload 6 /* secure */
            putfield org.springframework.http.ResponseCookie.secure:Z
         6: .line 67
            aload 0 /* this */
            iload 7 /* httpOnly */
            putfield org.springframework.http.ResponseCookie.httpOnly:Z
         7: .line 68
            aload 0 /* this */
            aload 8 /* sameSite */
            putfield org.springframework.http.ResponseCookie.sameSite:Ljava/lang/String;
         8: .line 70
            aload 1 /* name */
            invokestatic org.springframework.http.ResponseCookie$Rfc6265Utils.validateCookieName:(Ljava/lang/String;)V
         9: .line 71
            aload 2 /* value */
            invokestatic org.springframework.http.ResponseCookie$Rfc6265Utils.validateCookieValue:(Ljava/lang/String;)V
        10: .line 72
            aload 4 /* domain */
            invokestatic org.springframework.http.ResponseCookie$Rfc6265Utils.validateDomain:(Ljava/lang/String;)V
        11: .line 73
            aload 5 /* path */
            invokestatic org.springframework.http.ResponseCookie$Rfc6265Utils.validatePath:(Ljava/lang/String;)V
        12: .line 74
            return
        end local 8 // java.lang.String sameSite
        end local 7 // boolean httpOnly
        end local 6 // boolean secure
        end local 5 // java.lang.String path
        end local 4 // java.lang.String domain
        end local 3 // java.time.Duration maxAge
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/springframework/http/ResponseCookie;
            0   13     1      name  Ljava/lang/String;
            0   13     2     value  Ljava/lang/String;
            0   13     3    maxAge  Ljava/time/Duration;
            0   13     4    domain  Ljava/lang/String;
            0   13     5      path  Ljava/lang/String;
            0   13     6    secure  Z
            0   13     7  httpOnly  Z
            0   13     8  sameSite  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
        org.springframework.lang.Nullable()
      4:
        org.springframework.lang.Nullable()
      5:
      6:
      7:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      name      
      value     
      maxAge    
      domain    
      path      
      secure    
      httpOnly  
      sameSite  

  public java.time.Duration getMaxAge();
    descriptor: ()Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 85
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.maxAge:Ljava/time/Duration;
            areturn
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/ResponseCookie;

  public java.lang.String getDomain();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 93
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.domain:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/ResponseCookie;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 101
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.path:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/ResponseCookie;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public boolean isSecure();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 108
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.secure:Z
            ireturn
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/ResponseCookie;

  public boolean isHttpOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 116
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.httpOnly:Z
            ireturn
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/ResponseCookie;

  public java.lang.String getSameSite();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 128
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.sameSite:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/ResponseCookie;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.http.ResponseCookie this
        start local 1 // java.lang.Object other
         0: .line 134
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 135
            iconst_1
            ireturn
         2: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.springframework.http.ResponseCookie
            ifne 4
         3: .line 138
            iconst_0
            ireturn
         4: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.springframework.http.ResponseCookie
            astore 2 /* otherCookie */
        start local 2 // org.springframework.http.ResponseCookie otherCookie
         5: .line 141
            aload 0 /* this */
            invokevirtual org.springframework.http.ResponseCookie.getName:()Ljava/lang/String;
            aload 2 /* otherCookie */
            invokevirtual org.springframework.http.ResponseCookie.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 142
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.path:Ljava/lang/String;
            aload 2 /* otherCookie */
            invokevirtual org.springframework.http.ResponseCookie.getPath:()Ljava/lang/String;
            invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 9
         7: .line 143
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.domain:Ljava/lang/String;
            aload 2 /* otherCookie */
            invokevirtual org.springframework.http.ResponseCookie.getDomain:()Ljava/lang/String;
            invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 9
         8: .line 141
            iconst_1
            ireturn
      StackMap locals: org.springframework.http.ResponseCookie
      StackMap stack:
         9: iconst_0
            ireturn
        end local 2 // org.springframework.http.ResponseCookie otherCookie
        end local 1 // java.lang.Object other
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/http/ResponseCookie;
            0   10     1        other  Ljava/lang/Object;
            5   10     2  otherCookie  Lorg/springframework/http/ResponseCookie;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 148
            aload 0 /* this */
            invokespecial org.springframework.http.HttpCookie.hashCode:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 149
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.domain:Ljava/lang/String;
            invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* result */
         2: .line 150
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.path:Ljava/lang/String;
            invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* result */
         3: .line 151
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/springframework/http/ResponseCookie;
            1    4     1  result  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.springframework.http.ResponseCookie this
         0: .line 156
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 157
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.springframework.http.ResponseCookie.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.springframework.http.ResponseCookie.getValue:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 158
            aload 0 /* this */
            invokevirtual org.springframework.http.ResponseCookie.getPath:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 159
            aload 1 /* sb */
            ldc "; Path="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.springframework.http.ResponseCookie.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 161
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.domain:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 162
            aload 1 /* sb */
            ldc "; Domain="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.domain:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.maxAge:Ljava/time/Duration;
            invokevirtual java.time.Duration.isNegative:()Z
            ifne 13
         7: .line 165
            aload 1 /* sb */
            ldc "; Max-Age="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.maxAge:Ljava/time/Duration;
            invokevirtual java.time.Duration.getSeconds:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         8: .line 166
            aload 1 /* sb */
            ldc "; Expires="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 167
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.maxAge:Ljava/time/Duration;
            invokevirtual java.time.Duration.getSeconds:()J
            lconst_0
            lcmp
            ifle 10
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.maxAge:Ljava/time/Duration;
            invokevirtual java.time.Duration.toMillis:()J
            ladd
            goto 11
      StackMap locals:
      StackMap stack:
        10: lconst_0
      StackMap locals:
      StackMap stack: long
        11: lstore 2 /* millis */
        start local 2 // long millis
        12: .line 168
            aload 1 /* sb */
            lload 2 /* millis */
            invokestatic org.springframework.http.HttpHeaders.formatDate:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // long millis
        13: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.secure:Z
            ifeq 15
        14: .line 171
            aload 1 /* sb */
            ldc "; Secure"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.httpOnly:Z
            ifeq 17
        16: .line 174
            aload 1 /* sb */
            ldc "; HttpOnly"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.sameSite:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 177
            aload 1 /* sb */
            ldc "; SameSite="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.springframework.http.ResponseCookie.sameSite:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.springframework.http.ResponseCookie this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lorg/springframework/http/ResponseCookie;
            1   20     1      sb  Ljava/lang/StringBuilder;
           12   13     2  millis  J

  public static org.springframework.http.ResponseCookie$ResponseCookieBuilder from(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseCookie$ResponseCookieBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String value
         0: .line 191
            aload 0 /* name */
            aload 1 /* value */
            iconst_0
            invokestatic org.springframework.http.ResponseCookie.from:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/springframework/http/ResponseCookie$ResponseCookieBuilder;
            areturn
        end local 1 // java.lang.String value
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  public static org.springframework.http.ResponseCookie$ResponseCookieBuilder fromClientResponse(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseCookie$ResponseCookieBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String value
         0: .line 205
            aload 0 /* name */
            aload 1 /* value */
            iconst_1
            invokestatic org.springframework.http.ResponseCookie.from:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/springframework/http/ResponseCookie$ResponseCookieBuilder;
            areturn
        end local 1 // java.lang.String value
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  private static org.springframework.http.ResponseCookie$ResponseCookieBuilder from(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/springframework/http/ResponseCookie$ResponseCookieBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String value
        start local 2 // boolean lenient
         0: .line 211
            new org.springframework.http.ResponseCookie$1
            dup
            iload 2 /* lenient */
            aload 0 /* name */
            aload 1 /* value */
            invokespecial org.springframework.http.ResponseCookie$1.<init>:(ZLjava/lang/String;Ljava/lang/String;)V
            areturn
        end local 2 // boolean lenient
        end local 1 // java.lang.String value
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     name  Ljava/lang/String;
            0    1     1    value  Ljava/lang/String;
            0    1     2  lenient  Z
    MethodParameters:
         Name  Flags
      name     final
      value    final
      lenient  
}
SourceFile: "ResponseCookie.java"
NestMembers:
  org.springframework.http.ResponseCookie$1  org.springframework.http.ResponseCookie$ResponseCookieBuilder  org.springframework.http.ResponseCookie$Rfc6265Utils
InnerClasses:
  org.springframework.http.ResponseCookie$1
  public abstract ResponseCookieBuilder = org.springframework.http.ResponseCookie$ResponseCookieBuilder of org.springframework.http.ResponseCookie
  private Rfc6265Utils = org.springframework.http.ResponseCookie$Rfc6265Utils of org.springframework.http.ResponseCookie