import {ie, randint, randomFloat} from './utils.js'
import {createPx2, getNoPX, getPX12573, mousePath} from './pxenvutils.js'
import md5 from "md5";
import {call_12590_12610} from "./pxwasm.js";


process.env.TZ = 'Asia/Shanghai';


export class PxEnv {
    constructor(env, url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px11280, px755 = '', token = '', token2 = '', hash = '', hash2 = '', hashv = '') {


        this.ENV = {
            "windowparams": {
                "innerheight": 660,
                "innerwidth": 393,
                "outerheight": 852,
                "outerwidth": 393,
                "screenx": 0,
                "screeny": 0,
                "screentop": 0,
                "screenleft": 0,
                "pageyoffset": 0,
                "devicepixelratio": 3
            },
            "screenparams": {
                "height": 852,
                "width": 393,
                "availheight": 852,
                "availwidth": 393,
                "pixeldepth": 32,
                "colordepth": 32,
                "availtop": 0,
                "availleft": 0
            },
            "navigatorparams": {
                "appname": "Netscape",
                "appncodename": "Mozilla",
                "appversion": "5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1",
                "appcodename": "Mozilla",
                "hardwareconcurrency": 8,
                "maxtouchpoints": 5,
                "platform": "iPhone",
                "product": "Gecko",
                "productsub": "20030107",
                "useragent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1",
                "vendor": "Apple Computer, Inc.",
                "vendorsub": "",
                "oscpu": "",
                "buildid": ""
            },
            "plugins": {
                "0": {
                    "0": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "1": {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf", "enabledPlugin": []},
                    "application/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "text/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "text/pdf",
                        "enabledPlugin": []
                    },
                    "description": "便携文稿格式",
                    "filename": "internal-pdf-viewer",
                    "length": 2,
                    "name": "PDF Viewer"
                },
                "1": {
                    "0": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "1": {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf", "enabledPlugin": []},
                    "application/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "text/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "text/pdf",
                        "enabledPlugin": []
                    },
                    "description": "便携文稿格式",
                    "filename": "internal-pdf-viewer",
                    "length": 2,
                    "name": "Chrome PDF Viewer"
                },
                "2": {
                    "0": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "1": {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf", "enabledPlugin": []},
                    "application/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "text/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "text/pdf",
                        "enabledPlugin": []
                    },
                    "description": "便携文稿格式",
                    "filename": "internal-pdf-viewer",
                    "length": 2,
                    "name": "Chromium PDF Viewer"
                },
                "3": {
                    "0": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "1": {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf", "enabledPlugin": []},
                    "application/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "text/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "text/pdf",
                        "enabledPlugin": []
                    },
                    "description": "便携文稿格式",
                    "filename": "internal-pdf-viewer",
                    "length": 2,
                    "name": "Microsoft Edge PDF Viewer"
                },
                "4": {
                    "0": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "1": {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf", "enabledPlugin": []},
                    "application/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "application/pdf",
                        "enabledPlugin": []
                    },
                    "text/pdf": {
                        "description": "便携文稿格式",
                        "suffixes": "pdf",
                        "type": "text/pdf",
                        "enabledPlugin": []
                    },
                    "description": "便携文稿格式",
                    "filename": "internal-pdf-viewer",
                    "length": 2,
                    "name": "WebKit built-in PDF"
                }
            },
            "mimetypes": [{
                "description": "便携文稿格式",
                "suffixes": "pdf",
                "type": "application/pdf"
            }, {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf"}],
            "connection": {"support": false, "status": {}},
            "voiceUri": [{
                "lang": "ar-001",
                "name": "Majed",
                "uri": "com.apple.voice.compact.ar-001.Maged",
                "default": true,
                "local": true
            }, {
                "lang": "bg-BG",
                "name": "Daria",
                "uri": "com.apple.voice.compact.bg-BG.Daria",
                "default": true,
                "local": true
            }, {
                "lang": "ca-ES",
                "name": "Montse",
                "uri": "com.apple.voice.compact.ca-ES.Montserrat",
                "default": true,
                "local": true
            }, {
                "lang": "cs-CZ",
                "name": "Zuzana",
                "uri": "com.apple.voice.compact.cs-CZ.Zuzana",
                "default": true,
                "local": true
            }, {
                "lang": "da-DK",
                "name": "Sara",
                "uri": "com.apple.voice.compact.da-DK.Sara",
                "default": true,
                "local": true
            }, {
                "lang": "de-DE",
                "name": "Anna",
                "uri": "com.apple.voice.compact.de-DE.Anna",
                "default": true,
                "local": true
            }, {
                "lang": "el-GR",
                "name": "Melina",
                "uri": "com.apple.voice.compact.el-GR.Melina",
                "default": true,
                "local": true
            }, {
                "lang": "en-AU",
                "name": "Karen",
                "uri": "com.apple.voice.compact.en-AU.Karen",
                "default": true,
                "local": true
            }, {
                "lang": "en-GB",
                "name": "Daniel",
                "uri": "com.apple.voice.compact.en-GB.Daniel",
                "default": true,
                "local": true
            }, {
                "lang": "en-IE",
                "name": "Moira",
                "uri": "com.apple.voice.compact.en-IE.Moira",
                "default": true,
                "local": true
            }, {
                "lang": "en-IN",
                "name": "Rishi",
                "uri": "com.apple.voice.compact.en-IN.Rishi",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Trinoids",
                "uri": "com.apple.speech.synthesis.voice.Trinoids",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Albert",
                "uri": "com.apple.speech.synthesis.voice.Albert",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Jester",
                "uri": "com.apple.speech.synthesis.voice.Hysterical",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Samantha",
                "uri": "com.apple.voice.compact.en-US.Samantha",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Whisper",
                "uri": "com.apple.speech.synthesis.voice.Whisper",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Superstar",
                "uri": "com.apple.speech.synthesis.voice.Princess",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Bells",
                "uri": "com.apple.speech.synthesis.voice.Bells",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Organ",
                "uri": "com.apple.speech.synthesis.voice.Organ",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Bad News",
                "uri": "com.apple.speech.synthesis.voice.BadNews",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Bubbles",
                "uri": "com.apple.speech.synthesis.voice.Bubbles",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Junior",
                "uri": "com.apple.speech.synthesis.voice.Junior",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Bahh",
                "uri": "com.apple.speech.synthesis.voice.Bahh",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Wobble",
                "uri": "com.apple.speech.synthesis.voice.Deranged",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Boing",
                "uri": "com.apple.speech.synthesis.voice.Boing",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Good News",
                "uri": "com.apple.speech.synthesis.voice.GoodNews",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Zarvox",
                "uri": "com.apple.speech.synthesis.voice.Zarvox",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Ralph",
                "uri": "com.apple.speech.synthesis.voice.Ralph",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Cellos",
                "uri": "com.apple.speech.synthesis.voice.Cellos",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Kathy",
                "uri": "com.apple.speech.synthesis.voice.Kathy",
                "default": true,
                "local": true
            }, {
                "lang": "en-US",
                "name": "Fred",
                "uri": "com.apple.speech.synthesis.voice.Fred",
                "default": true,
                "local": true
            }, {
                "lang": "en-ZA",
                "name": "Tessa",
                "uri": "com.apple.voice.compact.en-ZA.Tessa",
                "default": true,
                "local": true
            }, {
                "lang": "es-ES",
                "name": "Mónica",
                "uri": "com.apple.voice.compact.es-ES.Monica",
                "default": true,
                "local": true
            }, {
                "lang": "es-MX",
                "name": "Paulina",
                "uri": "com.apple.voice.compact.es-MX.Paulina",
                "default": true,
                "local": true
            }, {
                "lang": "fi-FI",
                "name": "Satu",
                "uri": "com.apple.voice.compact.fi-FI.Satu",
                "default": true,
                "local": true
            }, {
                "lang": "fr-CA",
                "name": "Amélie",
                "uri": "com.apple.voice.compact.fr-CA.Amelie",
                "default": true,
                "local": true
            }, {
                "lang": "fr-FR",
                "name": "Thomas",
                "uri": "com.apple.voice.compact.fr-FR.Thomas",
                "default": true,
                "local": true
            }, {
                "lang": "he-IL",
                "name": "Carmit",
                "uri": "com.apple.voice.compact.he-IL.Carmit",
                "default": true,
                "local": true
            }, {
                "lang": "hi-IN",
                "name": "Lekha",
                "uri": "com.apple.voice.compact.hi-IN.Lekha",
                "default": true,
                "local": true
            }, {
                "lang": "hr-HR",
                "name": "Lana",
                "uri": "com.apple.voice.compact.hr-HR.Lana",
                "default": true,
                "local": true
            }, {
                "lang": "hu-HU",
                "name": "Tünde",
                "uri": "com.apple.voice.compact.hu-HU.Mariska",
                "default": true,
                "local": true
            }, {
                "lang": "id-ID",
                "name": "Damayanti",
                "uri": "com.apple.voice.compact.id-ID.Damayanti",
                "default": true,
                "local": true
            }, {
                "lang": "it-IT",
                "name": "Alice",
                "uri": "com.apple.voice.compact.it-IT.Alice",
                "default": true,
                "local": true
            }, {
                "lang": "ja-JP",
                "name": "Kyoko",
                "uri": "com.apple.voice.compact.ja-JP.Kyoko",
                "default": true,
                "local": true
            }, {
                "lang": "ko-KR",
                "name": "Yuna",
                "uri": "com.apple.voice.compact.ko-KR.Yuna",
                "default": true,
                "local": true
            }, {
                "lang": "ms-MY",
                "name": "Amira",
                "uri": "com.apple.voice.compact.ms-MY.Amira",
                "default": true,
                "local": true
            }, {
                "lang": "nb-NO",
                "name": "Nora",
                "uri": "com.apple.voice.compact.nb-NO.Nora",
                "default": true,
                "local": true
            }, {
                "lang": "nl-BE",
                "name": "Ellen",
                "uri": "com.apple.voice.compact.nl-BE.Ellen",
                "default": true,
                "local": true
            }, {
                "lang": "nl-NL",
                "name": "Xander",
                "uri": "com.apple.voice.compact.nl-NL.Xander",
                "default": true,
                "local": true
            }, {
                "lang": "pl-PL",
                "name": "Zosia",
                "uri": "com.apple.voice.compact.pl-PL.Zosia",
                "default": true,
                "local": true
            }, {
                "lang": "pt-BR",
                "name": "Luciana",
                "uri": "com.apple.voice.compact.pt-BR.Luciana",
                "default": true,
                "local": true
            }, {
                "lang": "pt-PT",
                "name": "Joana",
                "uri": "com.apple.voice.compact.pt-PT.Joana",
                "default": true,
                "local": true
            }, {
                "lang": "ro-RO",
                "name": "Ioana",
                "uri": "com.apple.voice.compact.ro-RO.Ioana",
                "default": true,
                "local": true
            }, {
                "lang": "ru-RU",
                "name": "Milena",
                "uri": "com.apple.voice.compact.ru-RU.Milena",
                "default": true,
                "local": true
            }, {
                "lang": "sk-SK",
                "name": "Laura",
                "uri": "com.apple.voice.compact.sk-SK.Laura",
                "default": true,
                "local": true
            }, {
                "lang": "sv-SE",
                "name": "Alva",
                "uri": "com.apple.voice.compact.sv-SE.Alva",
                "default": true,
                "local": true
            }, {
                "lang": "th-TH",
                "name": "Kanya",
                "uri": "com.apple.voice.compact.th-TH.Kanya",
                "default": true,
                "local": true
            }, {
                "lang": "tr-TR",
                "name": "Yelda",
                "uri": "com.apple.voice.compact.tr-TR.Yelda",
                "default": true,
                "local": true
            }, {
                "lang": "uk-UA",
                "name": "Lesya",
                "uri": "com.apple.voice.compact.uk-UA.Lesya",
                "default": true,
                "local": true
            }, {
                "lang": "vi-VN",
                "name": "Linh",
                "uri": "com.apple.voice.compact.vi-VN.Linh",
                "default": true,
                "local": true
            }, {
                "lang": "zh-CN",
                "name": "婷婷",
                "uri": "com.apple.voice.compact.zh-CN.Tingting",
                "default": true,
                "local": true
            }, {
                "lang": "zh-HK",
                "name": "善怡",
                "uri": "com.apple.voice.compact.zh-HK.Sinji",
                "default": true,
                "local": true
            }, {
                "lang": "zh-TW",
                "name": "美嘉",
                "uri": "com.apple.voice.compact.zh-TW.Meijia",
                "default": true,
                "local": true
            }],
            "intldatetimeformat": {"spaceTime": "1970/1/1", "timeZone": "Asia/Shanghai"},
            "hasProperty": {
                "window": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                "document": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
                "navigator": [1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0],
                "location": [1, 0]
            },
            "glres": {
                "3379": 8192,
                "3410": 8,
                "3411": 8,
                "3412": 8,
                "3413": 8,
                "3414": 24,
                "3415": 0,
                "7936": "WebKit",
                "7937": "WebKit WebGL",
                "7938": "WebGL 1.0",
                "34024": 8192,
                "34047": 16,
                "34076": 8192,
                "34921": 16,
                "34930": 16,
                "35660": 16,
                "35661": 32,
                "35724": "WebGL GLSL ES 1.0 (1.0)",
                "36347": 1024,
                "36348": 15,
                "36349": 1024,
                "37445": "Apple Inc.",
                "37446": "Apple GPU"
            },
            "jpg": "data:image/png;base64, ",
            "jpg2": {
                "PX11927": "data:image/png;base64, ",
                "PX12572": "data:image/png;base64, "
            },
            "useragentdata": {},
            "webglimg": {
                "canvasfp": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAlqADAAQAAAABAAAAlgAAAAAXS0ggAAAH/UlEQVR4Ae2dMavkVBSAc8ddQUHQQiwEZQvBQsE/IC8PK0ELCwuxsBBBwUIEG5t9gxZiIWJlIYqFhYVgKQrugBYq6IIrLLLCKosrusIKCyvu7pt4zry58zJ5NzPJTDKT3PMFZpPcZDKZ735z7nknmdkkYYIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAkcD1LEmzLNkrtrMOgbUITMXK1jqIoScPDL3XRt4qUasaRsSqxikRUOl0152KT2E3CCwnMM6SUxKtsukjXf4M23sQsVbrf8Raws0t2c7mKYF9iVb5T6FzCewW2JFntWA3NhUJkMQXicyvI9Y8j+CalhoCG0jiA1B8E2J5EvXnWjBN6z/NxjMQa71+Rqz1+Nl+9n9yKUeT91y5YbZsm0z5uydilbOZbRFIpfkUSfwM09wCYs3hWGmlVLqVjhbJkxBr/Y4kiQ8wRKwAlGJTdnidsLjJr6d+gTkEKhH4V0oK1yRxL0vefUJf6WCGdiJiNdTZJPENgbRymKoRSyOXFSZV3icRawml8fL8anYEotYMhd6/xrSIgACinLAIENtWIyBD4akqyTtJ/DxfItY8j7XXGA4PEHKz2hKVrkpSfkz2uUkeVT+F3ARYndUS/HFuvrLibTFELcSK8xPRgXdVNbp34FR7dQone3W2LZwsYi2Gmi7eXL6V4bCcjfktkmOd0uS9TrnBlx10bhkgEavF3rcctRCrRbEsH5o61oLel6Ew0/pV3TpW/pBWa1pErLwFLSxbHg5bwNn/Q16W4qhGrHWSd5/I959G/XdAxKrPrPYzLEYtxCrXJC3fxJZlBEjeSwj9IzUsSdzTdZN3f3hrSTwRy/d8y3NrwyFitSxU7vCmrh8iVq7nC4tpYX3tVUtRC7HW1oUDhAiQvAeoXJIa1vFkkrxP7hxdp/JePLyVJJ6IVez5ltetDIeIFRYpDTc30moiiUesRlypdxALUQuxAk5I4rkTaKapBgHEqgGrwV2jHw4RK2xLGm5urjX24ZByQ8CVv+V2GV9iaOpaYeBlkphLD0SsQo//seKXVAuHqbQac9RCrEoKsFNdAohVICZA0kJTm6vRJvGI1aY2FY4d63BI8l7o/L/kBj+NWptI3v1Lx5jEE7F87/p5Jgvy+5CbfGT7yZ5/+Vjm+sFkyhHIbmw0xzp4ZZU5somhsNChf16d/5Jqm3Ws/Eu7W+P6H1sZCnO9e+GKRKt9adjCI7sS13BIxMqLdTlJb3YHN/htMnn3p+BujydqEbF8r+r8xnYf2aV4ohbJe06swXgLiXvu9WNaZCjM9ebFizIMyrXCfMKeX95EeHd3xzEcboJVrus6vriFpL34h0L2WxzDIREr5/rv5w9vl9lG8u5PxZ3of9QiYvne1PmWk3f/+tm5/kctkvepWBfOSuKuQ2EXpggq8YjlRdJo1Z3E4GR2Jhm5B5ORP72+zRHL95iK1a3EIJUzGsmjl1O3UG4R4VhrWB34qzB3Dr2+CRCxpjJLcXTHJ89dmWff9jeJZyj0UVKHwu5NO907pWpnhFieUzfFSrOvktQ93L9cC7GmYsldnKl3rFPzg6+jjTp1ThVOpjt/YFc42bZ2Of+FXB8czN8uo584vU646WuFoffoHulQISR0goE2IpZC6V6p4bCrxsnu4Up/lhDL91VXqu7+fHTukl33aP/yKz11xFIK1yS/6lpSoFI93k+pEEsJ6KQ1rG5Nu+6J/kqlKIlYSqFLw2CWDN2T/ZYKsZSATl2pYalUTyV7k3Pq+T9ELO3AbtSwhu7pOKRSpIilFLYfsYbumXikQiwhcO6D6V0NSmMbkw5/z8YllWIkYm03Wg3dc/FJhVhKYBs/AqKvm0ikeiFOqfTNEbH2t1LDGrkX45UKsZTA5ofCkXupn9f/FFfViYilP7K2qW/FOPmCxMvxS6XyIdamciyV6hUbUiGWEtjQUOhetSOVebHOvraxGlYv76lSQVadbA+FevG5zfzq4FacXbfX/4vKdQWzLVb7+dWue92eVCqhbbHa/Iswkxv13rAplXmx3PWWiqNOqupv2pXKvFiT/ySg+Rxr6N5K9hSu5cn2UHi94e8SDiRSvY1U+oGyLVaTtyTr8PcOUvkobVasM883WsMauneRyktlO2I1V3EfuveQKi+VbbH097DWTdx1+HsfqYpS2RZLI9aqYmlFXS8qf4hUIalMi+X0Br/VxRq5j2xdVC4TqKz9WNmG6NtXz7FG7mOkWuaHZbHSZXAC20fuE6QKcDnSZFesFWpY7lOkOmJQSYNJsU4/Jn8R1hkKJVkfy0XlEoY0BwiYFGsi1cG9UgEkR5ucSHX8M9sXlY9SWdxiUyxlUnEodAOkWqxQeKtJsQb6Q2tVJpHqls+JVFVQFfcxKdakhlUkUVjPpKp+25dIVcBSedWkWKWJ+zTvkrrp8I6vk73KFNnxCAGTYi35Tffhnd8g1RFTajaYFKs0cZfh767vkKqmQ8HdzYl1+qFwDUtzqrt/QKqgJSs0mhNrwuhoqWF4749ItYI/pU+xJ5ZW3PVrXzppsi6R6sRPSDXh0eA/5sQay5dUB4e3y4zu+xmpGvRpdihzYg1uzL5LOLr/F67/zUxoeMGcWFrDkhFw9MCvSNWwS7YP9/09DH22DeDdQwACEIAABCAAAQhAAAIQgAAEIAABCEDgkMD/qEEAQEv26cUAAAAASUVORK5CYII=",
                "extensions": ["ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_frag_depth", "EXT_shader_texture_lod", "EXT_texture_filter_anisotropic", "EXT_sRGB", "KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear", "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_astc", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_etc1", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders", "WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBGL_multi_draw"],
                "webglRenderer": "WebKit WebGL",
                "shadingLangulageVersion": "WebGL GLSL ES 1.0 (1.0)",
                "webglVendor": "WebKit",
                "webGLVersion": "WebGL 1.0",
                "unmaskedVendor": "Apple Inc.",
                "unmaskedRenderer": "Apple GPU",
                "webglParameters": ["[1, 1]", "[1, 511]", 8, "yes", 8, 24, 8, 16, 32, 8192, 1024, 8192, 16, 8192, 15, 16, 16, 1024, "[8192, 8192]", "no_fp", 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127]
            },
            "audioFp": {"PX11477": "126.86970506378566", "PX12109": "126.86970506378566"},
            "consoleprops": ["assert", "clear", "count", "countReset", "debug", "dir", "dirxml", "error", "group", "groupCollapsed", "groupEnd", "info", "log", "profile", "profileEnd", "record", "recordEnd", "screenshot", "table", "takeHeapSnapshot", "time", "timeEnd", "timeLog", "timeStamp", "trace", "warn"],
            "webglprops": ["canvas", "drawingBufferWidth", "drawingBufferHeight", "activeTexture", "attachShader", "bindAttribLocation", "bindBuffer", "bindFramebuffer", "bindRenderbuffer", "bindTexture", "blendColor", "blendEquation", "blendEquationSeparate", "blendFunc", "blendFuncSeparate", "bufferData", "bufferSubData", "checkFramebufferStatus", "clear", "clearColor", "clearDepth", "clearStencil", "colorMask", "compileShader", "texImage2D", "texSubImage2D", "compressedTexImage2D", "compressedTexSubImage2D", "copyTexImage2D", "copyTexSubImage2D", "createBuffer", "createFramebuffer", "createProgram", "createRenderbuffer", "createShader", "createTexture", "cullFace", "deleteBuffer", "deleteFramebuffer", "deleteProgram", "deleteRenderbuffer", "deleteShader", "deleteTexture", "depthFunc", "depthMask", "depthRange", "detachShader", "disable", "disableVertexAttribArray", "drawArrays", "drawElements", "enable", "enableVertexAttribArray", "finish", "flush", "framebufferRenderbuffer", "framebufferTexture2D", "frontFace", "generateMipmap", "getActiveAttrib", "getActiveUniform", "getAttachedShaders", "getAttribLocation", "getBufferParameter", "getContextAttributes", "getError", "getSupportedExtensions", "getExtension", "getFramebufferAttachmentParameter", "getParameter", "getProgramParameter", "getProgramInfoLog", "getRenderbufferParameter", "getShaderParameter", "getShaderInfoLog", "getShaderPrecisionFormat", "getShaderSource", "getTexParameter", "getUniform", "getUniformLocation", "getVertexAttrib", "getVertexAttribOffset", "hint", "isBuffer", "isContextLost", "isEnabled", "isFramebuffer", "isProgram", "isRenderbuffer", "isShader", "isTexture", "lineWidth", "linkProgram", "pixelStorei", "polygonOffset", "readPixels", "renderbufferStorage", "sampleCoverage", "scissor", "shaderSource", "stencilFunc", "stencilFuncSeparate", "stencilMask", "stencilMaskSeparate", "stencilOp", "stencilOpSeparate", "texParameterf", "texParameteri", "uniform1f", "uniform2f", "uniform3f", "uniform4f", "uniform1i", "uniform2i", "uniform3i", "uniform4i", "uniform1fv", "uniform2fv", "uniform3fv", "uniform4fv", "uniform1iv", "uniform2iv", "uniform3iv", "uniform4iv", "uniformMatrix2fv", "uniformMatrix3fv", "uniformMatrix4fv", "useProgram", "validateProgram", "vertexAttrib1f", "vertexAttrib2f", "vertexAttrib3f", "vertexAttrib4f", "vertexAttrib1fv", "vertexAttrib2fv", "vertexAttrib3fv", "vertexAttrib4fv", "vertexAttribPointer", "viewport", "DEPTH_BUFFER_BIT", "STENCIL_BUFFER_BIT", "COLOR_BUFFER_BIT", "POINTS", "LINES", "LINE_LOOP", "LINE_STRIP", "TRIANGLES", "TRIANGLE_STRIP", "TRIANGLE_FAN", "ZERO", "ONE", "SRC_COLOR", "ONE_MINUS_SRC_COLOR", "SRC_ALPHA", "ONE_MINUS_SRC_ALPHA", "DST_ALPHA", "ONE_MINUS_DST_ALPHA", "DST_COLOR", "ONE_MINUS_DST_COLOR", "SRC_ALPHA_SATURATE", "FUNC_ADD", "BLEND_EQUATION", "BLEND_EQUATION_RGB", "BLEND_EQUATION_ALPHA", "FUNC_SUBTRACT", "FUNC_REVERSE_SUBTRACT", "BLEND_DST_RGB", "BLEND_SRC_RGB", "BLEND_DST_ALPHA", "BLEND_SRC_ALPHA", "CONSTANT_COLOR", "ONE_MINUS_CONSTANT_COLOR", "CONSTANT_ALPHA", "ONE_MINUS_CONSTANT_ALPHA", "BLEND_COLOR", "ARRAY_BUFFER", "ELEMENT_ARRAY_BUFFER", "ARRAY_BUFFER_BINDING", "ELEMENT_ARRAY_BUFFER_BINDING", "STREAM_DRAW", "STATIC_DRAW", "DYNAMIC_DRAW", "BUFFER_SIZE", "BUFFER_USAGE", "CURRENT_VERTEX_ATTRIB", "FRONT", "BACK", "FRONT_AND_BACK", "TEXTURE_2D", "CULL_FACE", "BLEND", "DITHER", "STENCIL_TEST", "DEPTH_TEST", "SCISSOR_TEST", "POLYGON_OFFSET_FILL", "SAMPLE_ALPHA_TO_COVERAGE", "SAMPLE_COVERAGE", "NO_ERROR", "INVALID_ENUM", "INVALID_VALUE", "INVALID_OPERATION", "OUT_OF_MEMORY", "CW", "CCW", "LINE_WIDTH", "ALIASED_POINT_SIZE_RANGE", "ALIASED_LINE_WIDTH_RANGE", "CULL_FACE_MODE", "FRONT_FACE", "DEPTH_RANGE", "DEPTH_WRITEMASK", "DEPTH_CLEAR_VALUE", "DEPTH_FUNC", "STENCIL_CLEAR_VALUE", "STENCIL_FUNC", "STENCIL_FAIL", "STENCIL_PASS_DEPTH_FAIL", "STENCIL_PASS_DEPTH_PASS", "STENCIL_REF", "STENCIL_VALUE_MASK", "STENCIL_WRITEMASK", "STENCIL_BACK_FUNC", "STENCIL_BACK_FAIL", "STENCIL_BACK_PASS_DEPTH_FAIL", "STENCIL_BACK_PASS_DEPTH_PASS", "STENCIL_BACK_REF", "STENCIL_BACK_VALUE_MASK", "STENCIL_BACK_WRITEMASK", "VIEWPORT", "SCISSOR_BOX", "COLOR_CLEAR_VALUE", "COLOR_WRITEMASK", "UNPACK_ALIGNMENT", "PACK_ALIGNMENT", "MAX_TEXTURE_SIZE", "MAX_VIEWPORT_DIMS", "SUBPIXEL_BITS", "RED_BITS", "GREEN_BITS", "BLUE_BITS", "ALPHA_BITS", "DEPTH_BITS", "STENCIL_BITS", "POLYGON_OFFSET_UNITS", "POLYGON_OFFSET_FACTOR", "TEXTURE_BINDING_2D", "SAMPLE_BUFFERS", "SAMPLES", "SAMPLE_COVERAGE_VALUE", "SAMPLE_COVERAGE_INVERT", "COMPRESSED_TEXTURE_FORMATS", "DONT_CARE", "FASTEST", "NICEST", "GENERATE_MIPMAP_HINT", "BYTE", "UNSIGNED_BYTE", "SHORT", "UNSIGNED_SHORT", "INT", "UNSIGNED_INT", "FLOAT", "DEPTH_COMPONENT", "ALPHA", "RGB", "RGBA", "LUMINANCE", "LUMINANCE_ALPHA", "UNSIGNED_SHORT_4_4_4_4", "UNSIGNED_SHORT_5_5_5_1", "UNSIGNED_SHORT_5_6_5", "FRAGMENT_SHADER", "VERTEX_SHADER", "MAX_VERTEX_ATTRIBS", "MAX_VERTEX_UNIFORM_VECTORS", "MAX_VARYING_VECTORS", "MAX_COMBINED_TEXTURE_IMAGE_UNITS", "MAX_VERTEX_TEXTURE_IMAGE_UNITS", "MAX_TEXTURE_IMAGE_UNITS", "MAX_FRAGMENT_UNIFORM_VECTORS", "SHADER_TYPE", "DELETE_STATUS", "LINK_STATUS", "VALIDATE_STATUS", "ATTACHED_SHADERS", "ACTIVE_UNIFORMS", "ACTIVE_ATTRIBUTES", "SHADING_LANGUAGE_VERSION", "CURRENT_PROGRAM", "NEVER", "LESS", "EQUAL", "LEQUAL", "GREATER", "NOTEQUAL", "GEQUAL", "ALWAYS", "KEEP", "REPLACE", "INCR", "DECR", "INVERT", "INCR_WRAP", "DECR_WRAP", "VENDOR", "RENDERER", "VERSION", "NEAREST", "LINEAR", "NEAREST_MIPMAP_NEAREST", "LINEAR_MIPMAP_NEAREST", "NEAREST_MIPMAP_LINEAR", "LINEAR_MIPMAP_LINEAR", "TEXTURE_MAG_FILTER", "TEXTURE_MIN_FILTER", "TEXTURE_WRAP_S", "TEXTURE_WRAP_T", "TEXTURE", "TEXTURE_CUBE_MAP", "TEXTURE_BINDING_CUBE_MAP", "TEXTURE_CUBE_MAP_POSITIVE_X", "TEXTURE_CUBE_MAP_NEGATIVE_X", "TEXTURE_CUBE_MAP_POSITIVE_Y", "TEXTURE_CUBE_MAP_NEGATIVE_Y", "TEXTURE_CUBE_MAP_POSITIVE_Z", "TEXTURE_CUBE_MAP_NEGATIVE_Z", "MAX_CUBE_MAP_TEXTURE_SIZE", "TEXTURE0", "TEXTURE1", "TEXTURE2", "TEXTURE3", "TEXTURE4", "TEXTURE5", "TEXTURE6", "TEXTURE7", "TEXTURE8", "TEXTURE9", "TEXTURE10", "TEXTURE11", "TEXTURE12", "TEXTURE13", "TEXTURE14", "TEXTURE15", "TEXTURE16", "TEXTURE17", "TEXTURE18", "TEXTURE19", "TEXTURE20", "TEXTURE21", "TEXTURE22", "TEXTURE23", "TEXTURE24", "TEXTURE25", "TEXTURE26", "TEXTURE27", "TEXTURE28", "TEXTURE29", "TEXTURE30", "TEXTURE31", "ACTIVE_TEXTURE", "REPEAT", "CLAMP_TO_EDGE", "MIRRORED_REPEAT", "FLOAT_VEC2", "FLOAT_VEC3", "FLOAT_VEC4", "INT_VEC2", "INT_VEC3", "INT_VEC4", "BOOL", "BOOL_VEC2", "BOOL_VEC3", "BOOL_VEC4", "FLOAT_MAT2", "FLOAT_MAT3", "FLOAT_MAT4", "SAMPLER_2D", "SAMPLER_CUBE", "VERTEX_ATTRIB_ARRAY_ENABLED", "VERTEX_ATTRIB_ARRAY_SIZE", "VERTEX_ATTRIB_ARRAY_STRIDE", "VERTEX_ATTRIB_ARRAY_TYPE", "VERTEX_ATTRIB_ARRAY_NORMALIZED", "VERTEX_ATTRIB_ARRAY_POINTER", "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", "IMPLEMENTATION_COLOR_READ_TYPE", "IMPLEMENTATION_COLOR_READ_FORMAT", "COMPILE_STATUS", "LOW_FLOAT", "MEDIUM_FLOAT", "HIGH_FLOAT", "LOW_INT", "MEDIUM_INT", "HIGH_INT", "FRAMEBUFFER", "RENDERBUFFER", "RGBA4", "RGB5_A1", "RGB565", "DEPTH_COMPONENT16", "STENCIL_INDEX8", "DEPTH_STENCIL", "RENDERBUFFER_WIDTH", "RENDERBUFFER_HEIGHT", "RENDERBUFFER_INTERNAL_FORMAT", "RENDERBUFFER_RED_SIZE", "RENDERBUFFER_GREEN_SIZE", "RENDERBUFFER_BLUE_SIZE", "RENDERBUFFER_ALPHA_SIZE", "RENDERBUFFER_DEPTH_SIZE", "RENDERBUFFER_STENCIL_SIZE", "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", "COLOR_ATTACHMENT0", "DEPTH_ATTACHMENT", "STENCIL_ATTACHMENT", "DEPTH_STENCIL_ATTACHMENT", "NONE", "FRAMEBUFFER_COMPLETE", "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", "FRAMEBUFFER_UNSUPPORTED", "FRAMEBUFFER_BINDING", "RENDERBUFFER_BINDING", "MAX_RENDERBUFFER_SIZE", "INVALID_FRAMEBUFFER_OPERATION", "UNPACK_FLIP_Y_WEBGL", "UNPACK_PREMULTIPLY_ALPHA_WEBGL", "CONTEXT_LOST_WEBGL", "UNPACK_COLORSPACE_CONVERSION_WEBGL", "BROWSER_DEFAULT_WEBGL"],
            "locationprops": ["href", "protocol", "host", "hostname", "port", "pathname", "search", "hash", "origin", "ancestorOrigins", "assign", "replace", "reload", "toString"],
            "mathprops": ["E", "LN2", "LN10", "LOG2E", "LOG10E", "PI", "SQRT1_2", "SQRT2", "abs", "acos", "asin", "atan", "acosh", "asinh", "atanh", "atan2", "cbrt", "ceil", "clz32", "cos", "cosh", "exp", "expm1", "floor", "fround", "hypot", "log", "log10", "log1p", "log2", "max", "min", "pow", "random", "round", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "imul"],
            "funcs": [0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "funcs2": [0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0],
            "documentfunc": [0, 1, 1, 1, 1, 0, 1, 0],
            "bodyfunc": [0, 1, 0, 0, 0],
            "navigatorfunc": [0, 1, 1, 1, 1, 0]
        }


        // if (env) {
        //     this.ENV = env
        // }

        this.screen = this.ENV.screenparams;
        this.navigator = this.ENV.navigatorparams;
        this.window = this.ENV.windowparams;

        // this.navigator.useragent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1'

        // # o1oo11
        this.hash = hash
        this.hash2 = hash2
        this.hashv = hashv
        // # 11oo1o
        this.token = token
        this.token2 = token2
        this.px755 = px755
        this.ua = this.navigator.useragent
        // # 初始化参数
        this.url = url
        this.sid = sid
        this.vid = vid
        this.ts = ts
        this.num1 = num1
        this.num2 = num2
        this.str1 = str1
        this.uuid = uuid
        this.startTs = startTs
        this.startTs2 = startTs2
        this.performanceNow = performanceNow
        this.performanceNow2 = randint(4400, 4600);
        this.px11280 = px11280
        let totalJSHeapSize = randint(35903195, 39903195)
        this.memory_data = {
            totalJSHeapSize: totalJSHeapSize,
            usedJSHeapSize: Math.floor(randomFloat(0.65, 0.9) * totalJSHeapSize),
            jsHeapSizeLimit: 4294705152
        }
        // mouses
        this.mouses = []
        this.createMouse()


    }

    bao(data) {
        for (let i = 0; i < data.length; i++) {
            let g = data[i];

            g["d"]["PX11379"] = false;
            g["d"]["PX12307"] = 'PX11745';
            // g["d"]["PX11375"] = null;
            g["d"]["PX11668"] = 'pxhc';
            g["d"]["PX12348"] = false;
            // if (g.t === 'PX12123' || g.t === "PX561" || g.t === "PX11782"){
            //     continue
            // }

        }
        if (data[0] && data[0]['d']) {
            data[0]["d"]["PX11645"] = this.url;

        }
        return data;
    }

    memory() {
        this.memory_data.usedJSHeapSize += randint(13195, 23195)
        return this.memory_data
    }

    createMouse() {

        this.startPoint = {
            "x": randint(130, 150), "y": randint(30, 41),
        }
        this.endPoint = {
            "x": this.startPoint.x + randint(10, 20), "y": this.startPoint.y + randint(10, 20),
        }
        let controlPoint = {
            "x": this.startPoint.x + 50, "y": this.startPoint.y,
        }
        let paths = mousePath(this.startPoint, controlPoint, this.endPoint)
        let startTime = this.performanceNow;
        for (let i = 0; i < paths.length; i++) {
            let mouse = {
                "x": parseInt(paths[i].x), "y": parseInt(paths[i].y), "t": startTime,
            }
            this.mouses.push(mouse)
            startTime = startTime + randint(20, 40)
        }
        this.mouseEvent = []
        let randI = 0
        for (let i = 0; i < randint(1, 3); i++) {
            this.mouseEvent.push({
                "PX12343": "mousemove",
                "PX12270": "true",
                "PX12301": `${this.mouses[randI].x},${this.mouses[randI].y},${this.mouses[randI].t + randint(100, 200)}`
            })
            randI += randint(1, 2)

            this.mouseEvent.push({
                "PX12343": "mouseout",
                "PX12270": "true",
                "PX11427": Math.round(randint(200, 300) + Math.random()),
                "PX12208": Math.round(randint(500, 600) + Math.random()),
                "PX11652": 2,
                "PX11824": 530,
                "PX11631": 340,
                "PX12165": "div",
                "PX12108": this.mouses[randI].x, //
                "PX12414": this.mouses[randI].y, //
                "PX11699": this.mouses[randI].t + randint(100, 200), //
            })
            randI += randint(1, 2)
        }
        randI += randint(1, 2)

        this.mouseEvent.push({
            "PX12343": "mouseout",
            "PX12270": "true",
            "PX11427": Math.round(randint(200, 300) + Math.random()),
            "PX12208": Math.round(randint(500, 600) + Math.random()),
            "PX11652": 2,
            "PX11824": 530,
            "PX11631": 340,
            "PX12165": "div",
            "PX12108": this.mouses[randI].x, //
            "PX12414": this.mouses[randI].y, //
            "PX11699": this.mouses[randI].t + randint(100, 200), //
        })
    }

    get_px11590() {
        let data = {
            "PX11847": true,
            // "PX11431": 1692944411084,  // 0III0III
            "PX11431": parseInt(this.ts),  //
            // "75602>44073>?2261175": "46531=77340=<1152246",
            "PX12454": parseInt(this.num1), // 0III0II0
            "PX11701": this.num2.substring(0, 80),  // I00III
            // "PX11529": this.memory().usedJSHeapSize,// usedJSHeapSize
            // "PX11529": 74208842,// usedJSHeapSize
            // "PX11555": this.memory().jsHeapSizeLimit,// jsHeapSizeLimit
            // "PX11833": this.memory().totalJSHeapSize,// totalJSHeapSize
            // "PX11833": 80878510,// totalJSHeapSize
            // "PX11840": "Fri Aug 25 2023 14:20:11 GMT+0800 (中国标准时间)",
            "PX11840": Date(), // "PX12573": "e29b74b1", // parseInt(0III0III/10)
            "PX12573": getPX12573(Math.floor(parseInt(this.ts) / 1e3), this.vid, this.uuid), // parseInt(0III0III/10)
            // "PX11804": "36f924a304c56d1ae9971c767ca7f510", //uuid 转换
            "PX11804": createPx2(this.ua, this.uuid), //uuid 转换
            "PX12118": this.str1,//  第一步返回 0ll0ll
            "PX11746": createPx2(this.ua, this.vid),  //_pxvid // I000I0
            "PX11371": createPx2(this.ua, this.sid), // pxsid  sessionStorage // I0I0II
            "PX12501": md5(this.vid), // vid md5
            "PX12169": 1,
            "PX11902": 1,
            "PX11560": this.performanceNow, // performance.now()
            // "PX11332": 1692944411272,
            "PX11332": this.startTs + randint(1000, 2500),
            "PX12248": 3600,
            "PX11385": this.startTs,
            "PX12280": this.px11280,
            "PX11496": this.uuid, //uuid


            "PX12330": "", // ["webstore", 'runtime', 'app', "csi", "loadTimes"];构造函数 长度
            // todo
            // "PX11705": [571, 1182][randint(0, 1)], //fetch+''
            "PX11705": 123, //fetch+''
            "PX11938": true,  //caches
            "PX11602": true, //caches
            "PX12021": "false", // webdriver
            "PX12421": "false",//webdriver
            "PX12124": 1,// 'webdriver' in navigator?1:0
            "PX11609": 1,  //'webdriver' in navigator?1:0
            "PX12291": "",
            "PX11881": [],// chrome 属性


            // "PX12408":[
            //   {
            //     "tagName":"INPUT",
            //     "id":"origin",
            //     "type":"text",
            //     "name":"origin",
            //     "height":41,
            //     "width":184.65625,
            //     "x":29.8125,
            //     "y":384.546875
            //   },
            //   {
            //     "tagName":"INPUT",
            //     "id":"destination",
            //     "type":"text",
            //     "name":"destination",
            //     "height":41,
            //     "width":184.65625,
            //     "x":219.796875,
            //     "y":384.546875
            //   },
            //   {
            //     "tagName":"INPUT",
            //     "id":"departureDate",
            //     "type":"text",
            //     "name":"departureDate",
            //     "height":43,
            //     "width":184.671875,
            //     "x":29.8125,
            //     "y":464.546875
            //   },
            //   {
            //     "tagName":"INPUT",
            //     "id":"returnDate",
            //     "type":"text",
            //     "name":"returnDate",
            //     "height":43,
            //     "width":184.671875,
            //     "x":219.796875,
            //     "y":464.546875
            //   },
            //   {
            //     "tagName":"INPUT",
            //     "id":"passengersInput",
            //     "type":"text",
            //     "name":"passengersInput",
            //     "height":41,
            //     "width":380,
            //     "x":29.8125,
            //     "y":556.546875
            //   },
            //   {
            //     "tagName":"INPUT",
            //     "id":"promocode",
            //     "type":"text",
            //     "name":"promocode",
            //     "height":43,
            //     "width":180.5,
            //     "x":27.8125,
            //     "y":652.546875
            //   }],
            "PX12207": 0, //v["self"] === v["top"] ? 0 : 1
            "PX11538": 2, // history.length
            "PX11984": "TypeError: Cannot read properties of null (reading '0') at cr (https://client.perimeterx.net/PXVb73hTEg/main.min.js:2:24979) at Us (https://client.perimeterx.net/PXVb73hTEg/main.min.js:2:107232) at ud (https://client.perimeterx.net/PXVb73hTEg/main.min.js:2:123112) at https://client.perimeterx.net/PXVb73hTEg/main.min.js:2:122827",
            "PX11645": this.url, // href
            "PX11597": [],// location.ancestorOrigins
            "PX12023": "",// document.referrer
            "PX11337": true,// window.hasOwnProperty('onorientationchange')
            "PX12544": true, // !(!window["WebAssembly"] || !window["WebAssembly"]["instantiate"])
            "PX12589": "succeeded", // 执行 wasm 结果?
            "PX11524": true, // wasm 计算结果
            // "PX11847":true,

            "PX11843": this.screen.width, //screen["width"]
            "PX11781": this.screen.height,// screen["height"]
            "PX12121": this.screen.availwidth,// screen["availWidth"
            "PX12128": this.screen.availheight,// screen["availHeight"]
            "PX12387": `${this.screen.width}X${this.screen.height}`,// F + "X" + N
            "PX12003": this.screen.pixeldepth, // screen["pixelDepth"]
            "PX11380": this.screen.colordepth, // screen["colorDepth"]
            "PX11494": this.window.innerwidth, // v["innerWidth"]
            "PX12411": this.window.innerheight, // v["innerHeight"]
            "PX12443": 0, // v["scrollX"]
            "PX12447": 0,  //  v["scrollY"]
            "PX11533": true, // !(0 === v["outerWidth"] && 0 === v["outerHeight"])
            "PX12079": false,// v["hasOwnProperty"]("_cordovaNative") || v["hasOwnProperty"]("Ti") || v["hasOwnProperty"]("webView") || v["hasOwnProperty"]("Android") || p["hasOwnProperty"]("ondeviceready") || m["hasOwnProperty"]("standalone") || v["external"] && "notify" in v["external"] || m["userAgent"]["indexOf"](" Mobile/") > 0 && -1 === m["userAgent"]["indexOf"](" Safari/");
            "PX12278": true,
            "PX11694": false,
            "PX12294": false,
            // "PX12514": true,
            "PX12515": "TypeError: undefined is not an object (evaluating '(void 0)[\"width\"]')",
            "PX12516": "webkit",
            "PX12517": 33,
            "PX12518": false,
            "PX12545": false,
            "PX12593": false,
            "PX12595": "SVGAnimatedAngle.SVGMetadataElement",
            "PX12069": this.createPX12069(),
            "PX12286": 5,
            "PX11576": true,
            "PX12318": true,
            "PX11384": true,
            "PX11886": true,
            "PX11583": "en",
            "PX12458": this.navigator.platform,
            "PX11681": ["en"],
            "PX11754": this.navigator.useragent,
            "PX12037": false,
            "PX11390": -480,
            // "PX11621": 8,
            "PX11657": 1,
            "PX12081": this.navigator.product,
            "PX11908": this.navigator.productsub,
            "PX12314": this.navigator.appversion,
            "PX11829": true,
            "PX11464": true,
            "PX12054": 2,
            "PX11821": this.navigator.appname,
            "PX11479": this.navigator.appcodename,
            "PX11674": true,
            // "PX12241": 400, //m["connection"]["rtt"]
            // "PX11372": false,
            // "PX11683": 1.5,
            // "PX11561": "3g",
            "PX11877": true,
            "PX12100": true, // "PX12477":true,

            // "PX12506": "arm",
            "PX12506": this.ENV.useragentdata.highvalue ? this.ENV.useragentdata.highvalue.architecture : undefined, // "PX12507": "64",
            "PX12507": this.ENV.useragentdata.highvalue ? this.ENV.useragentdata.highvalue.bitness : undefined,
            // "PX12509": true,
            // "PX12510": "", // "PX12511": "macOS",
            "PX12511": this.ENV.useragentdata.highvalue ? this.ENV.useragentdata.highvalue.platform : undefined, // "PX12512": "13.5.0",// platformVersion
            "PX12512": this.ENV.useragentdata.highvalue ? this.ENV.useragentdata.highvalue.platformVersion : undefined, // "PX12513": "117.0.5938.149",  //Mu["uaFullVersion"]
            "PX12513": this.ENV.useragentdata.highvalue ? this.ENV.useragentdata.highvalue.uaFullVersion : undefined, //Mu["uaFullVersion"]
            "PX12548": false,
            "PX12552": "function share() {\n    [native code]\n}",

            "PX12555": this.createPX12555(),
            "PX12583": {
                "smd": {
                    "ok": true, "ex": false
                }
            },
            "PX12578": {},
            "PX12579": {
                "support": false,
                "status": {}
            }, // "PX12508": [
            //     {
            //         "brand": "Google Chrome",
            //         "version": "117"
            //     },
            //     {
            //         "brand": "Not;A=Brand",
            //         "version": "8"
            //     },
            //     {
            //         "brand": "Chromium",
            //         "version": "117"
            //     }],
            "PX12508": this.ENV.useragentdata.highvalue ? this.ENV.useragentdata.highvalue.brands : undefined,
            "PX12549": true,
            "PX11539": "cef339a3", //Me(console.log)
            "PX11528": "", // Object["getOwnPropertyDescriptor"](HTMLDocument["prototype"], "cookie")["get"]
            "PX12271": "6ca82c5b",// Va(Object["prototype"]["toString"])
            "PX11849": "6ca82c5b",// return Va(m["toString"]);
            "PX12464": "6a7358db",// Me("" + (e["get"] || "") + (e["value"] || ""))
            "PX11356": true,
            "PX12426": true,
            "PX11791": true,
            "PX11517": true,
            "PX12520": true,
            "PX12524": "4YCR4YCd4YCf4YGc4YCT4YCC4YCC4YCe4YCX4YGc4YCE4YCd4YCb4YCR4YCX4YGc4YCB4YCH4YCC4YCX4YCA4YGf4YCR4YCd4YCf4YCC4YCT4YCR4YCG4YGc4YCa4YCH4YGf4YC64YCn4YGc4YC", // Pu = speechSynthesis.getVoices()  is(Pu[161].voiceURI)
            // todo
            "PX12527": "3207084bd110f1ac964863e23aa78e04",  // '1970/1/1'

            "PX12260": this.navigator.useragent,
            "PX12249": false,
            "PX11897": "6a7358db", // 固定
            // "PX12597": 2,


            "PX11526": false,
            "PX11684": false,
            "PX11812": false,
            "PX12335": true,
            "PX12080": 5,
            "PX11678": true,
            "PX11349": "visible",
            "PX12397": false,
            "PX11387": 0,
            "PX12150": this.window.outerwidth,
            "PX12304": false,
            "PX11651": this.window.outerheight,
            "PX11867": "missing",
            "PX12254": true,
            "PX11540": false,
            "PX11548": true,
            "PX11446": false,
            "PX12550": 1,
            "PX12431": 0,


            "PX11991": 1,
            "PX11837": 0,
            "PX11632": 0,
            "PX11409": 0,

            // "PX11508": "49e5084e",
            "PX11452": "4f095675",
            "PX12218": "65d826e0",
            "PX12481": "a9269e00",
            "PX11780": "50a5ec55",
            "PX12588": "webkit",
            // "\u0018nSxTq}":1,

            "PX12551": "https:",
            "PX12553": "Asia/Shanghai",
            "PX12567": "undef",
            // "PX12576": "screen",
            // "PX12554": "function getOwnPropertyDescriptors() { [native code] }",
            // "PX12577": "function query() { [native code] }",
            "PX12594": false,
            "PX12566": false,
            // "PX12571": "263f213d", // allowedFeatures();
            // "PX12581": "default",

            "PX11303": false,
            "PX11515": false,
            "PX12133": false,
            "PX12340": false,
            "PX11738": false,
            "PX11723": false,
            "PX11389": false,
            "PX11839": false,
            "PX11460": false,
            "PX12102": false,
            "PX11378": false,
            "PX12317": false,

            "PX12564": null,
            "PX12565": -1, // "PX11379": false
        }


        if (this.cap) {
            Object.assign(data, {
                "PX12053": true,
                "PX12029": false,
                "PX11503": true,
                "PX11570": true,
                "PX11406": true,
                "PX12449": true,
                "PX11636": false,
                "PX11650": true,
                "PX11663": "c506169f",
                "PX12347": "717401f4",
                "PX12389": "",
                "PX11883": "50d4f170",
                "PX11959": "26bf0183",
                "PX12483": "50d4f170",
                "PX12036": true,
                "PX12356": true,
                "PX11522": true,
                "PX12204": true,

                "PX12582": 3,
                "PX12587": false,

                "PX12408": [],
                "PX12477": true,

            })
        }
        let noPX = getNoPX(data['PX11701'], data['PX11431'])
        data[noPX[0]] = noPX[1]
        return {
            "t": "PX11590", "d": data
        }
    }


    get_px12123() {
        return {
            "t": "PX12123", "d": {
                "PX12108": this.startPoint.x,
                "PX12414": this.startPoint.y,
                "PX11984": "rr@https://client.perimeterx.net/PXVb73hTEg/main.min.js:1534:13 td@https://client.perimeterx.net/PXVb73hTEg/main.min.js:7526:27 @https://client.perimeterx.net/PXVb73hTEg/main.min.js:7544:13 dispatchEvent@[native code] bt@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:223841",
                "PX12303": "touchmove",
                "PX11699": 58848,
                "PX11987": "true",
                "PX12461": true,
                "PX11652": "#px-captcha-wrapper>DIV:nth-child(1)>DIV:nth-child(2)",
                "PX11902": 3,
                "PX11560": this.performanceNow,
                "PX12280": this.px11280,
                "PX11496": this.uuid,
                "PX12564": null,
                "PX12565": -1,
                "PX11719": true, // "PX12307": "PX11745",
                // "PX11668": "pxhc",
                // "PX12348": false
            }
        }
    }

    get_px11891() {
        return {

            "t": "PX11891", "d": {
                "PX11913": true,
                "PX11900": 240000,
                "PX12159": 1,
                "PX11754": this.navigator.useragent,
                "PX12256": 0,
                "PX12445": 0,
                "PX11804": createPx2(this.ua, this.uuid),
                "PX11746": createPx2(this.ua, this.vid),
                "PX11371": createPx2(this.ua, this.sid),
                "PX11902": 4,
                "PX11560": this.performance(1),
                "PX12280": this.px11280,
                "PX11496": this.uuid,
                "PX12564": null,
                "PX12565": -1, // "PX11379": false
            }
        }
    }

    get_px11547() {
        return {
            "t": "PX11547", "d": {
                "PX12492": "58e1488888ed2da9dec44c6ba9de3f1f",
                "PX12570": "58e1488888ed2da9dec44c6ba9de3f1f", //canvasfp
                "PX11352": "b2984608a13a06d93bb1c1a158b7aa41", // webglVendor
                // "PX12292": "WebKit",
                "PX12292": this.ENV.glres["7936"], //errors
                "PX11811": [], // webglRenderer
                // "PX11567": "WebKit WebGL",
                "PX11567": this.ENV.glres["7937"], // webGLVersion
                // "PX12032": "WebGL 1.0 (OpenGL ES 2.0 Chromium)",
                "PX12032": this.ENV.glres["7938"], // extensions
                "PX11536": ["ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth", "EXT_shader_texture_lod", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "EXT_sRGB", "KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear", "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders", "WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBGL_multi_draw"], // webglParameters
                "PX12149": ["[1, 1]", "[1, 64]", 8, "yes", 8, 24, 8, 16, 32, 16384, 1024, 16384, 16, 16384, 31, 16, 16, 1024, "[16384, 16384]", "no_fp", 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127], // unmaskedVendor
                // "PX12352": "Google Inc. (Apple)",
                "PX12352": this.ENV.glres["37445"], // unmaskedRenderer
                // "PX11455": "ANGLE (Apple, Apple M1 Max, OpenGL 4.1)",
                "PX11455": this.ENV.glres["37446"],
                // shadingLangulageVersion
                // "PX11534": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
                "PX11534": this.ENV.glres["35724"],
                // extensions R
                "PX12503": "680128de8db42111bf53804ba8526b8b", // P(e["extensions"]);
                "PX12502": "8d20bcbf270afb9d97a3cec64926ebbc", // P(e["webglParameters"]);
                "PX11927": "52658476bd66e68fbc59774208c29abf", // CanvastoDataurl
                "PX12572": "eca8fab1cb34a595b23bdb1297da39ed",
                // audio start
                "PX11477": "126.86889020886156",
                "PX12109": "bb26071eb8be492b921fd8016ae22e33",
                // navigator.storage.estimate().then(e=>{console.log(e)})
                // quota
                "PX12362": "6bc72619a23785368d5ca2be516c93c5",
                // math xiangguan
                "PX12491": "75fceb5a93600120faac31a3856381d7",
                "PX11386": [
                    "webdriver",
                    "webdriver"
                ],
                "PX12525": "693967dc4b352b44adf93401ee7b4c12",
                "PX12526": "af3bf5e19535dce7f3503338a7374af7",
                "PX11948": 4,
                "PX11685": 20,
                "PX11986": true,
                "PX12299": true,
                "PX12331": false,
                "PX11316": false,
                "PX11448": true,
                "PX12196": "missing",
                "PX12427": ["_pxVid", "_pxUuid", "_pxAppId", "_pxHostUrl", "_pxCustomLogo", "_pxJsClientSrc", "_pxFirstPartyEnabled", "_pxDisplayErrorMessage", "_pxToggleOpenForm", "_pxUuidCopyToClipboard", "_pxSubmitForm", "_pxItemSelected", "_pxAction", "_pxMobile", "_Vb73hTEghandler", "_pxInit"],
                "PX11842": [// "_html5shiv"
                ],
                // "PX12439": ["PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Chrome PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Chromium PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Microsoft Edge PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "WebKit built-in PDF::Portable Document Format::application/pdf~pdf::text/pdf~pdf"],
                "PX12439": this.createPX12439(),
                "PX11993": this.ts,
                "PX12228": "rr@https://client.perimeterx.net/PXVb73hTEg/main.min.js:1534:13\nfunc@https://client.perimeterx.net/PXVb73hTEg/main.min.js:7299:21\nke@https://client.perimeterx.net/PXVb73hTEg/main.min.js:1001:14\n@https://client.perimeterx.net/PXVb73hTEg/main.min.js:7415:15",
                "PX12288": true,
                "PX12446": 33,
                "PX11564": 0,
                "PX12236": "fd7149bbfb316699ef918fa7bb7510a8",
                "PX11309": "d41d8cd98f00b204e9800998ecf8427e",
                "PX11551": "fd7149bbfb316699ef918fa7bb7510a8",
                "PX12586": 1,
                "PX11843": this.screen.width, //screen["width"]
                "PX11781": this.screen.height,// screen["height"]
                "PX12121": this.screen.availwidth,// screen["availWidth"
                "PX12128": this.screen.availheight,// screen["availHeight"]
                "PX12387": `${this.screen.width}X${this.screen.height}`,// F + "X" + N
                "PX12003": this.screen.pixeldepth, // screen["pixelDepth"]
                "PX11380": this.screen.colordepth, // screen["colorDepth"]
                // "PX11494": window.innerwidth, // v["innerWidth"]
                // "PX12411": window.innerheight, // v["innerHeight"]
                "PX11849": "6ca82c5b",
                "PX11583": "en",
                "PX12458": this.navigator.platform,
                "PX11681": ["en"],
                "PX11754": this.navigator.useragent,
                "PX12037": false,
                // "PX11621": 8,
                "PX11390": -480,
                "PX11678": true,
                "PX11840": Date(),
                "PX11540": false,
                "PX11539": "cef339a3",
                // "PX11555": 4294705152,
                "PX11452": "4f095675",
                "PX12527": "3207084bd110f1ac964863e23aa78e04",
                "PX11484": [],
                "PX12501": md5(this.vid),
                "PX11902": 2,
                "PX11560": this.performanceNow, // perf
                "PX12280": this.px11280,
                "PX11496": this.uuid,
                "PX12564": null,
                "PX12565": -1, // "PX11379": false,
                // "PX11645": url
                "PX11719": this.cap ? true : undefined, // "PX11379": this.cap ? false : undefined,
                // "PX12348": this.cap ? false : undefined,
                // "PX12307": this.cap ? "PX11745" : undefined,
                // "PX11668": this.cap ? "pxhc" : undefined,
                // "PX11645": this.cap ? "https://booking.flyfrontier.com/Flight/Select" : undefined,
            }
        }
    }

    get_px561() {
        // this.performanceNow += randint(10000, 20000)
        let touchX = parseFloat((randint(135, 280)).toFixed(2))
        this.touchX = touchX;
        let touchScreenX = touchX
        let touchy = randint(37, 45)
        let touchY = randint(395, 414)
        this.touchY = touchY;
        let touchScreenY = touchY
        let downTime = randint(5000, 5100)
        let upTime = this.performance(0)- randint(7353, 7453)
        downTime = this.performance(0)- randint(13789, 14289)
        let r = call_12590_12610(this.uuid, this.hash, this.hash2, this.hashv)
        let px1132 = r[0]
        let px1133 = r[1]
        let px12590 = r[2]
        let px12610 = r[3]
        console.log('hashwasmRes', r);
        let PX11357 = ie(this.token2, 10)
        let PX11360 = randint(312, 380);
        // PX11360 = 591
        return {
            "t": "PX561", "d": {
                "PX11719": true,
                "PX11984": "rr@https://client.perimeterx.net/PXVb73hTEg/main.min.js:1534:13\nru@https://client.perimeterx.net/PXVb73hTEg/main.min.js:3033:28\nLc@https://client.perimeterx.net/PXVb73hTEg/main.min.js:2843:15\n@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:503824\nP@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:503362\ne@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:312173\nt@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:310344\nuf@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:301844\nuf@[native code]",
                "PX11933": true,
                "PX11454": "visible",
                "PX12099": "4YCJ4YGQ4YCa4YCG4YCf4YCe4YGQ4YGI4YGD4YGe4YGQ4YCa4YCX4YCT4YCW4YGQ4YGI4YGD4YGe4YGQ4YCf4YCX4YCG4YCT4YGQ4YGI4YGB4YGe4YGQ4YCG4YCb4YCG4YCe4YCX4YGQ4YGI4YGD4YGe4YGQ4YCB4YCR4YCA4YCb4YCC4YCG4YGQ4YGI4YGG4YGe4YGQ4YCB4YCG4YCL4YCe4YCX4YGQ4YGI4YGB4YGe4YGQ4YCQ4YCd4YCW4YCL4YGQ4YGI4YGD4YGe4YGQ4YCW4YCb4YCE4YGQ4YGI4YGA4YGG4YGe4YGQ4YCQ4YCA4YGQ4YGI4YGD4YGe4YGQ4YCT4YGQ4YGI4YGD4YGe4YGQ4YCQ4YCH4YCG4YCG4YCd4YCc4YGQ4YGI4YGB4YGe4YGQ4YCB4YCC4YCT4YCc4YGQ4YGI4YGE4YGe4YGQ4YCB4YCE4YCV4YGQ4YGI4YGD4YGe4YGQ4YCV4YGQ4YGI4YGB4YGe4YGQ4YCC4YCT4YCG4YCa4YGQ4YGI4YGG4YGe4YGQ4YCU4YCd4YCA4YCf4YGQ4YGI4YGD4YGe4YGQ4YCb4YCc4YCC4YCH4YCG4YGQ4YGI4YGG4YGe4YGQ4YCe4YCT4YCQ4YCX4YCe4YGQ4YGI4YGG4YGe4YGQ4YCa4YGG4YGQ4YGI4YGD4YGe4YGQ4YCG4YCX4YCK4YCG4YCT4YCA4YCX4YCT4YGQ4YGI4YGD4YCP",
                "PX11699": this.performanceNow - randint(3208,3300),
                "PX1133": px1133, // "PX1132": "9070627c1aacaba969ef060613099afeba063d308a0f2cce94d09c4cb0e7c90d",
                "PX1132": px1132,
                "PX12126": true,
                "PX11657": 1,
                "PX12501": md5(this.vid),
                "PX12520": true,
                "PX11991": 1,
                "PX11837": 0,
                "PX11632": 0,
                "PX11409": 0,
                // "PX11926": this.createPX11926(), // "PX11698": ["820,428,491013", "815,430,491014", "810,432,491016", "807,434,491018", "805,435,491020", "801,436,491022", "796,439,491024", "792,441,491026", "791,441,491028", "785,443,491030", "783,444,491032", "821,481,499789", "814,484,499791", "809,487,499793", "807,488,499795", "804,489,499797", "797,493,499799", "794,494,499801", "791,495,499803", "786,497,499805", "784,497,499807", "781,499,499809", "776,501,499811", "771,502,499813", "769,503,499815", "764,505,499817", "759,506,499819", "756,507,499821", "754,507,499823", "748,508,499825", "745,509,499827", "736,510,499834", "733,511,499836", "731,511,499838", "727,512,499840", "722,512,499844", "720,512,499846", "714,512,499849", "712,512,499851", "709,512,499853", "705,512,499855", "703,512,499857", "701,512,499859", "698,512,499861", "697,512,499863", "693,512,499865", "691,512,499867", "690,512,499869", "688,512,499871", "687,512,499873", "685,511,499875", "684,511,499877", "683,511,499879", "679,510,499881", "677,510,499883", "676,509,499885", "674,509,499887", "672,508,499890", "671,508,499892", "669,508,499894", "668,507,499896", "667,507,499898", "666,507,499900", "665,507,499902", "664,506,499904", "662,506,499906", "660,505,499909", "659,504,499911", "658,504,499913", "656,503,499915", "655,503,499917", "654,502,499919", "653,502,499921", "652,501,499923", "649,500,499925", "648,500,499927", "647,499,499929", "646,498,499931", "645,498,499933", "644,497,499935", "643,497,499937", "642,496,499939", "639,494,499942", "638,493,499944", "637,492,499946", "636,491,499948", "635,491,499950", "634,490,499952", "632,489,499954", "631,488,499956", "631,487,499958", "629,486,499960", "628,486,499962", "627,485,499964", "626,484,499966", "625,483,499968", "623,482,499970", "622,481,499972", "622,480,499974", "621,480,499976", "620,479,499978", "619,479,499980", "618,478,499982", "617,478,499984", "616,477,499986", "616,477,499988", "615,476,499990", "615,476,499993", "614,475,499995", "613,475,499998", "612,474,500000", "612,474,500004", "611,474,500007", "610,473,500009", "610,473,500013", "610,473,500016", "609,473,500019", "609,473,500022", "608,473,500026", "608,473,500029", "607,473,500032", "607,473,500035", "606,473,500039", "606,473,500043", "605,473,500046", "604,473,500048", "604,473,500051", "604,473,500053", "603,473,500057", "602,473,500059", "601,473,500061", "601,473,500063", "600,474,500065", "600,474,500067", "599,474,500069", "598,474,500071", "598,474,500074", "597,474,500076", "596,475,500078", "595,475,500080", "595,475,500082", "594,475,500084", "593,476,500086", "592,476,500088", "591,476,500090", "590,476,500092", "590,476,500094", "589,477,500096", "588,477,500098", "587,477,500100"],
                "PX11926": [
                    {
                        "PX12343": "pointerup",
                        "PX11652": 0,
                        "PX11699": upTime,
                        "PX12270": "true"
                    },],
                // "PX11433": this.createPX11433(),
                // "PX11749": [
                //     {
                //         "PX12343": "touchcancel",
                //         "PX11699": randint(12490, 12590),
                //         "PX12270": "true",
                //         "PX11652": 0,
                //         "PX11425": []
                //     }
                // ],
                // "PX11698": this.createPX11698(true),
                // "PX11698": [
                //     `${this.startPoint.x},${randint(428, 512)},${randint(7888, 8100)}`,
                // ],
                "PX12160": [
                    ""
                    // "#px-captcha-wrapper>DIV1>DIV2", "#px-captcha-wrapper>DIV1", "#px-captcha", ""
                ],
                "PX11427": randint(458, 458 + 30),
                "PX12208": 0,
                "PX11824": this.screen.width,
                "PX11631": randint(51, 66),
                "PX11843": this.screen.width,
                "PX11781": this.screen.height,
                "PX11906": ["getAttribute", "className", "nodeName", "nodeName"],
                // "PX11343": [
                //     "ontouchstart",
                //     "ontouchmove"
                // ],
                // "PX12373": [
                //     "role"
                // ],
                // "PX11620": [
                //     "region"
                // ],
                // # 按下的点
                "PX11945": touchX,
                "PX12174": touchy,
                "PX11882": "pointerdown",
                "PX11642": touchScreenX,
                "PX11313": touchScreenY,
                "PX11772": downTime,

                // "PX11529": this.memory().usedJSHeapSize,// usedJSHeapSize
                // "PX11529": 74208842,// usedJSHeapSize
                // "PX11555": this.memory().jsHeapSizeLimit,// jsHeapSizeLimit
                // "PX11833": this.memory().totalJSHeapSize,// totalJSHeapSize
                // # 松开的
                "PX12024": touchX,
                "PX11759": touchy,
                "PX11896": "pointerup",
                "PX11633": touchScreenX,
                "PX11445": touchScreenY,
                "PX12417": upTime,


                "PX12382": [parseInt(upTime - downTime) - randint(3, 10)], // todo
                "PX11735": true,
                "PX11874": "en", // token
                "PX12205": this.token,
                "PX11357": parseInt(PX11357),
                "PX11360": PX11360,
                // "PX12563": sha256(PX11360 + 'pxhc'), // "PX12563": createPX12563(),
                "PX11321": this.performance(0) - randint(7334,7434),
                "PX11351": false,
                "PX11919": false,
                "PX11710": false,
                "PX12407": false,
                "PX12411": this.window.innerheight, // innerHeight
                "PX11494": this.window.innerwidth, // innerWidth
                "PX12265": 1,
                "PX11706": "PX12374",
                "PX12489": "v1.9.8",
                "PX12499": false,
                "PX12500": false,
                "PX12521": true,
                "PX12522": false,
                // "PX12528": false,
                "PX12529": true,
                // "PX12585": this.cap ? "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true" : "https://booking.flyfrontier.com/Flight/Select",
                // "PX12596": false,
                "PX12538": true,
                "PX12537": 4,
                "PX12544": true,
                "PX12589": "succeeded", // wasm 相关 先写死吧
                "PX12590": px12590,
                "PX12610": px12610, // end  wasm 耗时
                "PX12504": upTime + randint(40,80),
                "PX12547": false,
                "PX11902": 4,
                "PX11560": this.performance(0), // performance.now()
                "PX12280": this.px11280,
                "PX11496": this.uuid,
                "PX12564": null,
                "PX12565": -1,
                // "PX11379": false,
                // "PX12307": "PX11745",
                // "PX11668": "pxhc",
                // "PX12348": false
            }
        }

    }


    get_px11782() {
        let PX11782 = {
            "PX11719": true,
            "PX11984": "rr@https://client.perimeterx.net/PXVb73hTEg/main.min.js:1534:13\nru@https://client.perimeterx.net/PXVb73hTEg/main.min.js:3033:28\nQc@https://client.perimeterx.net/PXVb73hTEg/main.min.js:2924:23\n@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:503868\nP@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:503362\ne@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:312173\nt@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:310344\nuf@https://captcha.perimeterx.net/PXVb73hTEg/captcha.js:2:301844\nuf@[native code]",
            "PX11933": true,
            "PX11454": "visible",
            "PX12099": "4YCJ4YGQ4YCa4YCG4YCf4YCe4YGQ4YGI4YGD4YGe4YGQ4YCa4YCX4YCT4YCW4YGQ4YGI4YGD4YGe4YGQ4YCf4YCX4YCG4YCT4YGQ4YGI4YGB4YGe4YGQ4YCG4YCb4YCG4YCe4YCX4YGQ4YGI4YGD4YGe4YGQ4YCB4YCR4YCA4YCb4YCC4YCG4YGQ4YGI4YGG4YGe4YGQ4YCB4YCG4YCL4YCe4YCX4YGQ4YGI4YGB4YGe4YGQ4YCQ4YCd4YCW4YCL4YGQ4YGI4YGD4YGe4YGQ4YCW4YCb4YCE4YGQ4YGI4YGA4YGG4YGe4YGQ4YCQ4YCA4YGQ4YGI4YGD4YGe4YGQ4YCT4YGQ4YGI4YGD4YGe4YGQ4YCQ4YCH4YCG4YCG4YCd4YCc4YGQ4YGI4YGB4YGe4YGQ4YCB4YCC4YCT4YCc4YGQ4YGI4YGE4YGe4YGQ4YCB4YCE4YCV4YGQ4YGI4YGD4YGe4YGQ4YCV4YGQ4YGI4YGB4YGe4YGQ4YCC4YCT4YCG4YCa4YGQ4YGI4YGG4YGe4YGQ4YCU4YCd4YCA4YCf4YGQ4YGI4YGD4YGe4YGQ4YCb4YCc4YCC4YCH4YCG4YGQ4YGI4YGG4YGe4YGQ4YCe4YCT4YCQ4YCX4YCe4YGQ4YGI4YGG4YGe4YGQ4YCa4YGG4YGQ4YGI4YGD4YGe4YGQ4YCG4YCX4YCK4YCG4YCT4YCA4YCX4YCT4YGQ4YGI4YGD4YCP",
            "PX12585": "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-12-30&ADT=1&umnr=false&mon=true",
            "PX12596": false,
            "PX12618": false,
            "PX11699": this.performanceNow,
            "PX755": this.px755,
            "PX12057": "pxCaptcha",
            "PX11490": "booking.flyfrontier.com",
            "PX11874": "en",
            "PX12049": false,
            "PX12489": "v1.9.8",
            "PX11902": 7,
            "PX11560": this.performance(0), // performance.now(),
            "PX12280": this.px11280,
            "PX11496": this.uuid,
            "PX12564": null,
            "PX12565": -1, // "PX11379": false,
            // "PX12307": "PX11745",
            // "PX11668": "pxhc",
            // "PX12348": false
        }
        return {
            "t": "PX11782", "d": PX11782
        }
    }


    get_px12419() {
        let PX12419 = {
            "PX12040": this.mouseEvent,
            "PX12170": "PX11994",
            "PX11934": this.cap ? "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true" : "https://www.flyfrontier.com/",
            "PX12160": {
                "#px-captcha-wrapper>DIV1>DIV2": 1, "#px-captcha-wrapper>DIV1": 2
            },
            "PX11875": this.uuid,
            "PX11844": 0,
            "PX12465": true, // lu.push(+t.movementX.toFixed(2) + "," + +t.movementY.toFixed(2) + "," + he(e)) 10个
            "PX11393": this.createPX11393(),
            "PX12470": this.startTs, // 鼠标位置记录
            "PX11698": this.createPX11698(),
            "PX11679": "1097x0",
            "PX11902": 8,
            "PX11560": this.performance(0),
            "PX11719": true,
            "PX12280": this.px11280,
            "PX11496": this.uuid,
            "PX12564": null,
            "PX12565": -1, // "PX11379": false,
            // "PX12307": "PX11745",
            // "PX11668": "pxhc",
            // "PX12348": false
        };
        return {
            "t": "PX12419", "d": PX12419
        }
    }

    createPX11698(all = false) {
        if (!all) {
            let res = [];
            this.mouseEvent.forEach(e => {
                if (e.PX12301) {
                    res.push(e.PX12301)
                } else {
                    res.push(`${e.PX12108},${e.PX12414},${e.PX11699}`)

                }
            })
            return res;
        }
        let lens = all ? this.mouses.length > 150 ? 150 : this.mouses.length : 5

        let res = [];
        for (let i = 0; i < lens; all ? i++ : i += 2) {
            res.push(`${this.mouses[i].x},${this.mouses[i].y},${this.mouses[i].t}`)
        }
        return res;
    }

    createPX11393() {
        let res = []
        let t = this.performanceNow2;

        //
        for (let i = 0; i < 10; i++) {
            let x = this.mouses[i + 1].x - this.mouses[i].x;
            let y = this.mouses[i + 1].y - this.mouses[i].y;
            t += randint(8, 12)
            res.push(`${x},${y},${t}`)
        }


        return res.join('|')
    }

    createPX11926() {
        let t = this.performanceNow - randint(100, 300);
        return [
            {
                "PX12343": "pointerup",
                "PX11652": 0,
                "PX11699": t,
                "PX12270": "true"
            },
            // {
            //     "PX12343": "contextmenu",
            //     "PX11652": 0,
            //     "PX11699": t,
            //     "PX12270": "true"
            // }
        ]
        // [
        //     {
        //             "PX12343": "mouseover",
        //             "PX11652": 0,
        //             "PX11699": performanceNow(randomInt(10,30)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseout",
        //             "PX11652": 0,
        //             "PX11699": performanceNow(0),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 1,
        //             "PX11699": performanceNow(0),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseout",
        //             "PX11652": 1,
        //             "PX11699": performanceNow(randomInt(100,300)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 2,
        //             "PX11699": performanceNow(randomInt(10,30)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(randomInt(-100,-300)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseout",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(randomInt(-100,-300)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(randomInt(10,30)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseout",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseout",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(randomInt(10,30)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(0),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseout",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(randomInt(10,30)),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "mouseover",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(0),
        //             "PX12270": "true"
        //         }, {
        //             "PX12343": "pointerup",
        //             "PX11652": 3,
        //             "PX11699": performanceNow(randomInt(10,30)),
        //             "PX12270": "true"
        //         }]
        let res = [];
        for (let i = 0; i < randint(4, 8); i++) {
            if (Math.random() < 0.5) {
                this.performanceNow += randint(100, 200)
                res.push({
                    "PX12343": "mouseover", "PX11652": 1, "PX11699": this.performanceNow, "PX12270": "true"
                })
            } else {
                this.performanceNow += randint(100, 200)
                res.push({
                    "PX12343": "mouseover", "PX11652": 1, "PX11699": this.performanceNow, "PX12270": "true"
                })
                this.performanceNow += randint(10, 20)
                res.push({
                    "PX12343": "mouseout", "PX11652": 1, "PX11699": this.performanceNow, "PX12270": "true"
                })
            }
        }
        this.performanceNow += randint(20, 50)

        res.push({
            "PX12343": "pointerup", "PX11652": 3, "PX11699": this.performanceNow, "PX12270": "true"
        })

        return res
    }

    performance(a) {
        this.performanceNow += a
        return this.performanceNow
    }

    get_px11796() {

        return {
            "t": "PX11796",
            "d": {
                "PX11771": "https://collector-PXVb73hTEg.px-client.net/b/g",
                "PX11902": 2,
                "PX11560": this.performanceNow,
                "PX12280": this.px11280,
                "PX11496": "a1a917ee-95ad-11ee-990f-64248e52548b",
                "PX12564": null,
                "PX12565": -1
            }
        }
    }


    get_px12523() {
        let t = randint(1887, 2200);
        let touchX = parseFloat((randint(440, 493) + Math.random()).toFixed(2))
        let touchScreenX = parseFloat((randint(2668, 2695) + Math.random()).toFixed(6))
        let touchY = parseFloat((randint(280, 300) + Math.random()).toFixed(2))
        let touchScreenY = parseFloat((randint(640, 660) + Math.random()).toFixed(6))
        let downTime = randint(5000, 5100)
        let upTime = this.performanceNow - randint(1000, 2000)
        downTime = upTime - randint(7800, 8200)
        let r = call_12590_12610(this.uuid, this.hash, this.hash2, this.hashv)
        let px1132 = r[0]
        let px12590 = r[1]
        let px12610 = r[2]
        console.log('hashwasmRes', r);
        let PX11357 = ie(this.token2, 10)
        let PX11360 = randint(312, 380);
        return {
            "t": "PX12523", "d": {
                "PX12040": {
                    "PX11926": [
                        {
                            "PX12343": "mouseover",
                            "PX11652": 0,
                            "PX11699": t,
                            "PX12270": "true"
                        },
                        {
                            "PX12343": "contextmenu",
                            "PX11652": 0,
                            "PX11699": t,
                            "PX12270": "true"
                        }
                    ],
                    "PX11749": [
                        {
                            "PX12343": "touchcancel",
                            "PX11699": randint(9485, 9485 + 1000),
                            "PX12270": "true",
                            "PX11652": 0,
                            "PX11425": []
                        }
                    ],
                    "PX11698": ["254,496,4680"]
                },
                "PX12160": [""],
                "PX11427": randint(458, 458 + 30),
                "PX12208": 0,
                "PX11824": randint(410, 450),
                "PX11631": randint(51, 66),
                "PX11843": this.screen.width,
                "PX11781": this.screen.height,
                "PX11906": ["getAttribute", "className", "nodeName", "nodeName"],
                "PX11343": ["ontouchstart", "ontouchmove"],
                "PX11945": touchX,
                "PX12174": touchY,
                "PX11882": "pointerdown",
                "PX11642": touchScreenX,
                "PX11313": touchScreenY,
                "PX11772": downTime,

                // "PX11529": this.memory().usedJSHeapSize,// usedJSHeapSize
                // "PX11529": 74208842,// usedJSHeapSize
                // "PX11555": this.memory().jsHeapSizeLimit,// jsHeapSizeLimit
                // "PX11833": this.memory().totalJSHeapSize,// totalJSHeapSize
                // # 松开的
                "PX12024": touchX,
                "PX11759": touchY,
                "PX11896": "touchcancel",
                "PX11633": parseFloat((touchScreenX + Math.random()).toFixed(6)),
                "PX11445": touchScreenY,
                "PX12417": upTime,
                "PX12382": [parseInt(upTime - downTime) - randint(3, 10)], // todo
                "PX11360": PX11360,
                "PX11735": true,
                "PX11874": "en",
                "PX12205": this.token,
                "PX11357": parseInt(PX11357),
                "PX11321": randint(9650, 9650 + 500),
                "PX11351": false,
                "PX11919": false,
                "PX11710": false,
                "PX12407": false,
                "PX12411": this.window.innerheight,
                "PX11494": this.window.innerwidth,
                "PX12265": 1,
                "PX11706": "PX12374",
                "PX12489": "v1.9.8",
                "PX12499": false,
                "PX12500": false,
                "PX12521": true,
                "PX12522": false,
                "PX12529": true,
                "PX12616": null,
                "PX12617": null,
                "PX12538": true,
                "PX12537": 5,
                "PX11454": "visible",
                "PX11902": 4,
                "PX11560": this.performanceNow,
                "PX12280": this.px11280,
                "PX11496": this.uuid,
                "PX12564": null,
                "PX12565": -1,
                // "PX11379": false,
                // "PX12307": "PX11745",
                // "PX11668": "pxhc",
                // "PX12348": false,
                // "PX11645": "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-12-30&ADT=1&umnr=false&mon=true"
            }
        }


    }

    createPX11433() {
        let res = [];
        let t = randint(24444, 25444)
        for (let i = 0; i < randint(2, 3); i++) {
            res.push(`${this.touchX},${randint(400, 410)},${t}`)
            t += randint(100, 200)
            this.touchX += randint(1, 3)
        }
        return res;
    }

    createPX12555() {
        let keys = Object.keys(this.ENV.plugins);

        let plugins = {};
        keys.forEach(k => {
            plugins[k] = {
                f: this.ENV.plugins[k].filename,
                n: this.ENV.plugins[k].name
            };
        })
        return {
            // todo
            // "plugext": {
            //     "0": {
            //         "f": "internal-pdf-viewer", "n": "PDF Viewer"
            //     }, "1": {
            //         "f": "internal-pdf-viewer", "n": "Chrome PDF Viewer"
            //     }, "2": {
            //         "f": "internal-pdf-viewer", "n": "Chromium PDF Viewer"
            //     }, "3": {
            //         "f": "internal-pdf-viewer", "n": "Microsoft Edge PDF Viewer"
            //     }, "4": {
            //         "f": "internal-pdf-viewer", "n": "WebKit built-in PDF"
            //     }
            // }, "plugins_len": 5
            "plugext": plugins, "plugins_len": keys.length
        }
    }

    createPX12069() {
        let keys = Object.keys(this.ENV.plugins);
        return keys.map(k => {
            return this.ENV.plugins[k].name
        })
    }

    createPX12439() {
        let keys = Object.keys(this.ENV.plugins);
//         return keys.map(k=>{
// // {
// //                     "0": {
// //                         "description": "便携文稿格式",
// //                         "suffixes": "pdf",
// //                         "type": "application/pdf",
// //                         "enabledPlugin": []
// //                     },
// //                     "1": {"description": "便携文稿格式", "suffixes": "pdf", "type": "text/pdf", "enabledPlugin": []},
// //                     "application/pdf": {
// //                         "description": "便携文稿格式",
// //                         "suffixes": "pdf",
// //                         "type": "application/pdf",
// //                         "enabledPlugin": []
// //                     },
// //                     "text/pdf": {
// //                         "description": "便携文稿格式",
// //                         "suffixes": "pdf",
// //                         "type": "text/pdf",
// //                         "enabledPlugin": []
// //                     },
// //                     "description": "便携文稿格式",
// //                     "filename": "internal-pdf-viewer",
// //                     "length": 2,
// //                     "name": "PDF Viewer"
// //                 },
//             let plg = this.ENV.plugins[k]
//           // "PDF Viewer::便携文稿格式::application/pdf~pdf::text/pdf~pdf",
//           //   for (var t = 0; t < m["plugins"]["length"] && t < 30; t++) {
//           //       for (var n = m["plugins"][t], r = n["name"] + "::" + n["description"], a = 0; a < n["length"]; a++) {
//           //         r = r + "::" + n[a]["type"] + "~" + n[a]["suffixes"];
//           //       }
//           //       e["push"](r);
//           //     }
//             return plg.name+'::'+ plg.description+'::' + plg['0'].type + '~' + plg['0'].suffixes
//         })
        var e = [];
        try {
            let m = this.ENV
            for (var t = 0; t < Object.keys(m["plugins"])["length"] && t < 30; t++) {
                for (var n = m["plugins"][t], r = n["name"] + "::" + n["description"], a = 0; a < n["length"]; a++) {
                    r = r + "::" + n[a]["type"] + "~" + n[a]["suffixes"];
                }
                e["push"](r);
            }
        } catch (e) {

        }
        return e;
    }
}


function $C_kKK(t, e) {
    for (var n = "", r = 0; r < t.length; r++) n += String.fromCharCode(e ^ t.charCodeAt(r));
    return n;
}

if (import.meta.url === `file://${process.argv[1]}`) {

    let a2 = "B1kHB1kHFF4JX1kODVAKRVBQXF1FWVkNDUUKXVpfRQteDVFRDFhcXF8MWBRbWV1bXlhYWBQcGh0NFhYWFllZWQcHWRQLCxReWBQ9Wi4cMj4mGAwvPVE8Ly5cJx9VVRYWFhYHWVlZBwcHWRRZX1hYXV1cWlpZXVpdFhYWFllZB1lZWRQMWw5bX19fCQldXlALWw1eUFoJX1kOX1tbUQ4JXwwJXgpYX1wMXApQDVwLXQsKDFtQDVpfXl4LCllRXAtQWlpcFhYWFgdZWQdZWQcHFF4JX1pYCloORVBQXF1FWVkNDUUKXVpQRQ5fCl8ODA5ZDFwOWxQcGh0NFhYWFlkHBwcHWRQLBA1eChpRXA9eBgFYWVoDXAAAWBYWFhYHWVkHWVkUXglfWlhQXFBFUFBcXUVZWQ0NRQpdWlBFDl8KXw4MDlkMXA5bFhYWFgdZB1lZWRQLHRYWFhZZWVkHWQcUWVBYXF9QWlhfW11bXF1dWFhbWlwWFhYWB1lZWQcHBwcUWV1ZWw=="

    a2 = "AV8BAV9fEl8SXFsMVlgKDwsIWVYKWQxaWQtZD1cNW1dfX1xaXV1eDV9fXFtZDF5WWg8NDw1XCAhZXA1eXggNWQsPWFgIXRJZCF1XWVhcWl9fCwoMWF0KWgpaWl1bCgxeW1kNCFZbXFcIWVdXVlhXC14PWlcMCw1YXFxaXgxbCg1cWFxXVggKEl9cEggPAh0LEBAQEF9fXwFfARJaWlpbWVhXVlZbWFtaVlpcW1haWhAQEBBfXwEBXwESXxJZCF1eWl8IXkMMXlwKQ19fCwtDVw9YW0NbV1dZWw8IXQ9aWVcSW11ZVhJcXQhcXVZWXAteXl9WXwsPCFwLDQxWW1tYWw1eXV5ZD1wIWQ1bCghZWwxdWl1WXl4LV1hZV14PXQ9ZDA0MD1sNCgtdC1sNWgtfCApZDF0ND1tWX1kIVl4IWg1fXgpeC1sLDVlWC1ldXghYCghfW14MWVpXCFlaCF5fVl5fXl0MWTFRVVVVEl4SIC8QEBAQAV9fAV9fElkIXFcICw0IQwxeXApDX18LC0NXDwtaQ18PWw8KClkKXwteWRAQEBABXwFfX18SDRsQEBAQXwEBAQFfEg0DCAIEDwlfXgdaVwkNDAgGDQwJEBAQEAFfXwFfAV8BElheXFsQEBAQAV8BAV8BElkIXFcIXAxaQwxeXApDX18LC0NXDwtaQwxXXAoLD1dfXlhYXxJdX1tdWF5eXhIaHBsLEBAQEF9fXwEBXxINDRJYXhI7XCgaNDggHgopO1c6KShaIRlTUxAQEBABX18BXwFfXxJfWV5aV1pfV1daVldaEBAQEAFfXwEBX18BElkIXA9eXFxeQwxeXApDX18LC0NXDwtaQ18PWw8KClkKXwteWRIaHBsLEBAQEF8BXwEBXxINDQ1UXhAQEBBfX18BAV8SHAgSWF4SXxAQEBBfXwFfX18SWVlaDVwPDAoIXFsNW19WV1dfWAtfDVtXDVwLDVxWXVpaDA9aVl5ZXgpdDVZfV19bV10IClwLXlpdC1ddX1lYWBAQEBBfX18BAV8SCB4SWF4SXw=="

    let res = $C_kKK(atob(a2), 878 % 128).split('~~~~')
    let vid, sid, uuid, ts, num1, num2, str1, startTs, startTs2, token, ci, hash, hash2, hashv, cts, token2, px755;

    uuid = '7c70fae0-b02d-11ee-88bd-81c82eacb3ad'

    // res = "[\"111oo1|cc|60|U2FtZVNpdGU9TGF4Ow==\",\"111oo1|fp|60|1\",\"1oooo1|cmf17cni5j4pgcfe3ml0\",\"1o1oo1|ccc:0\",\"o11o11|3414a63a-af6b-11ee-bebe-eac9e234c00c\",\"o11oo11o|3414acc1-af6b-11ee-bebe-eac9e234c00c|true\",\"111oo1|rf|60|1\",\"o1oo11|1|7c0ece917301e5d2af4ace0dbcfd31309695dbbad3ae9800acc6b382dec8a|0789952a7077998743bd0c1738cd7307a79bca493e8980922793771b17754eeb|12|false\",\"11oo1o|1|3417f1d0-af6b-11ee-8541-09357bb5868b|2332|f8a7f17d2f444e54a32c0410d9e90ab05bb0d6b0a2682b54a65d7beeb633dda1235ba5deb89819c98b062cad4668134fddc40c7c42520b696c23f9fe6bcb5818_?=29|0|NA\",\"o11o1o1o|4873\",\"11o111|66a1e2aabdd4688f74e195149fad7e0ae8b36ca9b02f9d5e0b5b312b3b14fce1\",\"o1o111|cu\",\"111o1o|53206504316724566005\",\"o11o1o11|1704858546541\",\"o1oo1o|2fd93c84-af6b-11ee-8a47-b0ac2bd23d91|31536000|true\"]"
    // res = JSON.parse(res)


    console.log(res)
    res.forEach(e => {
        let t = e.split('|')
        let data = t.slice(1,)
        switch (t[0]) {
            case"o11o1o11":
                ts = data[0];
                break;
            case"o1oo11":
                hash = data[1]
                hash2 = data[2];
                hashv = data[3]
                break;
            case"o11o11":
                sid = data[0]
                break;
            case"o1oo1o":
                vid = data[0]
                break;
            case"o11o1o1o":
                num1 = data[0]
                break;
            case"111o1o":
                num2 = data[0];
                break;
            case"o11o11oo":
                cts = data[0]
                break;
            case"1oooo1":
                str1 = data[0]
                break;
            case'11oo1o':
                px755 = data[1]
                token = data[3].split('_')[0]
                token2 = data[3].split('_')[1]
            case"":
                break;
            case"":
                break;
            case"":
                break;
            case"":
                break;
            case"":
                break;
        }
    })


    // sid = sid === undefined ? "3414a63a-af6b-11ee-bebe-eac9e234c00c" : sid
    let performanceNow = 68620, px12280 = Date.now()
    startTs = 1704941993315
    performanceNow = new Date().getTime() - startTs + randint(3000,5000)
    // performanceNow = randint(10000, 11000)
    // performanceNow = randint(3000,4000)
    let env = new PxEnv('', 'https://booking.flyfrontier.com/Flight/Select', sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px12280, px755, token, token2, hash, hash2, hashv)

    env.cap = true
    setTimeout(function () {
        // console.log(JSON.stringify(env.get_px12419()))
        // console.log(env.createPX11698())
        // console.log(env.createPX11698(true))
        // console.log(JSON.stringify(env.get_px12123()))
        // console.log(JSON.stringify(env.get_px561()))
        // console.log(JSON.stringify([env.get_px11547(),
        //     env.get_px12123(), env.get_px561(), env.get_px11782(),
        //     env.get_px12419()
        // ]))
        // console.log(env.get_px561())
        let res1 = [env.get_px11590()
            // , env.get_px11796()
        ]
        // console.log(JSON.stringify(res1))
        // env.performanceNow = randint(16000, 22000)
        let res = [env.get_px11547(),
            env.get_px12123(), env.get_px561(), env.get_px11782(),
            // env.get_px12419()
        ]
        env.performanceNow = randint(3000, 4000)

        // console.log(JSON.stringify(env.createPX11698(true)))
        // let px11560 = env.get_px561();
        let keys = [
            "PX11699",
            "PX1133",
            "PX11427",
            "PX12208",
            "PX11824",
            "PX11631",
            "PX11843",
            "PX11781",
            "PX11945",
            "PX12174",
            "PX11642",
            "PX11313",
            "PX11772",
            "PX12024",
            "PX11759",
            "PX11633",
            "PX11445",
            "PX12417",
            "PX11360",
            "PX12504",
            "PX11902",
            "PX11560",
            "PX12280",
            "PX11321",
            "PX12411",
            "PX11494",
            "PX12265",
            "PX12537",
            "PX12504",]
        for (let i = 0; i < keys.length; i++) {
            let key = keys[i]
            console.log(`e[1].d["${key}"] = ${JSON.stringify(res[2].d[key])}`)
        }
        // console.log(env.get_px561().d['PX11984'])
    }, 100)

}
