public abstract class jakarta.servlet.http.HttpServlet extends jakarta.servlet.GenericServlet
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jakarta.servlet.http.HttpServlet
  super_class: jakarta.servlet.GenericServlet
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final java.lang.String METHOD_DELETE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "DELETE"

  private static final java.lang.String METHOD_HEAD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "HEAD"

  private static final java.lang.String METHOD_GET;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "GET"

  private static final java.lang.String METHOD_OPTIONS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "OPTIONS"

  private static final java.lang.String METHOD_POST;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "POST"

  private static final java.lang.String METHOD_PUT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PUT"

  private static final java.lang.String METHOD_TRACE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "TRACE"

  private static final java.lang.String HEADER_IFMODSINCE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "If-Modified-Since"

  private static final java.lang.String HEADER_LASTMOD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Last-Modified"

  private static final java.lang.String LSTRING_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jakarta.servlet.http.LocalStrings"

  private static final java.util.ResourceBundle lStrings;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Object cachedAllowHeaderValueLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile java.lang.String cachedAllowHeaderValue;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 93
            ldc "jakarta.servlet.http.LocalStrings"
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
         1: .line 92
            putstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
         2: .line 93
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jakarta.servlet.http.HttpServlet this
         0: .line 102
            aload 0 /* this */
            invokespecial jakarta.servlet.GenericServlet.<init>:()V
         1: .line 95
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValueLock:Ljava/lang/Object;
         2: .line 96
            aload 0 /* this */
            aconst_null
            putfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValue:Ljava/lang/String;
         3: .line 104
            return
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljakarta/servlet/http/HttpServlet;

  protected void doGet(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 174
            getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
            ldc "http.method_get_not_supported"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 175
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            aload 3 /* msg */
            invokevirtual jakarta.servlet.http.HttpServlet.sendMethodNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/String;)V
         2: .line 176
            return
        end local 3 // java.lang.String msg
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljakarta/servlet/http/HttpServlet;
            0    3     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    3     2  resp  Ljakarta/servlet/http/HttpServletResponse;
            1    3     3   msg  Ljava/lang/String;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected long getLastModified(jakarta.servlet.http.HttpServletRequest);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
         0: .line 201
            ldc -1
            lreturn
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljakarta/servlet/http/HttpServlet;
            0    1     1   req  Ljakarta/servlet/http/HttpServletRequest;
    MethodParameters:
      Name  Flags
      req   

  protected void doHead(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 239
            getstatic jakarta.servlet.DispatcherType.INCLUDE:Ljakarta/servlet/DispatcherType;
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDispatcherType:()Ljakarta/servlet/DispatcherType;
            invokevirtual jakarta.servlet.DispatcherType.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 240
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         2: .line 241
            goto 6
         3: .line 242
      StackMap locals:
      StackMap stack:
            new jakarta.servlet.http.NoBodyResponse
            dup
            aload 2 /* resp */
            invokespecial jakarta.servlet.http.NoBodyResponse.<init>:(Ljakarta/servlet/http/HttpServletResponse;)V
            astore 3 /* response */
        start local 3 // jakarta.servlet.http.NoBodyResponse response
         4: .line 243
            aload 0 /* this */
            aload 1 /* req */
            aload 3 /* response */
            invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         5: .line 244
            aload 3 /* response */
            invokevirtual jakarta.servlet.http.NoBodyResponse.setContentLength:()V
        end local 3 // jakarta.servlet.http.NoBodyResponse response
         6: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljakarta/servlet/http/HttpServlet;
            0    7     1       req  Ljakarta/servlet/http/HttpServletRequest;
            0    7     2      resp  Ljakarta/servlet/http/HttpServletResponse;
            4    6     3  response  Ljakarta/servlet/http/NoBodyResponse;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void doPost(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 309
            getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
            ldc "http.method_post_not_supported"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 310
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            aload 3 /* msg */
            invokevirtual jakarta.servlet.http.HttpServlet.sendMethodNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/String;)V
         2: .line 311
            return
        end local 3 // java.lang.String msg
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljakarta/servlet/http/HttpServlet;
            0    3     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    3     2  resp  Ljakarta/servlet/http/HttpServletResponse;
            1    3     3   msg  Ljava/lang/String;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void doPut(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 359
            getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
            ldc "http.method_put_not_supported"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 360
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            aload 3 /* msg */
            invokevirtual jakarta.servlet.http.HttpServlet.sendMethodNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/String;)V
         2: .line 361
            return
        end local 3 // java.lang.String msg
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljakarta/servlet/http/HttpServlet;
            0    3     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    3     2  resp  Ljakarta/servlet/http/HttpServletResponse;
            1    3     3   msg  Ljava/lang/String;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void doDelete(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 402
            getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
            ldc "http.method_delete_not_supported"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 403
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            aload 3 /* msg */
            invokevirtual jakarta.servlet.http.HttpServlet.sendMethodNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/String;)V
         2: .line 404
            return
        end local 3 // java.lang.String msg
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljakarta/servlet/http/HttpServlet;
            0    3     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    3     2  resp  Ljakarta/servlet/http/HttpServletResponse;
            1    3     3   msg  Ljava/lang/String;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  private void sendMethodNotAllowed(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.String);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
        start local 3 // java.lang.String msg
         0: .line 408
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
            astore 4 /* protocol */
        start local 4 // java.lang.String protocol
         1: .line 411
            aload 4 /* protocol */
            invokevirtual java.lang.String.length:()I
            ifeq 2
            aload 4 /* protocol */
            ldc "0.9"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 4 /* protocol */
            ldc "1.0"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 412
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* resp */
            sipush 400
            aload 3 /* msg */
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
         3: .line 413
            goto 5
         4: .line 414
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            sipush 405
            aload 3 /* msg */
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
         5: .line 416
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String protocol
        end local 3 // java.lang.String msg
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljakarta/servlet/http/HttpServlet;
            0    6     1       req  Ljakarta/servlet/http/HttpServletRequest;
            0    6     2      resp  Ljakarta/servlet/http/HttpServletResponse;
            0    6     3       msg  Ljava/lang/String;
            1    6     4  protocol  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  
      msg   

  private java.lang.String getCachedAllowHeaderValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=13, args_size=1
        start local 0 // jakarta.servlet.http.HttpServlet this
         0: .line 420
            aload 0 /* this */
            getfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValue:Ljava/lang/String;
            ifnonnull 48
         1: .line 421
            aload 0 /* this */
            getfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValueLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         2: .line 422
            aload 0 /* this */
            getfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValue:Ljava/lang/String;
            ifnonnull 44
         3: .line 424
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic jakarta.servlet.http.HttpServlet.getAllDeclaredMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
            astore 2 /* methods */
        start local 2 // java.lang.reflect.Method[] methods
         4: .line 432
            iconst_0
            istore 3 /* allowGet */
        start local 3 // boolean allowGet
         5: .line 433
            iconst_0
            istore 4 /* allowHead */
        start local 4 // boolean allowHead
         6: .line 434
            iconst_0
            istore 5 /* allowPost */
        start local 5 // boolean allowPost
         7: .line 435
            iconst_0
            istore 6 /* allowPut */
        start local 6 // boolean allowPut
         8: .line 436
            iconst_0
            istore 7 /* allowDelete */
        start local 7 // boolean allowDelete
         9: .line 438
            aload 2 /* methods */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 25
      StackMap locals: jakarta.servlet.http.HttpServlet java.lang.Object java.lang.reflect.Method[] int int int int int top int int java.lang.reflect.Method[]
      StackMap stack:
        10: aload 11
            iload 9
            aaload
            astore 8 /* method */
        start local 8 // java.lang.reflect.Method method
        11: .line 439
            aload 8 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            dup
            astore 12
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
          -1327047733: 12
            -40588778: 13
             95730379: 14
             95739524: 15
              default: 24
          }
      StackMap locals: jakarta.servlet.http.HttpServlet java.lang.Object java.lang.reflect.Method[] int int int int int java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.String
      StackMap stack:
        12: aload 12
            ldc "doPost"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 24
      StackMap locals:
      StackMap stack:
        13: aload 12
            ldc "doDelete"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 24
      StackMap locals:
      StackMap stack:
        14: aload 12
            ldc "doGet"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 24
      StackMap locals:
      StackMap stack:
        15: aload 12
            ldc "doPut"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 24
        16: .line 441
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* allowGet */
        17: .line 442
            iconst_1
            istore 4 /* allowHead */
        18: .line 443
            goto 24
        19: .line 446
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* allowPost */
        20: .line 447
            goto 24
        21: .line 450
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* allowPut */
        22: .line 451
            goto 24
        23: .line 454
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* allowDelete */
        end local 8 // java.lang.reflect.Method method
        24: .line 438
      StackMap locals: jakarta.servlet.http.HttpServlet java.lang.Object java.lang.reflect.Method[] int int int int int top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        25: iload 9
            iload 10
            if_icmplt 10
        26: .line 463
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* allow */
        start local 8 // java.lang.StringBuilder allow
        27: .line 465
            iload 3 /* allowGet */
            ifeq 30
        28: .line 466
            aload 8 /* allow */
            ldc "GET"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 467
            aload 8 /* allow */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 470
      StackMap locals: jakarta.servlet.http.HttpServlet java.lang.Object java.lang.reflect.Method[] int int int int int java.lang.StringBuilder
      StackMap stack:
            iload 4 /* allowHead */
            ifeq 33
        31: .line 471
            aload 8 /* allow */
            ldc "HEAD"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 472
            aload 8 /* allow */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 475
      StackMap locals:
      StackMap stack:
            iload 5 /* allowPost */
            ifeq 36
        34: .line 476
            aload 8 /* allow */
            ldc "POST"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 477
            aload 8 /* allow */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 480
      StackMap locals:
      StackMap stack:
            iload 6 /* allowPut */
            ifeq 39
        37: .line 481
            aload 8 /* allow */
            ldc "PUT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 482
            aload 8 /* allow */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 485
      StackMap locals:
      StackMap stack:
            iload 7 /* allowDelete */
            ifeq 42
        40: .line 486
            aload 8 /* allow */
            ldc "DELETE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 487
            aload 8 /* allow */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 491
      StackMap locals:
      StackMap stack:
            aload 8 /* allow */
            ldc "OPTIONS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 493
            aload 0 /* this */
            aload 8 /* allow */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValue:Ljava/lang/String;
        end local 8 // java.lang.StringBuilder allow
        end local 7 // boolean allowDelete
        end local 6 // boolean allowPut
        end local 5 // boolean allowPost
        end local 4 // boolean allowHead
        end local 3 // boolean allowGet
        end local 2 // java.lang.reflect.Method[] methods
        44: .line 421
      StackMap locals: jakarta.servlet.http.HttpServlet java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
        45: goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: aload 1
            monitorexit
        47: athrow
        48: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jakarta.servlet.http.HttpServlet.cachedAllowHeaderValue:Ljava/lang/String;
            areturn
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   49     0         this  Ljakarta/servlet/http/HttpServlet;
            4   44     2      methods  [Ljava/lang/reflect/Method;
            5   44     3     allowGet  Z
            6   44     4    allowHead  Z
            7   44     5    allowPost  Z
            8   44     6     allowPut  Z
            9   44     7  allowDelete  Z
           11   24     8       method  Ljava/lang/reflect/Method;
           27   44     8        allow  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           2    45      46  any
          46    47      46  any

  private static java.lang.reflect.Method[] getAllDeclaredMethods(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.Class c
         0: .line 504
            aload 0 /* c */
            ldc Ljakarta/servlet/http/HttpServlet;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 505
            aconst_null
            areturn
         2: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            invokestatic jakarta.servlet.http.HttpServlet.getAllDeclaredMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
            astore 1 /* parentMethods */
        start local 1 // java.lang.reflect.Method[] parentMethods
         3: .line 509
            aload 0 /* c */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 2 /* thisMethods */
        start local 2 // java.lang.reflect.Method[] thisMethods
         4: .line 511
            aload 1 /* parentMethods */
            ifnull 14
            aload 1 /* parentMethods */
            arraylength
            ifle 14
         5: .line 513
            aload 1 /* parentMethods */
            arraylength
            aload 2 /* thisMethods */
            arraylength
            iadd
            anewarray java.lang.reflect.Method
         6: .line 512
            astore 3 /* allMethods */
        start local 3 // java.lang.reflect.Method[] allMethods
         7: .line 514
            aload 1 /* parentMethods */
            iconst_0
            aload 3 /* allMethods */
            iconst_0
         8: .line 515
            aload 1 /* parentMethods */
            arraylength
         9: .line 514
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 516
            aload 2 /* thisMethods */
            iconst_0
            aload 3 /* allMethods */
            aload 1 /* parentMethods */
            arraylength
        11: .line 517
            aload 2 /* thisMethods */
            arraylength
        12: .line 516
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 519
            aload 3 /* allMethods */
            astore 2 /* thisMethods */
        end local 3 // java.lang.reflect.Method[] allMethods
        14: .line 522
      StackMap locals: java.lang.reflect.Method[] java.lang.reflect.Method[]
      StackMap stack:
            aload 2 /* thisMethods */
            areturn
        end local 2 // java.lang.reflect.Method[] thisMethods
        end local 1 // java.lang.reflect.Method[] parentMethods
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0              c  Ljava/lang/Class<*>;
            3   15     1  parentMethods  [Ljava/lang/reflect/Method;
            4   15     2    thisMethods  [Ljava/lang/reflect/Method;
            7   14     3     allMethods  [Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<*>;)[Ljava/lang/reflect/Method;
    MethodParameters:
      Name  Flags
      c     

  protected void doOptions(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 560
            aload 0 /* this */
            invokevirtual jakarta.servlet.http.HttpServlet.getCachedAllowHeaderValue:()Ljava/lang/String;
            astore 3 /* allow */
        start local 3 // java.lang.String allow
         1: .line 563
            aload 1 /* req */
            invokestatic jakarta.servlet.http.HttpServlet$TomcatHack.getAllowTrace:(Ljakarta/servlet/http/HttpServletRequest;)Z
            ifeq 6
         2: .line 564
            aload 3 /* allow */
            invokevirtual java.lang.String.length:()I
            ifne 5
         3: .line 565
            ldc "TRACE"
            astore 3 /* allow */
         4: .line 566
            goto 6
         5: .line 567
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* allow */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "TRACE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* allow */
         6: .line 571
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            ldc "Allow"
            aload 3 /* allow */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 572
            return
        end local 3 // java.lang.String allow
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljakarta/servlet/http/HttpServlet;
            0    8     1    req  Ljakarta/servlet/http/HttpServletRequest;
            0    8     2   resp  Ljakarta/servlet/http/HttpServletResponse;
            1    8     3  allow  Ljava/lang/String;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void doTrace(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 604
            ldc "\r\n"
            astore 4 /* CRLF */
        start local 4 // java.lang.String CRLF
         1: .line 605
            new java.lang.StringBuilder
            dup
            ldc "TRACE "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 606
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 605
            astore 5 /* buffer */
        start local 5 // java.lang.StringBuilder buffer
         4: .line 608
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeaderNames:()Ljava/util/Enumeration;
            astore 6 /* reqHeaderEnum */
        start local 6 // java.util.Enumeration reqHeaderEnum
         5: .line 610
            goto 9
         6: .line 611
      StackMap locals: jakarta.servlet.http.HttpServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse top java.lang.String java.lang.StringBuilder java.util.Enumeration
      StackMap stack:
            aload 6 /* reqHeaderEnum */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* headerName */
        start local 7 // java.lang.String headerName
         7: .line 612
            aload 5 /* buffer */
            aload 4 /* CRLF */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* headerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 613
            aload 1 /* req */
            aload 7 /* headerName */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.String headerName
         9: .line 610
      StackMap locals:
      StackMap stack:
            aload 6 /* reqHeaderEnum */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        10: .line 616
            aload 5 /* buffer */
            aload 4 /* CRLF */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 618
            aload 5 /* buffer */
            invokevirtual java.lang.StringBuilder.length:()I
            istore 3 /* responseLength */
        start local 3 // int responseLength
        12: .line 620
            aload 2 /* resp */
            ldc "message/http"
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
        13: .line 621
            aload 2 /* resp */
            iload 3 /* responseLength */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentLength:(I)V
        14: .line 622
            aload 2 /* resp */
            invokeinterface jakarta.servlet.http.HttpServletResponse.getOutputStream:()Ljakarta/servlet/ServletOutputStream;
            astore 7 /* out */
        start local 7 // jakarta.servlet.ServletOutputStream out
        15: .line 623
            aload 7 /* out */
            aload 5 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jakarta.servlet.ServletOutputStream.print:(Ljava/lang/String;)V
        16: .line 624
            aload 7 /* out */
            invokevirtual jakarta.servlet.ServletOutputStream.close:()V
        17: .line 625
            return
        end local 7 // jakarta.servlet.ServletOutputStream out
        end local 6 // java.util.Enumeration reqHeaderEnum
        end local 5 // java.lang.StringBuilder buffer
        end local 4 // java.lang.String CRLF
        end local 3 // int responseLength
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Ljakarta/servlet/http/HttpServlet;
            0   18     1             req  Ljakarta/servlet/http/HttpServletRequest;
            0   18     2            resp  Ljakarta/servlet/http/HttpServletResponse;
           12   18     3  responseLength  I
            1   18     4            CRLF  Ljava/lang/String;
            4   18     5          buffer  Ljava/lang/StringBuilder;
            5   18     6   reqHeaderEnum  Ljava/util/Enumeration<Ljava/lang/String;>;
            7    9     7      headerName  Ljava/lang/String;
           15   18     7             out  Ljakarta/servlet/ServletOutputStream;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void service(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 656
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
            astore 3 /* method */
        start local 3 // java.lang.String method
         1: .line 658
            aload 3 /* method */
            ldc "GET"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
         2: .line 659
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jakarta.servlet.http.HttpServlet.getLastModified:(Ljakarta/servlet/http/HttpServletRequest;)J
            lstore 4 /* lastModified */
        start local 4 // long lastModified
         3: .line 660
            lload 4 /* lastModified */
            ldc -1
            lcmp
            ifne 6
         4: .line 663
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         5: .line 664
            goto 41
         6: .line 667
      StackMap locals: java.lang.String long
      StackMap stack:
            aload 1 /* req */
            ldc "If-Modified-Since"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDateHeader:(Ljava/lang/String;)J
            lstore 6 /* ifModifiedSince */
        start local 6 // long ifModifiedSince
         7: .line 668
            goto 10
        end local 6 // long ifModifiedSince
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         8: pop
         9: .line 670
            ldc -1
            lstore 6 /* ifModifiedSince */
        start local 6 // long ifModifiedSince
        10: .line 672
      StackMap locals: long
      StackMap stack:
            lload 6 /* ifModifiedSince */
            lload 4 /* lastModified */
            ldc 1000
            ldiv
            ldc 1000
            lmul
            lcmp
            ifge 14
        11: .line 676
            aload 0 /* this */
            aload 2 /* resp */
            lload 4 /* lastModified */
            invokevirtual jakarta.servlet.http.HttpServlet.maybeSetLastModified:(Ljakarta/servlet/http/HttpServletResponse;J)V
        12: .line 677
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        13: .line 678
            goto 41
        14: .line 679
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            sipush 304
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
        end local 6 // long ifModifiedSince
        end local 4 // long lastModified
        15: .line 683
            goto 41
      StackMap locals:
      StackMap stack:
        16: aload 3 /* method */
            ldc "HEAD"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        17: .line 684
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jakarta.servlet.http.HttpServlet.getLastModified:(Ljakarta/servlet/http/HttpServletRequest;)J
            lstore 4 /* lastModified */
        start local 4 // long lastModified
        18: .line 685
            aload 0 /* this */
            aload 2 /* resp */
            lload 4 /* lastModified */
            invokevirtual jakarta.servlet.http.HttpServlet.maybeSetLastModified:(Ljakarta/servlet/http/HttpServletResponse;J)V
        19: .line 686
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doHead:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        end local 4 // long lastModified
        20: .line 688
            goto 41
      StackMap locals:
      StackMap stack:
        21: aload 3 /* method */
            ldc "POST"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 689
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doPost:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        23: .line 691
            goto 41
      StackMap locals:
      StackMap stack:
        24: aload 3 /* method */
            ldc "PUT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        25: .line 692
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doPut:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        26: .line 694
            goto 41
      StackMap locals:
      StackMap stack:
        27: aload 3 /* method */
            ldc "DELETE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 695
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doDelete:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        29: .line 697
            goto 41
      StackMap locals:
      StackMap stack:
        30: aload 3 /* method */
            ldc "OPTIONS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 698
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doOptions:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        32: .line 700
            goto 41
      StackMap locals:
      StackMap stack:
        33: aload 3 /* method */
            ldc "TRACE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 701
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual jakarta.servlet.http.HttpServlet.doTrace:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        35: .line 703
            goto 41
        36: .line 709
      StackMap locals:
      StackMap stack:
            getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
            ldc "http.method_not_implemented"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* errMsg */
        start local 4 // java.lang.String errMsg
        37: .line 710
            iconst_1
            anewarray java.lang.Object
            astore 5 /* errArgs */
        start local 5 // java.lang.Object[] errArgs
        38: .line 711
            aload 5 /* errArgs */
            iconst_0
            aload 3 /* method */
            aastore
        39: .line 712
            aload 4 /* errMsg */
            aload 5 /* errArgs */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* errMsg */
        40: .line 714
            aload 2 /* resp */
            sipush 501
            aload 4 /* errMsg */
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
        end local 5 // java.lang.Object[] errArgs
        end local 4 // java.lang.String errMsg
        41: .line 716
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String method
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Ljakarta/servlet/http/HttpServlet;
            0   42     1              req  Ljakarta/servlet/http/HttpServletRequest;
            0   42     2             resp  Ljakarta/servlet/http/HttpServletResponse;
            1   42     3           method  Ljava/lang/String;
            3   15     4     lastModified  J
            7    8     6  ifModifiedSince  J
           10   15     6  ifModifiedSince  J
           18   20     4     lastModified  J
           37   41     4           errMsg  Ljava/lang/String;
           38   41     5          errArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.IllegalArgumentException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  private void maybeSetLastModified(jakarta.servlet.http.HttpServletResponse, long);
    descriptor: (Ljakarta/servlet/http/HttpServletResponse;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.http.HttpServletResponse resp
        start local 2 // long lastModified
         0: .line 728
            aload 1 /* resp */
            ldc "Last-Modified"
            invokeinterface jakarta.servlet.http.HttpServletResponse.containsHeader:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 729
            return
         2: .line 730
      StackMap locals:
      StackMap stack:
            lload 2 /* lastModified */
            lconst_0
            lcmp
            iflt 4
         3: .line 731
            aload 1 /* resp */
            ldc "Last-Modified"
            lload 2 /* lastModified */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setDateHeader:(Ljava/lang/String;J)V
         4: .line 732
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long lastModified
        end local 1 // jakarta.servlet.http.HttpServletResponse resp
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljakarta/servlet/http/HttpServlet;
            0    5     1          resp  Ljakarta/servlet/http/HttpServletResponse;
            0    5     2  lastModified  J
    MethodParameters:
              Name  Flags
      resp          
      lastModified  

  public void service(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jakarta.servlet.http.HttpServlet this
        start local 1 // jakarta.servlet.ServletRequest req
        start local 2 // jakarta.servlet.ServletResponse res
         0: .line 765
            aload 1 /* req */
            checkcast jakarta.servlet.http.HttpServletRequest
            astore 3 /* request */
        start local 3 // jakarta.servlet.http.HttpServletRequest request
         1: .line 766
            aload 2 /* res */
            checkcast jakarta.servlet.http.HttpServletResponse
            astore 4 /* response */
        start local 4 // jakarta.servlet.http.HttpServletResponse response
         2: .line 767
            goto 5
        end local 4 // jakarta.servlet.http.HttpServletResponse response
        end local 3 // jakarta.servlet.http.HttpServletRequest request
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
         3: pop
         4: .line 768
            new jakarta.servlet.ServletException
            dup
            getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
            ldc "http.non_http"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // jakarta.servlet.http.HttpServletRequest request
        start local 4 // jakarta.servlet.http.HttpServletResponse response
         5: .line 770
      StackMap locals: jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse
      StackMap stack:
            aload 0 /* this */
            aload 3 /* request */
            aload 4 /* response */
            invokevirtual jakarta.servlet.http.HttpServlet.service:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         6: .line 771
            return
        end local 4 // jakarta.servlet.http.HttpServletResponse response
        end local 3 // jakarta.servlet.http.HttpServletRequest request
        end local 2 // jakarta.servlet.ServletResponse res
        end local 1 // jakarta.servlet.ServletRequest req
        end local 0 // jakarta.servlet.http.HttpServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljakarta/servlet/http/HttpServlet;
            0    7     1       req  Ljakarta/servlet/ServletRequest;
            0    7     2       res  Ljakarta/servlet/ServletResponse;
            1    3     3   request  Ljakarta/servlet/http/HttpServletRequest;
            5    7     3   request  Ljakarta/servlet/http/HttpServletRequest;
            2    3     4  response  Ljakarta/servlet/http/HttpServletResponse;
            5    7     4  response  Ljakarta/servlet/http/HttpServletResponse;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.ClassCastException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      res   
}
SourceFile: "HttpServlet.java"
NestMembers:
  jakarta.servlet.http.HttpServlet$TomcatHack
InnerClasses:
  private TomcatHack = jakarta.servlet.http.HttpServlet$TomcatHack of jakarta.servlet.http.HttpServlet