正在查看: Hopscotch v9.7.2 应用的 Z.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Hopscotch v9.7.2 应用的 Z.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.microsoft.clarity.e;
import android.content.Context;
import android.net.Uri;
import com.microsoft.clarity.ClarityConfig;
import com.payu.india.Payu.PayuConstants;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.nio.charset.Charset;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import kotlin.collections.h0;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.FunctionReferenceImpl;
import kotlin.jvm.internal.Intrinsics;
import kotlin.ranges.IntRange;
import kotlin.sequences.Sequence;
import kotlin.sequences.f;
import kotlin.text.Charsets;
import kotlin.text.MatchGroup;
import kotlin.text.MatchResult;
import kotlin.text.Regex;
import kotlin.text.StringsKt;
public final class Z {
public final Context a;
public final ClarityConfig b;
public final FunctionReferenceImpl c;
public final Regex d;
public final Regex e;
public final Regex f;
public final Regex g;
public final Regex h;
public final LinkedHashMap i;
public Z(Context context, ClarityConfig clarityConfig, Function2 function2) {
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(clarityConfig, PayuConstants.CONFIG);
Intrinsics.checkNotNullParameter(function2, "webAssetCallback");
this.a = context;
this.b = clarityConfig;
this.c = (FunctionReferenceImpl) function2;
this.d = new Regex("\\[ClarityStyleContent]|\\[/ClarityStyleContent]|\\[ClarityLocalURL]|\\[/ClarityLocalURL]");
this.e = new Regex("\\[ClarityLocalURL](.*?)\\[/ClarityLocalURL]");
this.f = new Regex("\\[ClarityStyleContent](.*?)\\[/ClarityStyleContent]");
this.g = new Regex("url\\((?:'|\\\\\"|\")?(.*?)(?:'|\\\\\"|\")?\\)");
this.h = new Regex("@import\\s(?:'|\\\\\"|\")(.*?)(?:'|\\\\\"|\");");
this.i = new LinkedHashMap();
}
public final ArrayList a(String str, String str2, boolean z, int i, int i2) {
boolean z2;
Sequence b = Regex.b(this.g, str);
Sequence b2 = Regex.b(this.h, str);
Intrinsics.checkNotNullParameter(b, "<this>");
Intrinsics.checkNotNullParameter(b2, "elements");
Sequence[] sequenceArr = {b, b2};
Intrinsics.checkNotNullParameter(sequenceArr, "elements");
Intrinsics.checkNotNullParameter(sequenceArr, "<this>");
kotlin.collections.p pVar = new kotlin.collections.p(sequenceArr);
Intrinsics.checkNotNullParameter(pVar, "<this>");
kotlin.sequences.f fVar = new kotlin.sequences.f(pVar, kotlin.sequences.o.h, kotlin.sequences.n.h);
ArrayList arrayList = new ArrayList();
f.a aVar = new f.a(fVar);
while (aVar.a()) {
MatchResult matchResult = (MatchResult) aVar.next();
String str3 = (String) matchResult.a().get(1);
if (StringsKt.J(str3, "://", 0, false, 6) > 0 || StringsKt.J(str3, "//", 0, false, 6) == 0 || kotlin.text.r.o(str3, "data:", false)) {
try {
z2 = a(new URL(str3));
} catch (Exception unused) {
z2 = false;
}
if (!z2) {
}
}
String path = Uri.parse(str3).getPath();
if (path != null) {
MatchGroup matchGroup = matchResult.b().get(1);
Intrinsics.checkNotNull(matchGroup);
V a = a(path, str2, z, matchGroup.a().a() + i, (path.length() + r4) - 1, i2 + 1);
if (a != null) {
arrayList.add(a);
}
}
}
return arrayList;
}
public final boolean b(String str) {
Long l;
X x = (X) this.i.get(str);
if (Intrinsics.areEqual(x != null ? Boolean.valueOf(x.b) : null, Boolean.TRUE)) {
return false;
}
X x2 = (X) this.i.get(str);
return new File(str).lastModified() > ((x2 == null || (l = x2.e) == null) ? 0L : l.longValue());
}
public final String c(String str) {
String uri = Uri.parse("https://clarity.microsoft.com/").buildUpon().appendPath("app").appendPath("webasset").appendPath("v1").appendPath(this.b.getProjectId()).appendPath("*clarity-playback-token-placeholder*").appendPath(PayuConstants.PAYU_ALL).appendEncodedPath(str).build().toString();
Intrinsics.checkNotNullExpressionValue(uri, "parse(BuildConfig.WEB_AS…)\n .toString()");
return uri;
}
public final boolean b(java.net.URL r4) {
throw new UnsupportedOperationException("Method not decompiled: com.microsoft.clarity.e.Z.b(java.net.URL):boolean");
}
public final boolean a(String str) {
List<String> list;
X x = (X) this.i.get(str);
if (x == null || (list = x.f) == null) {
list = h0.a;
}
for (String str2 : list) {
if (b(str2) || a(str2)) {
return true;
}
}
return false;
}
public final String a(URL url, boolean z) {
String path = url.getPath();
if (Intrinsics.areEqual(url.getProtocol(), "file")) {
Intrinsics.checkNotNullExpressionValue(path, PayuConstants.CP_ADS_PATH);
path = StringsKt.P(path, "/android_asset");
} else if (Intrinsics.areEqual(url.getHost(), "appassets.androidplatform.net")) {
Intrinsics.checkNotNullExpressionValue(path, PayuConstants.CP_ADS_PATH);
path = StringsKt.P(path, PayuConstants.CP_ASSETS_DETAILS);
} else if (this.b.isIonic$sdk_prodRelease() && Intrinsics.areEqual(url.getHost(), "localhost") && z) {
path = "/";
}
Intrinsics.checkNotNullExpressionValue(path, PayuConstants.CP_ADS_PATH);
return path;
}
public final com.microsoft.clarity.e.V a(java.lang.String r9, java.lang.String r10, boolean r11, int r12, int r13, int r14) {
throw new UnsupportedOperationException("Method not decompiled: com.microsoft.clarity.e.Z.a(java.lang.String, java.lang.String, boolean, int, int, int):com.microsoft.clarity.e.V");
}
public final boolean a(URL url) {
return Intrinsics.areEqual(url.getProtocol(), "file") || Intrinsics.areEqual(url.getHost(), "appassets.androidplatform.net") || ((this.b.isIonic$sdk_prodRelease() || this.b.isCordova$sdk_prodRelease()) && Intrinsics.areEqual(url.getHost(), "localhost"));
}
public final String a(String str, String str2, boolean z) {
int length;
String str3;
int I;
if (z) {
return StringsKt.e0(a(new URL(str2), false), new char[]{'/'});
}
File file = new File(str);
String e0 = StringsKt.e0(str2, new char[]{'/'});
Intrinsics.checkNotNullParameter(file, "<this>");
Intrinsics.checkNotNullParameter(e0, "relative");
File file2 = new File(e0);
Intrinsics.checkNotNullParameter(file, "<this>");
Intrinsics.checkNotNullParameter(file2, "relative");
Intrinsics.checkNotNullParameter(file2, "<this>");
String path = file2.getPath();
Intrinsics.checkNotNullExpressionValue(path, "getPath(...)");
char c = File.separatorChar;
int I2 = StringsKt.I(path, c, 0, false, 4);
if (I2 == 0) {
if (path.length() <= 1 || path.charAt(1) != c || (I = StringsKt.I(path, c, 2, false, 4)) < 0) {
length = 1;
} else {
int I3 = StringsKt.I(path, c, I + 1, false, 4);
length = I3 >= 0 ? I3 + 1 : path.length();
}
} else if (I2 <= 0 || path.charAt(I2 - 1) != ':') {
length = (I2 == -1 && StringsKt.G(path, ':')) ? path.length() : 0;
} else {
length = I2 + 1;
}
if (!(length > 0)) {
String file3 = file.toString();
Intrinsics.checkNotNullExpressionValue(file3, "toString(...)");
if ((file3.length() == 0) || StringsKt.G(file3, c)) {
file2 = new File(file3 + file2);
} else {
file2 = new File(file3 + c + file2);
}
}
String canonicalPath = file2.getCanonicalPath();
Intrinsics.checkNotNullExpressionValue(canonicalPath, "File(pageFolderPath)\n … .canonicalPath");
String e02 = StringsKt.e0(canonicalPath, new char[]{'/'});
if (this.b.isCordova$sdk_prodRelease()) {
str3 = "www";
} else {
str3 = this.b.isIonic$sdk_prodRelease() ? "public" : null;
}
if (str3 == null || kotlin.text.r.o(e02, str3, false)) {
return e02;
}
return str3 + '/' + e02;
}
public final W a(InputStream inputStream, String str, Long l, boolean z, List list) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
byte[] b = kotlin.io.a.b(new DigestInputStream(inputStream, messageDigest));
String encodeToString = Base64.getUrlEncoder().encodeToString(messageDigest.digest());
Intrinsics.checkNotNullExpressionValue(encodeToString, "contentHash");
Intrinsics.checkNotNullParameter(str, PayuConstants.CP_ADS_PATH);
int M = StringsKt.M(str, 6, "/") + 1;
int M2 = StringsKt.M(str, 6, ".") - 1;
if (M2 < M) {
M2 = str.length() - 1;
}
String obj = StringsKt.S(str, new IntRange(M, M2), encodeToString).toString();
try {
W w = new W(new X(str, z, encodeToString, obj, c(obj), l, list), b);
kotlin.io.j.a(inputStream, (Throwable) null);
return w;
} catch (Throwable th) {
th = th;
Throwable th2 = th;
try {
throw th2;
} catch (Throwable th3) {
kotlin.io.j.a(inputStream, th2);
throw th3;
}
}
} catch (Throwable th4) {
th = th4;
}
}
public final W a(W w, boolean z, int i) {
byte[] bArr = w.b;
Charset charset = Charsets.UTF_8;
String str = new String(bArr, charset);
ArrayList a = a(str, StringsKt.b0(w.a.a), z, 0, i);
if (a.isEmpty()) {
return w;
}
StringBuilder sb = new StringBuilder(str);
if (a.size() > 1) {
kotlin.collections.a0.m(a, new Y());
}
Iterator it = a.iterator();
while (it.hasNext()) {
V v = (V) it.next();
sb.replace(v.a, v.b + 1, v.d);
}
String sb2 = sb.toString();
Intrinsics.checkNotNullExpressionValue(sb2, "newDataBuilder.toString()");
byte[] bytes = sb2.getBytes(charset);
Intrinsics.checkNotNullExpressionValue(bytes, "this as java.lang.String).getBytes(charset)");
InputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
X x = w.a;
String str2 = x.a;
Long l = x.e;
boolean z2 = x.b;
ArrayList arrayList = new ArrayList(kotlin.collections.x.k(a, 10));
Iterator it2 = a.iterator();
while (it2.hasNext()) {
arrayList.add(((V) it2.next()).c);
}
return a(byteArrayInputStream, str2, l, z2, arrayList);
}
}