package com.tapjoy.internal; import java.nio.charset.Charset; import java.util.Arrays; /* loaded from: classes4.dex */ public final class d1 extends m { public final transient byte[][] f; public final transient int[] g; public d1(l lVar, int i) { super(null); f3.a(lVar.b, 0L, i); b1 b1Var = lVar.a; int i2 = 0; int i3 = 0; int i4 = 0; while (i3 < i) { int i5 = b1Var.c; int i6 = b1Var.b; if (i5 == i6) { throw new AssertionError("s.limit == s.pos"); } i3 += i5 - i6; i4++; b1Var = b1Var.f; } this.f = new byte[i4][]; this.g = new int[i4 * 2]; b1 b1Var2 = lVar.a; int i7 = 0; while (i2 < i) { byte[][] bArr = this.f; bArr[i7] = b1Var2.a; int i8 = b1Var2.c; int i9 = b1Var2.b; int i10 = (i8 - i9) + i2; i2 = i10 > i ? i : i10; int[] iArr = this.g; iArr[i7] = i2; iArr[bArr.length + i7] = i9; b1Var2.d = true; i7++; b1Var2 = b1Var2.f; } } @Override // com.tapjoy.internal.m public final String a() { return e().a(); } @Override // com.tapjoy.internal.m public final int b() { return this.g[this.f.length - 1]; } @Override // com.tapjoy.internal.m public final m c() { return e().c(); } @Override // com.tapjoy.internal.m public final String d() { return e().d(); } public final m e() { int[] iArr = this.g; byte[][] bArr = this.f; byte[] bArr2 = new byte[iArr[bArr.length - 1]]; int length = bArr.length; int i = 0; int i2 = 0; while (i < length) { int[] iArr2 = this.g; int i3 = iArr2[length + i]; int i4 = iArr2[i]; System.arraycopy(this.f[i], i3, bArr2, i2, i4 - i2); i++; i2 = i4; } return new m(bArr2); } @Override // com.tapjoy.internal.m public final boolean equals(Object obj) { if (obj == this) { return true; } if (obj instanceof m) { m mVar = (m) obj; if (mVar.b() == b()) { int b = b(); if (b() - b >= 0) { int binarySearch = Arrays.binarySearch(this.g, 0, this.f.length, 1); if (binarySearch < 0) { binarySearch = ~binarySearch; } int i = 0; int i2 = 0; while (b > 0) { int i3 = binarySearch == 0 ? 0 : this.g[binarySearch - 1]; int min = Math.min(b, ((this.g[binarySearch] - i3) + i3) - i2); int[] iArr = this.g; byte[][] bArr = this.f; if (mVar.a(i, bArr[binarySearch], (i2 - i3) + iArr[bArr.length + binarySearch], min)) { i2 += min; i += min; b -= min; binarySearch++; } } return true; } } } return false; } @Override // com.tapjoy.internal.m public final String toString() { return e().toString(); } @Override // com.tapjoy.internal.m public final byte a(int i) { f3.a(this.g[this.f.length - 1], i, 1L); int binarySearch = Arrays.binarySearch(this.g, 0, this.f.length, i + 1); if (binarySearch < 0) { binarySearch = ~binarySearch; } int i2 = binarySearch != 0 ? this.g[binarySearch - 1] : 0; int[] iArr = this.g; byte[][] bArr = this.f; return bArr[binarySearch][(i - i2) + iArr[bArr.length + binarySearch]]; } @Override // com.tapjoy.internal.m public final void a(l lVar) { int length = this.f.length; int i = 0; int i2 = 0; while (i < length) { int[] iArr = this.g; int i3 = iArr[length + i]; int i4 = iArr[i]; b1 b1Var = new b1(this.f[i], i3, (i3 + i4) - i2); b1 b1Var2 = lVar.a; if (b1Var2 == null) { b1Var.g = b1Var; b1Var.f = b1Var; lVar.a = b1Var; } else { b1 b1Var3 = b1Var2.g; b1Var3.getClass(); b1Var.g = b1Var3; b1Var.f = b1Var3.f; b1Var3.f.g = b1Var; b1Var3.f = b1Var; } i++; i2 = i4; } lVar.b += i2; } @Override // com.tapjoy.internal.m public final int hashCode() { int i = this.b; if (i != 0) { return i; } int length = this.f.length; int i2 = 0; int i3 = 1; int i4 = 0; while (i2 < length) { byte[] bArr = this.f[i2]; int[] iArr = this.g; int i5 = iArr[length + i2]; int i6 = iArr[i2]; int i7 = (i6 - i4) + i5; while (i5 < i7) { i3 = (i3 * 31) + bArr[i5]; i5++; } i2++; i4 = i6; } this.b = i3; return i3; } @Override // com.tapjoy.internal.m public final boolean a(int i, byte[] bArr, int i2, int i3) { if (i < 0 || i > b() - i3 || i2 < 0 || i2 > bArr.length - i3) { return false; } int binarySearch = Arrays.binarySearch(this.g, 0, this.f.length, i + 1); if (binarySearch < 0) { binarySearch = ~binarySearch; } while (i3 > 0) { int i4 = binarySearch == 0 ? 0 : this.g[binarySearch - 1]; int min = Math.min(i3, ((this.g[binarySearch] - i4) + i4) - i); int[] iArr = this.g; byte[][] bArr2 = this.f; int i5 = (i - i4) + iArr[bArr2.length + binarySearch]; byte[] bArr3 = bArr2[binarySearch]; Charset charset = f3.a; for (int i6 = 0; i6 < min; i6++) { if (bArr3[i6 + i5] != bArr[i6 + i2]) { return false; } } i += min; i2 += min; i3 -= min; binarySearch++; } return true; } }