package com.google.android.m4b.maps.ay;

import java.util.Arrays;

final class c extends j
{
  private boolean[] d = new boolean[2 + d()];

  c(g paramg)
  {
    super(paramg);
    Arrays.fill(this.d, false);
    this.d[0] = true;
  }

  private static int a(double[] paramArrayOfDouble, int paramInt1, double paramDouble1, double paramDouble2, int paramInt2, int paramInt3)
  {
    for (int i = paramInt2; i < paramInt3; i++)
      if ((paramArrayOfDouble[(i * 2)] == paramDouble1) && (paramArrayOfDouble[(1 + i * 2)] == paramDouble2))
        return i;
    return -1;
  }

  private static boolean a(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4, double paramDouble5, double paramDouble6)
  {
    double d1 = paramDouble1 - paramDouble3;
    double d2 = paramDouble2 - paramDouble4;
    double d3 = paramDouble5 - paramDouble3;
    return d1 * (paramDouble6 - paramDouble4) - d2 * d3 > 0.0D;
  }

  public final j a(int[] paramArrayOfInt)
  {
    if (d() == 0)
      return this;
    double[] arrayOfDouble = new double[2 * (e() + paramArrayOfInt.length)];
    int i = this.a.g(1);
    this.a.a(0, arrayOfDouble, 0, i);
    Arrays.fill(this.d, false);
    this.d[0] = true;
    int j = 0;
    int k = paramArrayOfInt.length;
    int m;
    int n;
    int i1;
    int i2;
    int i3;
    if (j < k)
    {
      m = paramArrayOfInt[j];
      n = paramArrayOfInt[(j + 1)];
      i1 = this.a.f(n);
      if (this.d[i1] == 0)
        break label725;
      i2 = this.a.f(m);
      i3 = m;
    }
    for (int i4 = n; ; i4 = m)
    {
      int i5 = this.a.g(i2);
      int i6 = this.a.g(i2 + 1);
      double d1 = this.a.a(i4);
      double d2 = this.a.b(i4);
      int i7 = a(arrayOfDouble, 2, d1, d2, 0, i);
      int i22;
      if (a(arrayOfDouble, 2, d1, d2, i7 + 1, i) != -1)
      {
        int i21 = 0;
        i22 = i7;
        while (i21 == 0)
        {
          int i23 = (i22 - 1) % i;
          if (i23 < 0)
            i23 += i;
          int i24 = (i22 + 1) % i;
          if (i24 < 0)
            i24 += i;
          boolean bool1 = a(arrayOfDouble[(i23 * 2)], arrayOfDouble[(1 + i23 * 2)], arrayOfDouble[(i22 * 2)], arrayOfDouble[(1 + i22 * 2)], arrayOfDouble[(i24 * 2)], arrayOfDouble[(1 + i24 * 2)]);
          boolean bool2 = a(b(i3), c(i3), arrayOfDouble[(i22 * 2)], arrayOfDouble[(1 + i22 * 2)], arrayOfDouble[(i24 * 2)], arrayOfDouble[(1 + i24 * 2)]);
          boolean bool3 = a(arrayOfDouble[(i23 * 2)], arrayOfDouble[(1 + i23 * 2)], arrayOfDouble[(i22 * 2)], arrayOfDouble[(1 + i22 * 2)], b(i3), c(i3));
          if (bool1)
          {
            if ((!bool2) || (!bool3));
          }
          else
            while ((bool2) || (bool3))
            {
              i22 = a(arrayOfDouble, 2, d1, d2, i22 + 1, i);
              break;
            }
          i21 = 1;
        }
      }
      for (int i8 = i22; ; i8 = i7)
      {
        if ((this.a.a(i3) != d1) || (this.a.b(i3) != d2))
        {
          int i9 = i - i8;
          int i10 = 2 + (i8 + i6 - i5);
          System.arraycopy(arrayOfDouble, i8 * 2, arrayOfDouble, i10 * 2, i9 * 2);
          int i11 = i8 + 1;
          int i12 = i6 - i3;
          this.a.a(i3, arrayOfDouble, i11, i12);
          int i13 = i11 + i12;
          int i14 = 1 + (i3 - i5);
          this.a.a(i5, arrayOfDouble, i13, i14);
          i += 2 + (i6 - i5);
          this.d[i2] = true;
        }
        while (true)
        {
          j += 2;
          break;
          int i15 = -1 + (i - i8);
          int i16 = i8 + i6 - i5;
          System.arraycopy(arrayOfDouble, 2 * (i8 + 1), arrayOfDouble, i16 * 2, i15 * 2);
          int i17 = i8 + 1;
          int i18 = -1 + (i6 - i3);
          this.a.a(i3, arrayOfDouble, i17, i18);
          int i19 = i17 + i18;
          int i20 = 1 + (i3 - i5);
          this.a.a(i5, arrayOfDouble, i19, i20);
          i += 2 + (i6 - i5);
          this.d[i2] = true;
        }
        j localj = new j(arrayOfDouble);
        return localj;
      }
      label725: i2 = i1;
      i3 = n;
    }
  }

  public final boolean a(Object paramObject)
  {
    return paramObject instanceof c;
  }

  public final boolean c(int paramInt1, int paramInt2)
  {
    int i = this.a.f(paramInt1);
    int j = this.a.f(paramInt2);
    if (i == j);
    while ((this.d[i] != 0) && (this.d[j] != 0))
      return false;
    if (this.d[i] != 0)
    {
      this.d[j] = true;
      return true;
    }
    if (this.d[j] != 0)
    {
      this.d[i] = true;
      return true;
    }
    throw new e.a("Some outer chains have not been cut.");
  }

  public final boolean equals(Object paramObject)
  {
    if (paramObject == this);
    c localc;
    do
    {
      return true;
      if (!(paramObject instanceof c))
        return false;
      localc = (c)paramObject;
    }
    while (((this instanceof c)) && (super.equals(localc)) && (!Arrays.equals(this.d, localc.d)));
    return false;
  }

  public final int hashCode()
  {
    return super.hashCode() + 31 * Arrays.hashCode(this.d);
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.android.m4b.maps.ay.c
 * JD-Core Version:    0.6.2
 */