public final volatile Object createFromParcel(Parcel parcel) {
    long l1 = 0L;
    boolean flag = false;
    int l = SafeParcelReader.validateObjectHeader(parcel);
    boolean flag1 = false;
    int i = 0;
    long l2 = 0L;
    int j = 0;
    int k = 0;
    do {
      if (parcel.dataPosition() < l) {
        int i1 = parcel.readInt();
        switch (0xffff & i1) {
          default:
            SafeParcelReader.skipUnknownField(parcel, i1);
            break;

          case 1: // '\001'
            j = SafeParcelReader.readInt(parcel, i1);
            break;

          case 1000:
            k = SafeParcelReader.readInt(parcel, i1);
            break;

          case 2: // '\002'
            l2 = SafeParcelReader.readLong(parcel, i1);
            break;

          case 3: // '\003'
            l1 = SafeParcelReader.readLong(parcel, i1);
            break;

          case 4: // '\004'
            i = SafeParcelReader.readInt(parcel, i1);
            break;

          case 5: // '\005'
            flag1 = SafeParcelReader.readBoolean(parcel, i1);
            break;

          case 6: // '\006'
            flag = SafeParcelReader.readBoolean(parcel, i1);
            break;
        }
      } else if (parcel.dataPosition() != l) {
        throw new com.google.android.gms.common.internal.safeparcel.SafeParcelReader.ParseException(
            (new StringBuilder("Overread allowed size end=")).append(l).toString(), parcel);
      } else {
        return new GestureEvent(k, j, l2, l1, i, flag1, flag);
      }
    } while (true);
  }
  public final volatile Object createFromParcel(Parcel parcel) {
    java.util.ArrayList arraylist = null;
    int j = SafeParcelReader.validateObjectHeader(parcel);
    int i = 0;
    long l = 0L;
    String s = null;
    String s1 = null;
    Uri uri = null;
    String s2 = null;
    String s3 = null;
    String s4 = null;
    String s5 = null;
    do {
      if (parcel.dataPosition() < j) {
        int k = parcel.readInt();
        switch (0xffff & k) {
          default:
            SafeParcelReader.skipUnknownField(parcel, k);
            break;

          case 1: // '\001'
            i = SafeParcelReader.readInt(parcel, k);
            break;

          case 2: // '\002'
            s5 = SafeParcelReader.createString(parcel, k);
            break;

          case 3: // '\003'
            s4 = SafeParcelReader.createString(parcel, k);
            break;

          case 4: // '\004'
            s3 = SafeParcelReader.createString(parcel, k);
            break;

          case 5: // '\005'
            s2 = SafeParcelReader.createString(parcel, k);
            break;

          case 6: // '\006'
            uri = (Uri) SafeParcelReader.createParcelable(parcel, k, Uri.CREATOR);
            break;

          case 7: // '\007'
            s1 = SafeParcelReader.createString(parcel, k);
            break;

          case 8: // '\b'
            l = SafeParcelReader.readLong(parcel, k);
            break;

          case 9: // '\t'
            s = SafeParcelReader.createString(parcel, k);
            break;

          case 10: // '\n'
            arraylist = SafeParcelReader.createTypedList(parcel, k, Scope.CREATOR);
            break;
        }
      } else if (parcel.dataPosition() != j) {
        throw new com.google.android.gms.common.internal.safeparcel.SafeParcelReader.ParseException(
            (new StringBuilder("Overread allowed size end=")).append(j).toString(), parcel);
      } else {
        return new GoogleSignInAccount(i, s5, s4, s3, s2, uri, s1, l, s, arraylist);
      }
    } while (true);
  }