public final class com.fasterxml.jackson.databind.util.CompactStringObjectMap implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.fasterxml.jackson.databind.util.CompactStringObjectMap
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final com.fasterxml.jackson.databind.util.CompactStringObjectMap EMPTY;
    descriptor: Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final int _hashMask;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int _spillCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 25
            new com.fasterxml.jackson.databind.util.CompactStringObjectMap
            dup
            iconst_1
            iconst_0
         1: .line 26
            iconst_4
            anewarray java.lang.Object
         2: .line 25
            invokespecial com.fasterxml.jackson.databind.util.CompactStringObjectMap.<init>:(II[Ljava/lang/Object;)V
            putstatic com.fasterxml.jackson.databind.util.CompactStringObjectMap.EMPTY:Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
         3: .line 26
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(int, int, java.lang.Object[]);
    descriptor: (II[Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
        start local 1 // int hashMask
        start local 2 // int spillCount
        start local 3 // java.lang.Object[] hashArea
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 34
            aload 0 /* this */
            iload 1 /* hashMask */
            putfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashMask:I
         2: .line 35
            aload 0 /* this */
            iload 2 /* spillCount */
            putfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._spillCount:I
         3: .line 36
            aload 0 /* this */
            aload 3 /* hashArea */
            putfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
         4: .line 37
            return
        end local 3 // java.lang.Object[] hashArea
        end local 2 // int spillCount
        end local 1 // int hashMask
        end local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
            0    5     1    hashMask  I
            0    5     2  spillCount  I
            0    5     3    hashArea  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      hashMask    
      spillCount  
      hashArea    

  public static <T> com.fasterxml.jackson.databind.util.CompactStringObjectMap construct(java.util.Map<java.lang.String, T>);
    descriptor: (Ljava/util/Map;)Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // java.util.Map all
         0: .line 41
            aload 0 /* all */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 2
         1: .line 42
            getstatic com.fasterxml.jackson.databind.util.CompactStringObjectMap.EMPTY:Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
            areturn
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* all */
            invokeinterface java.util.Map.size:()I
            invokestatic com.fasterxml.jackson.databind.util.CompactStringObjectMap.findSize:(I)I
            istore 1 /* size */
        start local 1 // int size
         3: .line 47
            iload 1 /* size */
            iconst_1
            isub
            istore 2 /* mask */
        start local 2 // int mask
         4: .line 49
            iload 1 /* size */
            iload 1 /* size */
            iconst_1
            ishr
            iadd
            iconst_2
            imul
            istore 3 /* alloc */
        start local 3 // int alloc
         5: .line 50
            iload 3 /* alloc */
            anewarray java.lang.Object
            astore 4 /* hashArea */
        start local 4 // java.lang.Object[] hashArea
         6: .line 51
            iconst_0
            istore 5 /* spillCount */
        start local 5 // int spillCount
         7: .line 53
            aload 0 /* all */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: java.util.Map int int int java.lang.Object[] int top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         9: .line 54
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* key */
        start local 8 // java.lang.String key
        10: .line 57
            aload 8 /* key */
            ifnonnull 12
        11: .line 58
            goto 23
        12: .line 61
      StackMap locals: java.util.Map int int int java.lang.Object[] int java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 8 /* key */
            invokevirtual java.lang.String.hashCode:()I
            iload 2 /* mask */
            iand
            istore 9 /* slot */
        start local 9 // int slot
        13: .line 62
            iload 9 /* slot */
            iload 9 /* slot */
            iadd
            istore 10 /* ix */
        start local 10 // int ix
        14: .line 65
            aload 4 /* hashArea */
            iload 10 /* ix */
            aaload
            ifnull 21
        15: .line 67
            iload 1 /* size */
            iload 9 /* slot */
            iconst_1
            ishr
            iadd
            iconst_1
            ishl
            istore 10 /* ix */
        16: .line 68
            aload 4 /* hashArea */
            iload 10 /* ix */
            aaload
            ifnull 21
        17: .line 70
            iload 1 /* size */
            iload 1 /* size */
            iconst_1
            ishr
            iadd
            iconst_1
            ishl
            iload 5 /* spillCount */
            iadd
            istore 10 /* ix */
        18: .line 71
            iinc 5 /* spillCount */ 2
        19: .line 72
            iload 10 /* ix */
            aload 4 /* hashArea */
            arraylength
            if_icmplt 21
        20: .line 73
            aload 4 /* hashArea */
            aload 4 /* hashArea */
            arraylength
            iconst_4
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            astore 4 /* hashArea */
        21: .line 77
      StackMap locals: int int
      StackMap stack:
            aload 4 /* hashArea */
            iload 10 /* ix */
            aload 8 /* key */
            aastore
        22: .line 78
            aload 4 /* hashArea */
            iload 10 /* ix */
            iconst_1
            iadd
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
        end local 10 // int ix
        end local 9 // int slot
        end local 8 // java.lang.String key
        end local 6 // java.util.Map$Entry entry
        23: .line 53
      StackMap locals: java.util.Map int int int java.lang.Object[] int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        24: .line 80
            new com.fasterxml.jackson.databind.util.CompactStringObjectMap
            dup
            iload 2 /* mask */
            iload 5 /* spillCount */
            aload 4 /* hashArea */
            invokespecial com.fasterxml.jackson.databind.util.CompactStringObjectMap.<init>:(II[Ljava/lang/Object;)V
            areturn
        end local 5 // int spillCount
        end local 4 // java.lang.Object[] hashArea
        end local 3 // int alloc
        end local 2 // int mask
        end local 1 // int size
        end local 0 // java.util.Map all
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0         all  Ljava/util/Map<Ljava/lang/String;TT;>;
            3   25     1        size  I
            4   25     2        mask  I
            5   25     3       alloc  I
            6   25     4    hashArea  [Ljava/lang/Object;
            7   25     5  spillCount  I
            9   23     6       entry  Ljava/util/Map$Entry<Ljava/lang/String;TT;>;
           10   23     8         key  Ljava/lang/String;
           13   23     9        slot  I
           14   23    10          ix  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Ljava/lang/String;TT;>;)Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
    MethodParameters:
      Name  Flags
      all   

  private static final int findSize(int);
    descriptor: (I)I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int size
         0: .line 85
            iload 0 /* size */
            iconst_5
            if_icmpgt 2
         1: .line 86
            bipush 8
            ireturn
         2: .line 88
      StackMap locals:
      StackMap stack:
            iload 0 /* size */
            bipush 12
            if_icmpgt 4
         3: .line 89
            bipush 16
            ireturn
         4: .line 91
      StackMap locals:
      StackMap stack:
            iload 0 /* size */
            iload 0 /* size */
            iconst_2
            ishr
            iadd
            istore 1 /* needed */
        start local 1 // int needed
         5: .line 92
            bipush 32
            istore 2 /* result */
        start local 2 // int result
         6: .line 93
            goto 8
         7: .line 94
      StackMap locals: int int
      StackMap stack:
            iload 2 /* result */
            iload 2 /* result */
            iadd
            istore 2 /* result */
         8: .line 93
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            iload 1 /* needed */
            if_icmplt 7
         9: .line 96
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // int needed
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    size  I
            5   10     1  needed  I
            6   10     2  result  I
    MethodParameters:
      Name  Flags
      size  

  public java.lang.Object find(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
        start local 1 // java.lang.String key
         0: .line 100
            aload 1 /* key */
            invokevirtual java.lang.String.hashCode:()I
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashMask:I
            iand
            istore 2 /* slot */
        start local 2 // int slot
         1: .line 101
            iload 2 /* slot */
            iconst_1
            ishl
            istore 3 /* ix */
        start local 3 // int ix
         2: .line 102
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 3 /* ix */
            aaload
            astore 4 /* match */
        start local 4 // java.lang.Object match
         3: .line 103
            aload 4 /* match */
            aload 1 /* key */
            if_acmpeq 4
            aload 1 /* key */
            aload 4 /* match */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 104
      StackMap locals: int int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 3 /* ix */
            iconst_1
            iadd
            aaload
            areturn
         5: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* slot */
            aload 4 /* match */
            invokevirtual com.fasterxml.jackson.databind.util.CompactStringObjectMap._find2:(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object match
        end local 3 // int ix
        end local 2 // int slot
        end local 1 // java.lang.String key
        end local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
            0    6     1    key  Ljava/lang/String;
            1    6     2   slot  I
            2    6     3     ix  I
            3    6     4  match  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  private final java.lang.Object _find2(java.lang.String, int, java.lang.Object);
    descriptor: (Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
        start local 1 // java.lang.String key
        start local 2 // int slot
        start local 3 // java.lang.Object match
         0: .line 111
            aload 3 /* match */
            ifnonnull 2
         1: .line 112
            aconst_null
            areturn
         2: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashMask:I
            iconst_1
            iadd
            istore 4 /* hashSize */
        start local 4 // int hashSize
         3: .line 115
            iload 4 /* hashSize */
            iload 2 /* slot */
            iconst_1
            ishr
            iadd
            iconst_1
            ishl
            istore 5 /* ix */
        start local 5 // int ix
         4: .line 116
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 5 /* ix */
            aaload
            astore 3 /* match */
         5: .line 117
            aload 1 /* key */
            aload 3 /* match */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 118
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 5 /* ix */
            iconst_1
            iadd
            aaload
            areturn
         7: .line 120
      StackMap locals: int int
      StackMap stack:
            aload 3 /* match */
            ifnull 16
         8: .line 121
            iload 4 /* hashSize */
            iload 4 /* hashSize */
            iconst_1
            ishr
            iadd
            iconst_1
            ishl
            istore 6 /* i */
        start local 6 // int i
         9: .line 122
            iload 6 /* i */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._spillCount:I
            iadd
            istore 7 /* end */
        start local 7 // int end
        10: goto 15
        11: .line 123
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 6 /* i */
            aaload
            astore 3 /* match */
        12: .line 124
            aload 3 /* match */
            aload 1 /* key */
            if_acmpeq 13
            aload 1 /* key */
            aload 3 /* match */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 6 /* i */
            iconst_1
            iadd
            aaload
            areturn
        14: .line 122
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 2
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            iload 7 /* end */
            if_icmplt 11
        end local 7 // int end
        end local 6 // int i
        16: .line 129
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int ix
        end local 4 // int hashSize
        end local 3 // java.lang.Object match
        end local 2 // int slot
        end local 1 // java.lang.String key
        end local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
            0   17     1       key  Ljava/lang/String;
            0   17     2      slot  I
            0   17     3     match  Ljava/lang/Object;
            3   17     4  hashSize  I
            4   17     5        ix  I
            9   16     6         i  I
           10   16     7       end  I
    MethodParameters:
       Name  Flags
      key    
      slot   
      match  

  public java.lang.Object findCaseInsensitive(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
        start local 1 // java.lang.String key
         0: .line 136
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            arraylength
            istore 3 /* end */
        start local 3 // int end
         2: goto 9
         3: .line 137
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            astore 4 /* k2 */
        start local 4 // java.lang.Object k2
         4: .line 138
            aload 4 /* k2 */
            ifnull 8
         5: .line 139
            aload 4 /* k2 */
            checkcast java.lang.String
            astore 5 /* s */
        start local 5 // java.lang.String s
         6: .line 140
            aload 5 /* s */
            aload 1 /* key */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 141
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            areturn
        end local 5 // java.lang.String s
        end local 4 // java.lang.Object k2
         8: .line 136
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 2
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 3 /* end */
            if_icmplt 3
        end local 3 // int end
        end local 2 // int i
        10: .line 145
            aconst_null
            areturn
        end local 1 // java.lang.String key
        end local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
            0   11     1   key  Ljava/lang/String;
            1   10     2     i  I
            2   10     3   end  I
            4    8     4    k2  Ljava/lang/Object;
            6    8     5     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public java.util.List<java.lang.String> keys();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
         0: .line 149
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            arraylength
            istore 1 /* end */
        start local 1 // int end
         1: .line 150
            new java.util.ArrayList
            dup
            iload 1 /* end */
            iconst_2
            ishr
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* keys */
        start local 2 // java.util.List keys
         2: .line 151
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 152
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            astore 4 /* key */
        start local 4 // java.lang.Object key
         5: .line 153
            aload 4 /* key */
            ifnull 7
         6: .line 154
            aload 2 /* keys */
            aload 4 /* key */
            checkcast java.lang.String
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object key
         7: .line 151
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* end */
            if_icmplt 4
        end local 3 // int i
         9: .line 157
            aload 2 /* keys */
            areturn
        end local 2 // java.util.List keys
        end local 1 // int end
        end local 0 // com.fasterxml.jackson.databind.util.CompactStringObjectMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
            1   10     1   end  I
            2   10     2  keys  Ljava/util/List<Ljava/lang/String;>;
            3    9     3     i  I
            5    7     4   key  Ljava/lang/Object;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
}
SourceFile: "CompactStringObjectMap.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map