content: /*
   * Decompiled with CFR 0.153-SNAPSHOT (d6f6758-dirty).
   */
  package kotlin.collections;
  
  import java.util.Collection;
  import java.util.Map;
  import java.util.Set;
  import kotlin.Metadata;
  import kotlin.collections.MapWithDefault;
  import kotlin.jvm.functions.Function1;
  import kotlin.jvm.internal.Intrinsics;
  import org.jetbrains.annotations.NotNull;
  import org.jetbrains.annotations.Nullable;
  
  /*
   * Illegal identifiers - consider using --renameillegalidents true
   */
  @Metadata(mv={1, 4, 0}, bv={1, 0, 3}, k=1, d1={"\u0000R\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010$\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\"\n\u0002\u0010&\n\u0002\b\u0007\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u001e\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0000\n\u0002\b\u0006\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u0001*\u0006\b\u0001\u0010\u0002 \u00012\u000e\u0012\u0004\u0012\u0002H\u0001\u0012\u0004\u0012\u0002H\u00020\u0003B<\u0012\u0012\u0010\u0004\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010\u0005\u0012!\u0010\u0006\u001a\u001d\u0012\u0013\u0012\u00118\u0000\u00a2\u0006\f\b\b\u0012\b\b\t\u0012\u0004\b\b(\n\u0012\u0004\u0012\u00028\u00010\u0007\u00a2\u0006\u0002\u0010\u000bJ\u0015\u0010\u001d\u001a\u00020\u001e2\u0006\u0010\n\u001a\u00028\u0000H\u0016\u00a2\u0006\u0002\u0010\u001fJ\u0015\u0010 \u001a\u00020\u001e2\u0006\u0010!\u001a\u00028\u0001H\u0016\u00a2\u0006\u0002\u0010\u001fJ\u0013\u0010\"\u001a\u00020\u001e2\b\u0010#\u001a\u0004\u0018\u00010$H\u0096\u0002J\u0018\u0010%\u001a\u0004\u0018\u00018\u00012\u0006\u0010\n\u001a\u00028\u0000H\u0096\u0002\u00a2\u0006\u0002\u0010&J\u0015\u0010'\u001a\u00028\u00012\u0006\u0010\n\u001a\u00028\u0000H\u0016\u00a2\u0006\u0002\u0010&J\b\u0010(\u001a\u00020\u0016H\u0016J\b\u0010)\u001a\u00020\u001eH\u0016J\b\u0010*\u001a\u00020+H\u0016R)\u0010\u0006\u001a\u001d\u0012\u0013\u0012\u00118\u0000\u00a2\u0006\f\b\b\u0012\b\b\t\u0012\u0004\b\b(\n\u0012\u0004\u0012\u00028\u00010\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R&\u0010\f\u001a\u0014\u0012\u0010\u0012\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010\u000e0\r8VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\b\u000f\u0010\u0010R\u001a\u0010\u0011\u001a\b\u0012\u0004\u0012\u00028\u00000\r8VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\b\u0012\u0010\u0010R \u0010\u0004\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010\u0005X\u0096\u0004\u00a2\u0006\b\n\u0000\u001a\u0004\b\u0013\u0010\u0014R\u0014\u0010\u0015\u001a\u00020\u00168VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\b\u0017\u0010\u0018R\u001a\u0010\u0019\u001a\b\u0012\u0004\u0012\u00028\u00010\u001a8VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\b\u001b\u0010\u001c\u00a8\u0006,"}, d2={"Lkotlin/collections/MapWithDefaultImpl;", "K", "V", "Lkotlin/collections/MapWithDefault;", "map", "", "default", "Lkotlin/Function1;", "Lkotlin/ParameterName;", "name", "key", "(Ljava/util/Map;Lkotlin/jvm/functions/Function1;)V", "entries", "", "", "getEntries", "()Ljava/util/Set;", "keys", "getKeys", "getMap", "()Ljava/util/Map;", "size", "", "getSize", "()I", "values", "", "getValues", "()Ljava/util/Collection;", "containsKey", "", "(Ljava/lang/Object;)Z", "containsValue", "value", "equals", "other", "", "get", "(Ljava/lang/Object;)Ljava/lang/Object;", "getOrImplicitDefault", "hashCode", "isEmpty", "toString", "", "kotlin-stdlib"})
  final class MapWithDefaultImpl<K, V>
  implements MapWithDefault<K, V> {
      @NotNull
      private final Map<K, V> map;
      private final Function1<K, V> default;
  
      @Override
      public boolean equals(@Nullable Object other) {
          return ((Object)this.getMap()).equals(other);
      }
  
      @Override
      public int hashCode() {
          return ((Object)this.getMap()).hashCode();
      }
  
      @NotNull
      public String toString() {
          return this.getMap().toString();
      }
  
      public int getSize() {
          return this.getMap().size();
      }
  
      @Override
      public boolean isEmpty() {
          return this.getMap().isEmpty();
      }
  
      @Override
      public boolean containsKey(Object key) {
          return this.getMap().containsKey(key);
      }
  
      @Override
      public boolean containsValue(Object value) {
          return this.getMap().containsValue(value);
      }
  
      @Override
      @Nullable
      public V get(Object key) {
          return this.getMap().get(key);
      }
  
      @NotNull
      public Set<K> getKeys() {
          return this.getMap().keySet();
      }
  
      @NotNull
      public Collection<V> getValues() {
          return this.getMap().values();
      }
  
      @NotNull
      public Set<Map.Entry<K, V>> getEntries() {
          return this.getMap().entrySet();
      }
  
      @Override
      public V getOrImplicitDefault(K key) {
          V v;
          Map<K, V> $this$getOrElseNullable$iv = this.getMap();
          boolean $i$f$getOrElseNullable = false;
          V value$iv = $this$getOrElseNullable$iv.get(key);
          if (value$iv == null && !$this$getOrElseNullable$iv.containsKey(key)) {
              boolean bl = false;
              v = this.default.invoke(key);
          } else {
              v = value$iv;
          }
          return v;
      }
  
      @Override
      @NotNull
      public Map<K, V> getMap() {
          return this.map;
      }
  
      public MapWithDefaultImpl(@NotNull Map<K, ? extends V> map, @NotNull Function1<? super K, ? extends V> function1) {
          Intrinsics.checkNotNullParameter(map, "map");
          Intrinsics.checkNotNullParameter(function1, "default");
          this.map = map;
          this.default = function1;
      }
  
      @Override
      public void clear() {
          throw new UnsupportedOperationException("Operation is not supported for read-only collection");
      }
  
      @Override
      public V put(K k, V v) {
          throw new UnsupportedOperationException("Operation is not supported for read-only collection");
      }
  
      @Override
      public void putAll(Map<? extends K, ? extends V> map) {
          throw new UnsupportedOperationException("Operation is not supported for read-only collection");
      }
  
      @Override
      public V remove(Object object) {
          throw new UnsupportedOperationException("Operation is not supported for read-only collection");
      }
  }
  
  