public class org.springframework.web.servlet.resource.ResourceHttpRequestHandler extends org.springframework.web.servlet.support.WebContentGenerator implements org.springframework.web.HttpRequestHandler, org.springframework.context.EmbeddedValueResolverAware, org.springframework.beans.factory.InitializingBean, org.springframework.web.cors.CorsConfigurationSource
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.servlet.resource.ResourceHttpRequestHandler
  super_class: org.springframework.web.servlet.support.WebContentGenerator
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String URL_RESOURCE_CHARSET_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "[charset="

  private final java.util.List<java.lang.String> locationValues;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final java.util.List<org.springframework.core.io.Resource> locationResources;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/core/io/Resource;>;

  private final java.util.List<org.springframework.core.io.Resource> locationsToUse;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/core/io/Resource;>;

  private final java.util.Map<org.springframework.core.io.Resource, java.nio.charset.Charset> locationCharsets;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/springframework/core/io/Resource;Ljava/nio/charset/Charset;>;

  private final java.util.List<org.springframework.web.servlet.resource.ResourceResolver> resourceResolvers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceResolver;>;

  private final java.util.List<org.springframework.web.servlet.resource.ResourceTransformer> resourceTransformers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceTransformer;>;

  private org.springframework.web.servlet.resource.ResourceResolverChain resolverChain;
    descriptor: Lorg/springframework/web/servlet/resource/ResourceResolverChain;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.web.servlet.resource.ResourceTransformerChain transformerChain;
    descriptor: Lorg/springframework/web/servlet/resource/ResourceTransformerChain;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.http.converter.ResourceHttpMessageConverter resourceHttpMessageConverter;
    descriptor: Lorg/springframework/http/converter/ResourceHttpMessageConverter;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.http.converter.ResourceRegionHttpMessageConverter resourceRegionHttpMessageConverter;
    descriptor: Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.web.accept.ContentNegotiationManager contentNegotiationManager;
    descriptor: Lorg/springframework/web/accept/ContentNegotiationManager;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final java.util.Map<java.lang.String, org.springframework.http.MediaType> mediaTypes;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/springframework/http/MediaType;>;

  private org.springframework.web.cors.CorsConfiguration corsConfiguration;
    descriptor: Lorg/springframework/web/cors/CorsConfiguration;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.web.util.UrlPathHelper urlPathHelper;
    descriptor: Lorg/springframework/web/util/UrlPathHelper;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.util.StringValueResolver embeddedValueResolver;
    descriptor: Lorg/springframework/util/StringValueResolver;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private boolean useLastModified;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 102
            ldc Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
         1: .line 104
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 149
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            getstatic org.springframework.http.HttpMethod.GET:Lorg/springframework/http/HttpMethod;
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            getstatic org.springframework.http.HttpMethod.HEAD:Lorg/springframework/http/HttpMethod;
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            aastore
            invokespecial org.springframework.web.servlet.support.WebContentGenerator.<init>:([Ljava/lang/String;)V
         1: .line 107
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationValues:Ljava/util/List;
         2: .line 109
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationResources:Ljava/util/List;
         3: .line 111
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationsToUse:Ljava/util/List;
         4: .line 113
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_4
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationCharsets:Ljava/util/Map;
         5: .line 115
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
         6: .line 117
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceTransformers:Ljava/util/List;
         7: .line 134
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_4
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.mediaTypes:Ljava/util/Map;
         8: .line 145
            aload 0 /* this */
            iconst_1
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.useLastModified:Z
         9: .line 150
            return
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;

  public void setLocationValues(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.util.List locations
         0: .line 169
            aload 1 /* locations */
            ldc "Locations list must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 170
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationValues:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 171
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationValues:Ljava/util/List;
            aload 1 /* locations */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 172
            return
        end local 1 // java.util.List locations
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    4     1  locations  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      locations  

  public void setLocations(java.util.List<org.springframework.core.io.Resource>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.util.List locations
         0: .line 179
            aload 1 /* locations */
            ldc "Locations list must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 180
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationResources:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 181
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationResources:Ljava/util/List;
            aload 1 /* locations */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 182
            return
        end local 1 // java.util.List locations
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    4     1  locations  Ljava/util/List<Lorg/springframework/core/io/Resource;>;
    Signature: (Ljava/util/List<Lorg/springframework/core/io/Resource;>;)V
    MethodParameters:
           Name  Flags
      locations  

  public java.util.List<org.springframework.core.io.Resource> getLocations();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 195
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationsToUse:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 197
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationResources:Ljava/util/List;
            areturn
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationsToUse:Ljava/util/List;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Signature: ()Ljava/util/List<Lorg/springframework/core/io/Resource;>;

  public void setResourceResolvers(java.util.List<org.springframework.web.servlet.resource.ResourceResolver>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.util.List resourceResolvers
         0: .line 208
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 209
            aload 1 /* resourceResolvers */
            ifnull 3
         2: .line 210
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
            aload 1 /* resourceResolvers */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 212
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List resourceResolvers
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    4     1  resourceResolvers  Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceResolver;>;
    Signature: (Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceResolver;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                   Name  Flags
      resourceResolvers  

  public java.util.List<org.springframework.web.servlet.resource.ResourceResolver> getResourceResolvers();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 218
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Signature: ()Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceResolver;>;

  public void setResourceTransformers(java.util.List<org.springframework.web.servlet.resource.ResourceTransformer>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.util.List resourceTransformers
         0: .line 226
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceTransformers:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 227
            aload 1 /* resourceTransformers */
            ifnull 3
         2: .line 228
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceTransformers:Ljava/util/List;
            aload 1 /* resourceTransformers */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 230
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List resourceTransformers
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    4     1  resourceTransformers  Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceTransformer;>;
    Signature: (Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceTransformer;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                      Name  Flags
      resourceTransformers  

  public java.util.List<org.springframework.web.servlet.resource.ResourceTransformer> getResourceTransformers();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 236
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceTransformers:Ljava/util/List;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Signature: ()Ljava/util/List<Lorg/springframework/web/servlet/resource/ResourceTransformer;>;

  public void setResourceHttpMessageConverter(org.springframework.http.converter.ResourceHttpMessageConverter);
    descriptor: (Lorg/springframework/http/converter/ResourceHttpMessageConverter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // org.springframework.http.converter.ResourceHttpMessageConverter messageConverter
         0: .line 245
            aload 0 /* this */
            aload 1 /* messageConverter */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceHttpMessageConverter:Lorg/springframework/http/converter/ResourceHttpMessageConverter;
         1: .line 246
            return
        end local 1 // org.springframework.http.converter.ResourceHttpMessageConverter messageConverter
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  messageConverter  Lorg/springframework/http/converter/ResourceHttpMessageConverter;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      messageConverter  

  public org.springframework.http.converter.ResourceHttpMessageConverter getResourceHttpMessageConverter();
    descriptor: ()Lorg/springframework/http/converter/ResourceHttpMessageConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 254
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceHttpMessageConverter:Lorg/springframework/http/converter/ResourceHttpMessageConverter;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setResourceRegionHttpMessageConverter(org.springframework.http.converter.ResourceRegionHttpMessageConverter);
    descriptor: (Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // org.springframework.http.converter.ResourceRegionHttpMessageConverter messageConverter
         0: .line 263
            aload 0 /* this */
            aload 1 /* messageConverter */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceRegionHttpMessageConverter:Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
         1: .line 264
            return
        end local 1 // org.springframework.http.converter.ResourceRegionHttpMessageConverter messageConverter
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  messageConverter  Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      messageConverter  

  public org.springframework.http.converter.ResourceRegionHttpMessageConverter getResourceRegionHttpMessageConverter();
    descriptor: ()Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 272
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceRegionHttpMessageConverter:Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setContentNegotiationManager(org.springframework.web.accept.ContentNegotiationManager);
    descriptor: (Lorg/springframework/web/accept/ContentNegotiationManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // org.springframework.web.accept.ContentNegotiationManager contentNegotiationManager
         0: .line 286
            aload 0 /* this */
            aload 1 /* contentNegotiationManager */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.contentNegotiationManager:Lorg/springframework/web/accept/ContentNegotiationManager;
         1: .line 287
            return
        end local 1 // org.springframework.web.accept.ContentNegotiationManager contentNegotiationManager
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  contentNegotiationManager  Lorg/springframework/web/accept/ContentNegotiationManager;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                           Name  Flags
      contentNegotiationManager  

  public org.springframework.web.accept.ContentNegotiationManager getContentNegotiationManager();
    descriptor: ()Lorg/springframework/web/accept/ContentNegotiationManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 297
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.contentNegotiationManager:Lorg/springframework/web/accept/ContentNegotiationManager;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
      java.lang.Deprecated()

  public void setMediaTypes(java.util.Map<java.lang.String, org.springframework.http.MediaType>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.util.Map mediaTypes
         0: .line 312
            aload 1 /* mediaTypes */
            aload 0 /* this */
            invokedynamic accept(Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/springframework/web/servlet/resource/ResourceHttpRequestHandler.lambda$0(Ljava/lang/String;Lorg/springframework/http/MediaType;)V (7)
                  (Ljava/lang/String;Lorg/springframework/http/MediaType;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         1: .line 314
            return
        end local 1 // java.util.Map mediaTypes
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  mediaTypes  Ljava/util/Map<Ljava/lang/String;Lorg/springframework/http/MediaType;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/springframework/http/MediaType;>;)V
    MethodParameters:
            Name  Flags
      mediaTypes  

  public java.util.Map<java.lang.String, org.springframework.http.MediaType> getMediaTypes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 321
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.mediaTypes:Ljava/util/Map;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/springframework/http/MediaType;>;

  public void setCorsConfiguration(org.springframework.web.cors.CorsConfiguration);
    descriptor: (Lorg/springframework/web/cors/CorsConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // org.springframework.web.cors.CorsConfiguration corsConfiguration
         0: .line 329
            aload 0 /* this */
            aload 1 /* corsConfiguration */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.corsConfiguration:Lorg/springframework/web/cors/CorsConfiguration;
         1: .line 330
            return
        end local 1 // org.springframework.web.cors.CorsConfiguration corsConfiguration
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  corsConfiguration  Lorg/springframework/web/cors/CorsConfiguration;
    MethodParameters:
                   Name  Flags
      corsConfiguration  

  public org.springframework.web.cors.CorsConfiguration getCorsConfiguration(HttpServletRequest);
    descriptor: (LHttpServletRequest;)Lorg/springframework/web/cors/CorsConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 337
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tHttpServletRequest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      request  

  public void setUrlPathHelper(org.springframework.web.util.UrlPathHelper);
    descriptor: (Lorg/springframework/web/util/UrlPathHelper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // org.springframework.web.util.UrlPathHelper urlPathHelper
         0: .line 348
            aload 0 /* this */
            aload 1 /* urlPathHelper */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
         1: .line 349
            return
        end local 1 // org.springframework.web.util.UrlPathHelper urlPathHelper
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  urlPathHelper  Lorg/springframework/web/util/UrlPathHelper;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      urlPathHelper  

  public org.springframework.web.util.UrlPathHelper getUrlPathHelper();
    descriptor: ()Lorg/springframework/web/util/UrlPathHelper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 357
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setEmbeddedValueResolver(org.springframework.util.StringValueResolver);
    descriptor: (Lorg/springframework/util/StringValueResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // org.springframework.util.StringValueResolver resolver
         0: .line 362
            aload 0 /* this */
            aload 1 /* resolver */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
         1: .line 363
            return
        end local 1 // org.springframework.util.StringValueResolver resolver
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  resolver  Lorg/springframework/util/StringValueResolver;
    MethodParameters:
          Name  Flags
      resolver  

  public boolean isUseLastModified();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 371
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.useLastModified:Z
            ireturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;

  public void setUseLastModified(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // boolean useLastModified
         0: .line 384
            aload 0 /* this */
            iload 1 /* useLastModified */
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.useLastModified:Z
         1: .line 385
            return
        end local 1 // boolean useLastModified
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    2     1  useLastModified  Z
    MethodParameters:
                 Name  Flags
      useLastModified  

  public void afterPropertiesSet();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 389
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resolveResourceLocations:()V
         1: .line 391
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 3
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getLocations:()Ljava/util/List;
            invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 3
         2: .line 392
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            ldc "Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver."
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
         3: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 5
         4: .line 397
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
            new org.springframework.web.servlet.resource.PathResourceResolver
            dup
            invokespecial org.springframework.web.servlet.resource.PathResourceResolver.<init>:()V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.initAllowedLocations:()V
         6: .line 403
            aload 0 /* this */
            new org.springframework.web.servlet.resource.DefaultResourceResolverChain
            dup
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceResolvers:Ljava/util/List;
            invokespecial org.springframework.web.servlet.resource.DefaultResourceResolverChain.<init>:(Ljava/util/List;)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resolverChain:Lorg/springframework/web/servlet/resource/ResourceResolverChain;
         7: .line 404
            aload 0 /* this */
            new org.springframework.web.servlet.resource.DefaultResourceTransformerChain
            dup
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resolverChain:Lorg/springframework/web/servlet/resource/ResourceResolverChain;
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceTransformers:Ljava/util/List;
            invokespecial org.springframework.web.servlet.resource.DefaultResourceTransformerChain.<init>:(Lorg/springframework/web/servlet/resource/ResourceResolverChain;Ljava/util/List;)V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.transformerChain:Lorg/springframework/web/servlet/resource/ResourceTransformerChain;
         8: .line 406
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceHttpMessageConverter:Lorg/springframework/http/converter/ResourceHttpMessageConverter;
            ifnonnull 10
         9: .line 407
            aload 0 /* this */
            new org.springframework.http.converter.ResourceHttpMessageConverter
            dup
            invokespecial org.springframework.http.converter.ResourceHttpMessageConverter.<init>:()V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceHttpMessageConverter:Lorg/springframework/http/converter/ResourceHttpMessageConverter;
        10: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceRegionHttpMessageConverter:Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
            ifnonnull 12
        11: .line 410
            aload 0 /* this */
            new org.springframework.http.converter.ResourceRegionHttpMessageConverter
            dup
            invokespecial org.springframework.http.converter.ResourceRegionHttpMessageConverter.<init>:()V
            putfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.resourceRegionHttpMessageConverter:Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
        12: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getContentNegotiationManager:()Lorg/springframework/web/accept/ContentNegotiationManager;
            astore 1 /* manager */
        start local 1 // org.springframework.web.accept.ContentNegotiationManager manager
        13: .line 414
            aload 1 /* manager */
            ifnull 15
        14: .line 415
            aload 0 /* this */
            aload 1 /* manager */
            invokevirtual org.springframework.web.accept.ContentNegotiationManager.getMediaTypeMappings:()Ljava/util/Map;
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.setMediaTypes:(Ljava/util/Map;)V
        15: .line 420
      StackMap locals: org.springframework.web.accept.ContentNegotiationManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.initContentNegotiationStrategy:()Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
        16: .line 419
            astore 2 /* strategy */
        start local 2 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy strategy
        17: .line 421
            aload 2 /* strategy */
            ifnull 19
        18: .line 422
            aload 0 /* this */
            aload 2 /* strategy */
            invokevirtual org.springframework.web.accept.PathExtensionContentNegotiationStrategy.getMediaTypes:()Ljava/util/Map;
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.setMediaTypes:(Ljava/util/Map;)V
        19: .line 424
      StackMap locals: org.springframework.web.accept.PathExtensionContentNegotiationStrategy
      StackMap stack:
            return
        end local 2 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy strategy
        end local 1 // org.springframework.web.accept.ContentNegotiationManager manager
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
           13   20     1   manager  Lorg/springframework/web/accept/ContentNegotiationManager;
           17   20     2  strategy  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
    Exceptions:
      throws java.lang.Exception

  private void resolveResourceLocations();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 427
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationValues:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 32
         1: .line 428
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.obtainApplicationContext:()Lorg/springframework/context/ApplicationContext;
            astore 1 /* applicationContext */
        start local 1 // org.springframework.context.ApplicationContext applicationContext
         2: .line 429
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationValues:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 31
      StackMap locals: org.springframework.web.servlet.resource.ResourceHttpRequestHandler org.springframework.context.ApplicationContext top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* location */
        start local 2 // java.lang.String location
         4: .line 430
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
            ifnull 9
         5: .line 431
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
            aload 2 /* location */
            invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* resolvedLocation */
        start local 4 // java.lang.String resolvedLocation
         6: .line 432
            aload 4 /* resolvedLocation */
            ifnonnull 8
         7: .line 433
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Location resolved to null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 435
      StackMap locals: org.springframework.web.servlet.resource.ResourceHttpRequestHandler org.springframework.context.ApplicationContext java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
            aload 4 /* resolvedLocation */
            astore 2 /* location */
        end local 4 // java.lang.String resolvedLocation
         9: .line 437
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* charset */
        start local 4 // java.nio.charset.Charset charset
        10: .line 438
            aload 2 /* location */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 2 /* location */
        11: .line 439
            aload 2 /* location */
            ldc "[charset="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
        12: .line 440
            aload 2 /* location */
            bipush 93
            ldc "[charset="
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* endIndex */
        start local 5 // int endIndex
        13: .line 441
            iload 5 /* endIndex */
            iconst_m1
            if_icmpne 15
        14: .line 442
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid charset syntax in location: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 444
      StackMap locals: java.nio.charset.Charset int
      StackMap stack:
            aload 2 /* location */
            ldc "[charset="
            invokevirtual java.lang.String.length:()I
            iload 5 /* endIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
        16: .line 445
            aload 6 /* value */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 4 /* charset */
        17: .line 446
            aload 2 /* location */
            iload 5 /* endIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* location */
        end local 6 // java.lang.String value
        end local 5 // int endIndex
        18: .line 448
      StackMap locals:
      StackMap stack:
            aload 1 /* applicationContext */
            aload 2 /* location */
            invokeinterface org.springframework.context.ApplicationContext.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            astore 5 /* resource */
        start local 5 // org.springframework.core.io.Resource resource
        19: .line 449
            aload 2 /* location */
            ldc "/"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
            aload 5 /* resource */
            instanceof org.springframework.web.context.support.ServletContextResource
            ifne 26
        20: .line 450
            new java.lang.IllegalStateException
            dup
        21: .line 451
            new java.lang.StringBuilder
            dup
            ldc "The String-based location \"/\" should be relative to the web application root but resolved to a Resource of type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 452
            aload 5 /* resource */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 453
            ldc "If this is intentional, please pass it as a pre-configured Resource via setLocations."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 451
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 450
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 455
      StackMap locals: org.springframework.core.io.Resource
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationsToUse:Ljava/util/List;
            aload 5 /* resource */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        27: .line 456
            aload 4 /* charset */
            ifnull 31
        28: .line 457
            aload 5 /* resource */
            instanceof org.springframework.core.io.UrlResource
            ifne 30
        29: .line 458
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected charset for non-UrlResource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationCharsets:Ljava/util/Map;
            aload 5 /* resource */
            aload 4 /* charset */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.springframework.core.io.Resource resource
        end local 4 // java.nio.charset.Charset charset
        end local 2 // java.lang.String location
        31: .line 429
      StackMap locals: org.springframework.web.servlet.resource.ResourceHttpRequestHandler org.springframework.context.ApplicationContext top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 1 // org.springframework.context.ApplicationContext applicationContext
        32: .line 464
      StackMap locals: org.springframework.web.servlet.resource.ResourceHttpRequestHandler
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationsToUse:Ljava/util/List;
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationResources:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        33: .line 465
            return
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   34     0                this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            2   32     1  applicationContext  Lorg/springframework/context/ApplicationContext;
            4   31     2            location  Ljava/lang/String;
            6    9     4    resolvedLocation  Ljava/lang/String;
           10   31     4             charset  Ljava/nio/charset/Charset;
           13   18     5            endIndex  I
           16   18     6               value  Ljava/lang/String;
           19   31     5            resource  Lorg/springframework/core/io/Resource;

  protected void initAllowedLocations();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 473
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getLocations:()Ljava/util/List;
            invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 2
         1: .line 474
            return
         2: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getResourceResolvers:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         3: goto 13
         4: .line 477
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getResourceResolvers:()Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof org.springframework.web.servlet.resource.PathResourceResolver
            ifeq 12
         5: .line 478
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getResourceResolvers:()Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.springframework.web.servlet.resource.PathResourceResolver
            astore 2 /* pathResolver */
        start local 2 // org.springframework.web.servlet.resource.PathResourceResolver pathResolver
         6: .line 479
            aload 2 /* pathResolver */
            invokevirtual org.springframework.web.servlet.resource.PathResourceResolver.getAllowedLocations:()[Lorg/springframework/core/io/Resource;
            invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
            ifeq 8
         7: .line 480
            aload 2 /* pathResolver */
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getLocations:()Ljava/util/List;
            iconst_0
            anewarray org.springframework.core.io.Resource
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.springframework.core.io.Resource[]
            invokevirtual org.springframework.web.servlet.resource.PathResourceResolver.setAllowedLocations:([Lorg/springframework/core/io/Resource;)V
         8: .line 482
      StackMap locals: org.springframework.web.servlet.resource.PathResourceResolver
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
            ifnull 14
         9: .line 483
            aload 2 /* pathResolver */
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.locationCharsets:Ljava/util/Map;
            invokevirtual org.springframework.web.servlet.resource.PathResourceResolver.setLocationCharsets:(Ljava/util/Map;)V
        10: .line 484
            aload 2 /* pathResolver */
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
            invokevirtual org.springframework.web.servlet.resource.PathResourceResolver.setUrlPathHelper:(Lorg/springframework/web/util/UrlPathHelper;)V
        11: .line 486
            goto 14
        end local 2 // org.springframework.web.servlet.resource.PathResourceResolver pathResolver
        12: .line 476
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 1 /* i */
            ifge 4
        end local 1 // int i
        14: .line 489
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            3   14     1             i  I
            6   12     2  pathResolver  Lorg/springframework/web/servlet/resource/PathResourceResolver;

  protected org.springframework.web.accept.PathExtensionContentNegotiationStrategy initContentNegotiationStrategy();
    descriptor: ()Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 503
            aconst_null
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
      java.lang.Deprecated()

  public void handleRequest(HttpServletRequest, HttpServletResponse);
    descriptor: (LHttpServletRequest;LHttpServletResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 519
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tHttpServletRequest cannot be resolved to a type\n\tHttpServletResponse cannot be resolved to a type\n\tServletException cannot be resolved to a type\n\tHttpServletResponse cannot be resolved to a variable\n\tHttpServletResponse cannot be resolved to a variable\n\tHttpServletResponse cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Exceptions:
      throws ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  protected org.springframework.core.io.Resource getResource(HttpServletRequest);
    descriptor: (LHttpServletRequest;)Lorg/springframework/core/io/Resource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 574
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tHttpServletRequest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      request  

  protected java.lang.String processPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.lang.String path
         0: .line 612
            aload 1 /* path */
            ldc "\\"
            ldc "/"
            invokestatic org.springframework.util.StringUtils.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* path */
         1: .line 613
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.cleanDuplicateSlashes:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* path */
         2: .line 614
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.cleanLeadingSlash:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    3     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  private java.lang.String cleanDuplicateSlashes(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.lang.String path
         0: .line 618
            aconst_null
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 619
            iconst_0
            istore 3 /* prev */
        start local 3 // char prev
         2: .line 620
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 18
         4: .line 621
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 1 /* path */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* curr */
        start local 5 // char curr
         5: .line 623
            iload 5 /* curr */
            bipush 47
            if_icmpne 10
            iload 3 /* prev */
            bipush 47
            if_icmpne 10
         6: .line 624
            aload 2 /* sb */
            ifnonnull 8
         7: .line 625
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            iconst_0
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* sb */
         8: .line 634
      StackMap locals: int
      StackMap stack:
            iload 5 /* curr */
            istore 3 /* prev */
         9: .line 627
            goto 17
        10: .line 629
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ifnull 16
        11: .line 630
            aload 2 /* sb */
            aload 1 /* path */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 632
            goto 16
        13: .line 633
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        14: .line 634
            iload 5 /* curr */
            istore 3 /* prev */
        15: .line 635
            aload 6
            athrow
        16: .line 634
      StackMap locals:
      StackMap stack:
            iload 5 /* curr */
            istore 3 /* prev */
        end local 5 // char curr
        17: .line 620
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 4 // int i
        19: .line 637
            aload 2 /* sb */
            ifnull 20
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1 /* path */
      StackMap locals:
      StackMap stack: java.lang.String
        21: areturn
        end local 3 // char prev
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String path
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0   22     1  path  Ljava/lang/String;
            1   22     2    sb  Ljava/lang/StringBuilder;
            2   22     3  prev  C
            3   19     4     i  I
            5   17     5  curr  C
      Exception table:
        from    to  target  type
           5     8      13  any
          10    13      13  any
    MethodParameters:
      Name  Flags
      path  

  private java.lang.String cleanLeadingSlash(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.lang.String path
         0: .line 641
            iconst_0
            istore 2 /* slash */
        start local 2 // boolean slash
         1: .line 642
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 13
         3: .line 643
      StackMap locals: int int
      StackMap stack:
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 6
         4: .line 644
            iconst_1
            istore 2 /* slash */
         5: .line 645
            goto 12
         6: .line 646
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmple 12
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 127
            if_icmpeq 12
         7: .line 647
            iload 3 /* i */
            ifeq 8
            iload 3 /* i */
            iconst_1
            if_icmpne 9
            iload 2 /* slash */
            ifeq 9
         8: .line 648
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
         9: .line 650
      StackMap locals:
      StackMap stack:
            iload 2 /* slash */
            ifeq 10
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: areturn
        12: .line 642
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 3 // int i
        14: .line 653
            iload 2 /* slash */
            ifeq 15
            ldc "/"
            goto 16
      StackMap locals:
      StackMap stack:
        15: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        16: areturn
        end local 2 // boolean slash
        end local 1 // java.lang.String path
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0   17     1   path  Ljava/lang/String;
            1   17     2  slash  Z
            2   14     3      i  I
    MethodParameters:
      Name  Flags
      path  

  private boolean isInvalidEncodedPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.lang.String path
         0: .line 662
            aload 1 /* path */
            ldc "%"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 9
         1: .line 665
            aload 1 /* path */
            ldc "UTF-8"
            invokestatic java.net.URLDecoder.decode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* decodedPath */
        start local 2 // java.lang.String decodedPath
         2: .line 666
            aload 0 /* this */
            aload 2 /* decodedPath */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.isInvalidPath:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 667
            iconst_1
            ireturn
         4: .line 669
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* decodedPath */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.processPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* decodedPath */
         5: .line 670
            aload 0 /* this */
            aload 2 /* decodedPath */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.isInvalidPath:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 671
            iconst_1
            ireturn
        end local 2 // java.lang.String decodedPath
         7: .line 674
      StackMap locals: org.springframework.web.servlet.resource.ResourceHttpRequestHandler java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            pop
            goto 9
         8: .line 677
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
         9: .line 681
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String path
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0   10     1         path  Ljava/lang/String;
            2    7     2  decodedPath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       7  Class java.lang.IllegalArgumentException
           4     6       7  Class java.lang.IllegalArgumentException
           1     3       8  Class java.io.UnsupportedEncodingException
           4     6       8  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      path  

  protected boolean isInvalidPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.lang.String path
         0: .line 701
            aload 1 /* path */
            ldc "WEB-INF"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 1
            aload 1 /* path */
            ldc "META-INF"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
         1: .line 702
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 3
         2: .line 703
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Path with \"WEB-INF\" or \"META-INF\": ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
         3: .line 705
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 707
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            ldc ":/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 12
         5: .line 708
            aload 1 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 6
            aload 1 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 1 /* path */
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 2 /* relativePath */
        start local 2 // java.lang.String relativePath
         8: .line 709
            aload 2 /* relativePath */
            invokestatic org.springframework.util.ResourceUtils.isUrl:(Ljava/lang/String;)Z
            ifne 9
            aload 2 /* relativePath */
            ldc "url:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
         9: .line 710
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 11
        10: .line 711
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Path represents URL or has \"url:\" prefix: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        11: .line 713
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.String relativePath
        12: .line 716
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            ldc ".."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 16
            aload 1 /* path */
            invokestatic org.springframework.util.StringUtils.cleanPath:(Ljava/lang/String;)Ljava/lang/String;
            ldc "../"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 16
        13: .line 717
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 15
        14: .line 718
            getstatic org.springframework.web.servlet.resource.ResourceHttpRequestHandler.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Path contains \"../\" after call to StringUtils#cleanPath: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        15: .line 720
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        16: .line 722
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String path
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0   17     1          path  Ljava/lang/String;
            8   12     2  relativePath  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  protected org.springframework.http.MediaType getMediaType(HttpServletRequest, org.springframework.core.io.Resource);
    descriptor: (LHttpServletRequest;Lorg/springframework/core/io/Resource;)Lorg/springframework/http/MediaType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 740
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tHttpServletRequest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      request   
      resource  

  protected void setHeaders(HttpServletResponse, org.springframework.core.io.Resource, org.springframework.http.MediaType);
    descriptor: (LHttpServletResponse;Lorg/springframework/core/io/Resource;Lorg/springframework/http/MediaType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 774
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tHttpServletResponse cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      response   
      resource   
      mediaType  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
         0: .line 803
            new java.lang.StringBuilder
            dup
            ldc "ResourceHttpRequestHandler "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getLocations:()Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;

  public void handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
    flags: (0x1001) ACC_PUBLIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 99
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type ResourceHttpRequestHandler must implement the inherited abstract method HttpRequestHandler.handleRequest(HttpServletRequest, HttpServletResponse)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
            
            

  public org.springframework.web.cors.CorsConfiguration getCorsConfiguration(javax.servlet.http.HttpServletRequest);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/cors/CorsConfiguration;
    flags: (0x1001) ACC_PUBLIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 99
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type ResourceHttpRequestHandler must implement the inherited abstract method CorsConfigurationSource.getCorsConfiguration(HttpServletRequest)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
            

  private void lambda$0(java.lang.String, org.springframework.http.MediaType);
    descriptor: (Ljava/lang/String;Lorg/springframework/http/MediaType;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
        start local 1 // java.lang.String ext
        start local 2 // org.springframework.http.MediaType mediaType
         0: .line 313
            aload 0 /* this */
            getfield org.springframework.web.servlet.resource.ResourceHttpRequestHandler.mediaTypes:Ljava/util/Map;
            aload 1 /* ext */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 2 /* mediaType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 2 // org.springframework.http.MediaType mediaType
        end local 1 // java.lang.String ext
        end local 0 // org.springframework.web.servlet.resource.ResourceHttpRequestHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/web/servlet/resource/ResourceHttpRequestHandler;
            0    1     1        ext  Ljava/lang/String;
            0    1     2  mediaType  Lorg/springframework/http/MediaType;
}
SourceFile: "ResourceHttpRequestHandler.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles