package com.google.android.m4b.maps.aw;

import com.google.android.m4b.maps.bc.af;
import com.google.android.m4b.maps.bc.ba;
import com.google.common.collect.Sets;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

public final class b
{
  public static LinkedHashSet<ba> a(f paramf, int paramInt1, Collection<ba> paramCollection, af paramaf, int paramInt2, LinkedHashSet<ba> paramLinkedHashSet)
  {
    if (paramLinkedHashSet == null)
      paramLinkedHashSet = Sets.newLinkedHashSet();
    LinkedHashSet localLinkedHashSet1 = Sets.newLinkedHashSet(paramCollection);
    LinkedHashSet localLinkedHashSet2 = Sets.newLinkedHashSet();
    LinkedHashSet localLinkedHashSet3;
    Object localObject;
    Set localSet3;
    int i7;
    int i8;
    int i14;
    int i15;
    label216: ba localba1;
    int i;
    int j;
    int k;
    int m;
    if (localLinkedHashSet1.isEmpty())
    {
      localLinkedHashSet3 = localLinkedHashSet2;
      Set localSet1 = a(paramf, localLinkedHashSet1, paramaf);
      Set localSet2 = a(paramf, localLinkedHashSet3, paramaf);
      localObject = localSet1;
      localSet3 = localSet2;
      i7 = 0;
      i8 = 1;
      if ((((Set)localObject).isEmpty()) || (paramInt2 <= 0) || (i8 > paramInt1) || (i7 >= 3))
        break label802;
      if ((((ba)((Set)localObject).iterator().next()).b() <= 13) && (((i7 <= 0) && (((Set)localObject).size() <= 2)) || ((i7 < 2) && (i8 >= 4)) || ((i7 < 3) && (i8 >= 6))))
      {
        Iterator localIterator5 = ((Set)localObject).iterator();
        for (i14 = paramInt2; localIterator5.hasNext(); i14 = i15)
        {
          ba localba3 = (ba)localIterator5.next();
          if (i14 == 0)
            break;
          if (!paramLinkedHashSet.add(localba3))
            break label812;
          i15 = i14 - 1;
        }
      }
    }
    else
    {
      localba1 = (ba)localLinkedHashSet1.iterator().next();
      i = localba1.b();
      j = 1 << i;
      k = j - 1;
      m = j >> 1;
      int n = localba1.c();
      Iterator localIterator1 = localLinkedHashSet1.iterator();
      for (int i1 = n; localIterator1.hasNext(); i1 = Math.min(i1, ((ba)localIterator1.next()).c()));
      Iterator localIterator2 = localLinkedHashSet1.iterator();
      do
        if (!localIterator2.hasNext())
          break;
      while (((ba)localIterator2.next()).c() - i1 < m);
    }
    for (int i2 = 1; ; i2 = 0)
    {
      Iterator localIterator3 = localLinkedHashSet1.iterator();
      int i3 = 0;
      int i4 = j;
      int i5 = 0;
      int i6 = j;
      while (localIterator3.hasNext())
      {
        ba localba4 = (ba)localIterator3.next();
        int i16 = localba4.c();
        if ((i2 != 0) && (i16 < m))
          i16 += j;
        i6 = Math.min(i6, i16);
        i5 = Math.max(i5, i16);
        i4 = Math.min(i4, localba4.d());
        i3 = Math.max(i3, localba4.d());
      }
      localLinkedHashSet2.add(localba1.a(i, i6 & k, i4));
      localLinkedHashSet2.add(localba1.a(i, i6 & k, i3));
      localLinkedHashSet2.add(localba1.a(i, i5 & k, i4));
      localLinkedHashSet2.add(localba1.a(i, i5 & k, i3));
      localLinkedHashSet3 = localLinkedHashSet2;
      break;
      if (paramInt2 != i14)
        i7++;
      for (paramInt2 = i14; ; paramInt2 = i14)
      {
        if ((localSet3 != null) && ((((Set)localObject).size() <= 2) || (i8 >= 3)))
        {
          ((Set)localObject).addAll(localSet3);
          localSet3 = null;
        }
        if (((Set)localObject).size() <= 2)
        {
          LinkedHashSet localLinkedHashSet4 = Sets.newLinkedHashSet();
          Iterator localIterator4 = ((Set)localObject).iterator();
          while (localIterator4.hasNext())
          {
            ba localba2 = (ba)localIterator4.next();
            int i9 = 1 << localba2.b();
            int i10 = i9 - 1;
            for (int i11 = -1; i11 <= 1; i11++)
              for (int i12 = -1; i12 <= 1; i12++)
              {
                int i13 = i12 + localba2.d();
                if ((i13 >= 0) && (i13 < i9))
                  localLinkedHashSet4.add(localba2.a(localba2.b(), i10 & i9 + (i11 + localba2.c()), i13));
              }
          }
          localObject = localLinkedHashSet4;
        }
        if (localSet3 != null)
          localSet3 = a(paramf, localSet3, paramaf);
        localObject = a(paramf, (Set)localObject, paramaf);
        i8++;
        break;
        label802: return paramLinkedHashSet;
      }
      label812: i15 = i14;
      break label216;
    }
  }

  private static Set<ba> a(f paramf, Set<ba> paramSet, af paramaf)
  {
    LinkedHashSet localLinkedHashSet = Sets.newLinkedHashSet();
    Iterator localIterator = paramSet.iterator();
    while (localIterator.hasNext())
    {
      ba localba = paramf.a((ba)localIterator.next(), paramaf);
      if (localba != null)
        localLinkedHashSet.add(localba);
    }
    return localLinkedHashSet;
  }
}

/* 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.aw.b
 * JD-Core Version:    0.6.2
 */