Compiled from "DecorLootConfigManager.java"
public final class com.ogaba.sa_decor.common.loot.DecorLootConfigManager {
  private static final java.lang.String SURVIVORS_ARSENAL_CONFIG_FOLDER;

  private static final int MAX_CONFIG_FILES;

  private static final java.lang.String DEFAULT_PROFILES_INITIALIZED_MARKER;

  private static final com.google.gson.Gson GSON;

  private static final com.google.gson.Gson COMPACT_GSON;

  private static final java.util.Map<java.lang.String, com.ogaba.sa_decor.common.loot.DecorLootConfig> CONFIGS;

  private static final java.util.Map<java.lang.String, java.nio.file.Path> CONFIG_PATHS;

  private com.ogaba.sa_decor.common.loot.DecorLootConfigManager();
    Code:
       0: aload_0
       1: invokespecial #43                 // Method java/lang/Object."<init>":()V
       4: return

  public static void reload();
    Code:
       0: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
       3: invokeinterface #55,  1           // InterfaceMethod java/util/Map.clear:()V
       8: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
      11: invokeinterface #55,  1           // InterfaceMethod java/util/Map.clear:()V
      16: invokestatic  #62                 // Method com/ogaba/sa_decor/common/loot/DecorLootGenerator.clearCaches:()V
      19: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
      22: astore_0
      23: aload_0
      24: iconst_0
      25: anewarray     #68                 // class java/nio/file/LinkOption
      28: invokestatic  #74                 // Method java/nio/file/Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      31: istore_1
      32: aload_0
      33: iconst_0
      34: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      37: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      40: pop
      41: aload_0
      42: iload_1
      43: invokestatic  #84                 // Method initializeDefaultProfilesOnce:(Ljava/nio/file/Path;Z)V
      46: goto          63
      49: astore_2
      50: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      53: ldc           #94                 // String Could not create Survivors Arsenal loot crate config directory: {}
      55: aload_0
      56: aload_2
      57: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
      62: return
      63: aload_0
      64: invokestatic  #104                // Method java/nio/file/Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
      67: astore_2
      68: aload_2
      69: invokedynamic #123,  0            // InvokeDynamic #0:test:()Ljava/util/function/Predicate;
      74: invokeinterface #129,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
      79: invokedynamic #134,  0            // InvokeDynamic #1:test:()Ljava/util/function/Predicate;
      84: invokeinterface #129,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
      89: invokedynamic #146,  0            // InvokeDynamic #2:apply:()Ljava/util/function/Function;
      94: invokestatic  #152                // InterfaceMethod java/util/Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
      97: invokeinterface #156,  2          // InterfaceMethod java/util/stream/Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
     102: ldc2_w        #157                // long 4096l
     105: invokeinterface #162,  3          // InterfaceMethod java/util/stream/Stream.limit:(J)Ljava/util/stream/Stream;
     110: invokedynamic #174,  0            // InvokeDynamic #3:accept:()Ljava/util/function/Consumer;
     115: invokeinterface #178,  2          // InterfaceMethod java/util/stream/Stream.forEach:(Ljava/util/function/Consumer;)V
     120: aload_2
     121: ifnull        157
     124: aload_2
     125: invokeinterface #181,  1          // InterfaceMethod java/util/stream/Stream.close:()V
     130: goto          157
     133: astore_3
     134: aload_2
     135: ifnull        155
     138: aload_2
     139: invokeinterface #181,  1          // InterfaceMethod java/util/stream/Stream.close:()V
     144: goto          155
     147: astore        4
     149: aload_3
     150: aload         4
     152: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
     155: aload_3
     156: athrow
     157: goto          173
     160: astore_2
     161: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     164: ldc           #187                // String Could not list Survivors Arsenal loot crate configs: {}
     166: aload_0
     167: aload_2
     168: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
     173: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     176: ldc           #189                // String Loaded {} Survivors Arsenal loot crate config(s).
     178: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
     181: invokeinterface #193,  1          // InterfaceMethod java/util/Map.size:()I
     186: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     189: invokeinterface #203,  3          // InterfaceMethod org/slf4j/Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
     194: return
    Exception table:
       from    to  target type
          32    46    49   Class java/io/IOException
          68   120   133   Class java/lang/Throwable
         138   144   147   Class java/lang/Throwable
          63   157   160   Class java/io/IOException

  public static com.ogaba.sa_decor.common.loot.DecorLootConfig get(java.lang.String);
    Code:
       0: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #219                // class com/ogaba/sa_decor/common/loot/DecorLootConfig
      12: areturn

  public static java.util.Collection<com.ogaba.sa_decor.common.loot.DecorLootConfig> values();
    Code:
       0: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
       3: invokeinterface #225,  1          // InterfaceMethod java/util/Map.values:()Ljava/util/Collection;
       8: areturn

  public static boolean has(java.lang.String);
    Code:
       0: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #230,  2          // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z
       9: ireturn

  public static long getRevision(java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_1
      13: aload_1
      14: ifnull        28
      17: aload_1
      18: iconst_0
      19: anewarray     #68                 // class java/nio/file/LinkOption
      22: invokestatic  #235                // Method java/nio/file/Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      25: ifne          30
      28: lconst_0
      29: lreturn
      30: aload_1
      31: invokestatic  #239                // Method java/nio/file/Files.readAllBytes:(Ljava/nio/file/Path;)[B
      34: astore_2
      35: ldc2_w        #240                // long -3750763034362895579l
      38: lstore_3
      39: aload_2
      40: astore        5
      42: aload         5
      44: arraylength
      45: istore        6
      47: iconst_0
      48: istore        7
      50: iload         7
      52: iload         6
      54: if_icmpge     86
      57: aload         5
      59: iload         7
      61: baload
      62: istore        8
      64: lload_3
      65: iload         8
      67: i2l
      68: ldc2_w        #246                // long 255l
      71: land
      72: lxor
      73: lstore_3
      74: lload_3
      75: ldc2_w        #248                // long 1099511628211l
      78: lmul
      79: lstore_3
      80: iinc          7, 1
      83: goto          50
      86: lload_3
      87: lconst_0
      88: lcmp
      89: ifne          96
      92: lconst_1
      93: goto          97
      96: lload_3
      97: lreturn
      98: astore_2
      99: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     102: ldc           #251                // String Could not calculate loot profile revision for \'{}\'.
     104: aload_0
     105: aload_2
     106: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
     111: lconst_0
     112: lreturn
    Exception table:
       from    to  target type
          30    97    98   Class java/io/IOException

  public static boolean revisionMatches(java.lang.String, long);
    Code:
       0: lload_1
       1: lconst_0
       2: lcmp
       3: ifeq          19
       6: lload_1
       7: aload_0
       8: invokestatic  #261                // Method getRevision:(Ljava/lang/String;)J
      11: lcmp
      12: ifne          19
      15: iconst_1
      16: goto          20
      19: iconst_0
      20: ireturn

  public static boolean isValidConfigId(java.lang.String);
    Code:
       0: aload_0
       1: ifnull        18
       4: aload_0
       5: ldc_w         #265                // String [a-z0-9_\\-]+
       8: invokevirtual #268                // Method java/lang/String.matches:(Ljava/lang/String;)Z
      11: ifeq          18
      14: iconst_1
      15: goto          19
      18: iconst_0
      19: ireturn

  public static boolean createConfig(java.lang.String, boolean, boolean, boolean);
    Code:
       0: aload_0
       1: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
       4: ifne          9
       7: iconst_0
       8: ireturn
       9: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
      12: astore        4
      14: aload         4
      16: aload_0
      17: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      22: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      27: astore        5
      29: aload         5
      31: iconst_0
      32: anewarray     #68                 // class java/nio/file/LinkOption
      35: invokestatic  #291                // Method java/nio/file/Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      38: ifeq          43
      41: iconst_0
      42: ireturn
      43: aload_0
      44: iload_1
      45: iload_2
      46: iload_3
      47: invokestatic  #295                // Method createEmptyConfigJson:(Ljava/lang/String;ZZZ)Lcom/google/gson/JsonObject;
      50: astore        6
      52: aload         4
      54: iconst_0
      55: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      58: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      61: pop
      62: aload         5
      64: aload         6
      66: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      69: invokestatic  #301                // Method reload:()V
      72: iconst_1
      73: ireturn
      74: astore        7
      76: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      79: ldc_w         #305                // String Could not create loot crate config \'{}\' at {}.
      82: iconst_3
      83: anewarray     #4                  // class java/lang/Object
      86: dup
      87: iconst_0
      88: aload_0
      89: aastore
      90: dup
      91: iconst_1
      92: aload         5
      94: aastore
      95: dup
      96: iconst_2
      97: aload         7
      99: aastore
     100: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     105: iconst_0
     106: ireturn
    Exception table:
       from    to  target type
          52    73    74   Class java/io/IOException

  public static java.nio.file.Path getConfigPath(java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_1
      13: aload_1
      14: ifnull        19
      17: aload_1
      18: areturn
      19: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
      22: aload_0
      23: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      28: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      33: areturn

  public static boolean createPreset(java.lang.String);
    Code:
       0: aload_0
       1: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
       4: ifne          9
       7: iconst_0
       8: ireturn
       9: aload_0
      10: invokestatic  #320                // Method createPresetJson:(Ljava/lang/String;)Lcom/google/gson/JsonObject;
      13: astore_1
      14: aload_1
      15: ifnonnull     20
      18: iconst_0
      19: ireturn
      20: aload_0
      21: aload_1
      22: invokestatic  #324                // Method writeConfigIfMissing:(Ljava/lang/String;Lcom/google/gson/JsonObject;)Z
      25: ireturn

  public static boolean copyConfig(java.lang.String, java.lang.String);
    Code:
       0: aload_0
       1: invokestatic  #331                // Method has:(Ljava/lang/String;)Z
       4: ifeq          21
       7: aload_1
       8: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
      11: ifeq          21
      14: aload_1
      15: invokestatic  #331                // Method has:(Ljava/lang/String;)Z
      18: ifeq          23
      21: iconst_0
      22: ireturn
      23: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
      26: aload_0
      27: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
      32: checkcast     #86                 // class java/nio/file/Path
      35: astore_2
      36: aload_2
      37: ifnonnull     42
      40: iconst_0
      41: ireturn
      42: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
      45: aload_1
      46: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      51: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      56: astore_3
      57: aload_3
      58: iconst_0
      59: anewarray     #68                 // class java/nio/file/LinkOption
      62: invokestatic  #291                // Method java/nio/file/Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      65: ifeq          70
      68: iconst_0
      69: ireturn
      70: aload_2
      71: invokestatic  #335                // Method java/nio/file/Files.newBufferedReader:(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
      74: astore        4
      76: aload         4
      78: invokestatic  #341                // Method com/google/gson/JsonParser.parseReader:(Ljava/io/Reader;)Lcom/google/gson/JsonElement;
      81: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      84: astore        5
      86: aload         5
      88: ldc_w         #348                // String id
      91: aload_1
      92: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      95: aload_3
      96: invokeinterface #355,  1          // InterfaceMethod java/nio/file/Path.getParent:()Ljava/nio/file/Path;
     101: iconst_0
     102: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
     105: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
     108: pop
     109: aload_3
     110: aload         5
     112: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     115: invokestatic  #301                // Method reload:()V
     118: iconst_1
     119: istore        6
     121: aload         4
     123: ifnull        131
     126: aload         4
     128: invokevirtual #358                // Method java/io/Reader.close:()V
     131: iload         6
     133: ireturn
     134: astore        5
     136: aload         4
     138: ifnull        158
     141: aload         4
     143: invokevirtual #358                // Method java/io/Reader.close:()V
     146: goto          158
     149: astore        6
     151: aload         5
     153: aload         6
     155: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
     158: aload         5
     160: athrow
     161: astore        4
     163: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     166: ldc_w         #360                // String Could not copy loot config \'{}\' to \'{}\'.
     169: iconst_3
     170: anewarray     #4                  // class java/lang/Object
     173: dup
     174: iconst_0
     175: aload_0
     176: aastore
     177: dup
     178: iconst_1
     179: aload_1
     180: aastore
     181: dup
     182: iconst_2
     183: aload         4
     185: aastore
     186: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     191: iconst_0
     192: ireturn
    Exception table:
       from    to  target type
          76   121   134   Class java/lang/Throwable
         141   146   149   Class java/lang/Throwable
          70   131   161   Class java/lang/Exception
         134   161   161   Class java/lang/Exception

  public static boolean setSearchEnabled(java.lang.String, boolean);
    Code:
       0: aload_0
       1: ldc_w         #371                // String search
       4: ldc_w         #373                // String enabled
       7: iload_1
       8: invokestatic  #377                // Method updateBooleanInObject:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
      11: ireturn

  public static boolean setLockEnabled(java.lang.String, boolean);
    Code:
       0: aload_0
       1: ldc_w         #381                // String lock
       4: ldc_w         #373                // String enabled
       7: iload_1
       8: invokestatic  #377                // Method updateBooleanInObject:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
      11: ireturn

  public static boolean setPerPlayer(java.lang.String, boolean);
    Code:
       0: aload_0
       1: ldc_w         #384                // String per_player
       4: iload_1
       5: invokestatic  #388                // Method updateRootBoolean:(Ljava/lang/String;Ljava/lang/String;Z)Z
       8: ireturn

  public static boolean setRespawn(java.lang.String, boolean, int, boolean, boolean);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        5
      14: aload         5
      16: ifnonnull     21
      19: iconst_0
      20: ireturn
      21: aload         5
      23: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      26: astore        6
      28: aload         6
      30: ldc_w         #396                // String respawn
      33: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      36: astore        7
      38: aload         7
      40: ldc_w         #373                // String enabled
      43: iload_1
      44: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      47: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      50: aload         7
      52: ldc_w         #410                // String time_ticks
      55: iconst_1
      56: iload_2
      57: invokestatic  #416                // Method java/lang/Math.max:(II)I
      60: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      63: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      66: aload         7
      68: ldc_w         #421                // String only_if_empty
      71: iload_3
      72: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      75: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      78: aload         7
      80: ldc_w         #423                // String clear_before_respawn
      83: iconst_1
      84: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      87: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      90: aload         5
      92: aload         6
      94: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      97: invokestatic  #301                // Method reload:()V
     100: iconst_1
     101: ireturn
     102: astore        6
     104: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     107: ldc_w         #425                // String Could not update respawn for loot config \'{}\'.
     110: aload_0
     111: aload         6
     113: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
     118: iconst_0
     119: ireturn
    Exception table:
       from    to  target type
          21   101   102   Class java/lang/Exception

  public static boolean setEmpty(java.lang.String, boolean, float);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_3
      13: aload_3
      14: ifnonnull     19
      17: iconst_0
      18: ireturn
      19: aload_3
      20: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      23: astore        4
      25: aload         4
      27: ldc_w         #432                // String empty
      30: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      33: astore        5
      35: aload         5
      37: ldc_w         #373                // String enabled
      40: iload_1
      41: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      44: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      47: aload         5
      49: ldc_w         #434                // String spawn_chance
      52: fconst_0
      53: fconst_1
      54: fload_2
      55: invokestatic  #438                // Method java/lang/Math.min:(FF)F
      58: invokestatic  #440                // Method java/lang/Math.max:(FF)F
      61: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
      64: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      67: aload_3
      68: aload         4
      70: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      73: invokestatic  #301                // Method reload:()V
      76: iconst_1
      77: ireturn
      78: astore        4
      80: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      83: ldc_w         #447                // String Could not update empty spawn config for loot config \'{}\'.
      86: aload_0
      87: aload         4
      89: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
      94: iconst_0
      95: ireturn
    Exception table:
       from    to  target type
          19    77    78   Class java/lang/Exception

  public static boolean addLootTableToConfig(java.lang.String, java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_2
      13: aload_2
      14: ifnull        28
      17: aload_1
      18: ifnull        28
      21: aload_1
      22: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      25: ifeq          30
      28: iconst_0
      29: ireturn
      30: aload_2
      31: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      34: astore_3
      35: aload_3
      36: ldc_w         #456                // String loot_tables
      39: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      42: ifeq          70
      45: aload_3
      46: ldc_w         #456                // String loot_tables
      49: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      52: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      55: ifeq          70
      58: aload_3
      59: ldc_w         #456                // String loot_tables
      62: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      65: astore        4
      67: goto          88
      70: new           #469                // class com/google/gson/JsonArray
      73: dup
      74: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
      77: astore        4
      79: aload_3
      80: ldc_w         #456                // String loot_tables
      83: aload         4
      85: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
      88: aload         4
      90: aload_1
      91: invokevirtual #477                // Method com/google/gson/JsonArray.add:(Ljava/lang/String;)V
      94: aload_2
      95: aload_3
      96: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      99: invokestatic  #301                // Method reload:()V
     102: iconst_1
     103: ireturn
     104: astore_3
     105: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     108: ldc_w         #479                // String Could not add loot table \'{}\' to loot config \'{}\'.
     111: iconst_3
     112: anewarray     #4                  // class java/lang/Object
     115: dup
     116: iconst_0
     117: aload_1
     118: aastore
     119: dup
     120: iconst_1
     121: aload_0
     122: aastore
     123: dup
     124: iconst_2
     125: aload_3
     126: aastore
     127: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     132: iconst_0
     133: ireturn
    Exception table:
       from    to  target type
          30   103   104   Class java/lang/Exception

  public static java.nio.file.Path getSurvivorsArsenalConfigDirectory();
    Code:
       0: getstatic     #489                // Field net/minecraftforge/fml/loading/FMLPaths.CONFIGDIR:Lnet/minecraftforge/fml/loading/FMLPaths;
       3: invokevirtual #491                // Method net/minecraftforge/fml/loading/FMLPaths.get:()Ljava/nio/file/Path;
       6: ldc           #25                 // String survivorsarsenal
       8: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      13: areturn

  public static java.nio.file.Path getLootCrateConfigDirectory();
    Code:
       0: invokestatic  #493                // Method getSurvivorsArsenalConfigDirectory:()Ljava/nio/file/Path;
       3: ldc_w         #495                // String loot_crates
       6: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      11: areturn

  public static java.nio.file.Path getLootCrateExportDirectory();
    Code:
       0: invokestatic  #493                // Method getSurvivorsArsenalConfigDirectory:()Ljava/nio/file/Path;
       3: ldc_w         #498                // String loot_crates_exports
       6: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      11: areturn

  public static boolean createConfigFromPreset(java.lang.String, java.lang.String);
    Code:
       0: aload_0
       1: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
       4: ifeq          25
       7: aload_1
       8: ifnull        25
      11: aload_1
      12: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      15: ifne          25
      18: aload_0
      19: invokestatic  #331                // Method has:(Ljava/lang/String;)Z
      22: ifeq          27
      25: iconst_0
      26: ireturn
      27: aload_1
      28: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
      31: invokestatic  #320                // Method createPresetJson:(Ljava/lang/String;)Lcom/google/gson/JsonObject;
      34: astore_2
      35: aload_2
      36: ifnonnull     41
      39: iconst_0
      40: ireturn
      41: aload_2
      42: invokevirtual #506                // Method com/google/gson/JsonObject.toString:()Ljava/lang/String;
      45: invokestatic  #509                // Method com/google/gson/JsonParser.parseString:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      48: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      51: astore_3
      52: aload_3
      53: ldc_w         #348                // String id
      56: aload_0
      57: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      60: aload_3
      61: ldc_w         #511                // String display_name
      64: aload_0
      65: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      68: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
      71: aload_0
      72: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      77: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      82: astore        4
      84: aload         4
      86: invokeinterface #355,  1          // InterfaceMethod java/nio/file/Path.getParent:()Ljava/nio/file/Path;
      91: iconst_0
      92: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      95: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      98: pop
      99: aload         4
     101: aload_3
     102: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     105: invokestatic  #301                // Method reload:()V
     108: iconst_1
     109: ireturn
     110: astore        5
     112: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     115: ldc_w         #513                // String Could not create loot profile \'{}\' from preset \'{}\'.
     118: iconst_3
     119: anewarray     #4                  // class java/lang/Object
     122: dup
     123: iconst_0
     124: aload_0
     125: aastore
     126: dup
     127: iconst_1
     128: aload_1
     129: aastore
     130: dup
     131: iconst_2
     132: aload         5
     134: aastore
     135: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     140: iconst_0
     141: ireturn
    Exception table:
       from    to  target type
          84   109   110   Class java/lang/Exception

  public static boolean exportConfig(java.lang.String);
    Code:
       0: aload_0
       1: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
       4: ifeq          14
       7: aload_0
       8: invokestatic  #331                // Method has:(Ljava/lang/String;)Z
      11: ifne          16
      14: iconst_0
      15: ireturn
      16: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
      19: aload_0
      20: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
      25: checkcast     #86                 // class java/nio/file/Path
      28: astore_1
      29: aload_1
      30: ifnonnull     35
      33: iconst_0
      34: ireturn
      35: invokestatic  #519                // Method getLootCrateExportDirectory:()Ljava/nio/file/Path;
      38: astore_2
      39: aload_2
      40: aload_0
      41: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      46: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      51: astore_3
      52: aload_2
      53: iconst_0
      54: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      57: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      60: pop
      61: aload_1
      62: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      65: astore        4
      67: aload_3
      68: aload         4
      70: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      73: iconst_1
      74: ireturn
      75: astore        4
      77: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      80: ldc_w         #521                // String Could not export loot profile \'{}\'.
      83: aload_0
      84: aload         4
      86: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
      91: iconst_0
      92: ireturn
    Exception table:
       from    to  target type
          52    74    75   Class java/lang/Exception

  public static boolean importConfig(java.lang.String, java.lang.String);
    Code:
       0: aload_0
       1: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
       4: ifeq          21
       7: aload_1
       8: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
      11: ifeq          21
      14: aload_1
      15: invokestatic  #331                // Method has:(Ljava/lang/String;)Z
      18: ifeq          23
      21: iconst_0
      22: ireturn
      23: invokestatic  #519                // Method getLootCrateExportDirectory:()Ljava/nio/file/Path;
      26: aload_0
      27: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      32: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      37: invokeinterface #527,  1          // InterfaceMethod java/nio/file/Path.normalize:()Ljava/nio/file/Path;
      42: astore_2
      43: invokestatic  #519                // Method getLootCrateExportDirectory:()Ljava/nio/file/Path;
      46: invokeinterface #527,  1          // InterfaceMethod java/nio/file/Path.normalize:()Ljava/nio/file/Path;
      51: astore_3
      52: aload_2
      53: aload_3
      54: invokeinterface #530,  2          // InterfaceMethod java/nio/file/Path.startsWith:(Ljava/nio/file/Path;)Z
      59: ifeq          73
      62: aload_2
      63: iconst_0
      64: anewarray     #68                 // class java/nio/file/LinkOption
      67: invokestatic  #235                // Method java/nio/file/Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      70: ifne          75
      73: iconst_0
      74: ireturn
      75: aload_2
      76: invokestatic  #533                // Method java/nio/file/Files.size:(Ljava/nio/file/Path;)J
      79: ldc2_w        #534                // long 2097152l
      82: lcmp
      83: ifle          88
      86: iconst_0
      87: ireturn
      88: aload_2
      89: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      92: astore        4
      94: aload         4
      96: ldc_w         #348                // String id
      99: aload_1
     100: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     103: aload         4
     105: ldc_w         #511                // String display_name
     108: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     111: ifeq          131
     114: aload         4
     116: ldc_w         #511                // String display_name
     119: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     122: invokevirtual #538                // Method com/google/gson/JsonElement.getAsString:()Ljava/lang/String;
     125: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     128: ifeq          140
     131: aload         4
     133: ldc_w         #511                // String display_name
     136: aload_1
     137: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     140: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
     143: aload_1
     144: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
     149: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
     154: astore        5
     156: aload         5
     158: aload         4
     160: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     163: invokestatic  #301                // Method reload:()V
     166: aload_1
     167: invokestatic  #331                // Method has:(Ljava/lang/String;)Z
     170: ireturn
     171: astore        4
     173: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     176: ldc_w         #540                // String Could not import loot profile \'{}\' as \'{}\'.
     179: iconst_3
     180: anewarray     #4                  // class java/lang/Object
     183: dup
     184: iconst_0
     185: aload_0
     186: aastore
     187: dup
     188: iconst_1
     189: aload_1
     190: aastore
     191: dup
     192: iconst_2
     193: aload         4
     195: aastore
     196: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     201: iconst_0
     202: ireturn
    Exception table:
       from    to  target type
          75    87   171   Class java/lang/Exception
          88   170   171   Class java/lang/Exception

  public static java.util.List<java.lang.String> exportedProfileIds();
    Code:
       0: invokestatic  #519                // Method getLootCrateExportDirectory:()Ljava/nio/file/Path;
       3: astore_0
       4: aload_0
       5: iconst_0
       6: anewarray     #68                 // class java/nio/file/LinkOption
       9: invokestatic  #74                 // Method java/nio/file/Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      12: ifne          19
      15: invokestatic  #550                // InterfaceMethod java/util/List.of:()Ljava/util/List;
      18: areturn
      19: aload_0
      20: invokestatic  #104                // Method java/nio/file/Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
      23: astore_1
      24: aload_1
      25: invokedynamic #555,  0            // InvokeDynamic #5:test:()Ljava/util/function/Predicate;
      30: invokeinterface #129,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
      35: invokedynamic #560,  0            // InvokeDynamic #6:apply:()Ljava/util/function/Function;
      40: invokeinterface #564,  2          // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
      45: invokedynamic #570,  0            // InvokeDynamic #7:test:()Ljava/util/function/Predicate;
      50: invokeinterface #129,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
      55: invokedynamic #576,  0            // InvokeDynamic #8:apply:()Ljava/util/function/Function;
      60: invokeinterface #564,  2          // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
      65: invokedynamic #578,  0            // InvokeDynamic #9:test:()Ljava/util/function/Predicate;
      70: invokeinterface #129,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
      75: invokeinterface #581,  1          // InterfaceMethod java/util/stream/Stream.sorted:()Ljava/util/stream/Stream;
      80: invokeinterface #584,  1          // InterfaceMethod java/util/stream/Stream.toList:()Ljava/util/List;
      85: astore_2
      86: aload_1
      87: ifnull        96
      90: aload_1
      91: invokeinterface #181,  1          // InterfaceMethod java/util/stream/Stream.close:()V
      96: aload_2
      97: areturn
      98: astore_2
      99: aload_1
     100: ifnull        118
     103: aload_1
     104: invokeinterface #181,  1          // InterfaceMethod java/util/stream/Stream.close:()V
     109: goto          118
     112: astore_3
     113: aload_2
     114: aload_3
     115: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
     118: aload_2
     119: athrow
     120: astore_1
     121: invokestatic  #550                // InterfaceMethod java/util/List.of:()Ljava/util/List;
     124: areturn
    Exception table:
       from    to  target type
          24    86    98   Class java/lang/Throwable
         103   109   112   Class java/lang/Throwable
          19    96   120   Class java/io/IOException
          98   120   120   Class java/io/IOException

  public static java.nio.file.Path getCollectiblesConfigDirectory();
    Code:
       0: invokestatic  #493                // Method getSurvivorsArsenalConfigDirectory:()Ljava/nio/file/Path;
       3: ldc_w         #587                // String collectibles
       6: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      11: areturn

  public static java.nio.file.Path getForceOpenItemsConfigFile();
    Code:
       0: invokestatic  #493                // Method getSurvivorsArsenalConfigDirectory:()Ljava/nio/file/Path;
       3: ldc_w         #590                // String force_open_items.json
       6: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      11: areturn

  public static int formatAllConfigs();
    Code:
       0: iconst_0
       1: istore_0
       2: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       5: invokeinterface #225,  1          // InterfaceMethod java/util/Map.values:()Ljava/util/Collection;
      10: invokeinterface #597,  1          // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
      15: astore_1
      16: aload_1
      17: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      22: ifeq          68
      25: aload_1
      26: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      31: checkcast     #86                 // class java/nio/file/Path
      34: astore_2
      35: aload_2
      36: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      39: astore_3
      40: aload_2
      41: aload_3
      42: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      45: iinc          0, 1
      48: goto          65
      51: astore_3
      52: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      55: ldc_w         #608                // String Could not format loot config at {}.
      58: aload_2
      59: aload_3
      60: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
      65: goto          16
      68: invokestatic  #301                // Method reload:()V
      71: iload_0
      72: ireturn
    Exception table:
       from    to  target type
          35    48    51   Class java/lang/Exception

  public static boolean addEntryToConfig(java.lang.String, java.lang.String, int, int, int, float);
    Code:
       0: aload_0
       1: aload_1
       2: iload_2
       3: iload_3
       4: iload         4
       6: fload         5
       8: aconst_null
       9: invokestatic  #614                // Method addEntryToConfig:(Ljava/lang/String;Ljava/lang/String;IIIFLjava/lang/String;)Z
      12: ireturn

  public static boolean addEntryToConfig(java.lang.String, java.lang.String, int, int, int, float, java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        7
      14: aload         7
      16: ifnonnull     21
      19: iconst_0
      20: ireturn
      21: aload         7
      23: invokestatic  #335                // Method java/nio/file/Files.newBufferedReader:(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
      26: astore        9
      28: aload         9
      30: invokestatic  #341                // Method com/google/gson/JsonParser.parseReader:(Ljava/io/Reader;)Lcom/google/gson/JsonElement;
      33: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      36: astore        8
      38: aload         9
      40: ifnull        78
      43: aload         9
      45: invokevirtual #358                // Method java/io/Reader.close:()V
      48: goto          78
      51: astore        10
      53: aload         9
      55: ifnull        75
      58: aload         9
      60: invokevirtual #358                // Method java/io/Reader.close:()V
      63: goto          75
      66: astore        11
      68: aload         10
      70: aload         11
      72: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      75: aload         10
      77: athrow
      78: aload         8
      80: ldc_w         #621                // String entries
      83: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      86: ifeq          116
      89: aload         8
      91: ldc_w         #621                // String entries
      94: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      97: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     100: ifeq          116
     103: aload         8
     105: ldc_w         #621                // String entries
     108: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
     111: astore        9
     113: goto          135
     116: new           #469                // class com/google/gson/JsonArray
     119: dup
     120: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     123: astore        9
     125: aload         8
     127: ldc_w         #621                // String entries
     130: aload         9
     132: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     135: new           #303                // class com/google/gson/JsonObject
     138: dup
     139: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     142: astore        10
     144: aload_1
     145: ifnonnull     154
     148: ldc_w         #624                // String
     151: goto          158
     154: aload_1
     155: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     158: astore        11
     160: aload         11
     162: ldc_w         #626                // String #
     165: invokevirtual #628                // Method java/lang/String.startsWith:(Ljava/lang/String;)Z
     168: ifeq          188
     171: aload         10
     173: ldc_w         #630                // String tag
     176: aload         11
     178: iconst_1
     179: invokevirtual #634                // Method java/lang/String.substring:(I)Ljava/lang/String;
     182: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     185: goto          198
     188: aload         10
     190: ldc_w         #636                // String item
     193: aload         11
     195: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     198: aload         10
     200: ldc_w         #637                // String weight
     203: iconst_1
     204: iload_2
     205: invokestatic  #416                // Method java/lang/Math.max:(II)I
     208: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     211: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     214: aload         10
     216: ldc_w         #638                // String chance
     219: fconst_0
     220: fload         5
     222: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     225: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     228: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     231: aload         6
     233: ifnull        257
     236: aload         6
     238: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     241: ifne          257
     244: aload         10
     246: ldc_w         #640                // String nbt
     249: aload         6
     251: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     254: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     257: new           #303                // class com/google/gson/JsonObject
     260: dup
     261: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     264: astore        12
     266: aload         12
     268: ldc_w         #641                // String min
     271: iconst_1
     272: iload_3
     273: iload         4
     275: invokestatic  #643                // Method java/lang/Math.min:(II)I
     278: invokestatic  #416                // Method java/lang/Math.max:(II)I
     281: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     284: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     287: aload         12
     289: ldc_w         #644                // String max
     292: iconst_1
     293: iload_3
     294: iload         4
     296: invokestatic  #416                // Method java/lang/Math.max:(II)I
     299: invokestatic  #416                // Method java/lang/Math.max:(II)I
     302: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     305: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     308: aload         10
     310: ldc_w         #646                // String count
     313: aload         12
     315: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     318: aload         9
     320: aload         10
     322: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     325: aload         7
     327: aload         8
     329: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     332: invokestatic  #301                // Method reload:()V
     335: iconst_1
     336: ireturn
     337: astore        8
     339: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     342: ldc_w         #651                // String Could not add entry to loot config \'{}\' at {}.
     345: iconst_3
     346: anewarray     #4                  // class java/lang/Object
     349: dup
     350: iconst_0
     351: aload_0
     352: aastore
     353: dup
     354: iconst_1
     355: aload         7
     357: aastore
     358: dup
     359: iconst_2
     360: aload         8
     362: aastore
     363: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     368: iconst_0
     369: ireturn
    Exception table:
       from    to  target type
          28    38    51   Class java/lang/Throwable
          58    63    66   Class java/lang/Throwable
          21   336   337   Class java/lang/Exception

  public static boolean addMatchEntryToConfig(java.lang.String, java.lang.String, java.lang.String, int, int, int, float, java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        8
      14: aload         8
      16: ifnull        30
      19: aload_2
      20: ifnull        30
      23: aload_2
      24: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      27: ifeq          32
      30: iconst_0
      31: ireturn
      32: aload         8
      34: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      37: astore        9
      39: aload         9
      41: aload_1
      42: iconst_1
      43: invokestatic  #659                // Method getEntryArray:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Lcom/google/gson/JsonArray;
      46: astore        10
      48: aload         10
      50: ifnonnull     55
      53: iconst_0
      54: ireturn
      55: new           #303                // class com/google/gson/JsonObject
      58: dup
      59: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      62: astore        11
      64: aload_2
      65: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
      68: astore        12
      70: aload         12
      72: ldc_w         #626                // String #
      75: invokevirtual #628                // Method java/lang/String.startsWith:(Ljava/lang/String;)Z
      78: ifeq          90
      81: aload         12
      83: iconst_1
      84: invokevirtual #634                // Method java/lang/String.substring:(I)Ljava/lang/String;
      87: goto          92
      90: aload         12
      92: astore        13
      94: aload         13
      96: invokestatic  #665                // Method net/minecraft/resources/ResourceLocation.m_135820_:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
      99: astore        14
     101: aload         14
     103: ifnull        130
     106: aload         12
     108: ldc_w         #626                // String #
     111: invokevirtual #628                // Method java/lang/String.startsWith:(Ljava/lang/String;)Z
     114: ifne          132
     117: getstatic     #671                // Field net/minecraft/core/registries/BuiltInRegistries.f_257033_:Lnet/minecraft/core/DefaultedRegistry;
     120: aload         14
     122: invokeinterface #677,  2          // InterfaceMethod net/minecraft/core/DefaultedRegistry.m_7804_:(Lnet/minecraft/resources/ResourceLocation;)Z
     127: ifne          132
     130: iconst_0
     131: ireturn
     132: aload         7
     134: ifnull        161
     137: aload         7
     139: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     142: ifne          161
     145: aload         7
     147: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     150: invokestatic  #683                // Method net/minecraft/nbt/TagParser.m_129359_:(Ljava/lang/String;)Lnet/minecraft/nbt/CompoundTag;
     153: pop
     154: goto          161
     157: astore        15
     159: iconst_0
     160: ireturn
     161: aload         12
     163: ldc_w         #626                // String #
     166: invokevirtual #628                // Method java/lang/String.startsWith:(Ljava/lang/String;)Z
     169: ifeq          185
     172: aload         11
     174: ldc_w         #630                // String tag
     177: aload         13
     179: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     182: goto          195
     185: aload         11
     187: ldc_w         #636                // String item
     190: aload         13
     192: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     195: aload         11
     197: ldc_w         #637                // String weight
     200: iconst_1
     201: ldc_w         #684                // int 1000000
     204: iload_3
     205: invokestatic  #643                // Method java/lang/Math.min:(II)I
     208: invokestatic  #416                // Method java/lang/Math.max:(II)I
     211: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     214: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     217: aload         11
     219: ldc_w         #638                // String chance
     222: ldc_w         #685                // float 1.0E-4f
     225: fconst_1
     226: fload         6
     228: invokestatic  #438                // Method java/lang/Math.min:(FF)F
     231: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     234: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     237: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     240: new           #303                // class com/google/gson/JsonObject
     243: dup
     244: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     247: astore        15
     249: aload         15
     251: ldc_w         #641                // String min
     254: iconst_1
     255: bipush        64
     257: iload         4
     259: iload         5
     261: invokestatic  #643                // Method java/lang/Math.min:(II)I
     264: invokestatic  #643                // Method java/lang/Math.min:(II)I
     267: invokestatic  #416                // Method java/lang/Math.max:(II)I
     270: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     273: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     276: aload         15
     278: ldc_w         #644                // String max
     281: iconst_1
     282: bipush        64
     284: iload         4
     286: iload         5
     288: invokestatic  #416                // Method java/lang/Math.max:(II)I
     291: invokestatic  #643                // Method java/lang/Math.min:(II)I
     294: invokestatic  #416                // Method java/lang/Math.max:(II)I
     297: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     300: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     303: aload         11
     305: ldc_w         #646                // String count
     308: aload         15
     310: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     313: aload         7
     315: ifnull        339
     318: aload         7
     320: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     323: ifne          339
     326: aload         11
     328: ldc_w         #640                // String nbt
     331: aload         7
     333: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     336: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     339: aload         10
     341: aload         11
     343: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     346: aload         8
     348: aload         9
     350: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     353: invokestatic  #301                // Method reload:()V
     356: iconst_1
     357: ireturn
     358: astore        9
     360: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     363: ldc_w         #687                // String Could not add match entry \'{}\' to loot profile \'{}\'.
     366: iconst_3
     367: anewarray     #4                  // class java/lang/Object
     370: dup
     371: iconst_0
     372: aload_2
     373: aastore
     374: dup
     375: iconst_1
     376: aload_0
     377: aastore
     378: dup
     379: iconst_2
     380: aload         9
     382: aastore
     383: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     388: iconst_0
     389: ireturn
    Exception table:
       from    to  target type
         145   154   157   Class java/lang/Exception
          32    54   358   Class java/lang/Exception
          55   131   358   Class java/lang/Exception
         132   160   358   Class java/lang/Exception
         161   357   358   Class java/lang/Exception

  public static boolean addInventoryEntryToConfig(java.lang.String, net.minecraft.world.item.ItemStack, int, int, int, float, boolean, java.util.List<com.ogaba.sa_decor.common.loot.DecorLootConfigManager$LinkedInventoryStack>);
    Code:
       0: aload_0
       1: ldc_w         #624                // String
       4: aload_1
       5: iload_2
       6: iload_3
       7: iload         4
       9: fload         5
      11: iload         6
      13: aload         7
      15: invokestatic  #699                // Method addInventoryEntryToConfig:(Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;IIIFZLjava/util/List;)Z
      18: ireturn

  public static boolean addInventoryEntryToConfig(java.lang.String, java.lang.String, net.minecraft.world.item.ItemStack, int, int, int, float, boolean, java.util.List<com.ogaba.sa_decor.common.loot.DecorLootConfigManager$LinkedInventoryStack>);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        9
      14: aload         9
      16: ifnull        30
      19: aload_2
      20: ifnull        30
      23: aload_2
      24: invokevirtual #711                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
      27: ifeq          32
      30: iconst_0
      31: ireturn
      32: aload         9
      34: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      37: astore        10
      39: aload         10
      41: aload_1
      42: iconst_1
      43: invokestatic  #659                // Method getEntryArray:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Lcom/google/gson/JsonArray;
      46: astore        11
      48: aload         11
      50: ifnonnull     55
      53: iconst_0
      54: ireturn
      55: aload_2
      56: iconst_1
      57: iload_3
      58: invokestatic  #416                // Method java/lang/Math.max:(II)I
      61: ldc_w         #685                // float 1.0E-4f
      64: fconst_1
      65: fload         6
      67: invokestatic  #438                // Method java/lang/Math.min:(FF)F
      70: invokestatic  #440                // Method java/lang/Math.max:(FF)F
      73: iconst_1
      74: iload         4
      76: iload         5
      78: invokestatic  #643                // Method java/lang/Math.min:(II)I
      81: invokestatic  #416                // Method java/lang/Math.max:(II)I
      84: iconst_1
      85: iload         4
      87: iload         5
      89: invokestatic  #416                // Method java/lang/Math.max:(II)I
      92: invokestatic  #416                // Method java/lang/Math.max:(II)I
      95: iload         7
      97: invokestatic  #715                // Method createInventoryEntryJson:(Lnet/minecraft/world/item/ItemStack;IFIIZ)Lcom/google/gson/JsonObject;
     100: astore        12
     102: aload         8
     104: ifnull        228
     107: aload         8
     109: invokeinterface #718,  1          // InterfaceMethod java/util/List.isEmpty:()Z
     114: ifne          228
     117: new           #469                // class com/google/gson/JsonArray
     120: dup
     121: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     124: astore        13
     126: aload         8
     128: invokeinterface #719,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     133: astore        14
     135: aload         14
     137: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     142: ifeq          210
     145: aload         14
     147: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     152: checkcast     #9                  // class com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedInventoryStack
     155: astore        15
     157: aload         15
     159: ifnull        135
     162: aload         15
     164: invokevirtual #723                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedInventoryStack.stack:()Lnet/minecraft/world/item/ItemStack;
     167: invokevirtual #711                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
     170: ifeq          176
     173: goto          135
     176: aload         13
     178: aload         15
     180: invokevirtual #723                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedInventoryStack.stack:()Lnet/minecraft/world/item/ItemStack;
     183: iconst_1
     184: aload         15
     186: invokevirtual #726                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedInventoryStack.chance:()F
     189: aload         15
     191: invokevirtual #728                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedInventoryStack.minCount:()I
     194: aload         15
     196: invokevirtual #730                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedInventoryStack.maxCount:()I
     199: iload         7
     201: invokestatic  #715                // Method createInventoryEntryJson:(Lnet/minecraft/world/item/ItemStack;IFIIZ)Lcom/google/gson/JsonObject;
     204: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     207: goto          135
     210: aload         13
     212: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     215: ifle          228
     218: aload         12
     220: ldc_w         #733                // String with
     223: aload         13
     225: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     228: aload         11
     230: aload         12
     232: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     235: aload         9
     237: aload         10
     239: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     242: invokestatic  #301                // Method reload:()V
     245: iconst_1
     246: ireturn
     247: astore        10
     249: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     252: ldc_w         #735                // String Could not add inventory entry to loot config \'{}\'.
     255: aload_0
     256: aload         10
     258: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
     263: iconst_0
     264: ireturn
    Exception table:
       from    to  target type
          32    54   247   Class java/lang/Exception
          55   246   247   Class java/lang/Exception

  public static boolean updateProfileSettings(java.lang.String, java.lang.String, java.lang.String, int, int, boolean, boolean, boolean, boolean, boolean, float, boolean, float, boolean, boolean, int, boolean, boolean, boolean, java.lang.String, int, boolean);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        22
      14: aload         22
      16: ifnonnull     21
      19: iconst_0
      20: ireturn
      21: iload         18
      23: ifeq          67
      26: aload         19
      28: ifnonnull     37
      31: ldc_w         #624                // String
      34: goto          42
      37: aload         19
      39: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
      42: invokestatic  #665                // Method net/minecraft/resources/ResourceLocation.m_135820_:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
      45: astore        23
      47: aload         23
      49: ifnull        65
      52: getstatic     #671                // Field net/minecraft/core/registries/BuiltInRegistries.f_257033_:Lnet/minecraft/core/DefaultedRegistry;
      55: aload         23
      57: invokeinterface #677,  2          // InterfaceMethod net/minecraft/core/DefaultedRegistry.m_7804_:(Lnet/minecraft/resources/ResourceLocation;)Z
      62: ifne          67
      65: iconst_0
      66: ireturn
      67: aload         22
      69: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      72: astore        23
      74: aload         23
      76: ldc_w         #511                // String display_name
      79: aload_1
      80: ifnull        90
      83: aload_1
      84: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      87: ifeq          94
      90: aload_0
      91: goto          98
      94: aload_1
      95: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
      98: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     101: aload         23
     103: ldc_w         #742                // String description
     106: aload_2
     107: ifnonnull     116
     110: ldc_w         #624                // String
     113: goto          120
     116: aload_2
     117: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     120: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     123: aload         23
     125: ldc_w         #744                // String rolls
     128: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     131: astore        24
     133: aload         24
     135: ldc_w         #641                // String min
     138: iconst_0
     139: bipush        64
     141: iload_3
     142: iload         4
     144: invokestatic  #643                // Method java/lang/Math.min:(II)I
     147: invokestatic  #643                // Method java/lang/Math.min:(II)I
     150: invokestatic  #416                // Method java/lang/Math.max:(II)I
     153: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     156: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     159: aload         24
     161: ldc_w         #644                // String max
     164: iconst_0
     165: bipush        64
     167: iload_3
     168: iload         4
     170: invokestatic  #416                // Method java/lang/Math.max:(II)I
     173: invokestatic  #643                // Method java/lang/Math.min:(II)I
     176: invokestatic  #416                // Method java/lang/Math.max:(II)I
     179: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     182: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     185: aload         23
     187: ldc_w         #384                // String per_player
     190: iload         5
     192: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     195: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     198: aload         23
     200: ldc_w         #746                // String allow_duplicates
     203: iload         6
     205: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     208: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     211: aload         23
     213: ldc_w         #748                // String clear_before_generate
     216: iload         7
     218: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     221: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     224: aload         23
     226: ldc_w         #371                // String search
     229: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     232: astore        25
     234: aload         25
     236: ldc_w         #373                // String enabled
     239: iload         8
     241: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     244: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     247: aload         23
     249: ldc_w         #432                // String empty
     252: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     255: astore        26
     257: aload         26
     259: ldc_w         #373                // String enabled
     262: iload         9
     264: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     267: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     270: aload         26
     272: ldc_w         #434                // String spawn_chance
     275: fconst_0
     276: fconst_1
     277: fload         10
     279: invokestatic  #438                // Method java/lang/Math.min:(FF)F
     282: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     285: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     288: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     291: aload         23
     293: ldc_w         #381                // String lock
     296: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     299: astore        27
     301: aload         27
     303: ldc_w         #373                // String enabled
     306: iload         11
     308: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     311: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     314: aload         27
     316: ldc_w         #434                // String spawn_chance
     319: fconst_0
     320: fconst_1
     321: fload         12
     323: invokestatic  #438                // Method java/lang/Math.min:(FF)F
     326: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     329: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     332: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     335: aload         27
     337: ldc_w         #750                // String lockpick
     340: iload         13
     342: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     345: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     348: aload         23
     350: ldc_w         #396                // String respawn
     353: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     356: astore        28
     358: aload         28
     360: ldc_w         #373                // String enabled
     363: iload         14
     365: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     368: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     371: aload         28
     373: ldc_w         #410                // String time_ticks
     376: iconst_1
     377: iload         15
     379: invokestatic  #416                // Method java/lang/Math.max:(II)I
     382: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     385: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     388: aload         28
     390: ldc_w         #421                // String only_if_empty
     393: iload         16
     395: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     398: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     401: aload         28
     403: ldc_w         #423                // String clear_before_respawn
     406: iconst_1
     407: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     410: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     413: aload         23
     415: ldc_w         #752                // String open_pass
     418: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     421: astore        29
     423: aload         29
     425: ldc_w         #373                // String enabled
     428: iload         18
     430: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     433: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     436: aload         29
     438: ldc_w         #754                // String amount
     441: iconst_1
     442: bipush        64
     444: iload         20
     446: invokestatic  #643                // Method java/lang/Math.min:(II)I
     449: invokestatic  #416                // Method java/lang/Math.max:(II)I
     452: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     455: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     458: aload         29
     460: ldc_w         #756                // String consume
     463: iload         21
     465: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     468: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     471: aload         29
     473: ldc_w         #758                // String bypass_lock
     476: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     479: ifne          494
     482: aload         29
     484: ldc_w         #758                // String bypass_lock
     487: iconst_1
     488: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     491: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     494: aload         29
     496: ldc_w         #760                // String bypass_search
     499: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     502: ifne          517
     505: aload         29
     507: ldc_w         #760                // String bypass_search
     510: iconst_1
     511: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     514: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     517: new           #469                // class com/google/gson/JsonArray
     520: dup
     521: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     524: astore        30
     526: aload         19
     528: ifnull        549
     531: aload         19
     533: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     536: ifne          549
     539: aload         30
     541: aload         19
     543: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     546: invokevirtual #477                // Method com/google/gson/JsonArray.add:(Ljava/lang/String;)V
     549: aload         29
     551: ldc_w         #762                // String items
     554: aload         30
     556: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     559: aload         29
     561: ldc_w         #764                // String tags
     564: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     567: ifeq          584
     570: aload         29
     572: ldc_w         #764                // String tags
     575: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     578: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     581: ifne          599
     584: aload         29
     586: ldc_w         #764                // String tags
     589: new           #469                // class com/google/gson/JsonArray
     592: dup
     593: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     596: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     599: aload         22
     601: aload         23
     603: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     606: invokestatic  #301                // Method reload:()V
     609: iconst_1
     610: ireturn
     611: astore        23
     613: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     616: ldc_w         #766                // String Could not update loot profile \'{}\'.
     619: aload_0
     620: aload         23
     622: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
     627: iconst_0
     628: ireturn
    Exception table:
       from    to  target type
          67   610   611   Class java/lang/Exception

  public static boolean createPool(java.lang.String, java.lang.String, int, int, boolean);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        5
      14: aload         5
      16: ifnull        26
      19: aload_1
      20: invokestatic  #272                // Method isValidConfigId:(Ljava/lang/String;)Z
      23: ifne          28
      26: iconst_0
      27: ireturn
      28: aload         5
      30: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      33: astore        6
      35: aload         6
      37: ldc_w         #788                // String pools
      40: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      43: ifeq          71
      46: aload         6
      48: ldc_w         #788                // String pools
      51: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      54: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      57: ifeq          71
      60: aload         6
      62: ldc_w         #788                // String pools
      65: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      68: goto          78
      71: new           #469                // class com/google/gson/JsonArray
      74: dup
      75: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
      78: astore        7
      80: aload         6
      82: ldc_w         #788                // String pools
      85: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      88: ifeq          105
      91: aload         6
      93: ldc_w         #788                // String pools
      96: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      99: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     102: ifne          115
     105: aload         6
     107: ldc_w         #788                // String pools
     110: aload         7
     112: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     115: aload         7
     117: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
     120: astore        8
     122: aload         8
     124: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     129: ifeq          178
     132: aload         8
     134: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     139: checkcast     #343                // class com/google/gson/JsonElement
     142: astore        9
     144: aload         9
     146: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
     149: ifeq          175
     152: aload_1
     153: aload         9
     155: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     158: ldc_w         #348                // String id
     161: ldc_w         #624                // String
     164: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
     167: invokevirtual #799                // Method java/lang/String.equals:(Ljava/lang/Object;)Z
     170: ifeq          175
     173: iconst_0
     174: ireturn
     175: goto          122
     178: new           #303                // class com/google/gson/JsonObject
     181: dup
     182: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     185: astore        8
     187: aload         8
     189: ldc_w         #348                // String id
     192: aload_1
     193: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     196: new           #303                // class com/google/gson/JsonObject
     199: dup
     200: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     203: astore        9
     205: aload         9
     207: ldc_w         #641                // String min
     210: iconst_0
     211: bipush        64
     213: iload_2
     214: iload_3
     215: invokestatic  #643                // Method java/lang/Math.min:(II)I
     218: invokestatic  #643                // Method java/lang/Math.min:(II)I
     221: invokestatic  #416                // Method java/lang/Math.max:(II)I
     224: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     227: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     230: aload         9
     232: ldc_w         #644                // String max
     235: iconst_0
     236: bipush        64
     238: iload_2
     239: iload_3
     240: invokestatic  #416                // Method java/lang/Math.max:(II)I
     243: invokestatic  #643                // Method java/lang/Math.min:(II)I
     246: invokestatic  #416                // Method java/lang/Math.max:(II)I
     249: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     252: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     255: aload         8
     257: ldc_w         #744                // String rolls
     260: aload         9
     262: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     265: aload         8
     267: ldc_w         #746                // String allow_duplicates
     270: iload         4
     272: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     275: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     278: aload         8
     280: ldc_w         #621                // String entries
     283: new           #469                // class com/google/gson/JsonArray
     286: dup
     287: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     290: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     293: aload         8
     295: ldc_w         #456                // String loot_tables
     298: new           #469                // class com/google/gson/JsonArray
     301: dup
     302: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     305: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     308: aload         7
     310: aload         8
     312: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     315: aload         5
     317: aload         6
     319: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     322: invokestatic  #301                // Method reload:()V
     325: iconst_1
     326: ireturn
     327: astore        6
     329: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     332: ldc_w         #801                // String Could not create pool \'{}\' in loot profile \'{}\'.
     335: iconst_3
     336: anewarray     #4                  // class java/lang/Object
     339: dup
     340: iconst_0
     341: aload_1
     342: aastore
     343: dup
     344: iconst_1
     345: aload_0
     346: aastore
     347: dup
     348: iconst_2
     349: aload         6
     351: aastore
     352: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     357: iconst_0
     358: ireturn
    Exception table:
       from    to  target type
          28   174   327   Class java/lang/Exception
         175   326   327   Class java/lang/Exception

  public static java.lang.String duplicatePool(java.lang.String, java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_2
      13: aload_2
      14: ifnull        28
      17: aload_1
      18: ifnull        28
      21: aload_1
      22: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      25: ifeq          30
      28: aconst_null
      29: areturn
      30: aload_2
      31: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      34: astore_3
      35: aload_3
      36: aload_1
      37: invokestatic  #809                // Method findPoolObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      40: astore        4
      42: aload         4
      44: ifnonnull     49
      47: aconst_null
      48: areturn
      49: aload_3
      50: ldc_w         #788                // String pools
      53: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      56: ifeq          82
      59: aload_3
      60: ldc_w         #788                // String pools
      63: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      66: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      69: ifeq          82
      72: aload_3
      73: ldc_w         #788                // String pools
      76: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      79: goto          89
      82: new           #469                // class com/google/gson/JsonArray
      85: dup
      86: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
      89: astore        5
      91: aload_3
      92: ldc_w         #788                // String pools
      95: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      98: ifeq          114
     101: aload_3
     102: ldc_w         #788                // String pools
     105: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     108: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     111: ifne          123
     114: aload_3
     115: ldc_w         #788                // String pools
     118: aload         5
     120: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     123: aload_1
     124: invokedynamic #812,  0            // InvokeDynamic #10:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
     129: astore        6
     131: aload         6
     133: astore        7
     135: iconst_2
     136: istore        8
     138: aload_3
     139: aload         7
     141: invokestatic  #809                // Method findPoolObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     144: ifnull        164
     147: aload         6
     149: iload         8
     151: iinc          8, 1
     154: invokedynamic #817,  0            // InvokeDynamic #11:makeConcatWithConstants:(Ljava/lang/String;I)Ljava/lang/String;
     159: astore        7
     161: goto          138
     164: aload         4
     166: invokevirtual #506                // Method com/google/gson/JsonObject.toString:()Ljava/lang/String;
     169: invokestatic  #509                // Method com/google/gson/JsonParser.parseString:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     172: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     175: astore        9
     177: aload         9
     179: ldc_w         #348                // String id
     182: aload         7
     184: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     187: aload         5
     189: aload         9
     191: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     194: aload_2
     195: aload_3
     196: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     199: invokestatic  #301                // Method reload:()V
     202: aload         7
     204: areturn
     205: astore_3
     206: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     209: ldc_w         #819                // String Could not duplicate pool \'{}\' in loot profile \'{}\'.
     212: iconst_3
     213: anewarray     #4                  // class java/lang/Object
     216: dup
     217: iconst_0
     218: aload_1
     219: aastore
     220: dup
     221: iconst_1
     222: aload_0
     223: aastore
     224: dup
     225: iconst_2
     226: aload_3
     227: aastore
     228: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     233: aconst_null
     234: areturn
    Exception table:
       from    to  target type
          30    48   205   Class java/lang/Exception
          49   204   205   Class java/lang/Exception

  public static boolean updatePool(java.lang.String, java.lang.String, int, int, boolean);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        5
      14: aload         5
      16: ifnull        30
      19: aload_1
      20: ifnull        30
      23: aload_1
      24: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      27: ifeq          32
      30: iconst_0
      31: ireturn
      32: aload         5
      34: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      37: astore        6
      39: aload         6
      41: aload_1
      42: invokestatic  #809                // Method findPoolObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      45: astore        7
      47: aload         7
      49: ifnonnull     54
      52: iconst_0
      53: ireturn
      54: aload         7
      56: ldc_w         #744                // String rolls
      59: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      62: astore        8
      64: aload         8
      66: ldc_w         #641                // String min
      69: iconst_0
      70: bipush        64
      72: iload_2
      73: iload_3
      74: invokestatic  #643                // Method java/lang/Math.min:(II)I
      77: invokestatic  #643                // Method java/lang/Math.min:(II)I
      80: invokestatic  #416                // Method java/lang/Math.max:(II)I
      83: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      86: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      89: aload         8
      91: ldc_w         #644                // String max
      94: iconst_0
      95: bipush        64
      97: iload_2
      98: iload_3
      99: invokestatic  #416                // Method java/lang/Math.max:(II)I
     102: invokestatic  #643                // Method java/lang/Math.min:(II)I
     105: invokestatic  #416                // Method java/lang/Math.max:(II)I
     108: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     111: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     114: aload         7
     116: ldc_w         #746                // String allow_duplicates
     119: iload         4
     121: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     124: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     127: aload         5
     129: aload         6
     131: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     134: invokestatic  #301                // Method reload:()V
     137: iconst_1
     138: ireturn
     139: astore        6
     141: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     144: ldc_w         #825                // String Could not update pool \'{}\' in loot profile \'{}\'.
     147: iconst_3
     148: anewarray     #4                  // class java/lang/Object
     151: dup
     152: iconst_0
     153: aload_1
     154: aastore
     155: dup
     156: iconst_1
     157: aload_0
     158: aastore
     159: dup
     160: iconst_2
     161: aload         6
     163: aastore
     164: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     169: iconst_0
     170: ireturn
    Exception table:
       from    to  target type
          32    53   139   Class java/lang/Exception
          54   138   139   Class java/lang/Exception

  public static boolean deletePool(java.lang.String, java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_2
      13: aload_2
      14: ifnull        28
      17: aload_1
      18: ifnull        28
      21: aload_1
      22: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      25: ifeq          30
      28: iconst_0
      29: ireturn
      30: aload_2
      31: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      34: astore_3
      35: aload_3
      36: ldc_w         #788                // String pools
      39: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      42: ifeq          58
      45: aload_3
      46: ldc_w         #788                // String pools
      49: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      52: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      55: ifne          60
      58: iconst_0
      59: ireturn
      60: aload_3
      61: ldc_w         #788                // String pools
      64: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      67: astore        4
      69: iconst_0
      70: istore        5
      72: iload         5
      74: aload         4
      76: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
      79: if_icmpge     144
      82: aload         4
      84: iload         5
      86: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
      89: astore        6
      91: aload         6
      93: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      96: ifeq          138
      99: aload_1
     100: aload         6
     102: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     105: ldc_w         #348                // String id
     108: ldc_w         #624                // String
     111: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
     114: invokevirtual #799                // Method java/lang/String.equals:(Ljava/lang/Object;)Z
     117: ifeq          138
     120: aload         4
     122: iload         5
     124: invokevirtual #832                // Method com/google/gson/JsonArray.remove:(I)Lcom/google/gson/JsonElement;
     127: pop
     128: aload_2
     129: aload_3
     130: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     133: invokestatic  #301                // Method reload:()V
     136: iconst_1
     137: ireturn
     138: iinc          5, 1
     141: goto          72
     144: iconst_0
     145: ireturn
     146: astore_3
     147: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     150: ldc_w         #834                // String Could not delete pool \'{}\' from loot profile \'{}\'.
     153: iconst_3
     154: anewarray     #4                  // class java/lang/Object
     157: dup
     158: iconst_0
     159: aload_1
     160: aastore
     161: dup
     162: iconst_1
     163: aload_0
     164: aastore
     165: dup
     166: iconst_2
     167: aload_3
     168: aastore
     169: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     174: iconst_0
     175: ireturn
    Exception table:
       from    to  target type
          30    59   146   Class java/lang/Exception
          60   137   146   Class java/lang/Exception
         138   145   146   Class java/lang/Exception

  public static boolean deleteEntry(java.lang.String, java.lang.String, int);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_3
      13: aload_3
      14: ifnull        21
      17: iload_2
      18: ifge          23
      21: iconst_0
      22: ireturn
      23: aload_3
      24: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      27: astore        4
      29: aload         4
      31: aload_1
      32: iconst_0
      33: invokestatic  #659                // Method getEntryArray:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Lcom/google/gson/JsonArray;
      36: astore        5
      38: aload         5
      40: ifnull        52
      43: iload_2
      44: aload         5
      46: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
      49: if_icmplt     54
      52: iconst_0
      53: ireturn
      54: aload         5
      56: iload_2
      57: invokevirtual #832                // Method com/google/gson/JsonArray.remove:(I)Lcom/google/gson/JsonElement;
      60: pop
      61: aload_3
      62: aload         4
      64: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      67: invokestatic  #301                // Method reload:()V
      70: iconst_1
      71: ireturn
      72: astore        4
      74: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      77: ldc_w         #839                // String Could not delete entry {} from loot profile \'{}\'.
      80: iconst_3
      81: anewarray     #4                  // class java/lang/Object
      84: dup
      85: iconst_0
      86: iload_2
      87: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      90: aastore
      91: dup
      92: iconst_1
      93: aload_0
      94: aastore
      95: dup
      96: iconst_2
      97: aload         4
      99: aastore
     100: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     105: iconst_0
     106: ireturn
    Exception table:
       from    to  target type
          23    53    72   Class java/lang/Exception
          54    71    72   Class java/lang/Exception

  public static boolean updateEntrySettings(java.lang.String, java.lang.String, int, int, int, int, float);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        7
      14: aload         7
      16: ifnull        23
      19: iload_2
      20: ifge          25
      23: iconst_0
      24: ireturn
      25: aload         7
      27: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      30: astore        8
      32: aload         8
      34: aload_1
      35: iconst_0
      36: invokestatic  #659                // Method getEntryArray:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Lcom/google/gson/JsonArray;
      39: astore        9
      41: aload         9
      43: ifnull        67
      46: iload_2
      47: aload         9
      49: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
      52: if_icmpge     67
      55: aload         9
      57: iload_2
      58: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
      61: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      64: ifne          69
      67: iconst_0
      68: ireturn
      69: aload         9
      71: iload_2
      72: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
      75: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      78: astore        10
      80: aload         10
      82: ldc_w         #637                // String weight
      85: iconst_1
      86: ldc_w         #684                // int 1000000
      89: iload_3
      90: invokestatic  #643                // Method java/lang/Math.min:(II)I
      93: invokestatic  #416                // Method java/lang/Math.max:(II)I
      96: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      99: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     102: aload         10
     104: ldc_w         #638                // String chance
     107: ldc_w         #685                // float 1.0E-4f
     110: fconst_1
     111: fload         6
     113: invokestatic  #438                // Method java/lang/Math.min:(FF)F
     116: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     119: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     122: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     125: aload         10
     127: ldc_w         #646                // String count
     130: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     133: astore        11
     135: aload         11
     137: ldc_w         #641                // String min
     140: iconst_1
     141: bipush        64
     143: iload         4
     145: iload         5
     147: invokestatic  #643                // Method java/lang/Math.min:(II)I
     150: invokestatic  #643                // Method java/lang/Math.min:(II)I
     153: invokestatic  #416                // Method java/lang/Math.max:(II)I
     156: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     159: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     162: aload         11
     164: ldc_w         #644                // String max
     167: iconst_1
     168: bipush        64
     170: iload         4
     172: iload         5
     174: invokestatic  #416                // Method java/lang/Math.max:(II)I
     177: invokestatic  #643                // Method java/lang/Math.min:(II)I
     180: invokestatic  #416                // Method java/lang/Math.max:(II)I
     183: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     186: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     189: aload         7
     191: aload         8
     193: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     196: invokestatic  #301                // Method reload:()V
     199: iconst_1
     200: ireturn
     201: astore        8
     203: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     206: ldc_w         #844                // String Could not update entry {} in loot profile \'{}\'.
     209: iconst_3
     210: anewarray     #4                  // class java/lang/Object
     213: dup
     214: iconst_0
     215: iload_2
     216: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     219: aastore
     220: dup
     221: iconst_1
     222: aload_0
     223: aastore
     224: dup
     225: iconst_2
     226: aload         8
     228: aastore
     229: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     234: iconst_0
     235: ireturn
    Exception table:
       from    to  target type
          25    68   201   Class java/lang/Exception
          69   200   201   Class java/lang/Exception

  public static boolean replaceInventoryEntryAndKit(java.lang.String, java.lang.String, int, net.minecraft.world.item.ItemStack, int, int, int, float, boolean, java.util.List<com.ogaba.sa_decor.common.loot.DecorLootConfigManager$LinkedEntryReplacement>);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        10
      14: aload         10
      16: ifnull        23
      19: iload_2
      20: ifge          25
      23: iconst_0
      24: ireturn
      25: aload         10
      27: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      30: astore        11
      32: aload         11
      34: aload_1
      35: iconst_0
      36: invokestatic  #659                // Method getEntryArray:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Lcom/google/gson/JsonArray;
      39: astore        12
      41: aload         12
      43: ifnull        67
      46: iload_2
      47: aload         12
      49: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
      52: if_icmpge     67
      55: aload         12
      57: iload_2
      58: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
      61: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      64: ifne          69
      67: iconst_0
      68: ireturn
      69: aload         12
      71: iload_2
      72: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
      75: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      78: astore        13
      80: aload_3
      81: ifnull        142
      84: aload_3
      85: invokevirtual #711                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
      88: ifne          142
      91: aload_3
      92: iconst_1
      93: iload         4
      95: invokestatic  #416                // Method java/lang/Math.max:(II)I
      98: ldc_w         #685                // float 1.0E-4f
     101: fconst_1
     102: fload         7
     104: invokestatic  #438                // Method java/lang/Math.min:(FF)F
     107: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     110: iconst_1
     111: iload         5
     113: iload         6
     115: invokestatic  #643                // Method java/lang/Math.min:(II)I
     118: invokestatic  #416                // Method java/lang/Math.max:(II)I
     121: iconst_1
     122: iload         5
     124: iload         6
     126: invokestatic  #416                // Method java/lang/Math.max:(II)I
     129: invokestatic  #416                // Method java/lang/Math.max:(II)I
     132: iload         8
     134: invokestatic  #715                // Method createInventoryEntryJson:(Lnet/minecraft/world/item/ItemStack;IFIIZ)Lcom/google/gson/JsonObject;
     137: astore        14
     139: goto          279
     142: aload         13
     144: invokevirtual #506                // Method com/google/gson/JsonObject.toString:()Ljava/lang/String;
     147: invokestatic  #509                // Method com/google/gson/JsonParser.parseString:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     150: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     153: astore        14
     155: aload         14
     157: ldc_w         #637                // String weight
     160: iconst_1
     161: ldc_w         #684                // int 1000000
     164: iload         4
     166: invokestatic  #643                // Method java/lang/Math.min:(II)I
     169: invokestatic  #416                // Method java/lang/Math.max:(II)I
     172: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     175: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     178: aload         14
     180: ldc_w         #638                // String chance
     183: ldc_w         #685                // float 1.0E-4f
     186: fconst_1
     187: fload         7
     189: invokestatic  #438                // Method java/lang/Math.min:(FF)F
     192: invokestatic  #440                // Method java/lang/Math.max:(FF)F
     195: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     198: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     201: aload         14
     203: ldc_w         #646                // String count
     206: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     209: astore        15
     211: aload         15
     213: ldc_w         #641                // String min
     216: iconst_1
     217: bipush        64
     219: iload         5
     221: iload         6
     223: invokestatic  #643                // Method java/lang/Math.min:(II)I
     226: invokestatic  #643                // Method java/lang/Math.min:(II)I
     229: invokestatic  #416                // Method java/lang/Math.max:(II)I
     232: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     235: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     238: aload         15
     240: ldc_w         #644                // String max
     243: iconst_1
     244: bipush        64
     246: iload         5
     248: iload         6
     250: invokestatic  #416                // Method java/lang/Math.max:(II)I
     253: invokestatic  #643                // Method java/lang/Math.min:(II)I
     256: invokestatic  #416                // Method java/lang/Math.max:(II)I
     259: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     262: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     265: iload         8
     267: ifne          279
     270: aload         14
     272: ldc_w         #640                // String nbt
     275: invokevirtual #849                // Method com/google/gson/JsonObject.remove:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     278: pop
     279: aload         13
     281: ldc_w         #733                // String with
     284: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     287: ifeq          315
     290: aload         13
     292: ldc_w         #733                // String with
     295: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     298: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     301: ifeq          315
     304: aload         13
     306: ldc_w         #733                // String with
     309: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
     312: goto          322
     315: new           #469                // class com/google/gson/JsonArray
     318: dup
     319: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     322: astore        15
     324: new           #469                // class com/google/gson/JsonArray
     327: dup
     328: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     331: astore        16
     333: aload         9
     335: ifnull        552
     338: aload         9
     340: invokeinterface #719,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     345: astore        17
     347: aload         17
     349: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     354: ifeq          552
     357: aload         17
     359: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     364: checkcast     #7                  // class com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement
     367: astore        18
     369: aload         18
     371: ifnonnull     377
     374: goto          347
     377: aconst_null
     378: astore        19
     380: aload         18
     382: invokevirtual #852                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.existingIndex:()I
     385: iflt          499
     388: aload         18
     390: invokevirtual #852                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.existingIndex:()I
     393: aload         15
     395: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     398: if_icmpge     499
     401: aload         15
     403: aload         18
     405: invokevirtual #852                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.existingIndex:()I
     408: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
     411: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
     414: ifeq          499
     417: aload         15
     419: aload         18
     421: invokevirtual #852                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.existingIndex:()I
     424: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
     427: invokevirtual #853                // Method com/google/gson/JsonElement.toString:()Ljava/lang/String;
     430: invokestatic  #509                // Method com/google/gson/JsonParser.parseString:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     433: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     436: astore        19
     438: aload         19
     440: ldc_w         #638                // String chance
     443: aload         18
     445: invokevirtual #854                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.chance:()F
     448: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     451: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     454: aload         19
     456: ldc_w         #646                // String count
     459: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     462: astore        20
     464: aload         20
     466: ldc_w         #641                // String min
     469: aload         18
     471: invokevirtual #855                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.minCount:()I
     474: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     477: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     480: aload         20
     482: ldc_w         #644                // String max
     485: aload         18
     487: invokevirtual #856                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.maxCount:()I
     490: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     493: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     496: goto          537
     499: aload         18
     501: invokevirtual #859                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.newStack:()Lnet/minecraft/world/item/ItemStack;
     504: invokevirtual #711                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
     507: ifne          537
     510: aload         18
     512: invokevirtual #859                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.newStack:()Lnet/minecraft/world/item/ItemStack;
     515: iconst_1
     516: aload         18
     518: invokevirtual #854                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.chance:()F
     521: aload         18
     523: invokevirtual #855                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.minCount:()I
     526: aload         18
     528: invokevirtual #856                // Method com/ogaba/sa_decor/common/loot/DecorLootConfigManager$LinkedEntryReplacement.maxCount:()I
     531: iconst_1
     532: invokestatic  #715                // Method createInventoryEntryJson:(Lnet/minecraft/world/item/ItemStack;IFIIZ)Lcom/google/gson/JsonObject;
     535: astore        19
     537: aload         19
     539: ifnull        549
     542: aload         16
     544: aload         19
     546: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     549: goto          347
     552: aload         16
     554: invokevirtual #860                // Method com/google/gson/JsonArray.isEmpty:()Z
     557: ifeq          572
     560: aload         14
     562: ldc_w         #733                // String with
     565: invokevirtual #849                // Method com/google/gson/JsonObject.remove:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     568: pop
     569: goto          582
     572: aload         14
     574: ldc_w         #733                // String with
     577: aload         16
     579: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     582: aload         12
     584: iload_2
     585: aload         14
     587: invokevirtual #864                // Method com/google/gson/JsonArray.set:(ILcom/google/gson/JsonElement;)Lcom/google/gson/JsonElement;
     590: pop
     591: aload         10
     593: aload         11
     595: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
     598: invokestatic  #301                // Method reload:()V
     601: iconst_1
     602: ireturn
     603: astore        11
     605: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     608: ldc_w         #866                // String Could not replace entry {} in loot profile \'{}\'.
     611: iconst_3
     612: anewarray     #4                  // class java/lang/Object
     615: dup
     616: iconst_0
     617: iload_2
     618: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     621: aastore
     622: dup
     623: iconst_1
     624: aload_0
     625: aastore
     626: dup
     627: iconst_2
     628: aload         11
     630: aastore
     631: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     636: iconst_0
     637: ireturn
    Exception table:
       from    to  target type
          25    68   603   Class java/lang/Exception
          69   602   603   Class java/lang/Exception

  public static boolean deleteConfig(java.lang.String);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_1
      13: aload_1
      14: ifnonnull     19
      17: iconst_0
      18: ireturn
      19: aload_1
      20: invokestatic  #881                // Method java/nio/file/Files.deleteIfExists:(Ljava/nio/file/Path;)Z
      23: istore_2
      24: invokestatic  #301                // Method reload:()V
      27: iload_2
      28: ireturn
      29: astore_2
      30: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      33: ldc_w         #883                // String Could not delete loot config \'{}\'.
      36: aload_0
      37: aload_2
      38: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
      43: iconst_0
      44: ireturn
    Exception table:
       from    to  target type
          19    28    29   Class java/io/IOException

  private static com.google.gson.JsonArray getEntryArray(com.google.gson.JsonObject, java.lang.String, boolean);
    Code:
       0: aload_1
       1: ifnonnull     10
       4: ldc_w         #624                // String
       7: goto          14
      10: aload_1
      11: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
      14: astore_3
      15: aload_3
      16: invokevirtual #885                // Method java/lang/String.isEmpty:()Z
      19: ifeq          74
      22: aload_0
      23: ldc_w         #621                // String entries
      26: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      29: ifeq          53
      32: aload_0
      33: ldc_w         #621                // String entries
      36: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      39: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      42: ifeq          53
      45: aload_0
      46: ldc_w         #621                // String entries
      49: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      52: areturn
      53: new           #469                // class com/google/gson/JsonArray
      56: dup
      57: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
      60: astore        4
      62: aload_0
      63: ldc_w         #621                // String entries
      66: aload         4
      68: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
      71: aload         4
      73: areturn
      74: aload_0
      75: ldc_w         #788                // String pools
      78: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      81: ifeq          97
      84: aload_0
      85: ldc_w         #788                // String pools
      88: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      91: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      94: ifne          99
      97: aconst_null
      98: areturn
      99: aload_0
     100: ldc_w         #788                // String pools
     103: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
     106: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
     109: astore        4
     111: aload         4
     113: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     118: ifeq          234
     121: aload         4
     123: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     128: checkcast     #343                // class com/google/gson/JsonElement
     131: astore        5
     133: aload         5
     135: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
     138: ifne          144
     141: goto          111
     144: aload         5
     146: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     149: astore        6
     151: aload_3
     152: aload         6
     154: ldc_w         #348                // String id
     157: ldc_w         #624                // String
     160: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
     163: invokevirtual #799                // Method java/lang/String.equals:(Ljava/lang/Object;)Z
     166: ifne          172
     169: goto          111
     172: aload         6
     174: ldc_w         #621                // String entries
     177: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     180: ifeq          206
     183: aload         6
     185: ldc_w         #621                // String entries
     188: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     191: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     194: ifeq          206
     197: aload         6
     199: ldc_w         #621                // String entries
     202: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
     205: areturn
     206: iload_2
     207: ifeq          232
     210: new           #469                // class com/google/gson/JsonArray
     213: dup
     214: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     217: astore        7
     219: aload         6
     221: ldc_w         #621                // String entries
     224: aload         7
     226: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     229: aload         7
     231: areturn
     232: aconst_null
     233: areturn
     234: aconst_null
     235: areturn

  private static com.google.gson.JsonObject findPoolObject(com.google.gson.JsonObject, java.lang.String);
    Code:
       0: aload_0
       1: ifnull        38
       4: aload_1
       5: ifnull        38
       8: aload_1
       9: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      12: ifne          38
      15: aload_0
      16: ldc_w         #788                // String pools
      19: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      22: ifeq          38
      25: aload_0
      26: ldc_w         #788                // String pools
      29: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      32: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      35: ifne          40
      38: aconst_null
      39: areturn
      40: aload_0
      41: ldc_w         #788                // String pools
      44: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      47: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
      50: astore_2
      51: aload_2
      52: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      57: ifeq          110
      60: aload_2
      61: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      66: checkcast     #343                // class com/google/gson/JsonElement
      69: astore_3
      70: aload_3
      71: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      74: ifne          80
      77: goto          51
      80: aload_3
      81: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      84: astore        4
      86: aload_1
      87: aload         4
      89: ldc_w         #348                // String id
      92: ldc_w         #624                // String
      95: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      98: invokevirtual #799                // Method java/lang/String.equals:(Ljava/lang/Object;)Z
     101: ifeq          107
     104: aload         4
     106: areturn
     107: goto          51
     110: aconst_null
     111: areturn

  private static com.google.gson.JsonObject createInventoryEntryJson(net.minecraft.world.item.ItemStack, int, float, int, int, boolean);
    Code:
       0: new           #303                // class com/google/gson/JsonObject
       3: dup
       4: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
       7: astore        6
       9: aload         6
      11: ldc_w         #636                // String item
      14: getstatic     #671                // Field net/minecraft/core/registries/BuiltInRegistries.f_257033_:Lnet/minecraft/core/DefaultedRegistry;
      17: aload_0
      18: invokevirtual #891                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      21: invokeinterface #895,  2          // InterfaceMethod net/minecraft/core/DefaultedRegistry.m_7981_:(Ljava/lang/Object;)Lnet/minecraft/resources/ResourceLocation;
      26: invokevirtual #896                // Method net/minecraft/resources/ResourceLocation.toString:()Ljava/lang/String;
      29: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      32: aload         6
      34: ldc_w         #637                // String weight
      37: iconst_1
      38: iload_1
      39: invokestatic  #416                // Method java/lang/Math.max:(II)I
      42: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      45: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      48: aload         6
      50: ldc_w         #638                // String chance
      53: ldc_w         #685                // float 1.0E-4f
      56: fconst_1
      57: fload_2
      58: invokestatic  #438                // Method java/lang/Math.min:(FF)F
      61: invokestatic  #440                // Method java/lang/Math.max:(FF)F
      64: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
      67: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      70: new           #303                // class com/google/gson/JsonObject
      73: dup
      74: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      77: astore        7
      79: aload         7
      81: ldc_w         #641                // String min
      84: iconst_1
      85: iload_3
      86: iload         4
      88: invokestatic  #643                // Method java/lang/Math.min:(II)I
      91: invokestatic  #416                // Method java/lang/Math.max:(II)I
      94: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      97: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     100: aload         7
     102: ldc_w         #644                // String max
     105: iconst_1
     106: iload_3
     107: iload         4
     109: invokestatic  #416                // Method java/lang/Math.max:(II)I
     112: invokestatic  #416                // Method java/lang/Math.max:(II)I
     115: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     118: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     121: aload         6
     123: ldc_w         #646                // String count
     126: aload         7
     128: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     131: ldc_w         #898                // String tacz
     134: getstatic     #671                // Field net/minecraft/core/registries/BuiltInRegistries.f_257033_:Lnet/minecraft/core/DefaultedRegistry;
     137: aload_0
     138: invokevirtual #891                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
     141: invokeinterface #895,  2          // InterfaceMethod net/minecraft/core/DefaultedRegistry.m_7981_:(Ljava/lang/Object;)Lnet/minecraft/resources/ResourceLocation;
     146: invokevirtual #901                // Method net/minecraft/resources/ResourceLocation.m_135827_:()Ljava/lang/String;
     149: invokevirtual #799                // Method java/lang/String.equals:(Ljava/lang/Object;)Z
     152: istore        8
     154: iload         5
     156: ifne          164
     159: iload         8
     161: ifeq          240
     164: aload_0
     165: invokevirtual #904                // Method net/minecraft/world/item/ItemStack.m_41782_:()Z
     168: ifeq          240
     171: aload_0
     172: invokevirtual #908                // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag;
     175: astore        9
     177: aload         9
     179: ifnull        240
     182: aload         9
     184: invokevirtual #913                // Method net/minecraft/nbt/CompoundTag.m_128456_:()Z
     187: ifne          240
     190: aload         9
     192: invokevirtual #916                // Method net/minecraft/nbt/CompoundTag.m_6426_:()Lnet/minecraft/nbt/CompoundTag;
     195: astore        10
     197: aload         10
     199: ldc_w         #918                // String GunId
     202: invokevirtual #921                // Method net/minecraft/nbt/CompoundTag.m_128461_:(Ljava/lang/String;)Ljava/lang/String;
     205: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     208: ifne          219
     211: aload         10
     213: ldc_w         #923                // String Durability
     216: invokevirtual #926                // Method net/minecraft/nbt/CompoundTag.m_128473_:(Ljava/lang/String;)V
     219: aload         10
     221: invokevirtual #913                // Method net/minecraft/nbt/CompoundTag.m_128456_:()Z
     224: ifne          240
     227: aload         6
     229: ldc_w         #640                // String nbt
     232: aload         10
     234: invokevirtual #927                // Method net/minecraft/nbt/CompoundTag.toString:()Ljava/lang/String;
     237: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     240: aload         6
     242: areturn

  private static com.google.gson.JsonObject createEmptyConfigJson(java.lang.String, boolean, boolean, boolean);
    Code:
       0: new           #303                // class com/google/gson/JsonObject
       3: dup
       4: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
       7: astore        4
       9: aload         4
      11: ldc_w         #348                // String id
      14: aload_0
      15: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      18: aload         4
      20: ldc_w         #511                // String display_name
      23: aload_0
      24: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      27: aload         4
      29: ldc_w         #742                // String description
      32: ldc_w         #624                // String
      35: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      38: new           #303                // class com/google/gson/JsonObject
      41: dup
      42: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      45: astore        5
      47: aload         5
      49: ldc_w         #641                // String min
      52: iconst_1
      53: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      56: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      59: aload         5
      61: ldc_w         #644                // String max
      64: iconst_3
      65: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      68: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      71: aload         4
      73: ldc_w         #744                // String rolls
      76: aload         5
      78: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
      81: new           #303                // class com/google/gson/JsonObject
      84: dup
      85: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      88: astore        6
      90: aload         6
      92: ldc_w         #373                // String enabled
      95: iload_2
      96: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      99: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     102: aload         4
     104: ldc_w         #371                // String search
     107: aload         6
     109: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     112: new           #303                // class com/google/gson/JsonObject
     115: dup
     116: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     119: astore        7
     121: aload         7
     123: ldc_w         #373                // String enabled
     126: iload_3
     127: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     130: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     133: aload         7
     135: ldc_w         #434                // String spawn_chance
     138: fconst_0
     139: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     142: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     145: aload         7
     147: ldc_w         #750                // String lockpick
     150: iconst_1
     151: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     154: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     157: aload         4
     159: ldc_w         #381                // String lock
     162: aload         7
     164: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     167: new           #303                // class com/google/gson/JsonObject
     170: dup
     171: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     174: astore        8
     176: aload         8
     178: ldc_w         #373                // String enabled
     181: iconst_0
     182: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     185: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     188: aload         8
     190: ldc_w         #434                // String spawn_chance
     193: fconst_0
     194: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
     197: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     200: aload         4
     202: ldc_w         #432                // String empty
     205: aload         8
     207: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     210: new           #303                // class com/google/gson/JsonObject
     213: dup
     214: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     217: astore        9
     219: aload         9
     221: ldc_w         #373                // String enabled
     224: iconst_0
     225: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     228: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     231: aload         9
     233: ldc_w         #754                // String amount
     236: iconst_1
     237: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     240: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     243: aload         9
     245: ldc_w         #756                // String consume
     248: iconst_1
     249: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     252: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     255: aload         9
     257: ldc_w         #758                // String bypass_lock
     260: iconst_1
     261: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     264: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     267: aload         9
     269: ldc_w         #760                // String bypass_search
     272: iconst_1
     273: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     276: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     279: aload         9
     281: ldc_w         #762                // String items
     284: new           #469                // class com/google/gson/JsonArray
     287: dup
     288: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     291: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     294: aload         9
     296: ldc_w         #764                // String tags
     299: new           #469                // class com/google/gson/JsonArray
     302: dup
     303: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     306: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     309: aload         4
     311: ldc_w         #752                // String open_pass
     314: aload         9
     316: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     319: new           #303                // class com/google/gson/JsonObject
     322: dup
     323: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     326: astore        10
     328: aload         10
     330: ldc_w         #373                // String enabled
     333: iconst_0
     334: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     337: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     340: aload         10
     342: ldc_w         #410                // String time_ticks
     345: sipush        24000
     348: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     351: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     354: aload         10
     356: ldc_w         #421                // String only_if_empty
     359: iconst_1
     360: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     363: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     366: aload         10
     368: ldc_w         #423                // String clear_before_respawn
     371: iconst_1
     372: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     375: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     378: aload         4
     380: ldc_w         #396                // String respawn
     383: aload         10
     385: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     388: aload         4
     390: ldc_w         #384                // String per_player
     393: iload_1
     394: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     397: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     400: aload         4
     402: ldc_w         #746                // String allow_duplicates
     405: iconst_1
     406: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     409: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     412: aload         4
     414: ldc_w         #748                // String clear_before_generate
     417: iconst_0
     418: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     421: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     424: aload         4
     426: ldc_w         #456                // String loot_tables
     429: new           #469                // class com/google/gson/JsonArray
     432: dup
     433: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     436: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     439: aload         4
     441: ldc_w         #621                // String entries
     444: new           #469                // class com/google/gson/JsonArray
     447: dup
     448: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     451: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     454: aload         4
     456: areturn

  private static boolean writeConfigIfMissing(java.lang.String, com.google.gson.JsonObject);
    Code:
       0: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
       3: astore_2
       4: aload_2
       5: aload_0
       6: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      11: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      16: astore_3
      17: aload_3
      18: iconst_0
      19: anewarray     #68                 // class java/nio/file/LinkOption
      22: invokestatic  #291                // Method java/nio/file/Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      25: ifeq          30
      28: iconst_0
      29: ireturn
      30: aload_2
      31: iconst_0
      32: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      35: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      38: pop
      39: aload_3
      40: aload_1
      41: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      44: invokestatic  #301                // Method reload:()V
      47: iconst_1
      48: ireturn
      49: astore        4
      51: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      54: ldc_w         #933                // String Could not write loot config \'{}\' at {}.
      57: iconst_3
      58: anewarray     #4                  // class java/lang/Object
      61: dup
      62: iconst_0
      63: aload_0
      64: aastore
      65: dup
      66: iconst_1
      67: aload_3
      68: aastore
      69: dup
      70: iconst_2
      71: aload         4
      73: aastore
      74: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
      79: iconst_0
      80: ireturn
    Exception table:
       from    to  target type
          30    48    49   Class java/io/IOException

  private static com.google.gson.JsonObject createPresetJson(java.lang.String);
    Code:
       0: aload_0
       1: invokestatic  #936                // Method com/ogaba/sa_decor/common/loot/DecorLootDefaultProfiles.createPresetJson:(Ljava/lang/String;)Lcom/google/gson/JsonObject;
       4: areturn

  private static com.google.gson.JsonObject createPresetWithEntries(java.lang.String, boolean, boolean, boolean, java.lang.String[][]);
    Code:
       0: aload_0
       1: iload_1
       2: iload_2
       3: iload_3
       4: invokestatic  #295                // Method createEmptyConfigJson:(Ljava/lang/String;ZZZ)Lcom/google/gson/JsonObject;
       7: astore        5
       9: aload         5
      11: ldc_w         #621                // String entries
      14: invokevirtual #467                // Method com/google/gson/JsonObject.getAsJsonArray:(Ljava/lang/String;)Lcom/google/gson/JsonArray;
      17: astore        6
      19: aload         4
      21: astore        7
      23: aload         7
      25: arraylength
      26: istore        8
      28: iconst_0
      29: istore        9
      31: iload         9
      33: iload         8
      35: if_icmpge     170
      38: aload         7
      40: iload         9
      42: aaload
      43: astore        10
      45: new           #303                // class com/google/gson/JsonObject
      48: dup
      49: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      52: astore        11
      54: aload         11
      56: ldc_w         #636                // String item
      59: aload         10
      61: iconst_0
      62: aaload
      63: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      66: aload         11
      68: ldc_w         #637                // String weight
      71: aload         10
      73: iconst_1
      74: aaload
      75: invokestatic  #944                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
      78: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      81: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      84: aload         11
      86: ldc_w         #638                // String chance
      89: aload         10
      91: iconst_4
      92: aaload
      93: invokestatic  #948                // Method java/lang/Float.parseFloat:(Ljava/lang/String;)F
      96: invokestatic  #445                // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
      99: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     102: new           #303                // class com/google/gson/JsonObject
     105: dup
     106: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     109: astore        12
     111: aload         12
     113: ldc_w         #641                // String min
     116: aload         10
     118: iconst_2
     119: aaload
     120: invokestatic  #944                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
     123: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     126: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     129: aload         12
     131: ldc_w         #644                // String max
     134: aload         10
     136: iconst_3
     137: aaload
     138: invokestatic  #944                // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
     141: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     144: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     147: aload         11
     149: ldc_w         #646                // String count
     152: aload         12
     154: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     157: aload         6
     159: aload         11
     161: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     164: iinc          9, 1
     167: goto          31
     170: aload         5
     172: areturn

  private static com.google.gson.JsonObject readConfigObject(java.nio.file.Path) throws java.io.IOException;
    Code:
       0: aload_0
       1: invokestatic  #335                // Method java/nio/file/Files.newBufferedReader:(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
       4: astore_1
       5: aload_1
       6: invokestatic  #341                // Method com/google/gson/JsonParser.parseReader:(Ljava/io/Reader;)Lcom/google/gson/JsonElement;
       9: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      12: astore_2
      13: aload_1
      14: ifnull        21
      17: aload_1
      18: invokevirtual #358                // Method java/io/Reader.close:()V
      21: aload_2
      22: areturn
      23: astore_2
      24: aload_1
      25: ifnull        41
      28: aload_1
      29: invokevirtual #358                // Method java/io/Reader.close:()V
      32: goto          41
      35: astore_3
      36: aload_2
      37: aload_3
      38: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      41: aload_2
      42: athrow
    Exception table:
       from    to  target type
           5    13    23   Class java/lang/Throwable
          28    32    35   Class java/lang/Throwable

  private static synchronized void writeConfigObject(java.nio.file.Path, com.google.gson.JsonObject) throws java.io.IOException;
    Code:
       0: aload_0
       1: invokeinterface #355,  1          // InterfaceMethod java/nio/file/Path.getParent:()Ljava/nio/file/Path;
       6: iconst_0
       7: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      10: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      13: pop
      14: aload_0
      15: aload_0
      16: invokeinterface #956,  1          // InterfaceMethod java/nio/file/Path.getFileName:()Ljava/nio/file/Path;
      21: invokeinterface #957,  1          // InterfaceMethod java/nio/file/Path.toString:()Ljava/lang/String;
      26: invokedynamic #960,  0            // InvokeDynamic #12:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      31: invokeinterface #963,  2          // InterfaceMethod java/nio/file/Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
      36: astore_2
      37: aload_2
      38: iconst_0
      39: anewarray     #965                // class java/nio/file/OpenOption
      42: invokestatic  #969                // Method java/nio/file/Files.newBufferedWriter:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;
      45: astore_3
      46: aload_3
      47: aload_1
      48: invokestatic  #973                // Method toFriendlyConfigJson:(Lcom/google/gson/JsonObject;)Ljava/lang/String;
      51: invokevirtual #978                // Method java/io/Writer.write:(Ljava/lang/String;)V
      54: aload_3
      55: ifnull        90
      58: aload_3
      59: invokevirtual #979                // Method java/io/Writer.close:()V
      62: goto          90
      65: astore        4
      67: aload_3
      68: ifnull        87
      71: aload_3
      72: invokevirtual #979                // Method java/io/Writer.close:()V
      75: goto          87
      78: astore        5
      80: aload         4
      82: aload         5
      84: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      87: aload         4
      89: athrow
      90: aload_2
      91: aload_0
      92: iconst_2
      93: anewarray     #981                // class java/nio/file/CopyOption
      96: dup
      97: iconst_0
      98: getstatic     #987                // Field java/nio/file/StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
     101: aastore
     102: dup
     103: iconst_1
     104: getstatic     #990                // Field java/nio/file/StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
     107: aastore
     108: invokestatic  #994                // Method java/nio/file/Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
     111: pop
     112: aload_2
     113: invokestatic  #881                // Method java/nio/file/Files.deleteIfExists:(Ljava/nio/file/Path;)Z
     116: pop
     117: goto          155
     120: astore_3
     121: aload_2
     122: aload_0
     123: iconst_1
     124: anewarray     #981                // class java/nio/file/CopyOption
     127: dup
     128: iconst_0
     129: getstatic     #990                // Field java/nio/file/StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
     132: aastore
     133: invokestatic  #994                // Method java/nio/file/Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
     136: pop
     137: aload_2
     138: invokestatic  #881                // Method java/nio/file/Files.deleteIfExists:(Ljava/nio/file/Path;)Z
     141: pop
     142: goto          155
     145: astore        6
     147: aload_2
     148: invokestatic  #881                // Method java/nio/file/Files.deleteIfExists:(Ljava/nio/file/Path;)Z
     151: pop
     152: aload         6
     154: athrow
     155: return
    Exception table:
       from    to  target type
          46    54    65   Class java/lang/Throwable
          71    75    78   Class java/lang/Throwable
          90   112   120   Class java/nio/file/AtomicMoveNotSupportedException
          90   112   145   any
         120   137   145   any
         145   147   145   any

  private static java.lang.String toFriendlyConfigJson(com.google.gson.JsonObject);
    Code:
       0: getstatic     #1001               // Field GSON:Lcom/google/gson/Gson;
       3: aload_0
       4: invokestatic  #1005               // Method compactLootConfig:(Lcom/google/gson/JsonObject;)Lcom/google/gson/JsonObject;
       7: invokestatic  #1009               // Method normalizeNumbers:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonElement;
      10: invokevirtual #1015               // Method com/google/gson/Gson.toJson:(Lcom/google/gson/JsonElement;)Ljava/lang/String;
      13: invokedynamic #1018,  0           // InvokeDynamic #13:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      18: areturn

  private static com.google.gson.JsonObject compactLootConfig(com.google.gson.JsonObject);
    Code:
       0: new           #303                // class com/google/gson/JsonObject
       3: dup
       4: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
       7: astore_1
       8: aload_0
       9: ldc_w         #348                // String id
      12: ldc_w         #624                // String
      15: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      18: astore_2
      19: aload_1
      20: ldc_w         #348                // String id
      23: aload_2
      24: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      27: aload_1
      28: ldc_w         #511                // String display_name
      31: aload_0
      32: ldc_w         #511                // String display_name
      35: aload_2
      36: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      39: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      42: aload_1
      43: ldc_w         #742                // String description
      46: aload_0
      47: ldc_w         #742                // String description
      50: ldc_w         #624                // String
      53: invokestatic  #796                // Method getString:(Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      56: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
      59: new           #303                // class com/google/gson/JsonObject
      62: dup
      63: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      66: astore_3
      67: aload_0
      68: ldc_w         #744                // String rolls
      71: invokestatic  #1021               // Method getObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      74: astore        4
      76: aload_3
      77: ldc_w         #641                // String min
      80: iconst_0
      81: aload         4
      83: ldc_w         #641                // String min
      86: iconst_1
      87: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
      90: invokestatic  #416                // Method java/lang/Math.max:(II)I
      93: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      96: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      99: aload_3
     100: ldc_w         #644                // String max
     103: iconst_0
     104: aload         4
     106: ldc_w         #644                // String max
     109: iconst_3
     110: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     113: invokestatic  #416                // Method java/lang/Math.max:(II)I
     116: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     119: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     122: aload_1
     123: ldc_w         #744                // String rolls
     126: aload_3
     127: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     130: new           #303                // class com/google/gson/JsonObject
     133: dup
     134: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     137: astore        5
     139: aload         5
     141: ldc_w         #373                // String enabled
     144: aload_0
     145: invokestatic  #1029               // Method getSearchEnabled:(Lcom/google/gson/JsonObject;)Z
     148: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     151: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     154: aload_1
     155: ldc_w         #371                // String search
     158: aload         5
     160: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     163: aload_0
     164: ldc_w         #381                // String lock
     167: invokestatic  #1021               // Method getObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     170: astore        6
     172: aload         6
     174: ldc_w         #373                // String enabled
     177: iconst_0
     178: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     181: istore        7
     183: new           #303                // class com/google/gson/JsonObject
     186: dup
     187: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     190: astore        8
     192: aload         8
     194: ldc_w         #373                // String enabled
     197: iload         7
     199: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     202: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     205: aload         8
     207: ldc_w         #434                // String spawn_chance
     210: aload         6
     212: ldc_w         #434                // String spawn_chance
     215: dconst_0
     216: invokestatic  #1037               // Method getDouble:(Lcom/google/gson/JsonObject;Ljava/lang/String;D)D
     219: invokestatic  #1041               // Method clamp01:(D)D
     222: invokestatic  #1046               // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
     225: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     228: aload         8
     230: ldc_w         #750                // String lockpick
     233: aload         6
     235: ldc_w         #750                // String lockpick
     238: iconst_1
     239: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     242: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     245: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     248: aload         6
     250: ifnull        284
     253: aload         6
     255: ldc_w         #1048               // String consume_lockpick_on_fail
     258: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     261: ifeq          284
     264: aload         8
     266: ldc_w         #1048               // String consume_lockpick_on_fail
     269: aload         6
     271: ldc_w         #1048               // String consume_lockpick_on_fail
     274: iconst_0
     275: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     278: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     281: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     284: aload         6
     286: ifnull        324
     289: aload         6
     291: ldc_w         #1050               // String damage_lockpick_on_success
     294: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     297: ifeq          324
     300: aload         8
     302: ldc_w         #1050               // String damage_lockpick_on_success
     305: iconst_0
     306: aload         6
     308: ldc_w         #1050               // String damage_lockpick_on_success
     311: iconst_1
     312: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     315: invokestatic  #416                // Method java/lang/Math.max:(II)I
     318: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     321: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     324: aload         6
     326: ifnull        365
     329: aload         6
     331: ldc_w         #1052               // String damage_lockpick_on_fail
     334: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     337: ifeq          365
     340: aload         8
     342: ldc_w         #1052               // String damage_lockpick_on_fail
     345: iconst_0
     346: aload         6
     348: ldc_w         #1052               // String damage_lockpick_on_fail
     351: bipush        8
     353: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     356: invokestatic  #416                // Method java/lang/Math.max:(II)I
     359: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     362: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     365: aload_1
     366: ldc_w         #381                // String lock
     369: aload         8
     371: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     374: aload_0
     375: ldc_w         #432                // String empty
     378: invokestatic  #1021               // Method getObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     381: astore        9
     383: aload_0
     384: ldc_w         #432                // String empty
     387: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     390: astore        10
     392: aload         9
     394: ldc_w         #373                // String enabled
     397: iconst_0
     398: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     401: istore        11
     403: aload         10
     405: ifnull        438
     408: aload         10
     410: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
     413: ifeq          438
     416: aload         10
     418: invokevirtual #1059               // Method com/google/gson/JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
     421: invokevirtual #1064               // Method com/google/gson/JsonPrimitive.isNumber:()Z
     424: ifeq          438
     427: aload         10
     429: invokevirtual #1068               // Method com/google/gson/JsonElement.getAsDouble:()D
     432: invokestatic  #1041               // Method clamp01:(D)D
     435: goto          450
     438: aload         9
     440: ldc_w         #434                // String spawn_chance
     443: dconst_0
     444: invokestatic  #1037               // Method getDouble:(Lcom/google/gson/JsonObject;Ljava/lang/String;D)D
     447: invokestatic  #1041               // Method clamp01:(D)D
     450: dstore        12
     452: new           #303                // class com/google/gson/JsonObject
     455: dup
     456: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     459: astore        14
     461: aload         14
     463: ldc_w         #373                // String enabled
     466: iload         11
     468: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     471: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     474: aload         14
     476: ldc_w         #434                // String spawn_chance
     479: dload         12
     481: invokestatic  #1046               // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
     484: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     487: aload_1
     488: ldc_w         #432                // String empty
     491: aload         14
     493: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     496: aload_0
     497: ldc_w         #752                // String open_pass
     500: invokestatic  #1021               // Method getObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     503: astore        15
     505: new           #303                // class com/google/gson/JsonObject
     508: dup
     509: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     512: astore        16
     514: aload         16
     516: ldc_w         #373                // String enabled
     519: aload         15
     521: ldc_w         #373                // String enabled
     524: iconst_0
     525: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     528: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     531: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     534: aload         16
     536: ldc_w         #754                // String amount
     539: iconst_1
     540: aload         15
     542: ldc_w         #754                // String amount
     545: iconst_1
     546: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     549: invokestatic  #416                // Method java/lang/Math.max:(II)I
     552: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     555: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     558: aload         16
     560: ldc_w         #756                // String consume
     563: aload         15
     565: ldc_w         #756                // String consume
     568: iconst_1
     569: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     572: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     575: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     578: aload         16
     580: ldc_w         #758                // String bypass_lock
     583: aload         15
     585: ldc_w         #758                // String bypass_lock
     588: iconst_1
     589: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     592: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     595: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     598: aload         16
     600: ldc_w         #760                // String bypass_search
     603: aload         15
     605: ldc_w         #760                // String bypass_search
     608: iconst_1
     609: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     612: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     615: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     618: aload         15
     620: ifnull        654
     623: aload         15
     625: ldc_w         #1070               // String consume_in_creative
     628: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     631: ifeq          654
     634: aload         16
     636: ldc_w         #1070               // String consume_in_creative
     639: aload         15
     641: ldc_w         #1070               // String consume_in_creative
     644: iconst_0
     645: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     648: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     651: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     654: new           #469                // class com/google/gson/JsonArray
     657: dup
     658: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     661: astore        17
     663: aload         17
     665: aload         15
     667: ifnonnull     674
     670: aconst_null
     671: goto          682
     674: aload         15
     676: ldc_w         #636                // String item
     679: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     682: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     685: aload         17
     687: aload         15
     689: ifnonnull     696
     692: aconst_null
     693: goto          704
     696: aload         15
     698: ldc_w         #762                // String items
     701: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     704: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     707: aload         17
     709: aload         15
     711: ifnonnull     718
     714: aconst_null
     715: goto          726
     718: aload         15
     720: ldc_w         #1075               // String match
     723: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     726: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     729: aload         17
     731: aload         15
     733: ifnonnull     740
     736: aconst_null
     737: goto          748
     740: aload         15
     742: ldc_w         #1076               // String matches
     745: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     748: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     751: aload         16
     753: ldc_w         #762                // String items
     756: aload         17
     758: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     761: new           #469                // class com/google/gson/JsonArray
     764: dup
     765: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     768: astore        18
     770: aload         18
     772: aload         15
     774: ifnonnull     781
     777: aconst_null
     778: goto          789
     781: aload         15
     783: ldc_w         #630                // String tag
     786: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     789: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     792: aload         18
     794: aload         15
     796: ifnonnull     803
     799: aconst_null
     800: goto          811
     803: aload         15
     805: ldc_w         #764                // String tags
     808: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     811: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     814: aload         16
     816: ldc_w         #764                // String tags
     819: aload         18
     821: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     824: aload_1
     825: ldc_w         #752                // String open_pass
     828: aload         16
     830: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     833: aload_0
     834: ldc_w         #396                // String respawn
     837: invokestatic  #1021               // Method getObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     840: astore        19
     842: new           #303                // class com/google/gson/JsonObject
     845: dup
     846: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     849: astore        20
     851: aload         20
     853: ldc_w         #373                // String enabled
     856: aload         19
     858: ldc_w         #373                // String enabled
     861: iconst_0
     862: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     865: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     868: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     871: aload         20
     873: ldc_w         #410                // String time_ticks
     876: lconst_1
     877: aload         19
     879: ldc_w         #410                // String time_ticks
     882: ldc2_w        #1077               // long 24000l
     885: invokestatic  #1082               // Method getLong:(Lcom/google/gson/JsonObject;Ljava/lang/String;J)J
     888: invokestatic  #1085               // Method java/lang/Math.max:(JJ)J
     891: invokestatic  #1090               // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
     894: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     897: aload         20
     899: ldc_w         #421                // String only_if_empty
     902: aload         19
     904: ldc_w         #421                // String only_if_empty
     907: iconst_1
     908: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     911: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     914: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     917: aload         20
     919: ldc_w         #423                // String clear_before_respawn
     922: iconst_1
     923: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     926: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     929: aload_1
     930: ldc_w         #396                // String respawn
     933: aload         20
     935: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     938: aload_1
     939: ldc_w         #384                // String per_player
     942: aload_0
     943: ldc_w         #384                // String per_player
     946: iconst_0
     947: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     950: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     953: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     956: aload_1
     957: ldc_w         #746                // String allow_duplicates
     960: aload_0
     961: ldc_w         #746                // String allow_duplicates
     964: iconst_1
     965: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     968: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     971: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     974: aload_1
     975: ldc_w         #748                // String clear_before_generate
     978: aload_0
     979: ldc_w         #748                // String clear_before_generate
     982: iconst_0
     983: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     986: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     989: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     992: aload_0
     993: ldc_w         #456                // String loot_tables
     996: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     999: invokestatic  #1094               // Method compactStringArray:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonArray;
    1002: astore        21
    1004: aload         21
    1006: aload_0
    1007: ldc_w         #1096               // String loot_table
    1010: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
    1013: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
    1016: aload_1
    1017: ldc_w         #456                // String loot_tables
    1020: aload         21
    1022: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
    1025: aload_0
    1026: ldc_w         #621                // String entries
    1029: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
    1032: astore        22
    1034: aload         22
    1036: ifnull        1055
    1039: aload         22
    1041: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
    1044: ifeq          1055
    1047: aload         22
    1049: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
    1052: goto          1056
    1055: aconst_null
    1056: invokestatic  #1103               // Method compactEntries:(Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray;
    1059: astore        23
    1061: aload_1
    1062: ldc_w         #621                // String entries
    1065: aload         23
    1067: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
    1070: aload_0
    1071: ldc_w         #788                // String pools
    1074: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
    1077: invokestatic  #1106               // Method compactPools:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonArray;
    1080: astore        24
    1082: aload         24
    1084: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
    1087: ifle          1099
    1090: aload_1
    1091: ldc_w         #788                // String pools
    1094: aload         24
    1096: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
    1099: aload_1
    1100: areturn

  private static com.google.gson.JsonObject compactLock(com.google.gson.JsonObject);
    Code:
       0: new           #303                // class com/google/gson/JsonObject
       3: dup
       4: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
       7: astore_1
       8: aload_0
       9: ldc_w         #373                // String enabled
      12: iconst_0
      13: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      16: istore_2
      17: aload_0
      18: ldc_w         #434                // String spawn_chance
      21: dconst_0
      22: invokestatic  #1037               // Method getDouble:(Lcom/google/gson/JsonObject;Ljava/lang/String;D)D
      25: invokestatic  #1041               // Method clamp01:(D)D
      28: dstore_3
      29: aload_0
      30: ldc_w         #750                // String lockpick
      33: iconst_1
      34: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      37: istore        5
      39: aload_0
      40: ldc_w         #1048               // String consume_lockpick_on_fail
      43: iconst_0
      44: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      47: istore        6
      49: iconst_0
      50: aload_0
      51: ldc_w         #1050               // String damage_lockpick_on_success
      54: iconst_1
      55: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
      58: invokestatic  #416                // Method java/lang/Math.max:(II)I
      61: istore        7
      63: iconst_0
      64: aload_0
      65: ldc_w         #1052               // String damage_lockpick_on_fail
      68: bipush        8
      70: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
      73: invokestatic  #416                // Method java/lang/Math.max:(II)I
      76: istore        8
      78: aload_0
      79: ifnull        106
      82: aload_0
      83: ldc_w         #1050               // String damage_lockpick_on_success
      86: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      89: ifne          102
      92: aload_0
      93: ldc_w         #1052               // String damage_lockpick_on_fail
      96: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      99: ifeq          106
     102: iconst_1
     103: goto          107
     106: iconst_0
     107: istore        9
     109: iload_2
     110: ifne          136
     113: dload_3
     114: dconst_0
     115: dcmpg
     116: ifgt          136
     119: iload         5
     121: ifeq          136
     124: iload         6
     126: ifne          136
     129: iload         9
     131: ifne          136
     134: aload_1
     135: areturn
     136: aload_1
     137: ldc_w         #373                // String enabled
     140: iload_2
     141: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     144: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     147: iload_2
     148: ifne          157
     151: dload_3
     152: dconst_0
     153: dcmpl
     154: ifle          168
     157: aload_1
     158: ldc_w         #434                // String spawn_chance
     161: dload_3
     162: invokestatic  #1046               // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
     165: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     168: iload         5
     170: ifne          184
     173: aload_1
     174: ldc_w         #750                // String lockpick
     177: iconst_0
     178: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     181: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     184: iload         6
     186: ifeq          200
     189: aload_1
     190: ldc_w         #1048               // String consume_lockpick_on_fail
     193: iconst_1
     194: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     197: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     200: iload         9
     202: ifeq          229
     205: aload_1
     206: ldc_w         #1050               // String damage_lockpick_on_success
     209: iload         7
     211: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     214: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     217: aload_1
     218: ldc_w         #1052               // String damage_lockpick_on_fail
     221: iload         8
     223: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     226: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     229: aload_1
     230: areturn

  private static com.google.gson.JsonElement compactEmpty(com.google.gson.JsonObject, com.google.gson.JsonElement);
    Code:
       0: aload_1
       1: ifnull        32
       4: aload_1
       5: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
       8: ifeq          32
      11: aload_1
      12: invokevirtual #1059               // Method com/google/gson/JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
      15: invokevirtual #1064               // Method com/google/gson/JsonPrimitive.isNumber:()Z
      18: ifeq          32
      21: aload_1
      22: invokevirtual #1068               // Method com/google/gson/JsonElement.getAsDouble:()D
      25: invokestatic  #1041               // Method clamp01:(D)D
      28: dstore_2
      29: goto          54
      32: aload_0
      33: ldc_w         #373                // String enabled
      36: iconst_0
      37: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      40: istore        4
      42: aload_0
      43: ldc_w         #434                // String spawn_chance
      46: dconst_0
      47: invokestatic  #1037               // Method getDouble:(Lcom/google/gson/JsonObject;Ljava/lang/String;D)D
      50: invokestatic  #1041               // Method clamp01:(D)D
      53: dstore_2
      54: dload_2
      55: dconst_0
      56: dcmpg
      57: ifgt          62
      60: aconst_null
      61: areturn
      62: new           #1061               // class com/google/gson/JsonPrimitive
      65: dup
      66: dload_2
      67: invokestatic  #1046               // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
      70: invokespecial #1128               // Method com/google/gson/JsonPrimitive."<init>":(Ljava/lang/Number;)V
      73: areturn

  private static com.google.gson.JsonObject compactOpenPass(com.google.gson.JsonObject);
    Code:
       0: new           #303                // class com/google/gson/JsonObject
       3: dup
       4: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
       7: astore_1
       8: aload_0
       9: ldc_w         #373                // String enabled
      12: iconst_0
      13: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      16: istore_2
      17: new           #469                // class com/google/gson/JsonArray
      20: dup
      21: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
      24: astore_3
      25: aload_3
      26: aload_0
      27: ifnonnull     34
      30: aconst_null
      31: goto          41
      34: aload_0
      35: ldc_w         #636                // String item
      38: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      41: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      44: aload_3
      45: aload_0
      46: ifnonnull     53
      49: aconst_null
      50: goto          60
      53: aload_0
      54: ldc_w         #762                // String items
      57: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      60: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      63: aload_3
      64: aload_0
      65: ifnonnull     72
      68: aconst_null
      69: goto          79
      72: aload_0
      73: ldc_w         #1075               // String match
      76: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      79: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      82: aload_3
      83: aload_0
      84: ifnonnull     91
      87: aconst_null
      88: goto          98
      91: aload_0
      92: ldc_w         #1076               // String matches
      95: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      98: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     101: new           #469                // class com/google/gson/JsonArray
     104: dup
     105: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     108: astore        4
     110: aload         4
     112: aload_0
     113: ifnonnull     120
     116: aconst_null
     117: goto          127
     120: aload_0
     121: ldc_w         #630                // String tag
     124: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     127: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     130: aload         4
     132: aload_0
     133: ifnonnull     140
     136: aconst_null
     137: goto          147
     140: aload_0
     141: ldc_w         #764                // String tags
     144: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     147: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     150: iload_2
     151: ifne          171
     154: aload_3
     155: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     158: ifne          171
     161: aload         4
     163: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     166: ifne          171
     169: aload_1
     170: areturn
     171: aload_1
     172: ldc_w         #373                // String enabled
     175: iload_2
     176: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     179: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     182: iconst_1
     183: aload_0
     184: ldc_w         #754                // String amount
     187: iconst_1
     188: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     191: invokestatic  #416                // Method java/lang/Math.max:(II)I
     194: istore        5
     196: iload         5
     198: iconst_1
     199: if_icmpeq     214
     202: aload_1
     203: ldc_w         #754                // String amount
     206: iload         5
     208: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     211: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     214: aload_0
     215: ldc_w         #756                // String consume
     218: iconst_1
     219: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     222: ifne          236
     225: aload_1
     226: ldc_w         #756                // String consume
     229: iconst_0
     230: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     233: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     236: aload_0
     237: ldc_w         #758                // String bypass_lock
     240: iconst_1
     241: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     244: ifne          258
     247: aload_1
     248: ldc_w         #758                // String bypass_lock
     251: iconst_0
     252: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     255: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     258: aload_0
     259: ldc_w         #760                // String bypass_search
     262: iconst_1
     263: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     266: ifne          280
     269: aload_1
     270: ldc_w         #760                // String bypass_search
     273: iconst_0
     274: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     277: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     280: aload_0
     281: ifnull        312
     284: aload_0
     285: ldc_w         #1070               // String consume_in_creative
     288: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     291: ifeq          312
     294: aload_1
     295: ldc_w         #1070               // String consume_in_creative
     298: aload_0
     299: ldc_w         #1070               // String consume_in_creative
     302: iconst_0
     303: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
     306: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     309: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     312: aload_3
     313: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     316: ifle          327
     319: aload_1
     320: ldc_w         #762                // String items
     323: aload_3
     324: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     327: aload         4
     329: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     332: ifle          344
     335: aload_1
     336: ldc_w         #764                // String tags
     339: aload         4
     341: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     344: aload_1
     345: areturn

  private static com.google.gson.JsonObject compactRespawn(com.google.gson.JsonObject);
    Code:
       0: new           #303                // class com/google/gson/JsonObject
       3: dup
       4: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
       7: astore_1
       8: aload_0
       9: ldc_w         #373                // String enabled
      12: iconst_0
      13: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      16: istore_2
      17: iload_2
      18: ifne          23
      21: aload_1
      22: areturn
      23: aload_1
      24: ldc_w         #373                // String enabled
      27: iconst_1
      28: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      31: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      34: aload_1
      35: ldc_w         #410                // String time_ticks
      38: lconst_1
      39: aload_0
      40: ldc_w         #410                // String time_ticks
      43: ldc2_w        #1077               // long 24000l
      46: invokestatic  #1082               // Method getLong:(Lcom/google/gson/JsonObject;Ljava/lang/String;J)J
      49: invokestatic  #1085               // Method java/lang/Math.max:(JJ)J
      52: invokestatic  #1090               // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
      55: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
      58: aload_0
      59: ldc_w         #421                // String only_if_empty
      62: iconst_1
      63: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      66: ifne          80
      69: aload_1
      70: ldc_w         #421                // String only_if_empty
      73: iconst_0
      74: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      77: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      80: aload_1
      81: ldc_w         #423                // String clear_before_respawn
      84: iconst_1
      85: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      88: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      91: aload_1
      92: areturn

  private static com.google.gson.JsonArray compactEntries(com.google.gson.JsonArray);
    Code:
       0: new           #469                // class com/google/gson/JsonArray
       3: dup
       4: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
       7: astore_1
       8: aload_0
       9: ifnonnull     14
      12: aload_1
      13: areturn
      14: aload_0
      15: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
      18: astore_2
      19: aload_2
      20: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      25: ifeq          395
      28: aload_2
      29: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      34: checkcast     #343                // class com/google/gson/JsonElement
      37: astore_3
      38: aload_3
      39: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      42: ifne          48
      45: goto          19
      48: aload_3
      49: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      52: astore        4
      54: new           #303                // class com/google/gson/JsonObject
      57: dup
      58: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      61: astore        5
      63: aload         4
      65: aload         5
      67: ldc_w         #636                // String item
      70: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
      73: aload         4
      75: aload         5
      77: ldc_w         #762                // String items
      80: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
      83: aload         4
      85: aload         5
      87: ldc_w         #630                // String tag
      90: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
      93: aload         4
      95: aload         5
      97: ldc_w         #764                // String tags
     100: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
     103: aload         4
     105: aload         5
     107: ldc_w         #1075               // String match
     110: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
     113: aload         4
     115: aload         5
     117: ldc_w         #1076               // String matches
     120: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
     123: aload         5
     125: ldc_w         #637                // String weight
     128: iconst_1
     129: aload         4
     131: ldc_w         #637                // String weight
     134: iconst_1
     135: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     138: invokestatic  #416                // Method java/lang/Math.max:(II)I
     141: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     144: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     147: aload         5
     149: ldc_w         #638                // String chance
     152: aload         4
     154: ldc_w         #638                // String chance
     157: dconst_1
     158: invokestatic  #1037               // Method getDouble:(Lcom/google/gson/JsonObject;Ljava/lang/String;D)D
     161: invokestatic  #1041               // Method clamp01:(D)D
     164: invokestatic  #1046               // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
     167: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     170: new           #303                // class com/google/gson/JsonObject
     173: dup
     174: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     177: astore        6
     179: aload         4
     181: ldc_w         #646                // String count
     184: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     187: astore        7
     189: aload         7
     191: ifnull        253
     194: aload         7
     196: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
     199: ifeq          253
     202: aload         7
     204: invokevirtual #1059               // Method com/google/gson/JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
     207: invokevirtual #1064               // Method com/google/gson/JsonPrimitive.isNumber:()Z
     210: ifeq          253
     213: iconst_0
     214: aload         7
     216: invokevirtual #1138               // Method com/google/gson/JsonElement.getAsInt:()I
     219: invokestatic  #416                // Method java/lang/Math.max:(II)I
     222: istore        8
     224: aload         6
     226: ldc_w         #641                // String min
     229: iload         8
     231: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     234: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     237: aload         6
     239: ldc_w         #644                // String max
     242: iload         8
     244: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     247: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     250: goto          335
     253: aload         7
     255: ifnull        274
     258: aload         7
     260: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
     263: ifeq          274
     266: aload         7
     268: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     271: goto          275
     274: aconst_null
     275: astore        8
     277: iconst_0
     278: aload         8
     280: ldc_w         #641                // String min
     283: iconst_1
     284: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     287: invokestatic  #416                // Method java/lang/Math.max:(II)I
     290: istore        9
     292: iload         9
     294: aload         8
     296: ldc_w         #644                // String max
     299: iload         9
     301: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     304: invokestatic  #416                // Method java/lang/Math.max:(II)I
     307: istore        10
     309: aload         6
     311: ldc_w         #641                // String min
     314: iload         9
     316: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     319: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     322: aload         6
     324: ldc_w         #644                // String max
     327: iload         10
     329: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     332: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     335: aload         5
     337: ldc_w         #646                // String count
     340: aload         6
     342: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     345: aload         4
     347: aload         5
     349: ldc_w         #640                // String nbt
     352: invokestatic  #1135               // Method copyIfPresent:(Lcom/google/gson/JsonObject;Lcom/google/gson/JsonObject;Ljava/lang/String;)V
     355: aload         4
     357: ldc_w         #733                // String with
     360: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     363: invokestatic  #1141               // Method compactLinkedEntries:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonArray;
     366: astore        8
     368: aload         8
     370: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     373: ifle          386
     376: aload         5
     378: ldc_w         #733                // String with
     381: aload         8
     383: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     386: aload_1
     387: aload         5
     389: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     392: goto          19
     395: aload_1
     396: areturn

  private static com.google.gson.JsonArray compactLinkedEntries(com.google.gson.JsonElement);
    Code:
       0: new           #469                // class com/google/gson/JsonArray
       3: dup
       4: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
       7: astore_1
       8: aload_0
       9: ifnull        19
      12: aload_0
      13: invokevirtual #1148               // Method com/google/gson/JsonElement.isJsonNull:()Z
      16: ifeq          21
      19: aload_1
      20: areturn
      21: aload_0
      22: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      25: ifeq          36
      28: aload_0
      29: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
      32: invokestatic  #1103               // Method compactEntries:(Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray;
      35: areturn
      36: aload_0
      37: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      40: ifeq          61
      43: new           #469                // class com/google/gson/JsonArray
      46: dup
      47: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
      50: astore_2
      51: aload_2
      52: aload_0
      53: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
      56: aload_2
      57: invokestatic  #1103               // Method compactEntries:(Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray;
      60: areturn
      61: aload_1
      62: areturn

  private static void appendEntriesArray(java.lang.StringBuilder, com.google.gson.JsonArray);
    Code:
       0: aload_1
       1: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
       4: ifne          16
       7: aload_0
       8: ldc_w         #1152               // String []
      11: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      14: pop
      15: return
      16: aload_0
      17: ldc_w         #1160               // String [\n
      20: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      23: pop
      24: iconst_0
      25: istore_2
      26: iload_2
      27: aload_1
      28: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
      31: if_icmpge     87
      34: aload_0
      35: ldc_w         #1162               // String
      38: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      41: getstatic     #1164               // Field COMPACT_GSON:Lcom/google/gson/Gson;
      44: aload_1
      45: iload_2
      46: invokevirtual #829                // Method com/google/gson/JsonArray.get:(I)Lcom/google/gson/JsonElement;
      49: invokevirtual #1015               // Method com/google/gson/Gson.toJson:(Lcom/google/gson/JsonElement;)Ljava/lang/String;
      52: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      55: pop
      56: iload_2
      57: iconst_1
      58: iadd
      59: aload_1
      60: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
      63: if_icmpge     73
      66: aload_0
      67: bipush        44
      69: invokevirtual #1167               // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
      72: pop
      73: aload_0
      74: ldc_w         #1169               // String \n
      77: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      80: pop
      81: iinc          2, 1
      84: goto          26
      87: aload_0
      88: ldc_w         #1171               // String   ]
      91: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      94: pop
      95: return

  private static com.google.gson.JsonArray compactPools(com.google.gson.JsonElement);
    Code:
       0: new           #469                // class com/google/gson/JsonArray
       3: dup
       4: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
       7: astore_1
       8: aload_0
       9: ifnull        19
      12: aload_0
      13: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      16: ifne          21
      19: aload_1
      20: areturn
      21: aload_0
      22: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
      25: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
      28: astore_2
      29: aload_2
      30: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      35: ifeq          493
      38: aload_2
      39: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      44: checkcast     #343                // class com/google/gson/JsonElement
      47: astore_3
      48: aload_3
      49: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      52: ifne          58
      55: goto          29
      58: aload_3
      59: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      62: astore        4
      64: new           #303                // class com/google/gson/JsonObject
      67: dup
      68: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      71: astore        5
      73: aload         4
      75: ldc_w         #348                // String id
      78: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      81: ifeq          137
      84: aload         4
      86: ldc_w         #348                // String id
      89: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      92: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      95: ifeq          137
      98: aload         4
     100: ldc_w         #348                // String id
     103: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     106: invokevirtual #538                // Method com/google/gson/JsonElement.getAsString:()Ljava/lang/String;
     109: astore        6
     111: aload         6
     113: ifnull        137
     116: aload         6
     118: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     121: ifne          137
     124: aload         5
     126: ldc_w         #348                // String id
     129: aload         6
     131: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
     134: invokevirtual #352                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/String;)V
     137: new           #303                // class com/google/gson/JsonObject
     140: dup
     141: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     144: astore        6
     146: aload         4
     148: ldc_w         #744                // String rolls
     151: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     154: astore        7
     156: aload         7
     158: ifnull        220
     161: aload         7
     163: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
     166: ifeq          220
     169: aload         7
     171: invokevirtual #1059               // Method com/google/gson/JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
     174: invokevirtual #1064               // Method com/google/gson/JsonPrimitive.isNumber:()Z
     177: ifeq          220
     180: iconst_0
     181: aload         7
     183: invokevirtual #1138               // Method com/google/gson/JsonElement.getAsInt:()I
     186: invokestatic  #416                // Method java/lang/Math.max:(II)I
     189: istore        8
     191: aload         6
     193: ldc_w         #641                // String min
     196: iload         8
     198: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     201: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     204: aload         6
     206: ldc_w         #644                // String max
     209: iload         8
     211: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     214: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     217: goto          278
     220: aload         4
     222: ldc_w         #744                // String rolls
     225: invokestatic  #1021               // Method getObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
     228: astore        8
     230: aload         6
     232: ldc_w         #641                // String min
     235: iconst_0
     236: aload         8
     238: ldc_w         #641                // String min
     241: iconst_1
     242: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     245: invokestatic  #416                // Method java/lang/Math.max:(II)I
     248: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     251: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     254: aload         6
     256: ldc_w         #644                // String max
     259: iconst_0
     260: aload         8
     262: ldc_w         #644                // String max
     265: iconst_1
     266: invokestatic  #1025               // Method getInt:(Lcom/google/gson/JsonObject;Ljava/lang/String;I)I
     269: invokestatic  #416                // Method java/lang/Math.max:(II)I
     272: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     275: invokevirtual #419                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Number;)V
     278: aload         5
     280: ldc_w         #744                // String rolls
     283: aload         6
     285: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     288: aload         4
     290: ldc_w         #746                // String allow_duplicates
     293: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     296: ifeq          335
     299: aload         4
     301: ldc_w         #746                // String allow_duplicates
     304: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     307: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
     310: ifeq          335
     313: aload         5
     315: ldc_w         #746                // String allow_duplicates
     318: aload         4
     320: ldc_w         #746                // String allow_duplicates
     323: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     326: invokevirtual #1177               // Method com/google/gson/JsonElement.getAsBoolean:()Z
     329: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
     332: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
     335: aload         4
     337: ldc_w         #456                // String loot_tables
     340: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     343: invokestatic  #1094               // Method compactStringArray:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonArray;
     346: astore        8
     348: aload         8
     350: aload         4
     352: ldc_w         #1096               // String loot_table
     355: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     358: invokestatic  #1074               // Method appendStrings:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
     361: aload         8
     363: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     366: ifle          379
     369: aload         5
     371: ldc_w         #456                // String loot_tables
     374: aload         8
     376: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     379: aload         4
     381: ldc_w         #621                // String entries
     384: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     387: astore        9
     389: aload         9
     391: ifnull        410
     394: aload         9
     396: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
     399: ifeq          410
     402: aload         9
     404: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
     407: goto          411
     410: aconst_null
     411: invokestatic  #1103               // Method compactEntries:(Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray;
     414: astore        10
     416: aload         5
     418: ldc_w         #621                // String entries
     421: aload         10
     423: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     426: aload         5
     428: ldc_w         #348                // String id
     431: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
     434: ifeq          468
     437: aload         5
     439: ldc_w         #348                // String id
     442: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     445: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
     448: ifeq          468
     451: aload         5
     453: ldc_w         #348                // String id
     456: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
     459: invokevirtual #538                // Method com/google/gson/JsonElement.getAsString:()Ljava/lang/String;
     462: invokevirtual #454                // Method java/lang/String.isBlank:()Z
     465: ifeq          484
     468: aload         10
     470: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     473: ifgt          484
     476: aload         8
     478: invokevirtual #731                // Method com/google/gson/JsonArray.size:()I
     481: ifle          490
     484: aload_1
     485: aload         5
     487: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     490: goto          29
     493: aload_1
     494: areturn

  private static com.google.gson.JsonArray compactStringArray(com.google.gson.JsonElement);
    Code:
       0: new           #469                // class com/google/gson/JsonArray
       3: dup
       4: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
       7: astore_1
       8: aload_0
       9: ifnull        19
      12: aload_0
      13: invokevirtual #1148               // Method com/google/gson/JsonElement.isJsonNull:()Z
      16: ifeq          21
      19: aload_1
      20: areturn
      21: aload_0
      22: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      25: ifeq          65
      28: aload_0
      29: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
      32: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
      35: astore_2
      36: aload_2
      37: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      42: ifeq          63
      45: aload_2
      46: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      51: checkcast     #343                // class com/google/gson/JsonElement
      54: astore_3
      55: aload_1
      56: aload_3
      57: invokestatic  #1181               // Method addString:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      60: goto          36
      63: aload_1
      64: areturn
      65: aload_1
      66: aload_0
      67: invokestatic  #1181               // Method addString:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      70: aload_1
      71: areturn

  private static void appendStrings(com.google.gson.JsonArray, com.google.gson.JsonElement);
    Code:
       0: aload_1
       1: ifnull        11
       4: aload_1
       5: invokevirtual #1148               // Method com/google/gson/JsonElement.isJsonNull:()Z
       8: ifeq          12
      11: return
      12: aload_1
      13: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      16: ifeq          55
      19: aload_1
      20: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
      23: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
      26: astore_2
      27: aload_2
      28: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      33: ifeq          54
      36: aload_2
      37: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      42: checkcast     #343                // class com/google/gson/JsonElement
      45: astore_3
      46: aload_0
      47: aload_3
      48: invokestatic  #1181               // Method addString:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      51: goto          27
      54: return
      55: aload_0
      56: aload_1
      57: invokestatic  #1181               // Method addString:(Lcom/google/gson/JsonArray;Lcom/google/gson/JsonElement;)V
      60: return

  private static void addString(com.google.gson.JsonArray, com.google.gson.JsonElement);
    Code:
       0: aload_1
       1: ifnull        11
       4: aload_1
       5: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
       8: ifne          12
      11: return
      12: aload_1
      13: invokevirtual #538                // Method com/google/gson/JsonElement.getAsString:()Ljava/lang/String;
      16: astore_2
      17: aload_2
      18: ifnull        36
      21: aload_2
      22: invokevirtual #454                // Method java/lang/String.isBlank:()Z
      25: ifne          36
      28: aload_0
      29: aload_2
      30: invokevirtual #503                // Method java/lang/String.trim:()Ljava/lang/String;
      33: invokevirtual #477                // Method com/google/gson/JsonArray.add:(Ljava/lang/String;)V
      36: return

  private static com.google.gson.JsonElement firstExisting(com.google.gson.JsonObject, java.lang.String...);
    Code:
       0: aload_0
       1: ifnonnull     6
       4: aconst_null
       5: areturn
       6: aload_1
       7: astore_2
       8: aload_2
       9: arraylength
      10: istore_3
      11: iconst_0
      12: istore        4
      14: iload         4
      16: iload_3
      17: if_icmpge     48
      20: aload_2
      21: iload         4
      23: aaload
      24: astore        5
      26: aload_0
      27: aload         5
      29: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
      32: ifeq          42
      35: aload_0
      36: aload         5
      38: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      41: areturn
      42: iinc          4, 1
      45: goto          14
      48: aconst_null
      49: areturn

  private static void copyIfPresent(com.google.gson.JsonObject, com.google.gson.JsonObject, java.lang.String);
    Code:
       0: aload_0
       1: aload_2
       2: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       5: ifeq          18
       8: aload_1
       9: aload_2
      10: aload_0
      11: aload_2
      12: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      15: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
      18: return

  private static com.google.gson.JsonObject getObject(com.google.gson.JsonObject, java.lang.String);
    Code:
       0: aload_0
       1: ifnull        29
       4: aload_0
       5: aload_1
       6: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       9: ifeq          29
      12: aload_0
      13: aload_1
      14: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      17: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      20: ifeq          29
      23: aload_0
      24: aload_1
      25: invokevirtual #1190               // Method com/google/gson/JsonObject.getAsJsonObject:(Ljava/lang/String;)Lcom/google/gson/JsonObject;
      28: areturn
      29: aconst_null
      30: areturn

  private static boolean getSearchEnabled(com.google.gson.JsonObject);
    Code:
       0: aload_0
       1: ldc_w         #371                // String search
       4: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
       7: astore_1
       8: aload_1
       9: ifnull        19
      12: aload_1
      13: invokevirtual #1148               // Method com/google/gson/JsonElement.isJsonNull:()Z
      16: ifeq          21
      19: iconst_1
      20: ireturn
      21: aload_1
      22: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      25: ifeq          43
      28: aload_1
      29: invokevirtual #1059               // Method com/google/gson/JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
      32: invokevirtual #1193               // Method com/google/gson/JsonPrimitive.isBoolean:()Z
      35: ifeq          43
      38: aload_1
      39: invokevirtual #1177               // Method com/google/gson/JsonElement.getAsBoolean:()Z
      42: ireturn
      43: aload_1
      44: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      47: ifeq          62
      50: aload_1
      51: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      54: ldc_w         #373                // String enabled
      57: iconst_1
      58: invokestatic  #1033               // Method getBoolean:(Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z
      61: ireturn
      62: iconst_1
      63: ireturn

  private static java.lang.String getString(com.google.gson.JsonObject, java.lang.String, java.lang.String);
    Code:
       0: aload_0
       1: aload_1
       2: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       5: ifeq          30
       8: aload_0
       9: aload_1
      10: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      13: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      16: ifeq          30
      19: aload_0
      20: aload_1
      21: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      24: invokevirtual #538                // Method com/google/gson/JsonElement.getAsString:()Ljava/lang/String;
      27: goto          31
      30: aload_2
      31: areturn

  private static boolean getBoolean(com.google.gson.JsonObject, java.lang.String, boolean);
    Code:
       0: aload_0
       1: ifnull        34
       4: aload_0
       5: aload_1
       6: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       9: ifeq          34
      12: aload_0
      13: aload_1
      14: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      17: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      20: ifeq          34
      23: aload_0
      24: aload_1
      25: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      28: invokevirtual #1177               // Method com/google/gson/JsonElement.getAsBoolean:()Z
      31: goto          35
      34: iload_2
      35: ireturn

  private static int getInt(com.google.gson.JsonObject, java.lang.String, int);
    Code:
       0: aload_0
       1: ifnull        34
       4: aload_0
       5: aload_1
       6: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       9: ifeq          34
      12: aload_0
      13: aload_1
      14: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      17: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      20: ifeq          34
      23: aload_0
      24: aload_1
      25: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      28: invokevirtual #1138               // Method com/google/gson/JsonElement.getAsInt:()I
      31: goto          35
      34: iload_2
      35: ireturn

  private static long getLong(com.google.gson.JsonObject, java.lang.String, long);
    Code:
       0: aload_0
       1: ifnull        34
       4: aload_0
       5: aload_1
       6: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       9: ifeq          34
      12: aload_0
      13: aload_1
      14: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      17: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      20: ifeq          34
      23: aload_0
      24: aload_1
      25: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      28: invokevirtual #1198               // Method com/google/gson/JsonElement.getAsLong:()J
      31: goto          35
      34: lload_2
      35: lreturn

  private static double getDouble(com.google.gson.JsonObject, java.lang.String, double);
    Code:
       0: aload_0
       1: ifnull        34
       4: aload_0
       5: aload_1
       6: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       9: ifeq          34
      12: aload_0
      13: aload_1
      14: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      17: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      20: ifeq          34
      23: aload_0
      24: aload_1
      25: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      28: invokevirtual #1068               // Method com/google/gson/JsonElement.getAsDouble:()D
      31: goto          35
      34: dload_2
      35: dreturn

  private static double clamp01(double);
    Code:
       0: dconst_0
       1: dconst_1
       2: dload_0
       3: invokestatic  #1201               // Method java/lang/Math.min:(DD)D
       6: invokestatic  #1203               // Method java/lang/Math.max:(DD)D
       9: dreturn

  private static com.google.gson.JsonElement normalizeNumbers(com.google.gson.JsonElement);
    Code:
       0: aload_0
       1: ifnull        11
       4: aload_0
       5: invokevirtual #1148               // Method com/google/gson/JsonElement.isJsonNull:()Z
       8: ifeq          13
      11: aload_0
      12: areturn
      13: aload_0
      14: invokevirtual #1055               // Method com/google/gson/JsonElement.isJsonPrimitive:()Z
      17: ifeq          90
      20: aload_0
      21: invokevirtual #1059               // Method com/google/gson/JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
      24: astore_1
      25: aload_1
      26: invokevirtual #1064               // Method com/google/gson/JsonPrimitive.isNumber:()Z
      29: ifne          34
      32: aload_1
      33: areturn
      34: aload_1
      35: invokevirtual #1204               // Method com/google/gson/JsonPrimitive.getAsDouble:()D
      38: dstore_2
      39: dload_2
      40: invokestatic  #1208               // Method java/lang/Double.isFinite:(D)Z
      43: ifne          48
      46: aload_1
      47: areturn
      48: dload_2
      49: invokestatic  #1213               // Method java/math/BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
      52: iconst_3
      53: getstatic     #1219               // Field java/math/RoundingMode.HALF_UP:Ljava/math/RoundingMode;
      56: invokevirtual #1223               // Method java/math/BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
      59: invokevirtual #1227               // Method java/math/BigDecimal.stripTrailingZeros:()Ljava/math/BigDecimal;
      62: astore        4
      64: aload         4
      66: invokevirtual #1230               // Method java/math/BigDecimal.scale:()I
      69: ifge          80
      72: aload         4
      74: iconst_0
      75: invokevirtual #1233               // Method java/math/BigDecimal.setScale:(I)Ljava/math/BigDecimal;
      78: astore        4
      80: new           #1061               // class com/google/gson/JsonPrimitive
      83: dup
      84: aload         4
      86: invokespecial #1128               // Method com/google/gson/JsonPrimitive."<init>":(Ljava/lang/Number;)V
      89: areturn
      90: aload_0
      91: invokevirtual #463                // Method com/google/gson/JsonElement.isJsonArray:()Z
      94: ifeq          145
      97: new           #469                // class com/google/gson/JsonArray
     100: dup
     101: invokespecial #470                // Method com/google/gson/JsonArray."<init>":()V
     104: astore_1
     105: aload_0
     106: invokevirtual #1099               // Method com/google/gson/JsonElement.getAsJsonArray:()Lcom/google/gson/JsonArray;
     109: invokevirtual #789                // Method com/google/gson/JsonArray.iterator:()Ljava/util/Iterator;
     112: astore_2
     113: aload_2
     114: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     119: ifeq          143
     122: aload_2
     123: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     128: checkcast     #343                // class com/google/gson/JsonElement
     131: astore_3
     132: aload_1
     133: aload_3
     134: invokestatic  #1009               // Method normalizeNumbers:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonElement;
     137: invokevirtual #649                // Method com/google/gson/JsonArray.add:(Lcom/google/gson/JsonElement;)V
     140: goto          113
     143: aload_1
     144: areturn
     145: aload_0
     146: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
     149: ifeq          222
     152: new           #303                // class com/google/gson/JsonObject
     155: dup
     156: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
     159: astore_1
     160: aload_0
     161: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
     164: invokevirtual #1237               // Method com/google/gson/JsonObject.entrySet:()Ljava/util/Set;
     167: invokeinterface #1240,  1         // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
     172: astore_2
     173: aload_2
     174: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     179: ifeq          220
     182: aload_2
     183: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     188: checkcast     #13                 // class java/util/Map$Entry
     191: astore_3
     192: aload_1
     193: aload_3
     194: invokeinterface #1243,  1         // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
     199: checkcast     #243                // class java/lang/String
     202: aload_3
     203: invokeinterface #1246,  1         // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
     208: checkcast     #343                // class com/google/gson/JsonElement
     211: invokestatic  #1009               // Method normalizeNumbers:(Lcom/google/gson/JsonElement;)Lcom/google/gson/JsonElement;
     214: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
     217: goto          173
     220: aload_1
     221: areturn
     222: aload_0
     223: areturn

  private static java.lang.String cleanWholeNumberDecimals(java.lang.String);
    Code:
       0: aload_0
       1: ldc_w         #1254               // String (?<=: )(-?\\d+)\\.0(?=[,\\r\\n])
       4: ldc_w         #1256               // String $1
       7: invokevirtual #1259               // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      10: areturn

  private static void appendQuoted(java.lang.StringBuilder, java.lang.String);
    Code:
       0: aload_0
       1: getstatic     #1164               // Field COMPACT_GSON:Lcom/google/gson/Gson;
       4: aload_1
       5: invokevirtual #1265               // Method com/google/gson/Gson.toJson:(Ljava/lang/Object;)Ljava/lang/String;
       8: invokevirtual #1158               // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      11: pop
      12: return

  private static boolean updateRootBoolean(java.lang.String, java.lang.String, boolean);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore_3
      13: aload_3
      14: ifnonnull     19
      17: iconst_0
      18: ireturn
      19: aload_3
      20: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      23: astore        4
      25: aload         4
      27: aload_1
      28: iload_2
      29: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      32: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      35: aload_3
      36: aload         4
      38: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      41: invokestatic  #301                // Method reload:()V
      44: iconst_1
      45: ireturn
      46: astore        4
      48: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      51: ldc_w         #1267               // String Could not update \'{}\' for loot config \'{}\'.
      54: iconst_3
      55: anewarray     #4                  // class java/lang/Object
      58: dup
      59: iconst_0
      60: aload_1
      61: aastore
      62: dup
      63: iconst_1
      64: aload_0
      65: aastore
      66: dup
      67: iconst_2
      68: aload         4
      70: aastore
      71: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
      76: iconst_0
      77: ireturn
    Exception table:
       from    to  target type
          19    45    46   Class java/lang/Exception

  private static boolean updateBooleanInObject(java.lang.String, java.lang.String, java.lang.String, boolean);
    Code:
       0: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
       3: aload_0
       4: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
       9: checkcast     #86                 // class java/nio/file/Path
      12: astore        4
      14: aload         4
      16: ifnonnull     21
      19: iconst_0
      20: ireturn
      21: aload         4
      23: invokestatic  #394                // Method readConfigObject:(Ljava/nio/file/Path;)Lcom/google/gson/JsonObject;
      26: astore        5
      28: aload         5
      30: aload_1
      31: invokestatic  #400                // Method getOrCreateObject:(Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject;
      34: astore        6
      36: aload         6
      38: aload_2
      39: iload_3
      40: invokestatic  #405                // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
      43: invokevirtual #408                // Method com/google/gson/JsonObject.addProperty:(Ljava/lang/String;Ljava/lang/Boolean;)V
      46: aload         4
      48: aload         5
      50: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      53: invokestatic  #301                // Method reload:()V
      56: iconst_1
      57: ireturn
      58: astore        5
      60: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      63: ldc_w         #1269               // String Could not update \'{}.{}\' for loot config \'{}\'.
      66: iconst_4
      67: anewarray     #4                  // class java/lang/Object
      70: dup
      71: iconst_0
      72: aload_1
      73: aastore
      74: dup
      75: iconst_1
      76: aload_2
      77: aastore
      78: dup
      79: iconst_2
      80: aload_0
      81: aastore
      82: dup
      83: iconst_3
      84: aload         5
      86: aastore
      87: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
      92: iconst_0
      93: ireturn
    Exception table:
       from    to  target type
          21    57    58   Class java/lang/Exception

  private static com.google.gson.JsonObject getOrCreateObject(com.google.gson.JsonObject, java.lang.String);
    Code:
       0: aload_0
       1: aload_1
       2: invokevirtual #457                // Method com/google/gson/JsonObject.has:(Ljava/lang/String;)Z
       5: ifeq          25
       8: aload_0
       9: aload_1
      10: invokevirtual #460                // Method com/google/gson/JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
      13: invokevirtual #792                // Method com/google/gson/JsonElement.isJsonObject:()Z
      16: ifeq          25
      19: aload_0
      20: aload_1
      21: invokevirtual #1190               // Method com/google/gson/JsonObject.getAsJsonObject:(Ljava/lang/String;)Lcom/google/gson/JsonObject;
      24: areturn
      25: new           #303                // class com/google/gson/JsonObject
      28: dup
      29: invokespecial #622                // Method com/google/gson/JsonObject."<init>":()V
      32: astore_2
      33: aload_0
      34: aload_1
      35: aload_2
      36: invokevirtual #474                // Method com/google/gson/JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
      39: aload_2
      40: areturn

  private static void loadConfig(java.nio.file.Path);
    Code:
       0: aload_0
       1: invokeinterface #956,  1          // InterfaceMethod java/nio/file/Path.getFileName:()Ljava/nio/file/Path;
       6: invokeinterface #957,  1          // InterfaceMethod java/nio/file/Path.toString:()Ljava/lang/String;
      11: astore_1
      12: aload_1
      13: iconst_0
      14: aload_1
      15: invokevirtual #1275               // Method java/lang/String.length:()I
      18: ldc_w         #1277               // String .json
      21: invokevirtual #1275               // Method java/lang/String.length:()I
      24: isub
      25: invokevirtual #1280               // Method java/lang/String.substring:(II)Ljava/lang/String;
      28: astore_2
      29: aload_0
      30: invokestatic  #533                // Method java/nio/file/Files.size:(Ljava/nio/file/Path;)J
      33: ldc2_w        #1281               // long 8388608l
      36: lcmp
      37: ifle          53
      40: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      43: ldc_w         #1284               // String Ignoring oversized loot crate config (over 8 MiB): {}
      46: aload_0
      47: invokeinterface #1286,  3         // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
      52: return
      53: goto          71
      56: astore_3
      57: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      60: ldc_w         #1288               // String Could not inspect loot crate config size: {}
      63: aload_0
      64: aload_3
      65: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
      70: return
      71: aload_0
      72: invokestatic  #335                // Method java/nio/file/Files.newBufferedReader:(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
      75: astore_3
      76: aload_3
      77: invokestatic  #341                // Method com/google/gson/JsonParser.parseReader:(Ljava/io/Reader;)Lcom/google/gson/JsonElement;
      80: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
      83: astore        4
      85: aload_2
      86: aload         4
      88: invokestatic  #1292               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.fromJson:(Ljava/lang/String;Lcom/google/gson/JsonObject;)Lcom/ogaba/sa_decor/common/loot/DecorLootConfig;
      91: astore        5
      93: aload         5
      95: invokevirtual #1295               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.isValid:()Z
      98: ifne          122
     101: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     104: ldc_w         #1297               // String Ignoring invalid loot crate config: {}
     107: aload_0
     108: invokeinterface #1286,  3         // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
     113: aload_3
     114: ifnull        121
     117: aload_3
     118: invokevirtual #358                // Method java/io/Reader.close:()V
     121: return
     122: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
     125: aload         5
     127: invokevirtual #1299               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.id:()Ljava/lang/String;
     130: invokeinterface #230,  2          // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z
     135: ifeq          190
     138: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     141: ldc_w         #1301               // String Ignoring duplicate loot profile id \'{}\' from {} (already loaded from {}).
     144: iconst_3
     145: anewarray     #4                  // class java/lang/Object
     148: dup
     149: iconst_0
     150: aload         5
     152: invokevirtual #1299               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.id:()Ljava/lang/String;
     155: aastore
     156: dup
     157: iconst_1
     158: aload_0
     159: aastore
     160: dup
     161: iconst_2
     162: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
     165: aload         5
     167: invokevirtual #1299               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.id:()Ljava/lang/String;
     170: invokeinterface #217,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
     175: aastore
     176: invokeinterface #308,  3          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
     181: aload_3
     182: ifnull        189
     185: aload_3
     186: invokevirtual #358                // Method java/io/Reader.close:()V
     189: return
     190: getstatic     #52                 // Field CONFIGS:Ljava/util/Map;
     193: aload         5
     195: invokevirtual #1299               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.id:()Ljava/lang/String;
     198: aload         5
     200: invokeinterface #1305,  3         // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     205: pop
     206: getstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
     209: aload         5
     211: invokevirtual #1299               // Method com/ogaba/sa_decor/common/loot/DecorLootConfig.id:()Ljava/lang/String;
     214: aload_0
     215: invokeinterface #1305,  3         // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     220: pop
     221: aload_3
     222: ifnull        257
     225: aload_3
     226: invokevirtual #358                // Method java/io/Reader.close:()V
     229: goto          257
     232: astore        4
     234: aload_3
     235: ifnull        254
     238: aload_3
     239: invokevirtual #358                // Method java/io/Reader.close:()V
     242: goto          254
     245: astore        5
     247: aload         4
     249: aload         5
     251: invokevirtual #185                // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
     254: aload         4
     256: athrow
     257: goto          274
     260: astore_3
     261: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
     264: ldc_w         #1307               // String Could not load loot crate config: {}
     267: aload_0
     268: aload_3
     269: invokeinterface #100,  4          // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
     274: return
    Exception table:
       from    to  target type
          29    52    56   Class java/io/IOException
          76   113   232   Class java/lang/Throwable
         122   181   232   Class java/lang/Throwable
         190   221   232   Class java/lang/Throwable
         238   242   245   Class java/lang/Throwable
          71   121   260   Class java/lang/Exception
         122   189   260   Class java/lang/Exception
         190   257   260   Class java/lang/Exception

  private static void initializeDefaultProfilesOnce(java.nio.file.Path, boolean) throws java.io.IOException;
    Code:
       0: aload_0
       1: invokestatic  #1315               // Method defaultProfilesInitializedMarker:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
       4: astore_2
       5: aload_2
       6: iconst_0
       7: anewarray     #68                 // class java/nio/file/LinkOption
      10: invokestatic  #235                // Method java/nio/file/Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      13: ifeq          17
      16: return
      17: iconst_0
      18: istore_3
      19: iload_1
      20: ifne          28
      23: aload_0
      24: invokestatic  #1319               // Method createExampleConfigsIfMissing:(Ljava/nio/file/Path;)I
      27: istore_3
      28: aload_2
      29: invokeinterface #355,  1          // InterfaceMethod java/nio/file/Path.getParent:()Ljava/nio/file/Path;
      34: iconst_0
      35: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      38: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      41: pop
      42: aload_2
      43: ldc_w         #1321               // String SA Decor loot-crate example profiles initialized.\nDelete any/all JSON profiles freely; reload will not recreate them.\nUse /sa_decor loot restore_defaults to restore missing examples.\n
      46: iconst_0
      47: anewarray     #965                // class java/nio/file/OpenOption
      50: invokestatic  #1325               // Method java/nio/file/Files.writeString:(Ljava/nio/file/Path;Ljava/lang/CharSequence;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
      53: pop
      54: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      57: ldc_w         #1327               // String Loot crate default profiles initialized ({} example profile(s) created).
      60: iload_3
      61: invokestatic  #199                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      64: invokeinterface #203,  3          // InterfaceMethod org/slf4j/Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
      69: return

  public static int restoreDefaultProfiles();
    Code:
       0: invokestatic  #66                 // Method getLootCrateConfigDirectory:()Ljava/nio/file/Path;
       3: astore_0
       4: aload_0
       5: iconst_0
       6: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
       9: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      12: pop
      13: aload_0
      14: invokestatic  #1319               // Method createExampleConfigsIfMissing:(Ljava/nio/file/Path;)I
      17: istore_1
      18: aload_0
      19: invokestatic  #1315               // Method defaultProfilesInitializedMarker:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
      22: astore_2
      23: aload_2
      24: invokeinterface #355,  1          // InterfaceMethod java/nio/file/Path.getParent:()Ljava/nio/file/Path;
      29: iconst_0
      30: anewarray     #76                 // class java/nio/file/attribute/FileAttribute
      33: invokestatic  #80                 // Method java/nio/file/Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
      36: pop
      37: aload_2
      38: iconst_0
      39: anewarray     #68                 // class java/nio/file/LinkOption
      42: invokestatic  #291                // Method java/nio/file/Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      45: ifne          60
      48: aload_2
      49: ldc_w         #1321               // String SA Decor loot-crate example profiles initialized.\nDelete any/all JSON profiles freely; reload will not recreate them.\nUse /sa_decor loot restore_defaults to restore missing examples.\n
      52: iconst_0
      53: anewarray     #965                // class java/nio/file/OpenOption
      56: invokestatic  #1325               // Method java/nio/file/Files.writeString:(Ljava/nio/file/Path;Ljava/lang/CharSequence;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
      59: pop
      60: invokestatic  #301                // Method reload:()V
      63: iload_1
      64: ireturn
      65: astore_1
      66: getstatic     #92                 // Field com/ogaba/sa_decor/SADecor.LOGGER:Lorg/slf4j/Logger;
      69: ldc_w         #1332               // String Could not restore Survivors Arsenal loot crate default profiles.
      72: aload_1
      73: invokeinterface #1335,  3         // InterfaceMethod org/slf4j/Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
      78: iconst_m1
      79: ireturn
    Exception table:
       from    to  target type
           4    64    65   Class java/io/IOException

  private static java.nio.file.Path defaultProfilesInitializedMarker(java.nio.file.Path);
    Code:
       0: aload_0
       1: invokeinterface #355,  1          // InterfaceMethod java/nio/file/Path.getParent:()Ljava/nio/file/Path;
       6: astore_1
       7: aload_1
       8: ifnonnull     15
      11: aload_0
      12: goto          16
      15: aload_1
      16: ldc           #31                 // String .loot_crate_defaults_initialized
      18: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      23: areturn

  private static int createExampleConfigsIfMissing(java.nio.file.Path) throws java.io.IOException;
    Code:
       0: iconst_0
       1: istore_1
       2: invokestatic  #1341               // Method com/ogaba/sa_decor/common/loot/DecorLootDefaultProfiles.createDefaultConfigs:()Ljava/util/Map;
       5: invokeinterface #1342,  1         // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;
      10: invokeinterface #1240,  1         // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
      15: astore_2
      16: aload_2
      17: invokeinterface #602,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      22: ifeq          89
      25: aload_2
      26: invokeinterface #606,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      31: checkcast     #13                 // class java/util/Map$Entry
      34: astore_3
      35: aload_0
      36: aload_3
      37: invokeinterface #1243,  1         // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;
      42: checkcast     #243                // class java/lang/String
      45: invokedynamic #284,  0            // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      50: invokeinterface #288,  2          // InterfaceMethod java/nio/file/Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      55: astore        4
      57: aload         4
      59: iconst_0
      60: anewarray     #68                 // class java/nio/file/LinkOption
      63: invokestatic  #291                // Method java/nio/file/Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
      66: ifne          86
      69: aload         4
      71: aload_3
      72: invokeinterface #1246,  1         // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
      77: checkcast     #303                // class com/google/gson/JsonObject
      80: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      83: iinc          1, 1
      86: goto          16
      89: iload_1
      90: ireturn

  private static void writeExample(java.nio.file.Path, java.lang.String) throws java.io.IOException;
    Code:
       0: aload_1
       1: invokestatic  #509                // Method com/google/gson/JsonParser.parseString:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
       4: invokevirtual #347                // Method com/google/gson/JsonElement.getAsJsonObject:()Lcom/google/gson/JsonObject;
       7: astore_2
       8: aload_0
       9: aload_2
      10: invokestatic  #299                // Method writeConfigObject:(Ljava/nio/file/Path;Lcom/google/gson/JsonObject;)V
      13: return

  private static java.lang.String lambda$exportedProfileIds$6(java.lang.String);
    Code:
       0: aload_0
       1: iconst_0
       2: aload_0
       3: invokevirtual #1275               // Method java/lang/String.length:()I
       6: iconst_5
       7: isub
       8: invokevirtual #1280               // Method java/lang/String.substring:(II)Ljava/lang/String;
      11: areturn

  private static boolean lambda$exportedProfileIds$5(java.lang.String);
    Code:
       0: aload_0
       1: ldc_w         #1277               // String .json
       4: invokevirtual #1349               // Method java/lang/String.endsWith:(Ljava/lang/String;)Z
       7: ireturn

  private static java.lang.String lambda$exportedProfileIds$4(java.nio.file.Path);
    Code:
       0: aload_0
       1: invokeinterface #956,  1          // InterfaceMethod java/nio/file/Path.getFileName:()Ljava/nio/file/Path;
       6: invokeinterface #957,  1          // InterfaceMethod java/nio/file/Path.toString:()Ljava/lang/String;
      11: areturn

  private static boolean lambda$exportedProfileIds$3(java.nio.file.Path);
    Code:
       0: aload_0
       1: iconst_0
       2: anewarray     #68                 // class java/nio/file/LinkOption
       5: invokestatic  #235                // Method java/nio/file/Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
       8: ireturn

  private static java.lang.String lambda$reload$2(java.nio.file.Path);
    Code:
       0: aload_0
       1: invokeinterface #956,  1          // InterfaceMethod java/nio/file/Path.getFileName:()Ljava/nio/file/Path;
       6: invokeinterface #957,  1          // InterfaceMethod java/nio/file/Path.toString:()Ljava/lang/String;
      11: areturn

  private static boolean lambda$reload$1(java.nio.file.Path);
    Code:
       0: aload_0
       1: invokeinterface #956,  1          // InterfaceMethod java/nio/file/Path.getFileName:()Ljava/nio/file/Path;
       6: invokeinterface #957,  1          // InterfaceMethod java/nio/file/Path.toString:()Ljava/lang/String;
      11: ldc_w         #1277               // String .json
      14: invokevirtual #1349               // Method java/lang/String.endsWith:(Ljava/lang/String;)Z
      17: ireturn

  private static boolean lambda$reload$0(java.nio.file.Path);
    Code:
       0: aload_0
       1: iconst_0
       2: anewarray     #68                 // class java/nio/file/LinkOption
       5: invokestatic  #235                // Method java/nio/file/Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
       8: ireturn

  static {};
    Code:
       0: new           #1353               // class com/google/gson/GsonBuilder
       3: dup
       4: invokespecial #1354               // Method com/google/gson/GsonBuilder."<init>":()V
       7: invokevirtual #1358               // Method com/google/gson/GsonBuilder.setPrettyPrinting:()Lcom/google/gson/GsonBuilder;
      10: invokevirtual #1361               // Method com/google/gson/GsonBuilder.disableHtmlEscaping:()Lcom/google/gson/GsonBuilder;
      13: invokevirtual #1365               // Method com/google/gson/GsonBuilder.create:()Lcom/google/gson/Gson;
      16: putstatic     #1001               // Field GSON:Lcom/google/gson/Gson;
      19: new           #1353               // class com/google/gson/GsonBuilder
      22: dup
      23: invokespecial #1354               // Method com/google/gson/GsonBuilder."<init>":()V
      26: invokevirtual #1361               // Method com/google/gson/GsonBuilder.disableHtmlEscaping:()Lcom/google/gson/GsonBuilder;
      29: invokevirtual #1365               // Method com/google/gson/GsonBuilder.create:()Lcom/google/gson/Gson;
      32: putstatic     #1164               // Field COMPACT_GSON:Lcom/google/gson/Gson;
      35: new           #1367               // class java/util/LinkedHashMap
      38: dup
      39: invokespecial #1368               // Method java/util/LinkedHashMap."<init>":()V
      42: putstatic     #52                 // Field CONFIGS:Ljava/util/Map;
      45: new           #1367               // class java/util/LinkedHashMap
      48: dup
      49: invokespecial #1368               // Method java/util/LinkedHashMap."<init>":()V
      52: putstatic     #57                 // Field CONFIG_PATHS:Ljava/util/Map;
      55: return
}
