content: /*
   * Decompiled with CFR 0.153-SNAPSHOT (d6f6758-dirty).
   */
  package com.google.common.collect;
  
  import com.google.common.annotations.GwtCompatible;
  import com.google.common.base.Strings;
  import com.google.common.collect.MapMaker;
  import com.google.common.collect.Maps;
  import com.google.common.collect.Sets;
  import java.lang.reflect.Array;
  import java.util.Arrays;
  import java.util.Map;
  import java.util.Set;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  
  @GwtCompatible(emulated=true)
  final class Platform {
      private static final Logger logger = Logger.getLogger(Platform.class.getName());
  
      static <K, V> Map<K, V> newHashMapWithExpectedSize(int expectedSize) {
          return Maps.newHashMapWithExpectedSize(expectedSize);
      }
  
      static <K, V> Map<K, V> newLinkedHashMapWithExpectedSize(int expectedSize) {
          return Maps.newLinkedHashMapWithExpectedSize(expectedSize);
      }
  
      static <E> Set<E> newHashSetWithExpectedSize(int expectedSize) {
          return Sets.newHashSetWithExpectedSize(expectedSize);
      }
  
      static <E> Set<E> newLinkedHashSetWithExpectedSize(int expectedSize) {
          return Sets.newLinkedHashSetWithExpectedSize(expectedSize);
      }
  
      static <K, V> Map<K, V> preservesInsertionOrderOnPutsMap() {
          return Maps.newLinkedHashMap();
      }
  
      static <E> Set<E> preservesInsertionOrderOnAddsSet() {
          return Sets.newLinkedHashSet();
      }
  
      static <T> T[] newArray(T[] reference, int length) {
          Class<?> type = reference.getClass().getComponentType();
          Object[] result = (Object[])Array.newInstance(type, length);
          return result;
      }
  
      static <T> T[] copy(Object[] source2, int from, int to, T[] arrayOfType) {
          return Arrays.copyOfRange(source2, from, to, arrayOfType.getClass());
      }
  
      static MapMaker tryWeakKeys(MapMaker mapMaker) {
          return mapMaker.weakKeys();
      }
  
      static int reduceIterationsIfGwt(int iterations) {
          return iterations;
      }
  
      static int reduceExponentIfGwt(int exponent) {
          return exponent;
      }
  
      static void checkGwtRpcEnabled() {
          String propertyName = "guava.gwt.emergency_reenable_rpc";
          if (!Boolean.parseBoolean(System.getProperty(propertyName, "false"))) {
              throw new UnsupportedOperationException(Strings.lenientFormat("We are removing GWT-RPC support for Guava types. You can temporarily reenable support by setting the system property %s to true. For more about system properties, see %s. For more about Guava's GWT-RPC support, see %s.", propertyName, "https://stackoverflow.com/q/5189914/28465", "https://groups.google.com/d/msg/guava-announce/zHZTFg7YF3o/rQNnwdHeEwAJ"));
          }
          logger.log(Level.WARNING, "Later in 2020, we will remove GWT-RPC support for Guava types. You are seeing this warning because you are sending a Guava type over GWT-RPC, which will break. You can identify which type by looking at the class name in the attached stack trace.", new Throwable());
      }
  
      private Platform() {
      }
  }
  
  