Commit b31f5fe6 authored by wang's avatar wang

11

parent d1d04b0e
...@@ -6,7 +6,7 @@ __pycache__/ ...@@ -6,7 +6,7 @@ __pycache__/
# C extensions # C extensions
*.so *.so
.idea
# Distribution / packaging # Distribution / packaging
.Python .Python
build/ build/
......
This source diff could not be displayed because it is too large. You can view the blob instead.
import base64 import base64
import ctypes
import json import json
import random import random
import time import time
import ctypes
import execjs
import requests
import tls_client import tls_client
from py_mini_racer import MiniRacer
from loguru import logger from loguru import logger
with open('test.js', 'r', encoding='utf-8') as f: with open('test.js', 'r', encoding='utf-8') as f:
...@@ -22,10 +24,12 @@ def unsinged_right_shift(x, y): ...@@ -22,10 +24,12 @@ def unsinged_right_shift(x, y):
class PxBypass(): class PxBypass():
session = tls_client.Session(client_identifier='chrome_112') session = tls_client.Session(client_identifier='chrome_112')
# session = requests.Session()
session.proxies = { session.proxies = {
'http': 'http://127.0.0.1:7890', 'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890', 'https': 'http://127.0.0.1:7890',
} }
# session.proxies = { # session.proxies = {
# 'http': "http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600", # 'http': "http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600",
# 'https': "http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600", # 'https': "http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600",
...@@ -43,20 +47,20 @@ class PxBypass(): ...@@ -43,20 +47,20 @@ class PxBypass():
def _init(self): def _init(self):
headers = { headers = {
"authority": "www.spirit.com", "authority": "www.flyfrontier.com",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7", "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6",
"cache-control": "no-cache", "cache-control": "no-cache",
"pragma": "no-cache", "pragma": "no-cache",
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"", "sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"sec-ch-ua-mobile": "?0", "sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"", "sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "document", "sec-fetch-dest": "document",
"sec-fetch-mode": "navigate", "sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin", "sec-fetch-site": "none",
"sec-fetch-user": "?1", "sec-fetch-user": "?1",
"upgrade-insecure-requests": "1", "upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
} }
res = self.session.get(self.target_url, headers=headers) res = self.session.get(self.target_url, headers=headers)
self.log.info(f"初始化请求 res {res.status_code}") self.log.info(f"初始化请求 res {res.status_code}")
...@@ -82,9 +86,9 @@ class PxBypass(): ...@@ -82,9 +86,9 @@ class PxBypass():
"ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb",
"fc", "fd", "fe", "ff"] "fc", "fd", "fe", "ff"]
bs = 0 bs = 0
ys = [random.randint(10,255) for _ in range(6)] ys = [random.randint(10, 255) for _ in range(6)]
# random.shuffle(ys) # random.shuffle(ys)
Gs = random.randint(1100,9999) Gs = random.randint(1100, 9999)
Ws = 0 Ws = 0
s = Gs s = Gs
h = get_timestamp() h = get_timestamp()
...@@ -123,7 +127,7 @@ class PxBypass(): ...@@ -123,7 +127,7 @@ class PxBypass():
t2 = t1 + random.randint(3, 12) t2 = t1 + random.randint(3, 12)
_uuid = self.__uuid() _uuid = self.__uuid()
data = [{"t": "PX12095", data = [{"t": "PX12095",
"d": {"PX11645": "https://www.spirit.com/", "PX12207": 0, "PX12458": "Win32", "PX11902": 0, "d": {"PX11645": "https://www.flyfrontier.com/", "PX12207": 0, "PX12458": "Win32", "PX11902": 0,
"PX11560": random.randint(8549, 8549 * 3), "PX12248": 3600, "PX11385": t1, "PX12280": t2, "PX11560": random.randint(8549, 8549 * 3), "PX12248": 3600, "PX11385": t1, "PX12280": t2,
"PX11496": _uuid, "PX12564": None, "PX12565": -1, "PX11496": _uuid, "PX12564": None, "PX12565": -1,
"PX11379": True}}] "PX11379": True}}]
...@@ -131,8 +135,7 @@ class PxBypass(): ...@@ -131,8 +135,7 @@ class PxBypass():
self.log.info(f'data_str {data_str}') self.log.info(f'data_str {data_str}')
payload = base64.b64encode(self.encrypt(data_str, 50)).decode() payload = base64.b64encode(self.encrypt(data_str, 50)).decode()
ctx = MiniRacer() ctx = execjs.compile(jsCode)
ctx.eval(jsCode)
payload = ctx.call('enc', payload, _uuid) payload = ctx.call('enc', payload, _uuid)
self.log.info(f'payload {payload}') self.log.info(f'payload {payload}')
tag = "v8.6.4" tag = "v8.6.4"
...@@ -159,9 +162,9 @@ class PxBypass(): ...@@ -159,9 +162,9 @@ class PxBypass():
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7", "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"cache-control": "no-cache", "cache-control": "no-cache",
"content-type": "application/x-www-form-urlencoded", "content-type": "application/x-www-form-urlencoded",
"origin": "https://www.spirit.com", "origin": "https://www.flyfrontier.com",
"pragma": "no-cache", "pragma": "no-cache",
"referer": "https://www.spirit.com/", "referer": "https://www.flyfrontier.com/",
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"", "sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"sec-ch-ua-mobile": "?0", "sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"", "sec-ch-ua-platform": "\"Windows\"",
...@@ -217,43 +220,34 @@ class PxBypass(): ...@@ -217,43 +220,34 @@ class PxBypass():
def __gen_pc(self, data_str, param): def __gen_pc(self, data_str, param):
# self.log.info(f'genpc {data_str} {param}') # self.log.info(f'genpc {data_str} {param}')
ctx = MiniRacer() ctx = execjs.compile(jsCode)
ctx.eval(jsCode)
return ctx.call('Jt', param, data_str) return ctx.call('Jt', param, data_str)
def __token(self): def __token(self):
headers = { response = self.session.get(
"authority": "www.spirit.com", 'https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-08-30&ADT=1&umnr=false&mon=true',
"accept": "application/json, text/plain, */*", headers={
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7", "authority": "www.flyfrontier.com",
"cache-control": "no-cache", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"content-type": "application/json", "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6",
"ocp-apim-subscription-key": "dc6844776fe84b1c8b68affe7deb7916", "cache-control": "no-cache",
"origin": "https://www.spirit.com", "pragma": "no-cache",
"pragma": "no-cache", "sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"referer": "https://www.spirit.com/", "sec-ch-ua-mobile": "?0",
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"", "sec-ch-ua-platform": "\"macOS\"",
"sec-ch-ua-mobile": "?0", "sec-fetch-dest": "document",
"sec-ch-ua-platform": "\"Windows\"", "sec-fetch-mode": "navigate",
"sec-fetch-dest": "empty", "sec-fetch-site": "none",
"sec-fetch-mode": "cors", "sec-fetch-user": "?1",
"sec-fetch-site": "same-origin", "upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
} }, allow_redirects=True)
url = "https://www.spirit.com/api/prod-token/api/v1/token"
data = {
"applicationName": "dotRezWeb"
}
data = json.dumps(data, separators=(',', ':'))
response = self.session.post(url, headers=headers, data=data)
print(response.text) print(response.text)
if __name__ == '__main__': if __name__ == '__main__':
url = "https://www.spirit.com/" url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-08-30&ADT=1&umnr=false&mon=true"
px = PxBypass(url) px = PxBypass(url)
px.run() px.run()
print(unsinged_right_shift(275404960, 24) & 255) print(unsinged_right_shift(275404960, 24) & 255)
{
"name": "px3",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "px3",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@babel/core": "^7.22.10"
}
},
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz",
"integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.10.tgz",
"integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==",
"dependencies": {
"@babel/highlight": "^7.22.10",
"chalk": "^2.4.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
"version": "7.22.9",
"resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.22.9.tgz",
"integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.22.10.tgz",
"integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10",
"@babel/helper-compilation-targets": "^7.22.10",
"@babel/helper-module-transforms": "^7.22.9",
"@babel/helpers": "^7.22.10",
"@babel/parser": "^7.22.10",
"@babel/template": "^7.22.5",
"@babel/traverse": "^7.22.10",
"@babel/types": "^7.22.10",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.2.2",
"semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/generator": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.22.10.tgz",
"integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==",
"dependencies": {
"@babel/types": "^7.22.10",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz",
"integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==",
"dependencies": {
"@babel/compat-data": "^7.22.9",
"@babel/helper-validator-option": "^7.22.5",
"browserslist": "^4.21.9",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-environment-visitor": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
"integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
"integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
"dependencies": {
"@babel/template": "^7.22.5",
"@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
"integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"dependencies": {
"@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
"integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
"dependencies": {
"@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
"version": "7.22.9",
"resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz",
"integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-module-imports": "^7.22.5",
"@babel/helper-simple-access": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
"@babel/helper-validator-identifier": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-simple-access": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
"integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
"dependencies": {
"@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
"version": "7.22.6",
"resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
"integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"dependencies": {
"@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
"integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
"integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.22.10.tgz",
"integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==",
"dependencies": {
"@babel/template": "^7.22.5",
"@babel/traverse": "^7.22.10",
"@babel/types": "^7.22.10"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.22.10.tgz",
"integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==",
"dependencies": {
"@babel/helper-validator-identifier": "^7.22.5",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.10.tgz",
"integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==",
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/template": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.22.5.tgz",
"integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
"dependencies": {
"@babel/code-frame": "^7.22.5",
"@babel/parser": "^7.22.5",
"@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.22.10.tgz",
"integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==",
"dependencies": {
"@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
"@babel/parser": "^7.22.10",
"@babel/types": "^7.22.10",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.22.10.tgz",
"integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==",
"dependencies": {
"@babel/helper-string-parser": "^7.22.5",
"@babel/helper-validator-identifier": "^7.22.5",
"to-fast-properties": "^2.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.3",
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
"integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
"dependencies": {
"@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/set-array": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz",
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.19",
"resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
"integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dependencies": {
"color-convert": "^1.9.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/browserslist": {
"version": "4.21.10",
"resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.10.tgz",
"integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==",
"dependencies": {
"caniuse-lite": "^1.0.30001517",
"electron-to-chromium": "^1.4.477",
"node-releases": "^2.0.13",
"update-browserslist-db": "^1.0.11"
},
"bin": {
"browserslist": "cli.js"
},
"engines": {
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001522",
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz",
"integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg=="
},
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/convert-source-map": {
"version": "1.9.0",
"resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz",
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
},
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/electron-to-chromium": {
"version": "1.4.500",
"resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz",
"integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A=="
},
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"engines": {
"node": ">=6"
}
},
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"engines": {
"node": ">=4"
}
},
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"engines": {
"node": ">=4"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
"node": ">=4"
}
},
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"bin": {
"json5": "lib/cli.js"
},
"engines": {
"node": ">=6"
}
},
"node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dependencies": {
"yallist": "^3.0.2"
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/node-releases": {
"version": "2.0.13",
"resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.13.tgz",
"integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ=="
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dependencies": {
"has-flag": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"engines": {
"node": ">=4"
}
},
"node_modules/update-browserslist-db": {
"version": "1.0.11",
"resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
"integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
"dependencies": {
"escalade": "^3.1.1",
"picocolors": "^1.0.0"
},
"bin": {
"update-browserslist-db": "cli.js"
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
}
},
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
}
}
}
...@@ -9,6 +9,6 @@ ...@@ -9,6 +9,6 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@babel/core": "^7.22.9" "@babel/core": "^7.22.10"
} }
} }
function Base64() { function Base64() {
// private property // private property
_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
// public method for encoding // public method for encoding
this.encode = function (input) { this.encode = function (input) {
...@@ -57,7 +57,7 @@ function Base64() { ...@@ -57,7 +57,7 @@ function Base64() {
} }
// private method for UTF-8 encoding // private method for UTF-8 encoding
_utf8_encode = function (string) { var _utf8_encode = function (string) {
string = string.replace(/\r\n/g, "\n"); string = string.replace(/\r\n/g, "\n");
var utftext = ""; var utftext = "";
for (var n = 0; n < string.length; n++) { for (var n = 0; n < string.length; n++) {
...@@ -78,7 +78,7 @@ function Base64() { ...@@ -78,7 +78,7 @@ function Base64() {
} }
// private method for UTF-8 decoding // private method for UTF-8 decoding
_utf8_decode = function (utftext) { var _utf8_decode = function (utftext) {
var string = ""; var string = "";
var i = 0; var i = 0;
var c = c1 = c2 = 0; var c = c1 = c2 = 0;
...@@ -299,7 +299,7 @@ function Bn(t, n) { ...@@ -299,7 +299,7 @@ function Bn(t, n) {
return e return e
} }
$ = function (t) { var $ = function (t) {
return btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g, (function (t, n) { return btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g, (function (t, n) {
return String.fromCharCode("0x" + n) return String.fromCharCode("0x" + n)
} }
...@@ -308,7 +308,7 @@ $ = function (t) { ...@@ -308,7 +308,7 @@ $ = function (t) {
var Zl = function (t, n, e, r, a) { var Zl = function (t, n, e, r, a) {
return Math[vl(378)]((t - n) / (e - n) * (a - r) + r) return Math[vl(378)]((t - n) / (e - n) * (a - r) + r)
} }
u = function (t, n, e) { var u = function (t, n, e) {
var Z = Bn($(e), 10), d = [], v = -1 var Z = Bn($(e), 10), d = [], v = -1
for (var p = 0; p < t['length']; p++) { for (var p = 0; p < t['length']; p++) {
...@@ -332,8 +332,8 @@ u = function (t, n, e) { ...@@ -332,8 +332,8 @@ u = function (t, n, e) {
return A return A
} }
o = 'G^S}DNK8DNa>D`K}GK77' var o = 'G^S}DNK8DNa>D`K}GK77'
ur = u(o var ur = u(o
, 364, '632ced90-2c62-11ee-9f7e-270e803e7664') , 364, '632ced90-2c62-11ee-9f7e-270e803e7664')
console.log(ur) console.log(ur)
...@@ -371,4 +371,8 @@ function enc(payload, uuid) { ...@@ -371,4 +371,8 @@ function enc(payload, uuid) {
return rrr(o, payload, ur) return rrr(o, payload, ur)
} }
console.log(333,enc(aa, "e956bcd0-2d0b-11ee-a21c-431215775a7a")) console.log(333,enc(aa, "e956bcd0-2d0b-11ee-a21c-431215775a7a"))
\ No newline at end of file
// module.exports = {
// getWords: getWords
// }
\ No newline at end of file
import base64 import base64
import py_mini_racer import py_mini_racer
from py_mini_racer import MiniRacer from py_mini_racer import py_mini_racer
from node_vm2 import NodeVM
with open('test.js', 'r', encoding='utf-8') as f: with open('test.js', 'r', encoding='utf-8') as f:
jsCode = f.read() jsCode = f.read()
ctx = MiniRacer() # ctx = py_mini_racer.MiniRacer()
ctx.eval(jsCode) # ctx.eval(jsCode)
def encrypt(data, param): def encrypt(data, param):
n = bytearray() n = bytearray()
...@@ -19,34 +23,35 @@ def encrypt(data, param): ...@@ -19,34 +23,35 @@ def encrypt(data, param):
a = 'aUkQRhAIEGJqAwACCwcQHhBWEAhJEGJqAwMEBgcQCBBaRkZCQQgdHUVFRRxBQltAW0YcUV1fHRAeEGJqAwAAAgUQCAIeEGJqAwAGBwoQCBBlW1wBABAeEGJqAwMLAgAQCAIeEGJqAwMHBAIQCAEKAwEeEGJqAwAABgoQCAG^EEAgIeEGJqAwMBCgcQCAMECwIHSAAYHBgsK}DBQYeNEGJqAKwAACgIQ8DCAMENaCwIHAAY>HBgsKCwUeEGJqAwMGCwQQCD`BAGBgZQVFQCAh8AVgJWHwMDV1cfU1MEBK}GR8KUFZXVwQHVAAACwoQHhBiagMABwKQGEAhcR15eHhBiagMABwQHEAgfAx4QY7mo7DAwEFCxAIRkBHV09Pbw==' a = 'aUkQRhAIEGJqAwACCwcQHhBWEAhJEGJqAwMEBgcQCBBaRkZCQQgdHUVFRRxBQltAW0YcUV1fHRAeEGJqAwAAAgUQCAIeEGJqAwAGBwoQCBBlW1wBABAeEGJqAwMLAgAQCAIeEGJqAwMHBAIQCAEKAwEeEGJqAwAABgoQCAG^EEAgIeEGJqAwMBCgcQCAMECwIHSAAYHBgsK}DBQYeNEGJqAKwAACgIQ8DCAMENaCwIHAAY>HBgsKCwUeEGJqAwMGCwQQCD`BAGBgZQVFQCAh8AVgJWHwMDV1cfU1MEBK}GR8KUFZXVwQHVAAACwoQHhBiagMABwKQGEAhcR15eHhBiagMABwQHEAgfAx4QY7mo7DAwEFCxAIRkBHV09Pbw=='
a = 'aUkQRhAIEGJqAwMHBgUQHhBWEAhJEGJqAwAGCwAQCBBRBwIHUQMCVwAEUwNQBVMFBQYDBgEFVlALVAoACwMEUBAeEGJqAwAHBQIQCBBXAgNWBgpRBVACCwEACwMHB1EDBFAHVApUUAdTVwsKAxAeEGJqAwMBBwAQCBAFAwEKBgoAAFMFV1EEVFMAV1MKAAEDAAAABFFXA1YGBxAeEGJqAwAACwAQCBBlV1B5W0YQHhBiagMDCgMDEAhpbx4QYmoDAwcEBRAIEGVXUHlbRhJlV1B1fhAeEGJqAwACAQAQCBBlV1B1fhIDHAISGn1CV1x1fhJ3YRIAHAIScVpAXV9bR18bEB4QYmoDAwcBBBAIaRBzfHV d21bXEFGU1xRV1ZtU0BAU0tBEB4Qd2pmbVBeV1xWbV9bXF9TShAeEHdqZm1RXV5dQG1QR1RUV0BtWlNeVG1UXl1TRhAeEHdqZm1WW0FYXVtcRm1GW19XQG1DR1dASxAeEHdqZm1UXl1TRm1QXldcVhAeEHdqZm1UQFNVbVZXQkZaEB4Qd2pmbUFaU1ZXQG1GV0pGR0BXbV5dVhAeEHdqZm1GV0pGR0BXbVFdX0JAV0FBW11cbVBCRlEQHhB3amZtRldKRkdAV21RXV9CQFdBQVtdXG1AVUZREB4Qd2pmbUZXSkZHQFdtVFteRldAbVNcW0FdRkBdQltREB4Qd2pmbUFgdXAQHhB5emBtQlNAU15eV15tQVpTVldAbVFdX0JbXlcQHhB9d2FtV15XX1dcRm1bXFZXSm1HW1xGEB4QfXdhbVRQXW1AV1xWV0BtX1tCX1NCEB4QfXdhbUFGU1xWU0BWbVZXQFtEU0ZbRFdBEB4QfXdhbUZXSkZHQFdtVF5dU0YQHhB9d2FtRldKRkdAV21UXl1TRm1eW1xXU0AQHhB9d2FtRldKRkdAV21aU15UbVReXVNGEB4QfXdhbUZXSkZHQFdtWlNeVG1UXl1TRm1eW1xXU0AQHhB9d2FtRFdARldKbVNAQFNLbV1QWFdRRhAeEGV3cHV bVFdXl1AbVBHVFRXQG1UXl1TRhAeEGV3cHV bVFdX0JAV0FBV1ZtRldKRkdAV21BAUZREB4QZXdwdX5tUV1fQkBXQUFXVm1GV0pGR0BXbUEBRlFtQUBVUBAeEGV3cHV bVZXUEdVbUBXXFZXQFdAbVtcVF0QHhBld3B1fm1WV1BHVW1BWlNWV0BBEB4QZXdwdX5tVldCRlptRldKRkdAVxAeEGV3cHV bVZAU0VtUEdUVFdAQRAeEGV3cHV bV5dQVdtUV1cRldKRhAeEGV3cHV bV9HXkZbbVZAU0UQbx4QYmoDAAMGCxAIaRBpAx4SA28QHhBpAx4SAwIABm8QHgoeEEtXQRAeCh4ABh4KHgMEHgEAHgMEAQoGHgMCAAYeAwQBCgYeAwQeAwQBCgYeAQIeAwQeAwQeBgILBB4QaQEABQQFHhIBAAUEBW8QHhBcXW1UQhAeAAEeAwAFHgMABR4AAR4DAAUeAwAFHgABHgMABR4DAAUeAAEeAwAFHgMABR4AAR4DAAUeAwAFHgABHgMABR4DAAUeAAEeAwAFHgMABR4AAR4DAAUeAwAFHgABHgMABR4DAAUeAAEeAwAFHgMABR4AAR4DAAUeAwAFHgABHgMABR4DAAVvHhBiagMAAQcAEAgQdV1dVV5XEntcURwSGntcRldeGxAeEGJqAwMGBwcQCBBzfHV dxIae1xGV14eEntcRldeGmAbEntAW0EaYBsSalcSdUBTQlpbUUESdltAV1FGAXYDAxJEQW0HbQISQkFtB20CHhJ2AXYDAxsQHhBiagMDBwEGEAgQZVdQdX4SdX5hfhJ3YRIDHAISGn1CV1x1fhJ3YRJ1fmF EndhEgMcAhJxWkBdX1tHXxsQHhBiagMABwIBEAgQAgQLVFYEUQEFAQRXC1FXCgNTUwpXClEAAgZUVwILAVYQHhBiagMABwIAEAgQVlNQCgNRUAYBClcLUANXUVYLAwcDUwFQUwEBUwoAUAoQHhBiagMDCwAFEAgQAAMHBVEBCgYFUFEEAgICUQQEUQFUBQRWCgtRB1ELBgIQHhBiagMABwUAEAgQBAEEAwECBwUFUVEKUApTUAIGVFQHVwZTAgIDBlQAVgQQHhBiagMDBgUFEAgQAwAEHAoECwUABgEKCwYKBwUKEB4QYmoDAAMCCxAIEABWUVcKUQcHUQQKCwUCBAVUVlQCUQUEVlZUBFcEVgcCEB4QYmoDAAEEABAIEAsFUQQHAgJTBApRVFBUB1NXBABXAAVRUVEFClRUCgQFEB4QYmoDAAYLAxAIEAUHAAFQVARXB1ZRU1ZRVFRWU1cEUAECBAEKAAVXAQYHEB4QYmoDAAMBAhAIaRBtUVQQHhBtQVZmQFNRVxAeEBZeXVFTXltIVxAeEG1tSF1cV21BS19QXV5tbWJAXV9bQVcQHhBtbUhdXFdtQUtfUF1ebW1UV0ZRWhAeEG1tSF1cV21BS19QXV5tbUNHV0dXf1tRQF1GU0FZEB4QbW1IXVxXbUFLX1BdXm1tQVdGZltfV11HRhAeEG1tSF1cV21BS19QXV5tbVFeV1NAZltfV11HRhAeEG1tSF1cV21BS19QXV5tbUFXRntcRldARFNeEB4QbW1IXVxXbUFLX1BdXm1tUV5XU0B7XEZXQERTXhAeEG1tSF1cV21BS19QXV5tbUBXQ0dXQUZzXFtfU0ZbXVx0QFNfVxAeEG1tSF1cV21BS19QXV5tbVFTXFFXXnNcW19TRltdXHRAU19XEB4QbW1IXVxXbUFLX1BdXm1tRVdQWVtGYFdDR1dBRnNcW19TRltdXHRAU19XEB4QbW1IXVxXbUFLX1BdXm1tRVdQWVtGcVNcUVdec1xbX1NGW11cdEBTX1cQHhBtbUhdXFdtQUtfUF1ebW1TXldARhAeEG1tSF1cV21BS19QXV5tbUJAXV9CRhAeEG1tSF1cV21BS19QXV5tbVFdXFRbQF8QHhBtbUhdXFdtQUtfUF1ebW1/R0ZTRltdXH1QQVdARFdAEB4QbW1IXVxXbUFLX1BdXm1tZVdQeVtGf0dGU0ZbXVx9UEFXQERXQBAeEG1tSF1cV21BS19QXV5tbXtcRldAQVdRRltdXH1QQVdARFdAEB4QbW1IXVxXbUFLX1BdXm1tdFteV2BXU1ZXQBAeEG1tSF1cV21BS19QXV5tbV1cXVxBV1NAUVpCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNCQltcQUZTXl5XVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXW1xBRlNeXkJAXV9CRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXSkBBV15XUUZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNQXUBGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxQV1RdQFdbXEJHRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUF5HQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUVNcUVdeQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRU1xCXlNLQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRU1xCXlNLRlpAXUdVWkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRXltRWUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUV5dQVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFFdXEZXSkZeXUFGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRXVxGV0pGX1dcR0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUV1cRldKRkBXQUZdQFdWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRR1dRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZQXlFeW1FZQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWQFNVQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWQFNVV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWQFNVV1xGV0BCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZAU1VeV1NEV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVkBTVV1EV0BCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZAU1VBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVkBdQkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVkdAU0ZbXVxRWlNcVVdCU0ZRWldWEB4QbW1IXVxG^XbUFLX1BdXm1tXVxdXFdfQkZbV1ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFdcVldWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxXQEBdQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVF1RR0FCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFRdQF9WU0ZTQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxbXEJHRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cW1xEU15bVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cWVdLVl1FXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cWVdLQkBXQUFCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFlXS0dCQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXVNWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXVNWV1ZWU0ZTQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXVNWV1ZfV0ZTVlNGU0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cXl1TVkFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxfXUdBV1ZdRVxCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXV1xGV0BCU0ZRWldWEB4QbW1IXVxXbSUFLX1BdXm1tXVxdXF9dR0FXXldTRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXX11EV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVddR0ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXXURXQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVdHQkJTRl?GFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVdFWldXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQlNHQVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJeU0tCU0ZRWldWEB4QbW1INXVxXbUFLX1BdXm1tXVxdXEJeU0tbXFVCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJAXVVAV0FBQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxAU0ZXUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21_BS19QXV5tbV1cXVxAV0FXRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQFdBW0hXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBUUBdXl5CU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXUUdAW0ZLQl1eW1FLRFtdXlNGW11cQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV1dZV1ZCsDU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXV1lbXFVCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXXldRRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQV5dRlFaU1xVV0JTRlFaV1N_YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQUZTXl5XVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQUdQX1tGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBR0FCV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxGW19XR0JWU0ZXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxGXVVVXl;dCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXERdXkdfV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVNbRltcVUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVdQWVtGU1xbX1NGW11cV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZTXFtfU0ZbXVxbRldAU0ZbXVxCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEVXUFlbRlNcW19TRltdXEFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZGQFNcQVtGW11cV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFWldXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cU0dKUV5bUVlCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFVdRkJdW1xGV0BRU0JGR0BXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXUFGQl1bXEZXQFFTQkZHQFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXG^EJdW1xGV0BWXUVcQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAX11EV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQEBTRUdCVlNGV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQEdCQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAUVNcUVdeQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAXURXQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQF1HRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQFdcRldAQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAXldTRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXXldRRkFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV15XUUZbXVxRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNcW19TRltdXFdcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cU1xbX1NGW11cW0ZXQFNGW11cQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxTXFtfU0ZbXVxBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRkBTXEFbRltdXEBHXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRkBTXEFbRltdXEFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxGQFNcQVtGW11cV1xWQlNGUVpXVhAeEG1tSF1cV21BS19[>GQXV5tbV1cXVxGQFNcQVtGW11cUVNcUVdeQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxTVEZXQEJAW1xGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxQV1RdQFdCQFtcRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXR1xeXVNWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxaU0FaUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeU1xVR1NVV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX1dBQVNVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX1dBQVNVV1dAQF1AQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxdVFReW1xXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxdXF5bXFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJTVVdaW1ZXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCU1VXQVpdRUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1CQUZTRldCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEBXWFdRRltdXFpTXFZeV1ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFGXUBTVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEdcWlNcVl5XVkBXWFdRRltdXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF}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' a = 'aUkQRhAIEGJqAwMHBgUQHhBWEAhJEGJqAwAGCwAQCBBRBwIHUQMCVwAEUwNQBVMFBQYDBgEFVlALVAoACwMEUBAeEGJqAwAHBQIQCBBXAgNWBgpRBVACCwEACwMHB1EDBFAHVApUUAdTVwsKAxAeEGJqAwMBBwAQCBAFAwEKBgoAAFMFV1EEVFMAV1MKAAEDAAAABFFXA1YGBxAeEGJqAwAACwAQCBBlV1B5W0YQHhBiagMDCgMDEAhpbx4QYmoDAwcEBRAIEGVXUHlbRhJlV1B1fhAeEGJqAwACAQAQCBBlV1B1fhIDHAISGn1CV1x1fhJ3YRIAHAIScVpAXV9bR18bEB4QYmoDAwcBBBAIaRBzfHV d21bXEFGU1xRV1ZtU0BAU0tBEB4Qd2pmbVBeV1xWbV9bXF9TShAeEHdqZm1RXV5dQG1QR1RUV0BtWlNeVG1UXl1TRhAeEHdqZm1WW0FYXVtcRm1GW19XQG1DR1dASxAeEHdqZm1UXl1TRm1QXldcVhAeEHdqZm1UQFNVbVZXQkZaEB4Qd2pmbUFaU1ZXQG1GV0pGR0BXbV5dVhAeEHdqZm1GV0pGR0BXbVFdX0JAV0FBW11cbVBCRlEQHhB3amZtRldKRkdAV21RXV9CQFdBQVtdXG1AVUZREB4Qd2pmbUZXSkZHQFdtVFteRldAbVNcW0FdRkBdQltREB4Qd2pmbUFgdXAQHhB5emBtQlNAU15eV15tQVpTVldAbVFdX0JbXlcQHhB9d2FtV15XX1dcRm1bXFZXSm1HW1xGEB4QfXdhbVRQXW1AV1xWV0BtX1tCX1NCEB4QfXdhbUFGU1xWU0BWbVZXQFtEU0ZbRFdBEB4QfXdhbUZXSkZHQFdtVF5dU0YQHhB9d2FtRldKRkdAV21UXl1TRm1eW1xXU0AQHhB9d2FtRldKRkdAV21aU15UbVReXVNGEB4QfXdhbUZXSkZHQFdtWlNeVG1UXl1TRm1eW1xXU0AQHhB9d2FtRFdARldKbVNAQFNLbV1QWFdRRhAeEGV3cHV bVFdXl1AbVBHVFRXQG1UXl1TRhAeEGV3cHV bVFdX0JAV0FBV1ZtRldKRkdAV21BAUZREB4QZXdwdX5tUV1fQkBXQUFXVm1GV0pGR0BXbUEBRlFtQUBVUBAeEGV3cHV bVZXUEdVbUBXXFZXQFdAbVtcVF0QHhBld3B1fm1WV1BHVW1BWlNWV0BBEB4QZXdwdX5tVldCRlptRldKRkdAVxAeEGV3cHV bVZAU0VtUEdUVFdAQRAeEGV3cHV bV5dQVdtUV1cRldKRhAeEGV3cHV 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^XbUFLX1BdXm1tXVxdXFdfQkZbV1ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFdcVldWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxXQEBdQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVF1RR0FCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFRdQF9WU0ZTQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxbXEJHRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cW1xEU15bVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cWVdLVl1FXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cWVdLQkBXQUFCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFlXS0dCQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXVNWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXVNWV1ZWU0ZTQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXVNWV1ZfV0ZTVlNGU0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cXl1TVkFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxfXUdBV1ZdRVxCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXV1xGV0BCU0ZRWldWEB4QbW1IXVxXbSUFLX1BdXm1tXVxdXF9dR0FXXldTRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXX11EV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVddR0ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXXURXQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVdHQkJTRl?GFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVdFWldXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQlNHQVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJeU0tCU0ZRWldWEB4QbW1INXVxXbUFLX1BdXm1tXVxdXEJeU0tbXFVCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJAXVVAV0FBQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxAU0ZXUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21_BS19QXV5tbV1cXVxAV0FXRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQFdBW0hXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBUUBdXl5CU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXUUdAW0ZLQl1eW1FLRFtdXlNGW11cQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV1dZV1ZCsDU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXV1lbXFVCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXXldRRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQV5dRlFaU1xVV0JTRlFaV1N_YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQUZTXl5XVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQUdQX1tGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBR0FCV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxGW19XR0JWU0ZXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxGXVVVXl;dCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXERdXkdfV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVNbRltcVUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVdQWVtGU1xbX1NGW11cV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZTXFtfU0ZbXVxbRldAU0ZbXVxCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEVXUFlbRlNcW19TRltdXEFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZGQFNcQVtGW11cV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFWldXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cU0dKUV5bUVlCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFVdRkJdW1xGV0BRU0JGR0BXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeXUFGQl1bXEZXQFFTQkZHQFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXG^EJdW1xGV0BWXUVcQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAX11EV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQEBTRUdCVlNGV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQEdCQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAUVNcUVdeQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAXURXQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQF1HRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQFdcRldAQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAXldTRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXXldRRkFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV15XUUZbXVxRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNcW19TRltdXFdcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cU1xbX1NGW11cW0ZXQFNGW11cQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxTXFtfU0ZbXVxBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRkBTXEFbRltdXEBHXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRkBTXEFbRltdXEFGU0BGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxGQFNcQVtGW11cV1xWQlNGUVpXVhAeEG1tSF1cV21BS19[>GQXV5tbV1cXVxGQFNcQVtGW11cUVNcUVdeQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxTVEZXQEJAW1xGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxQV1RdQFdCQFtcRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXR1xeXVNWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxaU0FaUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxeU1xVR1NVV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX1dBQVNVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX1dBQVNVV1dAQF1AQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxdVFReW1xXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxdXF5bXFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJTVVdaW1ZXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCU1VXQVpdRUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1CQUZTRldCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEBXWFdRRltdXFpTXFZeV1ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFGXUBTVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEdcWlNcVl5XVkBXWFdRRltdXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF}1cR1xeXVNWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWV0RbUVdfXUZbXVxCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZXRFtRV11AW1dcRlNGW11cQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWV0RbUVddQFtXXEZTRltdXFNQQV1eR0ZXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxQV1RdQFdfU0ZRWkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXRl1VVV5XQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRXVxGV1xGRFtBW1BbXltGS1NHRl1BRlNGV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQVFAXV5eV1xWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV9XQUFTVVdUU15BVxAeEG1tSF1cV21BS19QXV5tbV5dU1ZUU15BVxAeEG1tSF1cV21BS19QXV5tbVdAQF1AVFNeQVcQHhBtbUhdXFdtQUtfUF1ebW1GQFtVVVdAYkpzR0Zdc1BAcVNCRlFaU3ZXX11UU15BVxAeEG1tSF1cV21BS19QXV5tbVBXVF1AV0dcXl1TVlRTXkFXEB4QbW1IXVxXbUFLX1BdXm1tQkpxU0JGUVpTZ3t3RFdcRkFUU15BVxAeEG1tSF1cV21BS19QXV5tbUdcXl1TVlRTXkFXEB4QbW1IXVxXbUFLX1BdXm1tQlNVV1pbVldUU15BVxAeEG1tSF1cV21BS19QXV5tbVRdUUdBVFNeQVcQHhBtbUhdXFd7tQUtfUF1ebW1QXkdAVFNeQVcQHhBtbUhdXFdtQUtfUF1ebW1CXUJBRlNGV1RTXkFXEB4QbW1IXVxX7bUFLX1BdXm1tWlNBWlFaU1xVV1RTXkFXEB4QbW1IXVxXbUFLX1BdXm1tQVFAXV5eVFNeQVcQHhBtbUhdXFdtQUtfUF1ebW1AV0FbSFdUU15BVxAeEG1tSF1cV21BS19QXV5tbX18bWJgfWJ3YGZrV0BAXUAQHhBtVEFtVldQR1UQHhBtVEFtWl1BRhAeEG1UQW1BUUBbQkYQHhBtVEFtXUBVEB4QbVRBbVxTX1dBQlNRVxAeEG1tSF1cV21BS19QXV5tbVxZd0BAXUBUU15BVxAeEG1BX21cU19XQUJTUVcQHhBtXltBRhAeEG1bVldcVFtGS3F7dhAeEG1tSF1cV21BS19QXV5tbUJTVVdBWl1FVFNeQVcQHhBtVEFtXl1TVldWEB4QbW1IXVxXbUFLX1BdXm1tRldBRlRTXkFXEB4QbVRBbUFaR0ZWXUVcEB4QbVVTbV1AW1VbXFNeYVdcVnpbRmZTQVkQHhBtbUhdXFdtQUtfUF1ebW1XQEBdQEZAR1cQHhBtbUhdXFdtQUtfUF1ebW1HXFpTXFZeV1ZAV1hXUUZbXVxGQEdXEB4QbW1IXVxXbUFLX1BdXm1tUV1CS1RTXkFXEB4QbW1IXVxXbUFLX1BdXm1tQlNBRldUU15BVxAeEG1tSF1cV21BS19QXV5tbV9dR0FXX11EV0ZAR1cQHhBtbUhdXFdtQUtfUF1ebW1fXUdBV1ZdRVxGQEdXEB4QbW1IXVxXbUFLX1BdXm1tX11HQVdHQkZAR1cQHhBtbUhdXFdtQUtfUF1ebW1ZV0tWXUVcRkBHVxAeEG1tSF1cV21BS19QXV5tbVlXS0dCRkBHVxAeEG1tSF1cV21BS19QXV5tbVFeW1FZRkBHVxAeEG1tSF1cV21BS19QXV5tbVZQXlFeW1FZRkBHVxAeEG1tSF1cV21BS19QXV5tbVRdUUdBRkBHVxAeEG1tSF1cV21BS19QXV5tbVBeR0BGQEdXEB4QbW1IXVxXbUFLX1BdXm1tUVpTXFVXRkBHVxAeEG1tSF1cV21BS19QXV5tbUZdR1FaQUZTQEZGQEdXEB4QbW1IXVxXbUFLX1BdXm1tRl1HUVpXXFZGQEdXEB4QbW1IXVxXbUFLX1BdXm1tRl1HUVpfXURXRkBHVxAeEG1tSF1cV21BS19QXV5tbUZdR1FaUVNcUVdeRkBHVxAeEG1tSF1cV21BS19QXV5tbUJeU0tGQEdXEB4QbW1IXVxXbUFLX1BdXm1tQlNHQVdGQEdXEB4QbW1IXVxXbUFLX1BdXm1tQVFAXV5eRkBHVxAeEG1tSF1cV21BS19QXV5tbUFHUF9bRlRTXkFXEB4QbW1IXVxXbUFLX1BdXm1tQVdeV1FGQUZTQEZGQEdXEB4QbW1IXVxXbUFLX1BdXm1tRFtBW1BbXltGS1FaU1xVV1RTXkFXEB4QUFltVl14YWZTVQAQHhBtbUhdXFdtQUtfUF1ebW1TVlZ3RFdcRn5bQUZXXFdAEB4QbW1IXVxXbUFLX1BdXm1tQFdfXURXd0RXXEZ W0FGV1xXQBAeEG1tSF1cV21BS19QXV5tbVdEV1xGfltBRldcV0BBEB4QbW1IXVxXbUFLX1BdXm1tQFdfXURXc15efltBRldcV0BBEG8eEGJqAwABBwMQCGkQbW1IXVxXbUFLX1BdXm1tfXxtYmB9YndgZmtfXUdBV19dRFcQHhBtVEEQHhBtbVBZVEBTX1cQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQFdTVktBRlNGV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQF5dUVlRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJdW1xGV0BeXVFZV0BAXUBCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFBXVF1AV1FdQktCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFBXVF1AV1FHRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXQlNBRldCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFRAV1dIV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQkBXQFdcVldAW1xVUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxAV0FHX1dCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFXU0BRWkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRFtBW1BbXltGS1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVEdeXkFRQFdXXFFaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVEdeXkFRQFdXXFdAQF1AQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZUR15eQVFAV1dcUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZUR15eQVFAV1dcV0BAXUBCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFBXVF1AV0pAQVdeV1FGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxTUF1ARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXW1xCR0ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFBeR0BCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFFTXFFXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUVNcQl5TS0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUVNcQl5TS0ZaQF1HVVpCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFFaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUV5bUVlCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFFeXUFXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxRXVxGV0pGXl1BRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUV1cRldKRl9XXEdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFFdXEZXSkZAV0FGXUBXVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUUdXUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWUF5RXltRWUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVkBTVUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVkBTVVdcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cVkBTVVdcRldAQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWQFNVXldTRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZAU1VdRFdAQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxWQFNVQUZTQEZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZAXUJCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFZHQFNGW11cUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxXX0JGW1dWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxXXFZXVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cV0BAXUBCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFRdUUdBQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxUXUBfVlNGU0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cW1xCR0ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFtcRFNeW1ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFlXS1ZdRVxCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFlXS0JAV0FBQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxZV0tHQkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cXl1TVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cXl1TVldWVlNGU0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cXl1TVldWX1dGU1ZTRlNCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF5dU1ZBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cX11HQVdWXUVcQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxfXUdBV1dcRldAQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxfXUdBV15XU0RXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxfXUdBV19dRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXXUdGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxfXUdBV11EV0BCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXR0JCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXF9dR0FXRVpXV15CU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJTR0FXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXlNLQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXlNLW1xVQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCQF1VQFdBQUJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQFNGV1FaU1xVV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQFdBV0ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEBXQVtIV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQVFAXV5eQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV1FHQFtGS0JdXltRS0RbXV5TRltdXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQVdXWVdWQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV1dZW1xVQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV15XUUZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFeXUZRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFGU15eV1ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFHUF9bRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQUdBQldcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRltfV0dCVlNGV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRl1VVV5XQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxEXV5HX1dRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEVTW0ZbXFVCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEVXUFlbRlNcW19TRltdXFdcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVdQWVtGU1xbX1NGW11cW0ZXQFNGW11cQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxFV1BZW0ZTXFtfU0ZbXVxBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVdQWVtGRkBTXEFbRltdXFdcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRVpXV15CU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNHSlFeW1FZQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxVXUZCXVtcRldAUVNCRkdAV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cXl1BRkJdW1xGV0BRU0JGR0BXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCXVtcRldAVl1FXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQF9dRFdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJdW1xGV0BAU0VHQlZTRldCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJdW1xGV0BHQkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQFFTXFFXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQF1EV0BCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJdW1xGV0BdR0ZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEJdW1xGV0BXXEZXQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQl1bXEZXQF5XU0RXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxBV15XUUZBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cQVdeV1FGW11cUVpTXFVXQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxTXFtfU0ZbXVxXXFZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNcW19TRltdXFtGV0BTRltdXEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cU1xbX1NGW11cQUZTQEZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEZAU1xBW0ZbXVxAR1xCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEZAU1xBW0ZbXVxBRlNARkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRkBTXEFbRltdXFdcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cRkBTXEFbRltdXFFTXFFXXkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUV1CS0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUUdGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxCU0FGV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXX1NGUVpCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFBXVF1AV0ZdVVVeV0JTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUV1cRldcRkRbQVtQW15bRktTR0ZdQUZTRldRWlNcVVdCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXEFRQF1eXldcVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1TVlZ3RFdcRn5bQUZXXFdAEB4QbW1IXVxXbUFLX1BdXm1tQFdfXURXd0RXXEZ W0FGV1xXQBAeEG1tSF1cV21BS19QXV5tbVdEV1xGfltBRldcV0BBEB4QbW1IXVxXbUFLX1BdXm1tQFdfXURXc15efltBRldcV0BBEG8eEGJqAwMBCgQQCGkQRVdQVkBbRFdAEG8eEGJqAwAHAAcQCBALClRTAwFQBFRQA1cEBlFXAlAEVFcKAlRXAQEKClMBVhAeEGJqAwAHAAQQCBBWBgNWClFWCwpUAgJQAAIGVwsKAgILCwpXUVQKBgAFVxAeEGJqAwMLBgoQCAMeEGJqAwMECgcQCAACHhBiagMDCwoEEAhGQEdXHhBiagMAAAsLEAhGQEdXHhBiagMAAQEDEAhGQEdXHhBiagMDAQMEEAhUU15BVx4QYmoDAwYGChAIRkBHVx4QYmoDAAMLBBAIEF9bQUFbXFUQHhBiagMABgAFEAhpEG1CSn9dXFtGXUBzUEAQHhBtUVQQHhBtQVZmQFNRVxAeEBZeXVFTXltIVxAeEG1tSF1cV21BS19QXV5tbWJAXV9bQVcQHhBtbUhdXFdtQUtfUF1ebW1UV0ZRWhAeEG1tSF1cV21BS19QXV5tbUNHV0dXf1tRQF1GU0FZEB4QbW1IXVxXbUFLX1BdXm1tQVdGZltfV11HRhAeEG1tSF1cV21BS19QXV5tbVFeV1NAZltfV11HRhAeEG1tSF1cV21BS19QXV5tbUFXRntcRldARFNeEB4QbW1IXVxXbUFLX1BdXm1tUV5XU0B7XEZXQERTXhAeEG1tSF1cV21BS19QXV5tbUBXQ0dXQUZzXFtfU0ZbXVx0QFNfVxAeEG1tSF1cV21BS19QXV5tbVFTXFFXXnNcW19TRltdXHRAU19XEB4QbW1IXVxXbUFLX1BdXm1tRVdQWVtGYFdDR1dBRnNcW19TRltdXHRAU19XEB4QbW1IXVxXbUFLX1BdXm1tRVdQWVtGcVNcUVdec1xbX1NGW11cdEBTX1cQHhBtbUhdXFdtQUtfUF1ebW1TXldARhAeEG1tSF1cV21BS19QXV5tbUJAXV9CRhAeEG1tSF1cV21BS19QXV5tbVFdXFRbQF8QHhBtbUhdXFdtQUtfUF1ebW1/R0ZTRltdXH1QQVdARFdAEB4QbW1IXVxXbUFLX1BdXm1tZVdQeVtGf0dGU0ZbXVx9UEFXQERXQBAeEG1tSF1cV21BS19QXV5tbXtcRldAQVdRRltdXH1QQVdARFdAEB4QbW1IXVxXbUFLX1BdXm1tdFteV2BXU1ZXQBAeEG1tSF1cV21BS19QXV5tbV1cXVxBV1NAUVpCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNCQltcQUZTXl5XVkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXW1xBRlNeXkJAXV9CRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUFdUXUBXSkBBV15XUUZCU0ZRWldWEB4QbW1IXVxXbUFLX1BdXm1tXVxdXFNQXUBGQlNGUVpXVhAeEG1tSF1cV21BS19QXV5tbV1cXVxQV1RdQFdbXEJHRkJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUF5HQEJTRlFaV1YQHhBtbUhdXFdtQUtfUF1ebW1dXF1cUVNcUVdeQlNGUVpXVhBvHhBiagMDCgYAEAhpEG1tSF1cV21BS19QXV5tbX18bWJgfWJ3YGZrX11HQVdfXURXEB4QbVRBEB4QbW1QWVRAU19XEG8eEGJqAwAGAQsQCGkQYnZ0EmRbV0VXQAgIYl1ARlNQXlcSdl1RR19XXEYSdF1AX1NGCAhTQkJeW1FTRltdXB1CVlRMQlZUCAhGV0pGHUJWVExCVlQQHhBxWkBdX1cSYnZ0EmRbV0VXQAgIYl1ARlNQXlcSdl1RR19XXEYSdF1AX1NGCAhTQkJeW1FTRltdXB1CVlRMQlZUCAhGV0pGHUJWVExCVlQQHhBxWkBdX1tHXxJidnQSZFtXRVdACAhiXUBGU1BeVxJ2XVFHX1dcRhJ0XUBfU0YICFNCQl5bUVNGW11cHUJWVExCVlQICEZXSkYdQlZUTEJWVBAeEH9bUUBdQV1URhJ3VlVXEmJ2dBJkW1dFV0AICGJdQEZTUF5XEnZdUUdfV1xGEnRdQF9TRggIU0JCXltRU0ZbXVwdQlZUTEJWVAgIRldKRh1CVlRMQlZUEB4QZVdQeVtGElBHW15GH1tcEmJ2dAgIYl1ARlNQXlcSdl1RR19XXEYSdF1AX1NGCAhTQkJeW1FTRltdXB1CVlRMQlZUCAhGV0pGHUJWVExCVlQQbx4QYmoDAwsLARAIEAMECwIHAAYHBwMGCgEQHhBiagMAAAAKEAgQZktCV3dAQF1ACBJxU1xcXUYSQFdTVhJCQF1CV0BGW1dBEl1UElxHXl4SGkBXU1ZbXFUSFQIVGxJTRhJ7VxIaWkZGQkEIHR1FRUUcQUJbQFtGHFFdXx1ZQgZxfmFQBx1bXFtGHFhBCAAIAAEDAwobElNGElRHXFESGlpGRkJBCB0dRUVFHEFCW0BbRhxRXV8dWUIGcX5hUAcdW1xbRhxYQQgACAMGBwQEARsSU0YSXlcSGlpGRkJBCB0dRUVFHEFCW0BbRhxRXV8dWUIGcX5hUAcdW1xbRhxYQQgACAMLAAcCGxJTRhJaRkZCQQgdHUVFRRxBQltAW0YcUV1fHVlCBnF YVAHHVtcW0YcWEEIAAgDBgUFBwYSU0YSQVccDlFdX0JHRldWDBIaWkZGQkEIHR1FRUUcQUJbQFtGHFFdXx1CXV5LVFteXkEcVgYKBQVXBlNRAgMFC1MKBRxYQQgDCAALBgoKGxJTRhJ4HFtcRF1ZV2ZTQVkSGlpGRkJBCB0dRUVFHEFCW0BbRhxRXV8dQl1eS1RbXl5BHFYGCgUFVwZTUQIDBQtTCgUcWEEIAwgKAgECGxJTRhJRVxxAR1xmU0FZEhpaRkZCQQgdHUVFRRxBQltAW0YcUV1fHUJdXktUW15eQRxWBgoFBVcGU1ECAwULUwoFHFhBCAMIAQEBChsSU0YSW1xEXVlXZlNBWRIaWkZGQkEIHR1FRUUcQUJbQFtGHFFdXx1CXV5LVFteXkEcVgYKBQVXBlNRAgMFC1MKBRxYQQgDCAsCCgsbElNGEmocW1xEXVlXEhpaRkZCQQgdHUVFRRxBQltAW0YcUV1fHUJdXktUW15eQRxWBgoFBVcGU1ECAwULUwoFHFhBCAMICgsLAhsSU0YSYBxqHFNAVUEcDlFdX0JHRldWDBIaWkZGQkEIHR1FRUUcQUJbQFtGHFFdXx1CXV5LVFteXkEcVgYKBQVXBlNRAgMFC1MKBRxYQQgDCAALAwsAGxAeEGJqAwAACgoQCEZAR1ceEGJqAwAGBgQQCAEBHhBiagMAAAEEEAgQVFYFAwYLUFBUUAEDBAQLC1dUCwMKVFMFUFAFBwMCUwoQHhBiagMDAQILEAgQVgYDVgpRVgsKVAICUAACBlcLCgICCwsKV1FUCgYABVcQHhBiagMDBwcDEAgQVFYFAwYLUFBUUAEDBAQLC1dUCwMKVFMFUFAFBwMCUwoQHhBiagMABwoEEAgDHhBiagMDCgYBEAgDCwACHhBiagMDBQoDEAgDAgoCHhBiagMAAwADEAgDCwACHhBiagMAAQoFEAgQAwsAAmoDAgoCEB4QYmoDAwEKAhAIAAYeEGJqAwACAgEQCAAGHhBiagMAAwAKEAgDAgYCHhBiagMDCgYLEAgQAVEKAlMCAQcQHhBiagMDBwoBEAgQV1wfZ2EQHhBiagMABgcKEAgQZVtcAQAQHhBiagMDBQcGEAgQf11IW15eUx0HHAISGmVbXFZdRUESfGYSAwIcAgkSZVtcBAYJEkoEBhsSc0JCXldlV1B5W0YdBwEFHAEEEhp5emZ/fh4SXltZVxJ1V1FZXRsScVpAXV9XHQMDBxwCHAIcAhJhU1RTQFsdBwEFHAEEEB4QYmoDAwQKAxAIaRBXXB9nYRAeEFdcEB4QSFofcXwQbx4QYmoDAAIBBRAIRkBHVx4QYmoDAwQAAxAICh4QYmoDAwELAhAIHwYKAh4QYmoDAwQFChAIVFNeQVceEGJqAwMKBgIQCBB0QFsSeEdeEgAKEgACAAESAwYIAgsIAwISdX9mGQIKAgISGnFaW1xTEmFGU1xWU0BWEmZbX1cbEB4QYmoDAwcGAhAIRkBHVx4QYmoDAwcBCxAIEAQGBwcEUQUFEB4QYmoDAwcHBxAIBgALBgUCBwMHAB4QYmoDAwYHABAIEAVRB1QLBQAGEB4QYmoDAAcABRAIEFFTAlZRAAZRVFQHAVRTVAABBFZWAgJWBwALBwcCVAcFEB4QYmoDAwYKBhAIaW8eEGJqAwAHAgMQCBAGAQIHBAcEAVEDVAoFUwALUFELAwEGAQQABgZWBAECARAeEGJqAwMLAgAQCAYeEGJqAwMHBAIQCAYKBAAKHhBiagMAAAoCEAgDBAsCBwAGBwsGCgMKHhBiagMDBgsEEAgQBgYGUFRUAgIfAFYCVh8DA1dXH1NTBAUfClBWV1cEB1QAAAsKEB4QYmoDAAcEBhAIXEdeXh4QYmoDAAcEBxAIHwMeEGJqAwMBBQsQCEZAR1ceEGJqAwMEBgcQCBBaRkZCQQgdHUVFRRxBQltAW0YcUV1fHRBPT28='
_uuid = '444bff00-2d0d-11ee-aa67-8bdee65f2298' # _uuid = '444bff00-2d0d-11ee-aa67-8bdee65f2298'
_uuid = '444bff00-2d0d-11ee-aa67-8bdee65f2298' # _uuid = '444bff00-2d0d-11ee-aa67-8bdee65f2298'
nums = ctx.call('getWords', len(a) - 20, _uuid) # with NodeVM.code(jsCode) as ctx:
print(nums) # nums = ctx.call_member('getWords', len(a) - 20, _uuid)
# print(nums)
t = 'G^S}DNK8DNa>D`K}GK77'
res = [] # t = 'G^S}DNK8DNa>D`K}GK77'
i = 0 # res = []
uuu = 0 # i = 0
for u,(idx, v) in enumerate(zip(nums,t)): # uuu = 0
# print(i,v) # for u,(idx, v) in enumerate(zip(nums,t)):
if i != 0: # # print(i,v)
uuu += 1 # if i != 0:
# print(i+uuu, nums[u] - u - 1, a[i+uuu:nums[u] - u - 1+uuu]) # uuu += 1
res.append(a[i+uuu:nums[u] - u - 1+uuu]) # # print(i+uuu, nums[u] - u - 1, a[i+uuu:nums[u] - u - 1+uuu])
# res.append(a[i+uuu:nums[u] - u - 1+uuu])
i = nums[u] - u - 1 #
res.append(a[i+1+uuu:]) # i = nums[u] - u - 1
a = ''.join(res) # res.append(a[i+1+uuu:])
try: # a = ''.join(res)
b = base64.b64decode(a.encode()) # try:
# b = base64.b64decode(a.encode())
print(bytes(encrypt(b, 50))) #
except Exception as e: # print(bytes(encrypt(b, 50)))
print(e) # except Exception as e:
# print(e)
a2 = 'UFBQUFAMHBMDDxIFHFAcAgkOARIZHh4eHlBQUFBQUBwDFR4eHh5QDAwMDFAMUBw/EBgEBRxTU1AcUQFYVQRRVlFWUlhUUlVYUlEGU1IFUQRWVQNVUQQBUlFWWFkDBgJZVVUFVwMEWAYBBVkGBVBRUFEDVFFQUFJRWVoFGSpQATdRDANTMggCOCEJLwolUi80IVEtCjVTLSQxUi8kKlkcFBIVBRxTUFAeHh4eUAxQUAwMHD8QGFIcU1FVU1ZQUFAcBRkqUSkKDwkuJDFQOQ06DS0kIRQtDTEXOiNQGC03NgwsNyYILgoDFC8nKgs6NzVSLjc5GS0KC1QpCRcJBAkpVikKMRotJyYMLyQuCCw0KgstJzEULTQmDDozUQktDTFRLDQHFy43ORgtGggLLTclGC4JKRMpDjEJLwolUS0KC1UuGiUZLSQhFy0kIRMpDQcJLwkqCTkaNVItNAtVOjc1UC1SKRk5NyoLLyQHGTlSORcuJDINOiQiDDkKKVM6NyoMLzctUC1SNVA6CioNOjQuCy8nNVEtNC0aOgoMCzoKOg0tGjYKOQotUCkOUF0cFBIVBRxTUFAeHh4eUFAMUAxQ' a2 = "UAwMDFAMUFAcUVJTAlQDBlRNVFJVWE1RUQUFTQFTUgZNVVZWBldYVVRVWFZZHBQSFQUeHh4eUAwMDAxQUAwcUVZZUlhWVVZVUlVWVR4eHh5QDFBQDAwcPxAYUhxTU1AcBRkqUSkKDwk5UjVVLiQpUy4KJRQuDS1RLyNQGC0kLRgsNAwILRopFDk0Cxo6NCYNLjQICy00JgopCRcJBAkpVikKJRktUilQLSQ6Cyw0MRkuNAcULTQmDDozUQgtGioNLDcyCy4aBAw5GikXLicmDC0zKRMpDjEJLwolUi80KVQuCjVVLjQpUS4KMRMpDQcJLwkqDDoKBA0tDSlULTcmCzoNKVUvNDlQOiQMDC43KVM5NClTLSQpGTokKgwuNAwILRoxFy8kNgovJDVUOjQqDC5SORc6NzoLLycuCi00C1UtCi1VLg01UikOUF0cFBIVBRxTUFAeHh4eUAwMDAxQUFAcV1VTVR4eHh5QUFBQUFAcAxUeHh4eUFBQDAxQHFFSUwJUWVVVTVRSVVhNUVEFBU0BU1IGTVVWVgZXWFVUVVhWWR4eHh5QDAxQDAwcAwoKCFgUUwJWUwMODBASBwwDUVAeHh4eUFBQUFAMHBMDDxIFHFEcAgkOARIZHh4eHgxQUFAMUBxRUlMCVFBWBE1UUlVYTVFRBQVNAVNSBk0EBFdXBQNSUFQBBVEcU1FVU1ZQUFAcFBIVBR4eHh4MDFAMDFAcUlhWUlRVWFhVUFlQVFlYUFNWU1IeHh4eUAwMDAxQDFAcPxAYBAUcU1NQHAVXV1EEUgJTA1FRBVcFBAQFVlVWWVZZVFIBV1ZTAgYEAQNSVlMFVAYBBFdTAVYCWVNQVFMCVFRUVAEDV1ZUBlBaBRkqUAE3UQwDUzIIAjghCS8KJVIvNClULgo1Ui40KVEuCjZZHBQSFQUcU1BQHh4eHlAMUAwMDBwDAxxWUBw1UiYUOjYuEAQnNVk0JyZULxddXR4eHh5QDFBQUFAcBVFXWFNWBFdSBVcFWFhQBQZVAVcDVFVYU1lRWAVZVFFTVwZQV1NVAlgBUgJZWAUEAVBZUVJRBFMGUVlXUFJRBg=="
b2 = base64.b64decode(a2.encode()) b2 = base64.b64decode(a2.encode())
for i in bytes(encrypt(b2, 96)).decode().split('~~~~'): for i in bytes(encrypt(b2, 96)).decode().split('~~~~'):
print(i) print(i)
import tls_client
session = tls_client.Session(client_identifier='chrome_112')
r = session.get('https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-08-30&ADT=1&umnr=false&mon=true', headers={
"authority": "www.flyfrontier.com",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6",
"cache-control": "no-cache",
"pragma": "no-cache",
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "none",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
})
print(r.text)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment