content: package kotlin.ranges;
  
  import kotlin.Metadata;
  import kotlin.collections.IntIterator;
  import kotlin.internal.ProgressionUtilKt;
  import kotlin.jvm.internal.DefaultConstructorMarker;
  import kotlin.jvm.internal.markers.KMappedMarker;
  
  @Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0010\b\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0016\u0018\u0000 \u00172\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u0017B\u001f\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0002¢\u0006\u0002\u0010\u0006J\u0013\u0010\r\u001a\u00020\u000e2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0002J\b\u0010\u0011\u001a\u00020\u0002H\u0016J\b\u0010\u0012\u001a\u00020\u000eH\u0016J\t\u0010\u0013\u001a\u00020\u0014H\u0002J\b\u0010\u0015\u001a\u00020\u0016H\u0016R\u0011\u0010\u0007\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\tR\u0011\u0010\n\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\tR\u0011\u0010\u0005\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\t¨\u0006\u0018"}, d2 = {"Lkotlin/ranges/IntProgression;", "", "", "start", "endInclusive", "step", "(III)V", "first", "getFirst", "()I", "last", "getLast", "getStep", "equals", "", "other", "", "hashCode", "isEmpty", "iterator", "Lkotlin/collections/IntIterator;", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 7, 1}, xi = 48)
  /* compiled from: Progressions.kt */
  public class IntProgression implements Iterable<Integer>, KMappedMarker {
      public static final Companion Companion = new Companion((DefaultConstructorMarker) null);
      private final int first;
      private final int last;
      private final int step;
  
      @Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\b\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006¨\u0006\t"}, d2 = {"Lkotlin/ranges/IntProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/IntProgression;", "rangeStart", "", "rangeEnd", "step", "kotlin-stdlib"}, k = 1, mv = {1, 7, 1}, xi = 48)
      /* compiled from: Progressions.kt */
      public static final class Companion {
          private Companion() {
          }
  
          public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
              this();
          }
  
          public final IntProgression fromClosedRange(int rangeStart, int rangeEnd, int step) {
              return new IntProgression(rangeStart, rangeEnd, step);
          }
      }
  
      public IntProgression(int start, int endInclusive, int step2) {
          if (step2 == 0) {
              throw new IllegalArgumentException("Step must be non-zero.");
          } else if (step2 != Integer.MIN_VALUE) {
              this.first = start;
              this.last = ProgressionUtilKt.getProgressionLastElement(start, endInclusive, step2);
              this.step = step2;
          } else {
              throw new IllegalArgumentException("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");
          }
      }
  
      public boolean equals(Object other) {
          return (other instanceof IntProgression) && ((isEmpty() && ((IntProgression) other).isEmpty()) || (this.first == ((IntProgression) other).first && this.last == ((IntProgression) other).last && this.step == ((IntProgression) other).step));
      }
  
      public final int getFirst() {
          return this.first;
      }
  
      public final int getLast() {
          return this.last;
      }
  
      public final int getStep() {
          return this.step;
      }
  
      public int hashCode() {
          if (isEmpty()) {
              return -1;
          }
          return (((this.first * 31) + this.last) * 31) + this.step;
      }
  
      public boolean isEmpty() {
          if (this.step > 0) {
              if (this.first > this.last) {
                  return true;
              }
          } else if (this.first < this.last) {
              return true;
          }
          return false;
      }
  
      public IntIterator iterator() {
          return new IntProgressionIterator(this.first, this.last, this.step);
      }
  
      public String toString() {
          int i;
          StringBuilder sb;
          if (this.step > 0) {
              sb = new StringBuilder().append(this.first).append("..").append(this.last).append(" step ");
              i = this.step;
          } else {
              sb = new StringBuilder().append(this.first).append(" downTo ").append(this.last).append(" step ");
              i = -this.step;
          }
          return sb.append(i).toString();
      }
  }
  