From 4f75b0622b66ca5f4dcbea62b7a323a1bf9b37ae Mon Sep 17 00:00:00 2001 From: kosh Date: Mon, 26 Aug 2024 18:37:38 +0530 Subject: [PATCH] Complete --- .Trash-1000/files/a | 0 .Trash-1000/files/a.zip | Bin 0 -> 558 bytes .../files/apifiletest_.vscode_settings.json | 3 + .Trash-1000/files/apifiletest_index.html | 21 + .Trash-1000/files/apifiletest_index.js | 31 ++ .../files/apifiletest|.vscode|settings.json | 3 + .Trash-1000/files/booking-site.db | 0 .Trash-1000/files/docs.fuck_discord | 140 ++++++ .Trash-1000/files/test.html | 4 + .Trash-1000/files/test/subdir/test1.c | 6 + .Trash-1000/files/test/test.c | 6 + .Trash-1000/info/a.trashinfo | 3 + .Trash-1000/info/a.zip.trashinfo | 3 + ...pifiletest_.vscode_settings.json.trashinfo | 3 + .../info/apifiletest_index.html.trashinfo | 3 + .../info/apifiletest_index.js.trashinfo | 3 + ...pifiletest|.vscode|settings.json.trashinfo | 3 + .Trash-1000/info/booking-site.db.trashinfo | 3 + .Trash-1000/info/docs.fuck_discord.trashinfo | 3 + .Trash-1000/info/test.html.trashinfo | 3 + .Trash-1000/info/test.trashinfo | 3 + .vim/coc-settings.json | 5 + __pycache__/main.cpython-312.pyc | Bin 0 -> 445 bytes __pycache__/rest_api.cpython-312.pyc | Bin 0 -> 449 bytes assets/apifiletest/index.html | 30 ++ assets/apifiletest/index.js | 32 ++ assets/profile_pictures/1 | Bin 0 -> 60654 bytes assets/profile_pictures/123 | Bin 0 -> 60654 bytes assets/profile_pictures/12345 | Bin 0 -> 60654 bytes assets/profile_pictures/55555 | Bin 0 -> 60654 bytes assets/profile_pictures/555555 | Bin 0 -> 60654 bytes .../ | Bin 0 -> 60654 bytes assets/profile_pictures/I21 | Bin 0 -> 11311 bytes assets/profile_pictures/N | Bin 0 -> 11311 bytes assets/profile_pictures/None | Bin 0 -> 60654 bytes .../default_profile_picture.jpg | Bin 0 -> 11311 bytes assets/profile_pictures/kosh | Bin 0 -> 11311 bytes assets/profile_pictures/kush | Bin 0 -> 4539 bytes assets/profile_pictures/kushi | Bin 0 -> 4539 bytes .../kushidsaddfdsfdffasfasfdsfdsfdasds | Bin 0 -> 4539 bytes assets/profile_pictures/nameless | Bin 0 -> 11311 bytes .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../src|.jukit|.jukitinfo.json | 1 + .../src|.jukit|bountyhandlerouthist.json | 1 + .../src|.jukit|restapiouthist.json | 1 + .../src|.jukit|userhandlerouthist.json | 1 + .../src|bountyhandler.py | 147 ++++++ .../src|docs.txt | 140 ++++++ .../src|pycache|bountyhandler.cpython-312.pyc | Bin 0 -> 6451 bytes .../src|pycache|restapi.cpython-312.pyc | Bin 0 -> 22237 bytes ...rc|pycache|solutionhandler.cpython-312.pyc | Bin 0 -> 6135 bytes .../src|pycache|userhandler.cpython-312.pyc | Bin 0 -> 5967 bytes .../src|restapi.py | 419 ++++++++++++++++++ .../src|solutionhandler.py | 116 +++++ .../src|userhandler.py | 154 +++++++ .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 .../test|123.txt | 0 .../test|234.txt | 0 .../test|test2 - Copy|123.txt | 0 .../test|test2 - Copy|234.txt | 0 .../test|test2|123.txt | 0 .../test|test2|234.txt | 0 data/database.db | Bin 0 -> 73728 bytes src/.jukit/.jukit_info.json | 1 + src/.jukit/bounty_handler_outhist.json | 1 + src/.jukit/rest_api_outhist.json | 1 + src/.jukit/user_handler_outhist.json | 1 + .../bounty_handler.cpython-312.pyc | Bin 0 -> 6451 bytes src/__pycache__/rest_api.cpython-312.pyc | Bin 0 -> 22237 bytes .../solution_handler.cpython-312.pyc | Bin 0 -> 6077 bytes src/__pycache__/user_handler.cpython-312.pyc | Bin 0 -> 5967 bytes src/bounty_handler.py | 147 ++++++ src/docs.txt | 140 ++++++ src/rest_api.py | 419 ++++++++++++++++++ src/solution_handler.py | 115 +++++ src/user_handler.py | 154 +++++++ 122 files changed, 2270 insertions(+) create mode 100644 .Trash-1000/files/a create mode 100644 .Trash-1000/files/a.zip create mode 100644 .Trash-1000/files/apifiletest_.vscode_settings.json create mode 100644 .Trash-1000/files/apifiletest_index.html create mode 100644 .Trash-1000/files/apifiletest_index.js create mode 100644 .Trash-1000/files/apifiletest|.vscode|settings.json create mode 100644 .Trash-1000/files/booking-site.db create mode 100644 .Trash-1000/files/docs.fuck_discord create mode 100644 .Trash-1000/files/test.html create mode 100644 .Trash-1000/files/test/subdir/test1.c create mode 100644 .Trash-1000/files/test/test.c create mode 100644 .Trash-1000/info/a.trashinfo create mode 100644 .Trash-1000/info/a.zip.trashinfo create mode 100644 .Trash-1000/info/apifiletest_.vscode_settings.json.trashinfo create mode 100644 .Trash-1000/info/apifiletest_index.html.trashinfo create mode 100644 .Trash-1000/info/apifiletest_index.js.trashinfo create mode 100644 .Trash-1000/info/apifiletest|.vscode|settings.json.trashinfo create mode 100644 .Trash-1000/info/booking-site.db.trashinfo create mode 100644 .Trash-1000/info/docs.fuck_discord.trashinfo create mode 100644 .Trash-1000/info/test.html.trashinfo create mode 100644 .Trash-1000/info/test.trashinfo create mode 100644 .vim/coc-settings.json create mode 100644 __pycache__/main.cpython-312.pyc create mode 100644 __pycache__/rest_api.cpython-312.pyc create mode 100644 assets/apifiletest/index.html create mode 100644 assets/apifiletest/index.js create mode 100644 assets/profile_pictures/1 create mode 100644 assets/profile_pictures/123 create mode 100644 assets/profile_pictures/12345 create mode 100644 assets/profile_pictures/55555 create mode 100644 assets/profile_pictures/555555 create mode 100644 assets/profile_pictures/ create mode 100644 assets/profile_pictures/I21 create mode 100644 assets/profile_pictures/N create mode 100644 assets/profile_pictures/None create mode 100644 assets/profile_pictures/default_profile_picture.jpg create mode 100644 assets/profile_pictures/kosh create mode 100644 assets/profile_pictures/kush create mode 100644 assets/profile_pictures/kushi create mode 100644 assets/profile_pictures/kushidsaddfdsfdffasfasfdsfdsfdasds create mode 100644 assets/profile_pictures/nameless create mode 100644 assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|123.txt create mode 100644 assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|234.txt create mode 100644 assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2 - Copy|123.txt create mode 100644 assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2 - Copy|234.txt create mode 100644 assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2|123.txt create mode 100644 assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2|234.txt create mode 100644 assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|123.txt create mode 100644 assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|234.txt create mode 100644 assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2 - Copy|123.txt create mode 100644 assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2 - Copy|234.txt create mode 100644 assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2|123.txt create mode 100644 assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2|234.txt create mode 100644 assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|123.txt create mode 100644 assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|234.txt create mode 100644 assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2 - Copy|123.txt create mode 100644 assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2 - Copy|234.txt create mode 100644 assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2|123.txt create mode 100644 assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2|234.txt create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|.jukitinfo.json create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|bountyhandlerouthist.json create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|restapiouthist.json create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|userhandlerouthist.json create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|bountyhandler.py create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|docs.txt create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|bountyhandler.cpython-312.pyc create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|restapi.cpython-312.pyc create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|solutionhandler.cpython-312.pyc create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|userhandler.cpython-312.pyc create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|restapi.py create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|solutionhandler.py create mode 100644 assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|userhandler.py create mode 100644 assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|123.txt create mode 100644 assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|234.txt create mode 100644 assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2 - Copy|123.txt create mode 100644 assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2 - Copy|234.txt create mode 100644 assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2|123.txt create mode 100644 assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2|234.txt create mode 100644 assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|123.txt create mode 100644 assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|234.txt create mode 100644 assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2 - Copy|123.txt create mode 100644 assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2 - Copy|234.txt create mode 100644 assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2|123.txt create mode 100644 assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2|234.txt create mode 100644 assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|123.txt create mode 100644 assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|234.txt create mode 100644 assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2 - Copy|123.txt create mode 100644 assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2 - Copy|234.txt create mode 100644 assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2|123.txt create mode 100644 assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2|234.txt create mode 100644 assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|123.txt create mode 100644 assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|234.txt create mode 100644 assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2 - Copy|123.txt create mode 100644 assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2 - Copy|234.txt create mode 100644 assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2|123.txt create mode 100644 assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2|234.txt create mode 100644 assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|123.txt create mode 100644 assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|234.txt create mode 100644 assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2 - Copy|123.txt create mode 100644 assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2 - Copy|234.txt create mode 100644 assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2|123.txt create mode 100644 assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2|234.txt create mode 100644 assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|123.txt create mode 100644 assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|234.txt create mode 100644 assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2 - Copy|123.txt create mode 100644 assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2 - Copy|234.txt create mode 100644 assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2|123.txt create mode 100644 assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2|234.txt create mode 100644 data/database.db create mode 100644 src/.jukit/.jukit_info.json create mode 100644 src/.jukit/bounty_handler_outhist.json create mode 100644 src/.jukit/rest_api_outhist.json create mode 100644 src/.jukit/user_handler_outhist.json create mode 100644 src/__pycache__/bounty_handler.cpython-312.pyc create mode 100644 src/__pycache__/rest_api.cpython-312.pyc create mode 100644 src/__pycache__/solution_handler.cpython-312.pyc create mode 100644 src/__pycache__/user_handler.cpython-312.pyc create mode 100644 src/bounty_handler.py create mode 100644 src/docs.txt create mode 100644 src/rest_api.py create mode 100644 src/solution_handler.py create mode 100644 src/user_handler.py diff --git a/.Trash-1000/files/a b/.Trash-1000/files/a new file mode 100644 index 0000000..e69de29 diff --git a/.Trash-1000/files/a.zip b/.Trash-1000/files/a.zip new file mode 100644 index 0000000000000000000000000000000000000000..d3efa0f7d034b6df8e4f78133d1ee106ec8dc7d5 GIT binary patch literal 558 zcmWIWW@h1H00GOw9}!>%lwbwYC8@RM%9Q=$iM&!4F~|)H4%ux8sTAssuS5tQ0O4QZXgp`Cx{IU Us{n6SHjp9~Abbv_4H-c^0Cq2M6951J literal 0 HcmV?d00001 diff --git a/.Trash-1000/files/apifiletest_.vscode_settings.json b/.Trash-1000/files/apifiletest_.vscode_settings.json new file mode 100644 index 0000000..4798424 --- /dev/null +++ b/.Trash-1000/files/apifiletest_.vscode_settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/.Trash-1000/files/apifiletest_index.html b/.Trash-1000/files/apifiletest_index.html new file mode 100644 index 0000000..b5d3028 --- /dev/null +++ b/.Trash-1000/files/apifiletest_index.html @@ -0,0 +1,21 @@ + + + + + Document + + + +
+ + +
+ + diff --git a/.Trash-1000/files/apifiletest_index.js b/.Trash-1000/files/apifiletest_index.js new file mode 100644 index 0000000..b97454b --- /dev/null +++ b/.Trash-1000/files/apifiletest_index.js @@ -0,0 +1,31 @@ +document.getElementById("uploadButton").addEventListener("click", async () => { + const fileInput = document.getElementById("fileInput"); + const files = Array.from(fileInput.files); + + if (files.length === 0) { + alert("Please select some files first."); + return; + } + + const formData = new FormData(); + + files.forEach((file) => { + formData.append("files[]", file); // Append each file to FormData + }); + + try { + const response = await fetch("https://club.modo-dev.com/test", { + method: "POST", + body: formData, + }); + + if (!response.ok) { + throw new Error("Network response was not ok"); + } + + const data = await response.json(); + console.log("Upload successful:", data); + } catch (error) { + console.error("Error uploading files:", error); + } +}); diff --git a/.Trash-1000/files/apifiletest|.vscode|settings.json b/.Trash-1000/files/apifiletest|.vscode|settings.json new file mode 100644 index 0000000..4798424 --- /dev/null +++ b/.Trash-1000/files/apifiletest|.vscode|settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/.Trash-1000/files/booking-site.db b/.Trash-1000/files/booking-site.db new file mode 100644 index 0000000..e69de29 diff --git a/.Trash-1000/files/docs.fuck_discord b/.Trash-1000/files/docs.fuck_discord new file mode 100644 index 0000000..40ee66c --- /dev/null +++ b/.Trash-1000/files/docs.fuck_discord @@ -0,0 +1,140 @@ +Legend: + Form data: + https://developer.mozilla.org/en-US/docs/Web/API/FormData + [something] : this something is optional + + + +---------- USER HANDLING ---------- + +POST : /get-user-by-email + Form data: + email + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : email missing in request + 404 : email not found + +POST : /get-user-by-id + Form data: + id + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : id missing in request + 404 : id not found + +POST : /get-user-by-handle + Form Data: + handle + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : handle missing in request + 404 : handle not found + +POST : /register + Form Data: + email + handle + password + [display_name] + [profile_picture] + Errors: + 422 : something missing in request + 409 : User exists (email or handle) + +POST : /login + Form Data: + email + password + Errors: + 422 : something missing in request + 404 : User does not exist + 409 : Wrong password + Cookies: + sets id + sets session_id + +POST : /logout + Errors: + 401 : Not logged in + Cookies: + deletes session_id + deletes id + +POST : /change-user-profile-picture + Form Data: + image + Errors: + 401 : Not logged in + 403 : Invalid log in + 422 : image is missing + Note: + Must be logged in + +POST : /change-user-display-name + Form Data: + display_name + Errors: + 401 : Not logged in + 403 : Invalid log in + 422 : display_name is missing + Note: + Must be logged in + +GET : /profile-picture/ + Errors: + 404 : Handle not found + + + +---------- BOUNTY HANDLING ---------- + +POST : /create-bounty + Form Data: + title + description + [field] + [language] + Errors: + 422 : something missing in request + 403 : Unknown language/ field + Note: + default language = "any" + default field = "other" + +POST : /get-user-by-id + Form data: + id + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : id missing in request + 404 : id not found + +POST : /create-session-for-bounty-get-random + Cookies: + sets bounty_session_id + +POST : /bounty-get-random + Form data: + page_number + Note: + /create-session-for-bounty-get-random must be called before this + Errors: + 422 : page no. missing in request + 404 : /create-session-for-bounty-get-random not called diff --git a/.Trash-1000/files/test.html b/.Trash-1000/files/test.html new file mode 100644 index 0000000..8539955 --- /dev/null +++ b/.Trash-1000/files/test.html @@ -0,0 +1,4 @@ +
+ + +
diff --git a/.Trash-1000/files/test/subdir/test1.c b/.Trash-1000/files/test/subdir/test1.c new file mode 100644 index 0000000..20f5249 --- /dev/null +++ b/.Trash-1000/files/test/subdir/test1.c @@ -0,0 +1,6 @@ +#include + +void main() +{ + printf("Hello World\n"); +} \ No newline at end of file diff --git a/.Trash-1000/files/test/test.c b/.Trash-1000/files/test/test.c new file mode 100644 index 0000000..20f5249 --- /dev/null +++ b/.Trash-1000/files/test/test.c @@ -0,0 +1,6 @@ +#include + +void main() +{ + printf("Hello World\n"); +} \ No newline at end of file diff --git a/.Trash-1000/info/a.trashinfo b/.Trash-1000/info/a.trashinfo new file mode 100644 index 0000000..fab49ef --- /dev/null +++ b/.Trash-1000/info/a.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=src/a +DeletionDate=2024-07-24T17:11:19 diff --git a/.Trash-1000/info/a.zip.trashinfo b/.Trash-1000/info/a.zip.trashinfo new file mode 100644 index 0000000..a74bbbc --- /dev/null +++ b/.Trash-1000/info/a.zip.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=src/a.zip +DeletionDate=2024-07-24T19:40:20 diff --git a/.Trash-1000/info/apifiletest_.vscode_settings.json.trashinfo b/.Trash-1000/info/apifiletest_.vscode_settings.json.trashinfo new file mode 100644 index 0000000..8c5bb2f --- /dev/null +++ b/.Trash-1000/info/apifiletest_.vscode_settings.json.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=assets/apifiletest_.vscode_settings.json +DeletionDate=2024-07-24T20:03:05 diff --git a/.Trash-1000/info/apifiletest_index.html.trashinfo b/.Trash-1000/info/apifiletest_index.html.trashinfo new file mode 100644 index 0000000..15d4f02 --- /dev/null +++ b/.Trash-1000/info/apifiletest_index.html.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=assets/apifiletest_index.html +DeletionDate=2024-07-24T20:02:59 diff --git a/.Trash-1000/info/apifiletest_index.js.trashinfo b/.Trash-1000/info/apifiletest_index.js.trashinfo new file mode 100644 index 0000000..f6a2f97 --- /dev/null +++ b/.Trash-1000/info/apifiletest_index.js.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=assets/apifiletest_index.js +DeletionDate=2024-07-24T20:03:05 diff --git a/.Trash-1000/info/apifiletest|.vscode|settings.json.trashinfo b/.Trash-1000/info/apifiletest|.vscode|settings.json.trashinfo new file mode 100644 index 0000000..292ee9b --- /dev/null +++ b/.Trash-1000/info/apifiletest|.vscode|settings.json.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=assets/apifiletest%7C.vscode%7Csettings.json +DeletionDate=2024-07-24T20:24:13 diff --git a/.Trash-1000/info/booking-site.db.trashinfo b/.Trash-1000/info/booking-site.db.trashinfo new file mode 100644 index 0000000..798dcc4 --- /dev/null +++ b/.Trash-1000/info/booking-site.db.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=data/booking-site.db +DeletionDate=2024-07-17T19:27:01 diff --git a/.Trash-1000/info/docs.fuck_discord.trashinfo b/.Trash-1000/info/docs.fuck_discord.trashinfo new file mode 100644 index 0000000..ddb216f --- /dev/null +++ b/.Trash-1000/info/docs.fuck_discord.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=src/docs.fuck_discord +DeletionDate=2024-07-24T17:11:22 diff --git a/.Trash-1000/info/test.html.trashinfo b/.Trash-1000/info/test.html.trashinfo new file mode 100644 index 0000000..58749d6 --- /dev/null +++ b/.Trash-1000/info/test.html.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=src/test.html +DeletionDate=2024-07-24T20:25:59 diff --git a/.Trash-1000/info/test.trashinfo b/.Trash-1000/info/test.trashinfo new file mode 100644 index 0000000..19bd00f --- /dev/null +++ b/.Trash-1000/info/test.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=src/test +DeletionDate=2024-07-24T19:40:41 diff --git a/.vim/coc-settings.json b/.vim/coc-settings.json new file mode 100644 index 0000000..d3833f9 --- /dev/null +++ b/.vim/coc-settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "Yash's" + ] +} \ No newline at end of file diff --git a/__pycache__/main.cpython-312.pyc b/__pycache__/main.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..66e6cf7fd3d68ec50e2545a9234da7e9986adb3c GIT binary patch literal 445 zcmYLFF;4<97;UfIfg;8j7h+<>NupR1aU+bxMOG6AFBe-pxE`%Nh&d++COA6DZ!r86 zN4Ik!adN}3G1;D+d`Z9eUi-e6FMZGDHi4>>(QE5o;g=Rkp%q!&C^7*A5Xe9i7=VI~ zk(kyxl#(+ zJ&Jv&-8~awly!Bg{h&i-Mg>{w1UhyAX4!(&vS>wSi#dT8ne`Ylw%v7nYTFTVgosSZ z`#l;@#|yNupR2Sxg8cago)8!OO)K53WaR?}#}k2qri>$!{?H z6i2snA#rlUurb-5oPJ5a_g?$HmoI%Q6xM;NqtQ$IPT{8(X`vNaTq`mG1Q5tT3mAZc zu92Glks4F@t6GSn?%MxL%E+ICphqxWUAN2#mNQ>kHJ1?Ir0x{;8jFl-6QGPn^I@kZ z>KBwTe!PFhB_pL87WG#kO>NXu%X92=9Y4S#3SHjA)zfMv z=!6tY8ickZIwvBE^R7;|?{%=usW3~OKt~V2EMJmZmaW)qGbiw3vyni~wtJ3GZ97Je z5V0wFKcvZYvQ#o8vubjgtNEPt8Li7rCG~#=Rn_JQLihnT<`&3q59rt%de4XN*6sk! YU}jt#7N5>Wd*23x2MYv@t%N11Klw&rPyhe` literal 0 HcmV?d00001 diff --git a/assets/apifiletest/index.html b/assets/apifiletest/index.html new file mode 100644 index 0000000..a0b5be0 --- /dev/null +++ b/assets/apifiletest/index.html @@ -0,0 +1,30 @@ + + + + + Document + + + + +
+ + +
+ + diff --git a/assets/apifiletest/index.js b/assets/apifiletest/index.js new file mode 100644 index 0000000..7463aec --- /dev/null +++ b/assets/apifiletest/index.js @@ -0,0 +1,32 @@ +document.getElementById("uploadButton").addEventListener("click", async () => { + const fileInput = document.getElementById("fileInput"); + const files = Array.from(fileInput.files); + + if (files.length === 0) { + alert("Please select some files first."); + return; + } + + const formData = new FormData(); + + formData.append("bounty_id", 7); + files.forEach((file) => { + formData.append("files", file); // Append each file to FormData + }); + + try { + const response = await fetch("http://localhost:5000/submit-solution", { + method: "POST", + body: formData, + }); + + if (!response.ok) { + throw new Error("Network response was not ok"); + } + + const data = await response.json(); + console.log("Upload successful:", data); + } catch (error) { + console.error("Error uploading files:", error); + } +}); diff --git a/assets/profile_pictures/1 b/assets/profile_pictures/1 new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 zcmeFY1yo#3vnV=*07(cC2oe}95FmJPhY&ni65NCPz~D}h;0zYrg1gJ$gdl?rE`$5v z?tb~c@7`a|`~P>&TkGAm?po*e-n)10uG-zzvb(FRYTqO77XdFmO3FwAP*4B>l!pUw zzl?&A5fjt<^hHrpMo!`{L^t3eJbniNSc4qwzDRwbRM*g?#8~|6jX!YuhW569-2Y8@ z$oFjGkK6%(QRaU`^Z%Co)X3Q0@PXjq;d*2DQ1}D0_zy6?>0j{MKVXBuV8K6NX9rt{ z2bxcRz;?=C#2#Ry2l%b&Kfnh602|uc{Xrl0KqF{v<@iTge}q3cer^m>QF^#PdALXc z_JA({DZqz6>i_Wk5Nt950Nzso05$UOX$FY^0Q5Tm@M`++X>Wc4066{tK<(h))BfHj zw)%GZe`fdiA%0|H0stK40RUJU0Km&30N|O{pSXwU-|$BHfFgb1%jV%Q1y})$0h9n4 z00>|RV0nPp0q+280Pg!4fEeHjIyweA+7k>6jHgeZJbR9h^&AuPIWgW#9DFho3UV?M zQc}t{EOeAqOw^>LZ+YmM-m!6Va#GOo3GuQEvT$&+|B(sG)2C0LV?KX{h4qU4HR)^i z|Igw67XbIk4;4TGJbHwR^1tf(a7V{@jE3?E^~nSF^9umV zW0XgaQ6Hl{MMFnLM}HuE^zeX=i-Gr=?WO2vd@6k~`v;$>VFE(xFRDK>D%xJD*u{)I zA$r4Mu*4~Lz@=p98=XnR9b5VP(B9AgAxn~nL63^^$H@O%cqr^4%Lg1A?nC+`l*f-y z9-*NDP|zMIP#)o;K7J@m^z%z9eKdS_a1=F%Pe$7?!Iz4I!~1E#^FKJkMa2b(017_i zqTs&3{ofuDZkQyJ`1~u&rw|m)pz1BbDUVk`K+A zADO7h8%^xMx&!X{$%V%I!uTSlO3j%m)7eIiQ-j)#s;1C~JIA8ofmoLs&;|^K1`-p9pMT$VjYj~TFVeFLJVpb6-D?~xo(k$r|X zKxuREM*;TfBd&0^H`aYCtEE#g}@*r&7wVTzKGkgP_H@_j7GJpku}&e@|E5}!587Fm8;Nx*vz$!Hg( zPQFn<7VF_D;amS*_L#55xfrtSu{K8dl8QsyAurJ{a0;5HmqQd?*sx)x( zRIP8#)X02u;uR|hUAx!77SHY&=gmw**dhmUaTiq!q`)msI3>biKS?UVb*=)8<02%w zSw2(x%avXn&wv-4UG+&UB`0>k*zkbbn$Dj6?HRS5^X5tL_If$FvDtyT&g=Y>Y~{IV zKdk((uIq6#vj&y$fw=*=0Palb?vAKv>jYSPw23(*Z&!v}eq{P(m>-IxOTcQ-^pP`o ze{=RGR-uHnbC&kUQg{iS9)})>*Xptw$(%tcYLWsh|Ei@idfDk&>3ebU$KwBaBr*Og zju(6Nh43m_A9+_`9AAm^FxVV$6Oq(YA^GuuTa7PUK)-yC2UuhiOp=W9V=0a$K!jSg zGq(kGQF2lH*Tjq6nNz2o!kh3Q<18R`RH@Uh0P2{7=nUO+s~loOlF@$jMeEhZwR^xp z)IA``o2sc&^>ti|HAJ%R7`0qTO1uXVU{O)aN3zn7{p$=!IXRv_Rnq>o9sf67%^f}* zX?P}ZROecK_FCtn=`Lg0p|U-^l`#4Dn4y-4@8agHt2^pwZ1b5AM*j)E=1D+Dxr;9! z`9$x$49O&6AkShH7s7tMimvAAAKp{bIdFmf?Z!u)KSJFCivVqo zEnkB9{R}}*k%7Elz0Ax>$?++ZFM=hG8bLMm= zyKJ=L-&Gqlu;d`Nl7CZK2UzbuS|9yqi@2q~yP~;UEV~D64c`ND9tVbUE>^XN6(NHm9?z{R_}cAY7}!5A9o~2r zA#bE^wymy83*J#rn(T=LJ?oqBkm#`}CQS%A$shJLSRfnhW|!jo=~uo10Q%Ic^if9; zVFmUW5L?N<%rvrXP5&W~m9or_ohB`4cX4KD4a2u13Tz{7Id_WZvBSA*WOiE{u%Fdl zC*r+~sn@2YqIyL2FC*;KhJTCu&k)$$|`ja?Gdt-DR~G5*U6ByP#{1a_4a8exFQVivJ*{-BmH?bCI@9 z6vXQ^UKG*5B*Qp8G42{;u#WC47JRz*LX_xrslA`($U5&102r;DE~~$_`gWD6C8Jx* z?}vo6Y)?OqGai5XwTGHB53%AWLv7o*t={#3zAvWrC6=MzER$BozIjAStc6Iwaj>fx z?w;SZm(>>jS{mY*o~OlECdtB&B%Wivk%&B6p>{>t7#+?=sXQuBl3zPI)@L-#DWP1q zBJ6l*_~ceK&J)Cr_l_@qh>jvKFfT_zmhOwpddT)qX2^$mJAU+-Re{v&6WzLEGFg`y zja+?X-4xTS?N5*os3ZdM0`;hsPYljVzQCuNNXlh6Q*vf2pb0wysXqdh7BjOxKt7V# zeO}vNyg@HVcfD3B&N7t=;(Q>NzK$I-lw?NL{jL z3`gp*QCK*=?^r)3FFBckPD9o5H&a0Q5qLMsl^1K_tcSCYY34BA?s>}44Q4*Uqlbum zRC97?dtRIdw=zHf8n$zp;#Sjm(^zUZ?M1h_O-!qw*P*DgyZ(Kj#j5xXR@bd4@Ml2g zK)YJVJSf&Y5sqI~0|8xwM%=>3em_@8h31!To_$J;=1Hks2vcNCLP78h*{ru*Q+~^g zZ<9rfYd22*;$Ks2xO@l{$Yo*oX;s5+_iS_pHE)_D3KutKoUjLUJ8Lf>mT#D?n2*Q= z>il2)(Arh=kHC!be?O&xmLOgX(Jc)-W2PH4sDAsON)MsouzYz~zGyEC4|&GJiSf2> z*3JLnB+Xm_Z@mO>y|DZLmxOQRY9s*ote3k8VUIZH<$pKw1ia869>-EP9?NlJIZ^N! zez3;QH}Xxm004M;`Wfpl{-7Q5fkt0oQPy>)Z}@?ZI*o~2n9hKk2^dHIwt57CZbp@H zHN`TJ@C+w%4|`4kJH1EZ{LczKu6mt+xbkIka7Dv(TJ|z8z;F_F%uTio+rjqZL@n>^-g<&F*~frAp${OT4_G_(2{a=VF=Wd?P{TI1Gi!tBf>-1D z?AesNfjy`9>%M?qcR5>^7EX?dEu=s{E)wVTGyE@x8@e@qw^&4uLbkWN7ERM!aRjrx zGD;R=n|U-4O)Ws&LS(&4oL0oU`Y_8tjy8L#g58!o3)Z^Rr*)@K9>#DSqnEi@=(L`h z@q!s${M_2*{=#B2`({jc!L2O(5Mbjo;WjI+oxnJ*E@Q`x ziEfCk`g|lFkxr>WXlx_IKyhSy$WbH81gt^I%)n#kGqkoC-Xzb_{OMtn++_~iFP`=J*ePVCR%zh2>!==zJ{ zwf_wylvmrwB64?w2Cep{i|L71rf2R1*U2Ji4H8D2t$%xbd^0#IQiUj+ow{Hip&Yq0 z-Atd_QQNb+dHMI3q0)Y`m+86QrWJbiRR@aww;b0(A-C{!-#IEQR-{+rZCa-najPab?3)3O!zh@D$7>x0-#Z6$M09dtjw88^|u-Wj#`Fl(LLpQ_+!wsvdzc(3o zm%LY)J#4ha$W=yus_KFE_ z83p)}mSr_b(W8e~7Gd-FAVZ$Gn{T_lb9be;{LWfCCi%_e4BC4+##WNN(4;52yK8Gl zEW&w1Xk^gv(AOojNxR<0qx=?>7Y5905SiN9)TUpbL!LuBW`_rnmjT#BQIf#|T-UBq z$f`j;|2gInSrNiYVhuSrB{{8D!d346g{<%y*YNA_E39~qX}~*bfvmI4`AQj0`Pt!Z zs0zWvta7q~5t;w5i2x2QlkRh#ISkM*wEfJwRLd_gcZ!%o3ZwVyRlh)Ylr#Bjry9C) zr*mab=FS@5X*6gC;^@&w#B`JiIGYPSImK8e?EHKsqPpr(i!G=sBC)m}US>b{CM(`f zVO@V!7}Mj9cFURfi33^t_P}l2+{JBmhS;f z;&j++>xd(JH+!eg)?7jHWTtE;qky#2DH=M@%f!~kGpqV5h(bSe+At_nBk%RC z9nk}NehA4NN{Uw+pTsi{Tbo#;b|7c8;%emQI8@!5B+XRYx1p;_K0_U5pkT5lbP8JVw9qUf7Bc_hQ7|H3N~ z+R1&_=IheX?pX;p&&J=CPeo)ZUArQA?07=~^kq}QvtiinzbL`DaOEZrqCZ0%?1$uih-#HB?hfkS1Cs# zdSQu{kPK2=_Z%z|DF#iCcGVT!&V));S=!O5k5N2!mup|K4Bs!%#P@n4@3FL706o&JVP`79~wqA zZS!v7cpRiJk6pv+j!y?p;mWwn3bly{u0l2?x)`P=fC7*LF21bBseWg(Q=1vPzn&q1*PBYfmXnNaTl&i0M1_L|FYo!ON z*RYUIclsHo5!@bChf8-d)`x_%mvL%<9sxu0Qd`Vl78W+PHqZ~+3Nug9x7VMtCFLe)$HZ6p?0kS;rM&c7ZUHOu8s@H!Of!@`O(Xjn!_<~%J1MYrn~LA5O3Kxv&flkM zfQ;I=G_^Vm6tEpynlv^o-Lc#2Qt=m8{Y&$s?n+wnT;AKPTPvViYZuPwC(0;V;OOb* z2Bc1FR}WbC!DX^1>wg%Gvo}yt##x)%TdC*~6GtZu#R?eRk22J6vlRnq3$}VRZ5?Dv z*fvL5_T1sVcczbyH20e8-K|P`lf0kC+rnpHPeD4CCQ+45bzB3$)D}!^kcUe)bd88! z2wHnFN-%}x$>CQY9pmX=X7k3ID>$-mn>06}FU&tSBie1iigTOCnR6Gpx4P5BYC%f- z2$%HCa>5MA{r1W%jA4@U^g=>*i1Z&-8S`K;uaE4G6?C$%vp@{8_z7)JC0*+b1{Ph@yt}5M%g{_GK#2h0F!t z_bQNFKt*@Wvim+$>7=K+&&fSt(%71nVSG7Hm4Aq>ID|H!rUVE8Y&5Gu!=f#?aB5GDa10E`~cFG-2dz?fDD4m`+8yY!;X+fDOCCi5pG-B&jp^7kDt}Wrce;7V4zqsYz(3nE#0SjTH;_3rUi793I#7W=Z`#w;FYkx7^$_ z%;=J^6V3hiHQM~WQxU-=@wg_YLSX;^X|A(&hdFDtTP4}zI(>g` z;-86>vZ{A&q%=3A{C3&qEr-?#IDbJ4_l!-CDDO*Y={K~EPlmG0IbXlDOK={2 zUDZq~N1!)aPW!%QuuDy_=}n<(dc~eJCOk#((k(Wvvgq9azoYsT0JLJQyuS8Q90?MH z0vY;l_s5aZ5O}fmz1De=|~&sY#Beu)j9iYwWKnk$R+e>9EzE6 z#tX^HAQva#SsXy0m(}}R*VP=m#oK$yy`eA%JS&LfQ8#Z^5_Hr7dS>4~+3CVwA0mME zuUc)U3JJ~1QkT&vFXUJ&g#V`ADwYWJMQ@eOm0A=8{#Zb_#S ztyXoE!hqS@Mf!(qb;)?S;f2Dau6b2J`9^tC^~&rqe&h18xQhz|)%CoDYT z213zsM;~{?Mq4+97KS_sqO`+Y1>6YvjO*~`k46)fG@*{r z25V6(vJTvsyw0eYK)x;o?@4RUBwTP3W`~CxMVreFah0gifpLX+$kTq_On5U^keUvT zCw917Stl{WMvm`_z=ai3U(ACK;glbxJ>FdMI_Y}T32S>yLw`e=l?@bL=+mzXWoxH> zED_udpRw*+C^-3atJ6We9w!GPo*z^Y8BPQawSrQG9yJsgu2zHx`0u|-TBd9CygJ%Z zAug)Z%XjF6)s4o@;mIZ%pc7%WP&zU2d!JU;o386dMQka3&JE44h#z| z#aSRnRcutm#8$&@pIg*I04eXvT0pl3}YlHxBHz3JM+m>oZW!Bh=YVksdkW z3vEZuaWF04Zn+1v=~#q}Lp=9{e*G5et!~>t5DDo^+J-Dl5smz6Q#mYoBnn(Ej};9yHT|aim#xu9(Sp z*~+tR({kq>l0>zmL0a_lq=ae|9X%A&o#HtK5*j(-+lWdTz?)nu zSWkoXhqz9`pGIhW#o#y{r9h1Wk~=k$wV(S}b0URt4C~=Xd?}oDC^JdY({8)1P54-} zar#b4ov>E!@tMgTm36}EiHtxdcANn73I(%+)K@eWJN$tth`kbPvQLc^5Ph3rA3vK4 zjm##KR{t|DIJLnD55|tJja0yK{rI~yr;9%Mjg8aC9((;G#iHBz5mWa7yR@;zGx~ng zOBotE`1cI0%hH!-H?xp9E3L1IbF0NG#0!&|5s*ilXD@#lJ zzCY;$TX1g*4UGH}?)?7F#+WgtuZcxCwV^2GOr@)(cyhSuH$Ojys|OLCTExlvskZB2 zT;KPYYbh+-Qsit9pCaO80>g^WQ6jIUO3utud3+OKd&t<5v1z9)btX4#{Vx}2&# z8o|t1d_d%+hK+n2u!0MJ&(S6^q+*}eBlh5>AZa9( zKAlp&8t9N8uE*#`Ht>k`j^K>Y)%Lb8m6%)DZeu*}XLczb(e!|7I1rv`To(mqm*5ip ztoy^b@0+zk{%p~_uvGV|=7M083c1J)Xj2DR2y9Rg`4czNLJ zSDH^|t&s)uB*uHjRB0_@KW4M|eARfiU%1}`(Cnl}xNqV-X?d_#JllzLQ4e0Z8Xdmr z9I-!NNF3r!U#-$F!*XeV9UR5!smjUejkXn919nxn;bfse+iGatpok9TL9;1XwA`AB z$ZG{APcA=$EgHwmwlASVkj(|^!rC(>XHNeRfZu z`A;$*aNWiI2*0%6y-~T^4WeEw@S<6?6e4ey4zrCE+F{3>WDgei?vPg#1q(1P-u=m?hAZYZLxa*24hp00>y2PJid+U zd*h$G0qe1I!oTaUQk;G3-NbmG?^$CoKInSzgvkaYlTIZKx7}KFw>~duU|0+5)$sgGUX+(zM(G_i@*zs9 z>J@PITb+c0FsaKuAeTzs&3Tq!%}Pl)DFpEh{DWZQ#bN;qUTgjN)jD%_`{BBR7?2e3nAq?*vP z{D_MFf7ja!Mg8aHlr0G8( zinSlaFMR951^xRfzbV%f=Zgl+49n+bG)YIe z5v3cMJ)YrSbWb5|lhG~gMU0)){SZrx4=b}JzEqL_EJgn3-VT3b{=ecH@qZk##4mfD zmJYJ!XV{+~ym<`g8nu95WYy>(PpE+nQjI3nl-&{pzrhqAx1I-QMD%uD3q(%v5*}M$ zHJ*RT{;yS7hk}}#lJ6H0S-_oTLuc#Lq}r8Do_zJ=^*B;zCX*d4V&>?|c(wXsbNe7H zvL0Q|^_P>DO)#-z?O9VH84`h`!g1YLNhR$1= zWu>r7pNeZDx#W6tUbjd>kEWST8>Y)pImaHhRvQZ&hgd`VfmKM3yK5N(e68%&iJ1<| z;G!xEh4hIHTnk$U*2Xb#6=PO+Zd`Dz@uX>S{eXCxY_4ytOrnL@*^qU*)?!0k!r`C3 z+Mgsanxeg}S0{IIR*v8NExm;BZ(S9E*}jrpVn+6|n!62t&=0VD|6{f9_!*AlqVhe z0FxzLgD{^bw|a&YI_|N)F1$$g`!xkI`MP3SEd)1Ti~6-EDq<^YW&lcoP^FIi9u;Jc ztiB}TBuHqG0KWbnB{?*~_U9zB@u;J3J_Z_foZ)K z|KNrfB2;*qMkMuxkbOc7v&CPIbkMuoTjka0jrBNY6O5^VW%|u0QWoe)6Gi;spwF<$xJ3kS=_R@^F2mCC_ z<5FSj$AoluhnDcATtNf+aiqEApo%Wa7OIsMrCCv0i zY)S1eW&^lCXtgq~IFE$S`_lu*{=*a@u_hG6@O#rrp7b-cF>P@oqWb5i$*85>F0q<#7bL9YJ~@XvsBJW#5X8_?lW7ecbdoA z`THJ_(7IW7x5udFL6|dR^K?!MZW2|8D4d!F55xQ1pH_*mio7nTzNHxSx~4Z#(=gw8 z^G-Ihw+)qvCyi>QmBUlAPl24&rD7L0F&wAH*f1vrG_YYLA(=Zzu+V&u;fPvs+Hdgb z>+-}U%}I}yt-XQ=cX-ppsD&oc4xQVB%deziJXeg`Y;|W-oRID2o7_e8Y7_*MrAm09 z#J<%;qce_5#^Cm?Kpyy=QK_!w&q|(eV*C7xk(e;)L!ja|PY)rtGkZG*$Iry3(wQ;0 z@1!X%M}|}J*?q>dALq{`f3Nd$l>nm^exYUNl~j-4WOR-9kH;bI0ezNNF&j7rKW{V# zW})^JS!^5)0(_`&bNF7jmp6H{b>QfH5Z|!MG1XXy`d^ z?THtv<5PEi@!Yds1Szi*;oM&hs%8B2*LtA>eN_W5q4?&@WZBL-2eu@aya^}kzBqlt zlzO$hz7e_{%NI8?mWjpXhAW;Uxu%*LkO83iJ)zyl;Av3Iu5_~e9%o`2lvX4OjPv>rrne>-xUGJ4?RDKYB!ZBoQcUE4*Le;EEK*k6pB*H1bS@HecQIYD9yS>>f zZrF~I*3dz|&9ZOcD%l+Ja4$MMUg>cRW@<@SG#BFYg{>aBHVLh3Imz4%Qhh=~7rE~W zHCv>Xuzz+NIL-^#xMrVO+PQpbuV=Ouc6W#=iPnLN-0!@=DZ5clrj*74j`A^Z*=8yTZ z`aB06i%sg5zjM@t3w`XK@m#T`7&qlBZ+$nb!0YJOX}~#3)754Ssa}_1+=a%OHhLH5 zZ2gP~o*v;m0+py{OsApyZ6747`(WQ5hl>(5{|B`Olv|S zGIUMtVuxkx&4gE%?VjtLuAmAo)t@(0zxtx_k#%SFB~~xOXCFMr2q^c@!g`W_R$*#Q zIbWfzCqyJQoRsEe6x+Tqrr%M&iwK{S1Ch0@R1F!=uM9`}7feS}%n7Z|8)c+5OLnw4r&|ko24^X-G!c2V+399o1g< z(1tm@CORO+L4W=w{bn!vBFf>OiXm-6Z+l=oXE$cW&=l8gPAO^5;w59clEJ~OY_#0G zutxq=_+Hs^#LchK+EpBy+}{VAb!X^Cc9rV6uwV(*XhdkB!Q#i&!NQfUDVv1QAHlU8 z6cN2&D<LwG~z`^xZlc$%hP?ZEZw*MN#*( zdklEB1{r679(}3hcZ_{amovNZjt(S-@R*YL6<>Z#qy95pC(HSu91Kh&f4L)Y?)8@;Z`-*sc#4Gt1S;ZptFulQg>$ zK!kk9mrq?8XJXq*BD`P;w`8#qznB!Hh`m2m4zl{-hkvVw%#}uE@ArD#Sq=>1I6U|O z&5+`KSayx5>Zx+Ru$}^KSfFprN%;I$DI--6?Hm@+-{)4Ovq3fs3m1_dB@9~Ae!0++ z4r&lj!fw;I(K$aL^#5=JLXeD{nLh2E9=Eo5T(>)&$`lMP%tYdAmLI zVMej3+@25J%*5`tEu!tuWpFKCG;uL5tmLgLck{bdjt_Uu(^*OtsB6ULV($OFF6qXX z{j!33xt7p;vRf&sB=;$0;`dVXV>HQ=am>1Wc1;l)wV8KzHq07nJXjcwUTEM0N4q8W z{e?#_+l zlNsp5S4`Lud1~$6XE6%;nJUeZ7N?5nM(d72kn7W1*QdI+GZnh;FY=;!uscgBzf<&> z-UAk#ob+nKJHu4!N=MS(O2ec85blbW9V2I;D>LhJV%LUiVxe~juVd0oQOlnL_Ulh{ zubhJ}nH-8sVw|Bv;HjMidtRJR9~&!9H$-*fz^D2FjL&iAxzUdw@obgFv*-wOkmlY4 z9QJw&A)6a{1KZDA${HroyU#_Xd9ACh1wa^iipx#B86wez^K4PKExQ^4Fn&sV7S|Z%CmK<9e$gXlMmysAM7ciB+t$%-dQPfJTAgDlFD@@i$ z`PIzXdN5IAH~fev_Gb*#I3ptPs!!$P`Kq0D`^xMx@Uid-NL@ zL zk=*I@wWC8*qUrZ~_vwon(>ORTk>;O!SF|+~>CDpefwNknS}+*lxY4Yl)n)Y~%nvm% zK#J>}m21#aQH?9F>~KnrvA`_n6pCY42bVBEVd$|48{wBuf9Z^P+0x-kP_cCOy}L8f zk2Tt7JfnEeiEYJHXkJIqxB4j2>`;AkuV35nd&&UTp3{*Ep;TyM@ch1E8Jg3}@;CMr zP{;KZI2<0H&~rN$H?`!@Fw^tqm?d|#ZL>~Kq^HALk@g;Nc+^p8g|~8^uSobc{dIQ2MSZAcKRMD@v9We0A4{0g^eaM<%pG+w zF(vPUzVu~qf>o7-mA_XH^_jU<+A&#cr}z?bsn@uq=fr7EFn>4bNKgJAP<6*WC-fQw z58#W^NKc}zZv+8myrbK0;G`yyunL$u{&xo}QS#PZV*sakCD0u@HT5#ugfwV}&y&hh{tt zQ@!?f(Q+sh()?8{Wg!HyQ7DWKBt}iHu)=!m88Te_t6LKz^XSToRy)!3x*%+>Mp%o`M&2i4In{x zjroCiq*p^rrR6vmT08cs8&98ILtn%-CP_tSxj@ySvI=MWaQq#Y3oA7oTCyg@+F4Fg zugcP6U$^0p0z%==^E|qtD!Ii#O+6w$%J}iHXp!H9<8F-qyq)#X99x!i+2SS7UdKeYQ?cE5P%~&aI7BYQT zzLM|+xmxqkaXRb@!1CaT{mHL+4s9NAGACUk5h7D&*ixL5nlusdyV`{u3*8_hvBwYp z8UUPTt)42^ioA5E|0?>iI!4+fY3|o$I?Y)ln2Vj)_3gY*m0Ds`nPH$5n!Hi9@Xw{1 zOVHwLKJ7Q9^B>z9dtNtKt|~I$0N*Yaw+Hz%o8xca{{>`Q8cZ zwpq>cNOrT2$WGY52Pl{7Ng0>dKdav97^R6v?_6q3PS~%!(ocwAepgN3>da5FW0-mm z_+&O`=0F?Lv(5!{gyeslWV;6}((`)vkt@7buSbwv1Rtwx+17(E&&l;TyJluKp9vh> zL9R05ohgoLXNCMaWLrLhv$ z7$z<5dtlor`XaYlr}JCly3j+7%-oY3V!1MYq9B;P$WaKmDcA{nq!j&OPYk&pi|b%w z4ya;uX?hZ65)j(_Ds%}|C*zCz3cCKa0__Gto8FdN9gIF--ZMbBK3zCf=%Wa7?D=iv zbT$6qVzJ9uhJJPraN>nGg|jT40MfX)v8y~#G0CCjr{~q;0Jh} zz_R9CYf(n`ka&%{OAJPL6m53OBW?la<-Y8d1pV87L3tQ_FoMp9CUKsetCN3EL3HKPjf=6v!TG*sZY*9PvXTB%5S1ajMyFu{C!So-_0>@KXcv#B$|J#DF`Wm zj{`moVlwe~*1oZ6Vyn*)w=uusYXrAvfiGoQ>}y@!dCX3>*UrjHfH?vdMUtX<^F7$_0oP*4xD4lu0qUVl4H*I9{WG^~LiRx%u-kcS<-`6_6u$YC| zoKu1%q#1b2D|bQ%?*W@S#QBe7F>817Z-&nlSj}ZFYt6msx1ovJy!umPAdg*miBan? zuA6MoAKKDqB`bX}B;KGX7dz7#z}_`BWe~bb1>>^QG7<#=qJ7s zpB8yTse@-;ZB>Aaw=H;~%WU!Qsso@In@|b*BkfdL9#YV7*qB{VXvu@_+aaci>_~+O zpTT8Xk6}bWs$ckPk?Wl3v$|zwdb&}K&p=Xb%eoU_Y~Pq+%ZxBXJ@*Yq>V%8Ef7H7D z&QdG*wJbihzcDO8-BuGB3ByWV-zVVF3I5Z7_xDIu&~W6)$actdgAGO#Y8%y*ItxFy z)t&y*pJ=7S6sm78zJtwdyR!$oC?c&E%E`uf#7!CArbF%fHh~&K%a--i^1%ztU>&)b z5~r6C3YjYm#eu!(%K6!T!%#RghWTKCSz)wCN7Np-NOdI)laXb8)2Qc=zRSxq~ELIF9Y z*e2ES5(m(OJ$QtyZ`7a+ZJA;6rLg{E1F7BqgW>+&Mv%vZM}qT;zRCQLnH~+lA*S!E z*zNkmJi>)wn3C8yQ9RqJg5g$4mW{HmHf)?PqR?!brgRGay@7k-j_e+AH&T7`lJ()+ z`_VqF`MC0EAITT%Bji%dS!*_Z7FB@_+#}MgVH_!)KGipR2i>R$$1=MnbOF!WL3c@x z&cr1O|6EQir9T>ggmxsU#=X4%p#SR zv;=pB#3dU3TJYPN!EzS*nX|8Osj2#zqfM2tK^`0~uMbSIHf zh44~Yf!T_~vrKBTz6y&v{|9y3|9yP$2l*F94~aH=&G#&T^e=ut{t+#KKjtAZ>ZZ9( zzsf>kW{Y$HbJo?gl+IMn8*sSnAcf*9YL_c?R&382p}(&1i8mUE4aru&-UE=Bkx23Z z^XpGe5)n?PR@U?&t;EQ-m$GT+seT^da>lH?Cr&`ntE?__fKjcc@5CD|*ZTb?WAq-_fTuI>mC@A7F6@r# zGZBKgj1=B3d09-FM5s-59bd8VdxwQxB@vp@&e*}HR^w&VMa!_zWEMe|)doa^ET?Tb zzgo?=R45n$YRpe-=~C}rZ2Gv?IX<^c2(1S?UjH~U26s*IK0DIzZ1Z9_DK2 z7yqGE3QDQK#b4RKEZe^8H0amescJ1!-+u?#Q)%b5FX|?7)mC4`$(Zu+bjrnJ;LFo( z7IX_>EIn9RLqbgUTa}LIBnVAnRwNzcEmKt@n7g!Wjhv=%&CG=wPhQK~-+UZcuHyKT zm(8U8J^R(VRoYHCb=^k(Ol$C#@DXC#j>P)~@@femdFT|JDw7e{WXY4Fb_JjiOK_Kgq`3|j%8gRNSQ=LYT z%}pZfz0;vfx@RHhFKSFMq>StmZ#?;r_Yj+vba<|*$fXSe{cP}6doZ6CH+FVh(N`*| zzBe7{F*7E<1b!XGp2f(B=x1`QaYVIBK==BrItl{$X(yT~27-f1BevllpkdSHyyW1* zyt87_fldnPLJV06%gTl@;Z{oAhb|=r6DIb#el0(VTmdknr!$2?WjvhCkkJhOIep`bJ?8(4`uy>v*T+lp7bVl-tOHe-aOlU7W!F(bb9t^~1tFGS% zBRFx`{l+CvkrrL)!y0n2k}(FaB3{pUeNmXXP2T(IO8!;{j!4sH>=IENaXCxL?w=d6 z@(Qy)rmIX{J?2g3XRbYxb2pn0uLzKvOW6Z`!`*Vvhboy(`;VR-xk>J5$d$6R{JdEz zbpQy(BR^I%cO6|FG*yfL@g@S&$3geIw$p^Kyxw*D=w>Bt>zFVh~d-D!fHxBO9P%B1fg_FGvt<^iPod|S(i zBE!Kwz}eoO=lA$!fDghY?@+Tip72nG&Vg$=X&z>9wnO5jRc1k|)TU{=xt3H^yER$m zy-XzHtwejOGB1~^lEcnfjsD@4z1mS=r_o5ID-UV7@WC^j7*A%6@Di59Uu}UAgaht8 z6ujp4wVRXm0+0}y0>?Fv65e+gm>Hw4``9Nzu8G+A)CFz3y)w;Yd_FxO2Z-RB;!Lb7-hC5y}{nD zSaTL|ubJ_F^x)dVHUM&!KNeI4`Hx-RIF%(!ZdpE>Z6S^;Dd%SASuQbF*tq2=vTHai z%^Vxc%AO{;p+%3BD?QyjW>{8hSn##c6&DwOknE~88oOCBffm0^kC z)rq7JE=y&=hO{f@iV>%D1UdFnEUz1}v-ijC3tf^69CBkr1eQaORdttui;ru07Z9x63Zf+9o;;{RA8xMs)}L79UL6>V*Mck>@3k2 zV_+3vWRBEnT#7Fu72-a+CK_u{`XpB9FwWG$v`R?anA~zxO7`S>62|G!VsYE0QWjpd zT>r~`I1-~jt#2ES_U&eRIN?SkQs#{nGO8WQ(U96Qz9E;>5ZfP3MOF8gx^>v1X)X-= zt!A0}$K``j_*B+dehaGd>hVFcL%=ls-4 zVlH8U=S7kByg-nf9x8cpMd9>4;AQNdzihqW+iuSlN;cK;-uV+rBlRJ`>a$9HMZn~nbwk~ulhN5q~}-9XGCC~WWM@-%PS`) zS-5{g&7jTn#s?H2Sr9{<={3T2?y}#?{nBo)N(ko*bQGd?~9iv}R~Z=Q3BjVto@bqUS$jlhk0xKM}{uN6SBE zWB6*`@a=Z}er=y~SkGkNuyHShmJWpR4zWiFWzDXrFFMq&BpYb!T^ucUIhq4mssyAu ziRyC0fRb=CAfW2EowM#X*TELDnQIw#*f)24@*vh${gYn@?yij@UF7g3LtS9pTr?GN zuM^8D;1Z93!epv3517ZeLDy;jLt+JCHdT5x$g)XbG8a}iD!*9@#T3aCmMZ8fzX zR!h?CIOm*a8n5o_kX_^q2Io(xpRJyc_$_BikD&~VaW$`GLT?zEXu-gL_9) z4MaT?&NYtbS0!x9Oa&G($5M}^NBt+jfrzY??32S~;;=ykZ8jG+Sw<8pzGYj3!IqN8lf`C zY;p=LX(e_t>QJwnc$oU26?}BhaUAWue&Vxl=ddpN@40~nH+7Y!RT@z~W7W$DW*!Q< zmZcR5_^IXubf@|G_Zf|~2zH`$6St#&K!g6WT5I;>9J(JRrLNzVfe|(i$?bMm`t8`^ zw`Y>RnkNyn(!<;Oue}AMtKLBLke2%u$jQc;(WKs0J_>=m46~vYr?T_NjO2`K#dOjS zoz05c*8}VP`WllkGq)$dSkT~Q2jdTSAW6I0@2yo5%6zr?zs20~nfp>_hc++4_;b%O zejlNT}Wquqy_MHimxXq_zr4!tFsDSu{+((hV)%QW?N zMP_$Q+=!(wXNe|tRb_bIJNF``MdD-JbzG@d6Df{WRaESFvL@Y^^-O!w>!2`%9YZ+aU~sp4sJ>7NuoY?8pwwcMc$mgU60{ObYMN z#@uSZ{waNbd0l*wVo2yTUfF;g^sNK+g}7DPf+M&BAB%@@Jt>*-Z3zzUJ7cMO_%oS}Gh$F$7g^nJv4nBKC)b zmd8JfrOD||E;L&6V>4-<^=%5RYa7x}xYPM+rA&hT^cMRuavtagffPEO}bxlTvFq=rCR$ zS*ejX8sxD+`|j4DS7Wgu@>Zmox?Q-m;my>PC(&3;zoq4#`_}Obxatu%dw8Od!7H@! zyO+1Lgl%QbgA*3J{c)C2A^Pl!x9oa@FY$jfMz`A@E6CQZV*F@U~0qDd4ka zo5x>}p|7W*exIy*^b9VCz6l?V8REbdZ>%97?v$VmR`&g{GkO{nHYVyx=7aiEYbMjb zkh2pBH6!Uok+9<v9 zDT3JRJC#3A^{PQM{DFTRq_t1c!3gvwiG%Bv%v&}WTGu~)t)4KgPRR2uwb#keMg9WB zRHAAnE%^CPE&<74amxU2q!8Y?(@&uSe z6xVcHc4ebTS0vcbfHd5$Lsbb$Ex_l6dadIu_HBQr`w&M17LlzWX)DUG|X3%**z#d~|}+pb3m$IZD#Lykmz$eq&?A8Y*}zp80b%Y9xg z8o=<^i-QoMMMx->qQP_rLf3C3oWH!}GMOVy==!tBZM(e)H)~u7)$m#ONji|BHTA@o^a@>p~A^a zrzN3u=93_nrRd&b3%k4TxaQjW_n^6XRm$hW;5lK-8h?%24yOny3Wo&oj6S-8qZtEJ zgswZJ9~dAL0e(PfIJ?k1bUC8`ZRHUa1JJ{ zrG$H@htx90`WT2ZT#tOu#Z9EQ^&Um!yO%*r9-Wyh6JBwg8g^>QzAz77#my@A#5g7W zgc?cAw%{PO45oR8hGXrM;Z=>niO8vGi>d2T^4#qBUV>1MI$B^N6ye)e1b<-`p={m6 zZ_VEk9yRygm?QunuJN?z7!mE!cAn*iXmC3bhhbrKdifgDf~tEBW}%_LOef7=2MqRC)i&VcdmRz z6D~T&0B^{%8|@e8-{gP$r&lWUDcJTniDP`eI)z`Jzw7k`jjg74B8hwJ93Q^K>2lPWX&{5Z@#+!qg|hzdJ%p zkV1h;hUbvc07a`iSL;d$($^K5mju)cKzg#TbPWXylJ z-$tbUBc&AGPmrwT&*aP%v3inUC7h+uTJ7B~e6t^ck=DoeG}FHvmH8Azpm(HK z!N>XgH9}hiOR`nVBsxi7I6fizPanVH*7)~}x9Cp1cB!)<-Lr|;w`sWqIjsNqc{fh7 z%^RC3nMEzYs)1UUjJnt{zXC7+%#xc7tzH{S+kceh#b zA%pY9>htDm88cXO_b5b^){hg&{>a_Q1l(cfN7-X*qdv1D59lH7x2O_cx4AHj`9m6W zW|#t{o9f*WS5YNZe_YGjak=p$r|7je>@vZ&oal3%HEoA5irnXLN$CCj>Pg*SLYDQ> z3H_?oDbcr2I3)u28_(B%5>iGol9+)J3=N*v6qnR=3V<+3_XJVXsB86X@+|ta3B!5g z)ul?me0pJMspEDs@Dpw36F%8$Iy`$8DFUrjn8A|1X7wjO_mNNUB{?6*^Qvt;3upEZW)3o#x;!_Ct;8bmN|dWSmj95Dd`r0ZIPuC*67t(ImPiNn}$aVF2DTWI&VQfvu`)sK%?x7cq)!eV+6alW^hRnt$QZ2wCHK z5o9sE=s-%Uz4`WDH}@awq>-fd_r%Ncl9Ep%m$u;DU4xk)5G>I2$O!!6o ziVkqDrmu(JEIIgDBKv7{J_HcQ3op7YAvm*0MZ6^w;O?wRjmRsI0Uf`BJbcWd;j+_H${~qV<<$9u|kU$gHeNkSKP_j zTa@&`HC>72OGv{U-R(qq?W5q(3Tarets3~x?DugG@nEaxlfHM;LMpTl;t&A#nJq5# zQ1Nfa4s0f32oZioi+l+x)G5U`$L!Ee<}aJpl6{GLlqn22ju2iYvt(jInNurue&A!5qdBqFBU5}Wtr9;mP%7+wZN7Ie^1{?44|`nBqP?2Y>{>_5;r6q+9Lw=S%xFO+xK+lMBzOW#-ToGZ2Z^Vtx1d zPn17_IImRt=Cqf(P0qB7zr}3IQlb8b9rgCF%DMC3rbI!tC?&@M<_&z~P7I}uF{Gq9 z*MW%k;Z;!SHb|Ox>BGYM5z(*SDSQ({sk?+tXBQo-j6pjr0HNta2nk8-f2Vl3*2<(y zYApG9T6?N;>ZqcTO(VM;kZy?SS^BK+ot4^e7@rz-|9^z#{&`ye|HpshJ{266m989* z&-uu+lh4i2*6xdqPfqm(hrMOzRxmO3oWLNcx6Wxg-~`Bsri_4Tn9R?Z*!+!GEFZno zB(FuQugyKfMQ_OO|AIQKvUG#(YYyjp>HCFofrev9&`jWFW09SIjnH2lDM1{rMYi~r z=}#YBhFmk&kAs|aP<}bxaVNc2IR5E)U1veN#-$EFihoMmfY%G9^F;7M zOzZ$8YVaJs>=>pT;Y#)*=%4)Dt5R1#)4RgyX#uy)A)%a44vA-BbcodP$#{lWLBpgV zglNHryMD3k*X=(jb~hW>we4^15Mz3c$wIv!5FP!A0^2aVQe3{8A3?=?OML$G_ z1Irl-;v{}K4)@O`FAM8$PwATKn^|tJ2ADhCwlP)pPABhD`?AFKPCXIgc!!Z^I8~G^ zE-drcKP(}Lrq+$e8n1GOs}gjzJXLk}n~FCGYhu+8eJM}m1WaX3rk~t-Xt=Sz_~F%h zMiZ*3Gi}nZB>um;sdmUJv>$5e9OT>UNxsh^$=W={z z8crB0;gDOD=v?If-f!3~#csya$uZOR?CG&E8t;k|=38a2BUB|Y`m_d9nlNU@bzsu` ziLa)z%PYXU2)INwvH27a`|;{T%@Uk~Ql>Kr?R{b>U#F2^jHZR9Afh@0u1d~IDQvqe z9km2u5I^AC1`9C!(dNacSR*dRdgQaj%5N289Kukawm`afV!e6?;V)6t(1$pC3nbAL*shZ?XUN{xU2R-5 zP$~llv@++E*1eo+d{e(CJ_#>s@jsI)O6q!S*M2zA1AH={qBAKtNhmSO+~TWh+~RK} zV|e)=RL6YAx6!SkDMN zc5mw5X4T{lC$rvXogAn6)QlZ2Oi&lglEZDU;i~D*B9qXs-f>^hK`>{uM{ILW{bHwm zXTUM=ZH2j3K~UdLmVNHI&^art>@~PXKsXK7WtR(j02O*%tpsWN0k;#(?kWX%K&_FG z8%^irhhf1bbNx&lF~5hM=7*V_WJ(q}uSD7te5LubyVgV*0}B?pofdN(aDKCo6S~Mc zu!yXX{6=k23f?nSreLMIy+U(V6qmT{{BB8OXgWIv-fT}EIXkG{hs{i3Y(B12-5 zIAPmX2f8FhG7`npAiu~^M7mb~Uv$DhhYUu{xZ3?rk%A{e@74hdmhdx~xWb=gWdEkA zwG9)oJn~S#KhGonp3u)8I)LA?<6$q6jTu}3rN!Dns`!``O0`HcSgB*Mw&1gh%nf!XYaqB zzVf5BrA;#vEK|2TY$$WrY(NCaWU>_y{NUX!v&kzJk{|1r;pmnqX&1Qs@tF4ssWd9_NX=VAsl;P#0|!R&48M z?wwBRuH5HN;^U!lwlYcuVkyr)3LFuGS!C+Vn8sPSw{%w4L)l`~ak zP^Wtp)HR}N1rW1}X%JruRPCR0@McSU3A42P1<%av4lw~Ai{;Tc!Izq)tQf)w*r;^l zLK-AQ1JWd*)1It+U$rgX*gOI)EOX+70-+xxt?FAh4w{-FgW~U+NN4CCPup?`=^0sH z3q~Gv61|q(cnuM$K66+1kz}hQCDQ_^HC1RCn-Rj6EEq@rE#rp;k9>F)k3AR2Qm1?p z^i~l;_CNo*Q zx1}__^iSMFznX5O&Tyi%VCjqn?X4nQ=E<9z2i1fV z_9frPpnP7isIEY+z1T%ih}-OkbhRLTZlXI9y z4oo29&LEgG40RCbWb`h0NSH2K!!Pk5oa&m4%;n#`vW6;^NP^V|xd+_OboqpI4Yz59 z57XwJN_?zMc+|Vk?6tU%at)?7H8*@QY>a}N)dRg;)f@_9jMhAwOL^x-_Lbrjr%aG7 zj~Z(`hkPWvUChrM>iXL??^1%P_I#7|nCSS!JYKurr_Y!js;Qhg7D~}AeWt_&Z7;I{ z`rJ~E*LxU!pPVX`e5dRotG|B^xPqw^6yB(V7I8ivC?s9mTNeL_H%plKhatDsi}DZR z_HrMq-BFjH=p`=93JxDR!r1d zZSGwWjKKVu=X5j~42dB&8$J&3nxL8U>m^Li$35CP{dXne(~j%(?6E<$*kGH?+&DLe$HWp>5&f+MrI znY)4x*81`|{zaZnR(UP@=4{!U68f`Uh47iKzWDk6(I2h4a{pQoG1F(^Wnuiz7QCpA z-A=a<>+liA6D9T~Y{uYF#71|>SXCEkFP3Gz!_Vn zso-Mm-Ml7gaBf&>tN;3P);woG!}U!@29F1taIE~N>wZb%S&zX*#Epr?J{o+@NFU%M zq=$WGo)@YvMaN-ZDKll&9U^}sKsLAM<$)`(fB9xoSxzF(}g#GD<<+{6w`O395u${<)-QRdmh;JxM95sU>0LF;5u^AZq z?E2A*11L9`4e6q(CFCSjDE6?eZ2!Gq%*ghf+dZEP2C_2{UsNCMBK+el#F?7(EzMy|6{bM#|gf_23VVe_!mQgI^ZQU<;?~ATuuV z54v1IZGYp9&*NLkJ;XO@yomk`qNiOB>d|6^Xe$~5_``O|B>f4-MZu`F6HS!Shb9|j z$eD<}mWK~NFD{>u_5sChQTQLFgEXxk-c4J&5Y$6TY=6c&?H=YZp)-`_>SfH~Zdq#w0Hp|hZ0=KvP(^E0 zrYgU#;?5v}b|(Er-^5bDLB;a0S<)Mkb^Dg6VQymCsF`{3_^OHNqp93YM_RSc0o`R8 z1=qrxj**dd<}&vuY0e=2?YLukM8RXW|I z6X@W zf}V7=Pva^;3d-kak|nd>ud|o}XOb^>M-HrN*-cZQDS`sGTb7E|NjHQix$c?{#n(5DNI&9#HxvKdIL1?kD z))Eqh8PWFFo}3My-t>!onEMW-8tAimx6KG~Y^l;d$UyW*B;TEBE~)iS?+4Kq^aT8= zOG0xK?d>zgIsCT_!y0F&l9}Oyd&&w6%-#*@+e-$s8|ouL6G_4>RCE0&KhOx@Ks|Z{ z)B~Yw1sH~O?aJ@EoJU#1<9`12hhu&yj3K(b+nP7^adl~AWGhbU*?H^cKkA!`H5cjzhbg;`n^=$k@`QOaUn+$1hb-74Lq*UjO54bgR;< zH(!g#2Bv@i_+^Jr^;b9IW7ORj%lKyvPz)%&ys}otE>4{3kr7$_fRH%{5NvV-m!|yAacqc?e zf*fh-PO)Gq#Tt!73l3Gcj zwExv0Q5>38x1~RiE6*BeC+nR!+1=aIMi8A|%AWVzF1p0diQU>kE0bh4sU$sG3CA7u zCk#Ip%iJw*f_hf;N21BodV%&kOKwOnvPSe)frF08X+FI$#lS0WX)xJS3WUVh#mOt0 zwr3WB`*?JSnzHcKVGNSEG=oeKAL2f?q^af z7^+XUEWfI$w;h@EksjTiznvL=S*!0UT2QW9@ty0nu)h@Z${8I>f0lI}9d#5dQ7oXs z{T1c9OX5PYc#4j2^v6)7oH_XjcK6%zZ0`?=Y8#zq`V#*7k_p4JKWCHuah{*1rHJ3Z z0qdzPI|fAcYi(nFuG}mfnx`ul8_WER^fAW=?h*ykWD>8!jsqn9Kr*{CnZCRH3~2)= zP-JqhSPOF%$S|glP%Uh56-D%*C$!2-LQjk z(d@Dw54&;Qq@VwG6mX_La7>nZT2y45h(GvRH41ra8FMpr@Xg~224bL*xDh*SIACCLoxrd1+=l}W1)5wq0EvETJ#@uNkK)CptGcK^=BsxJ z0@6ATjK-9be>tSBw?QG4-dXo44jjzvm3==ja~GO>FK7JzJwa4V&D(W*J&E_cVzTFd zX?}!)b{+D5oqT~KY$bB`0gPn=4(dx^R3m0BT&hOJp%^gg_=GN~Z%VXJ;GACR1Zpa# zK>vrb{+!6@SB}&8<%;6#imXJmf=91mUs>1_P!pl({`MRqf3TzXQU8>VuR~RwC%X?e zuWyG)B@s2k!L?W^@TcsGpb%RcN&1*e??)mZ#2ctD`b`;taQtzsKIfqq2<4fT<_JBD z7(sir#yxqHGqJwq>6~`-LUV9}I8Ror29FSBKiKehhm^)_TETeF-J+YqX zexAS9W(cDL2^#|rOH}oij~5}|JAbHq0nY*W($qZ|5>Cb@C=jij+Bjge9e z0)q^O^bXqR8(G#7(XH7|Gv+%N)3|_+G4h)8I^fW9u=H?{ddQvkMB$u}T+$FB{eO=~ z|Gk~4KxC{pa06FNSAAl4taFP?y;mPAQ*Korvl%Y(uhH}_xo}ywx;7fk&08a z%IXm;{MOBUe@Hez6Wjo4p$~LS$*rU+9(CaRCK%j^=rji0Ooe8xG>V@HI}8?Zi6)9w zf|%9Qm2y{et7Ofpb?IhTR!UXq2DaiR@NEsq<9u;MeF z1fgXC9n;-Ym_v3R-tUVeOBPm>U_()hKl1#_L9e*t|9M;U@Fz;d;rrndgoA-tT&j>Q zVb#U(O#<}GX@12;RtnqJXouBg168P&7y?(mZL<}w%87~%v zJck)3F42?GnM_(#YfsJh<14hAb6y_J@NtSOybXiJkea_IQei8FEq>)Bp^ z?}B&R1(0D>U9B-iY2>4CQN=j&X1$UJ_SH@VzgDb>g`FRu@4}#AIUBv+u|DkB9o}DD z6GP_q`X8L?XK)%dZtW6__E%#}9wW5hdPiGT#y|WV+U52e>XA-ITS{U>|Bd~*+Uok~ zHuAD46k$opLx*5sy4Wj{AQ1l>FOH>Khj0Nr*+_`L98VuHeD|`u$r7@f3F(v;z8?544z+SoCf-C| zqHgoLZRbfMhX|I*>?(DsIe@)G^0DN`>eZq~Y)enZ4G;FSLT~Zjjh}Bb^~{d#dowLd z@O6-a&Cmljjvf`mkk7+N%HFhTZGG`o6b=8Udl zd=u#;aLclfSUhoehI0cdqJ!Xe`;&2Tv77E1BkC`SLj#en52sUOlD#sAAG)LfI5~pe z5RYu;?|7$1b&N~u6)HSA(m1(M96^^?cgN8m4h*|n(w#3`pq&m?R6vV6q8MPmiBqrg zaK4L%Ze7R>=8b1NmKKZfMY4v!I#2ya;lbGz8lL#@4aKx-3N}k}J+}LmZeo_zNejnS zA2k`xqCw%WbouZW1tYEZSA?t5&@~1)Ba3;j9>%OCoe#b(e>C5&aH>I>{(vX(r}zWM z$(7O_aM+49(jj7a+v#sSb@bOB&xLTG#$5$*wE^R-q#}k7`_rg~VLCW+bk88AtI?je zYI|?;^@(GEs)ld5)Pq;9e2-xG;okwG5P2$ntc#Vj6#5nr*CD+%X*I&5&KHca>+mz9TO^85bDGA@Y z>%4Z?`rxam)~rmVJxI*4m@n)g;X6_KWnM;5-@tr(GGVbr&e=8jE~DYZ#)In49#8w> zd=j&@^>q$-TqnF_<$d6S784a7h576K5*{7KOk)tGMPx)`}wLbjQ zCN$Ykm3x)q9Q6IaemXZt18O_hD61Hcf--E6gx;E%F?*F^rCO2FS37=bQv?i7qLU1+yMZiIgC%2u$?=DM=SaCP` z+JYWoh^YtI`b@eCcTdW78qWTuyRt&kYu5UeHv50~2|7Nl&4^-=Pj_J>5+yqEAfMZ` z8#_?Xnag~Q0aJU;m4PEIn5;wE-JUne_4Zw}3bl@pOwT2!X!e!-EMZKo*>Ip)-SB(d znv&8q%~}Jk>G5!9CY*EZTAbU)yYPaJ{E6>pPeSc2iv49dIa~VrXz(LiSbQ?sG z@#zPw@Lt2`VeTaJlv@>!5t*9EviJ5UVar|>;92UJo*4u{Nl#q)C;kTQz4-?p zUrkyHS`yyla6?*yySLWTk-rD9S-5^Ibm6|X&yQ0ie^`S~w?~%8g6DMOv`=7t! z>CuG$+^zrHM@m;0?n1;B9yu+R zu{69D5;eG&&+lec{j*D2;>Y=B0`i0o;ksyPB2f2Sr6y8E=y6`Bm6*`pCg~3&K8-a@ zbuc^KRh7wV)N)(QFW&V@lg%S7x-yHR>T5IV_(`?Nve!f08Hp0>tvMQeBW9RI%8oJJ zp+qk4S)2J#X3JkNtd#;8Z8hn%+fIRB_1gEgSE1xGX({6qO~J#*1m06K=}JW=75W`x z^|Md!m%6`o?Aj~2y1c*wB7W>WlixypAi4jHq_=p=SYVo1Xpn5&H&n>|q)D0Azj;S^ zuVh%MYY3AxSrJh&;b%HDVkb#03D6cFxwDP-e|pAV%YZH)fc*J@J0G4;7(JcO=k;*g zYn(ETEMJXV-^$V#PfS(qS%dPeTE^#bp(brzEufH=XyK0XTgh%nCzMaD7UBO&qpRpY z|3A_qmHtxDi3fK0xn?(-b)GLB4$Q3@tTmuSys1H5ZURfi@VKV&VIl69WT3p0mx!zK zY}{Y}^r7T?hb98H(&Uc|<3iH&?ExabMMO0F{OL5IM0A^)iKWOy<@;rv5PBfA#16xI z(=-ffP+14J^iIp1vAj6VPiWc^=4?1m^}YOM#fvj$lsF0^I&D#Jyq`I{aCcpoT{}P; zlt^;|_ktx8xiZB->eJsV8>ccknwr!11C}p2y6LkFY;0Fj_%F}*+@$h}x>4^Zo;aCI z2?$HZetQ-zNZD&$OrDYK+QtcFH6CPjnmaz7Zx#<3oFVqivzxc@fJ_;&_kn2UrC(>Z z%hra{@?3-1-w5UDaF3Fq6NWrMx(B?iDQeY9d>L%@*QI4DO-}FHt91afx|EIK*1o>s zvjPkf&rB;R6+wLp{C-koN9whV{}~&J{EMIfyf;-YvKemDDIr zn&V|(sV$veHhX672k2kA9CJQvXMc@fAg)4q#pP4qSbCB^t3Dcy+yo8PV}u!66P-Ck zkH5Z^m&iZ!NFA>`_(@QlWMHHH$S&oYm~l@blCp$5n#<)oMMh)!UpF|WvZrpEGsH_8(U?jk1qOgtVp+KLeD+qqZ>j z#saq+7PW%Y=s&qjWE+%g7=nOU$7e3~c*kSg<_T@|q4@(09S)3}#~vIBkCeC#3ujso zrQ-19=hHCvW9|7tnm;Thl_@6$>~;E15VNQ_hgk>j*xIJ#!ICd}Ge( zO&wl|l`JJ4(RV%w{$AvATC0W17yqY>)1u-hF4GFiF=nQTtPBWTGOxFD+7oQ0yJ@pt zamjPJrS0-cPr2}zMr>~;c-Q9n z$XH|^gngStQ5X{QY?^|uU9U)NZ@VRDpc@GAKdGGkz-0fG$CF`zly>6=Pm9993bs?)f! znrNU?_>m(d{-`-tW^)?S@cvgc(++uz`o4Er%rqL*<>=yw+-WE^%MUXO2fw+mXfWsy}is6)dUrD()U%o@%SQ6;!cuejai| zOh%XgfEy0ir@sz^*zMo+mTTy*UV0XD%z0Sy2*;D*h7q2+st)1j)3mf*^WPRHWsf!0 z`RD*So=;vg@Kmh?Ej~_IZ)UQnn-Q#P4z_GqGJiXOo?I_=*u)yF12XBhw_REy@*;7X zM@m2gx;c==H>iCwSv*lH>^g}_KpY1h6_&-(yc9d@kt>z;psebc>Z~5Ugo&1@QE)G8 z$O%PSZDGuH!|ldb`d@tl6m%@`XmzkGWL?%5vn4TFp zB7MCA|3J-$G~BsbRZ{k(sxP&|#UuBWG8|IVhdU%p@<=TOB zUPc9u)0p+}J^7@Undad32X27;T{D?V1Acl6yef`n?TV8A8Q;h*Q)*S?bmcS9Sq3}f zH2R&89MwLLBv0S=JVPYi=D@jY&%UUbyhU`Cg_pbt_R|Xa3zLBe^5)KT<&s58)nl=vcm} z^XWMXgMJTZuqXT@zQ!di?9X<%wR1`T+%xbV_BDMb!mj0qhKkwe;and1+lQ}SQ3~es zET+=v-`kRWJXT8JCxBC+nC^jjzF zg8-tOfaZ0pCajDq)ciO_G<}wQsl>`k0P++QoqeEz`Q+)mldm7wg-XRONY>MfT%T(3 zGZH##)!Nv%-L8n4i)9m}8DFjJZo)D-8|>6Hu@0LvPTTc#TUt)m_bQ0nd*a)-{5)lv z*47>Uv?3Ck-lzZD^dsD6aPOqQA7SA{cYf(r`sqP@m-SnVepKV^@E|<$s9IONQ=xbZ zv%}k?Z&gRhDlQZnDrRy*%_)S=!R-$zsMzEvJe7iM%WvrtaP zkrw(9sa89(TM3{`fHgni!}b`}cD>j7$FWBq=^S%6_NDf2iz*}S2!PENO(R>sY~p&S zT7g-)Fseh1+A!jdbZ!#S?$M47kuazNi++9W_13S<+W)Zt_7|uh{&79npjCb1;+a(J zXcEZ{my~riL~)X#`W+6E33exE%K04=#J_hWI4&++tq43gKhtDZvO~xdsUh5k0frAR zzhlq41>~vM%_~LhFb#;HCN6rt?##OsrDE76ue|R1%Qz3tsC_%-<@`JIn|LH^SDEmS zj4>sTL3S_E3V52?$zHa&(kOx`EckiUlk$B|W>j!|ZE&CcPEmfVvEq(u@u|n<-*^&D zDIQ5vHg9fP;=6DlWsKERY4^^IUduX@!Qo>z@}4K0B{Qt(owlpg9;&=2Hq5QXZuADz z(k*Qiv9u(2Y3%S2nqvLhN4yuWxvRBF6zKDYF0c1;;-H5*{n05B9mAfHEr9J!GnWzu zzi0FLSqoIX#1U=)0o=HdSF}95nHO;UZvBR$`+&ujW=0cWq`0xc?$NVx~VC4 zIdx=lCh6l;#*~Q1d2LQtvv{b<-+1MWUnjpgBGo`2Mm8d&g*HbUmvF-rRV^C8CqtFd~9EzP8F!y8kL)4%A|eq#NUmhEc)>(u(EedhR7*a#Nt5vedZ%vgck(%UyW zo|o1JCl6}2uUYk>AZhoBF`m|_UlUuj>7j9 z+L!JXDvRexSHZ|o9q-kO4GH`&Ao}%m%<3GcR%7ZNin&=cD?z9SVPPr;B zEiU6{G}xRjg3mnH!ABYcm)0HzuMohu(+6^E9g?A#2}DSe#p z#%;D^!*DRrf6;|Bq-Y$)fhwkRiWD#$gCK^O=}5C9@3O+j;q|uI%|?L!+Bo{??s0mO zHuBG_Tni|9fsY-=MXjN|1wk^1xvn4Tshy&ryYG$x@UuW z>NDle+g^OUn8uu6bauT;A^isex6K{lHXo^d*}KG&8>oB~({~3W)PP8{w~C+A9iv!b31in^@C`pfxdxrxX(#BM72iVv*Y@-B>gPH> z4W8BOgV&ZZ!!~N?0{JTUP%`>bS6(S3HO=eoxo3+YK&=LU z^m!WY+FTAixl9*_K3g*&{z0{WSKiz*nDx7b17cjIM&?EI&xD6~ zjGRe$albh>=^pgtJ8?Lp#ws=D3ScuW{RV&gspqkfX0y0;FEg7;w|{8P>Z(jZ1050C zqJGEuqIA3k&OgO~R0BsO1>HY>LmhjavVA1S#zCJFbrXhW-UO}b&`tm z2xIyOvpo{NsMA!de$;;Qa{jxZ};u#!{tgq znQxOHkg-?JA<9#C72Zs>e4sCG;Aoy~A;Fun+pYV8PvF=!%`z&vRAv=n1PBh)Vc(Rx z%%ryE@KYi+*`#y>Kbgv0Q}}}7&Q3nOTsRsN{S{rqtrQ*WY{r+Flmv0;3#-A^9Bdiy zdZl|ge150>0Q12&>vqUeLD)mC2qEB|rneBCs5|&ZV?JS0xw&Wy)7fdD*;LVh@MT;P z`qNmP_56Dle@8@(ZR{1h741F(dq3EJ<(J9f@m`#8+;+M*>PQu0*~167KK(kw}Bw3Iq@ZNr)W%S>1(+1@_dVaYsm z5J1?m*P{Ml)MBpykcQAbREnP8D3jzhCVtD)nEh50C5%_C z7Vs-!*u~MT2YHI}XFh%67IzB4EqHJ(Qruli zaS0v>1T9W*4Fs2}gexG*+#OMPZb48pV45f3O5>`p{#PR{-s zEQyn)5BC}sk9HZH%j{Wb@MyBr)A(QtpdQl>u3O-$k{#a>2V6pJ=gk9q#QBG0@Q$Yw zqcF^Ss+>1~b}LfiORI9P2)p(Hck8;7&1OC?&QVm{x%7`PSt&%J_{Q#H_3G*-1dv#w zAUWA}`)cX61{?LfqwL*#4sT8`_j0cAfj>G8S|P0Do5Qy2BfVz~U&iFP2~1CHC8!FD zl+2;Qg>-o~dQ3z-x7i(QI6?Y=i*^op6qHL#8n@k3&_l-~;G>C68!Ij?cmC6$pnz`XP7%bk~!@PDzk*- zIb6nw566``HX3pO$ZBEmqW;a7o|#F0pkOXV$5MrJgT%cky<+{dCJs#JaL+^*jhWi)k;SGCM6!PgWDt(RJ4475S#k?<-EBq zIx2SZTt_M{)cloJrS=7#MtC~TyL-Y`?N7o z^op`6N1MG)euQoDsZBRVXG4{fPS$^u##=ML-M!{GJ9M032LnqK@y+`Q(%Jo%64k;| z!NYTr2=6rJqwyZ6QH+#RS3jV_)INFL#U+<0{PG}a-$9o@a{h<7cTdqvqXX6zaaW(D4L2|%=OQQt!N+jo-MzF z*Hb44YX|$cjKUV30v;M9GEgRV%aAO?X6s4wJto~hQu0l?D+f9=5Tp({%nwWET|#HqJw=xJ(&82KMkpn^k2N5DCcH#a7Z9(6_3eUUpBGkywd=eL zO-ynH$-m9{&UIEX8pQfkU5~%tg{)ajl3Li?UB|X2ztvEt;<%XA=*-RinHh(FwhL_r zew!WF>YH0yWwn_5bUdHqa55+E4zf*0n6r$*+U-M_*>vh;HOwMcwO2lsc1z%boSho$ z-{RSb-TOGt(rxvz^Y1ukW_#I+k9ziD?Cr{5ref|auba)Zq-Rb>)n14{){>`|Gj_e5 zx14(TN98T8?>!2Q=5NK_WgnpXW;xa&<@3*QW%ygVvpCA|P!HEVS#8UROtFg8%I49b zGjENopV$e(vChL!<8GP%GNA0~! zvtRsZ&_>h{vG&_$;p5!+Q6~ENk%j7?->VMWai213ki0Go6S#CqgS$lneAE}&d8Jv< z!;C${Xmw8mKP~?OTJq|$Y7gK`-lr!EDl~g8I$aCmk-H1m;Ny8mA5Kw>ikoT0WNi&a zp?Plkv3ucBid`4EcGWf!1haU-A;z?)^>;D*e?EK_FApkBoKio1R>xu!(`NL!3aSGWf$0JxSpXPQ84CQ6Pc#^W`SNw>pP`QU^O(s`Aq|Mm=$@40$ zt5Y4%3md%b)IE*ij4Pg^x(WGK(GvqlzPNhxTCzi;1bNo8H!Pj1iRebj*1I?ug*-)J z#UkPzJHO}fMoL3xfDc2sM;LrL0ulddBs6U6?*=dKfkLax7f}@rAM!YRu5}hzw^Y_C zo!7Ocpuxy^|8-1K2a&rDQ9Y2m^DF;@-S$fTQ5B;IL@bRfhGRfeO><1Yp?`aIU~C-q zi!C^tv%o>SL_oFKuq(i*CVfEmkjPY}Owh7J10iY@oYw_yu6>b2 zUeUpF`ZM+h;UwYT15Qzq~=1g%s$-#Uiy_GGl1%_=nCt zWqhCxji*OaxivHGuTs6^HacN`sb1_R)wq>Izy9{m|G3LPc4W|ut+*1?#(Bj!h9&j? zg;z^KqvLB{v6xs<;`#>onQRg;>Wy)M?PD-~ISIEiVysV`AWq#$ibX z`}F=T%AHvZkHy}Sq^XN@1TKt60t%8@?>xElm3x$$mOs@|r=HWObMFI~`@Y*wk=-{p z2sfR6czKjunz>h8!w~nazo}R`Fd^<5SeU=1%<-N{k3+xWTm6=sG6{O4dMBy3h9V+s zHP@>^cn^gFIL)u&T_heA5!=D3ogtOi)%AbfgZFuv7NjVfYi6iS|{0GXgOm5o54!Y`LkF z73`WU9a`DanQsKxtz~~?8f%gp_o!ZmYVSe4eAl$hIp>cS8~X+~b+mWO8h}oXy2PQf zU#kVh#5PU?mES>5H4eX)l6~#b0~#>$P;t_~^U!iO*jp$;cAJ!7_$m!^IZdHJeAF`L zQ3=1E;It-__xn;#q>@>ZL{wnHgBv^z$++<B8-ffGI~MeibG)w_>5O{>$>BN>|a5i{X9OV}-L`y62L>*RB;L zf}I~kPt8)%=Sk*_+f^(aB9}2>L`<#TP%18x{aXr`XZp5D9U`C(}<( z?aDfJplq6`jiB}c*fZt@g6%|w;}pfkj|W%ugm`|R<}P`&R=YR26{KESD@0_Mq2_2C z!>yWHwezhaxu#z z#8>q$=_51>Yf&cXE`h+FRp_Ka2)-_`JTHla>^S148u{Jk7Hh*oK%0c9{GYqaXB@=V zc)NspGkS-I2r>-csoA@3DLI2GCE52}3iqQd(Fu2fHc)yAuXVvau|r_$5@^ncHP?5g z1gd~*p_nWK8LakHdC2tvZq_00z=o<6Tm%7Us6q6>O?~9;&hnPfhmV^)|I#B7yL$3I zz`yUrY2r_Bk#QvPX;<=8T6=KkN9|4H=uC((K~roL@wwMiR}CsUYzqlP;{zvB%PKm% z7w+I`mvU2K#eD6E$9JL%n206nxoVReNtY6xOjLh2I2pqhowPL+5rpQU4rn!1YX==0HVXjn9RLU5p~r~I^L zl7Sh)30B9lIMqJYJ$OA*oF`~-m$I=h&y_Zn>ocL_geg5GJjHU5KH|p+6{%IP+e;`& zdY1%eKeo=Tf86AXo8LR*ynWd8EBUG?AZ;Ze{HjWtzCc)U^_wLy@@ltw;p{<{h9KiX zP;InwJ$YEgXSTRrCL3GkVWYb3+G(ol1JlEl{yOwKXpf`VsNGHZ;y1!0`s746CuDrJ zp|2gcuJhT{^XGdSt{Q>f*_^5;RfANG8;+-_T`2TU(NOVdEx)7fYSNJc!A^aS+T10v zdI6dTAR1WXqaXearrk7{z<`b^TOeEJ*W!NK>uB#rJ}8h+<_;?d`uT8-SG zEWgTis5xr&ISg%=81<>5ROIL44L+~my5dg zrR;`Z=F$nDRLSl0g5LW%LAGTUtn0#-=V!G)RcpIG{LY>x0+}Cz#7g>WHEOt*ZP|b@ zo_UEQf(=94dK!o??^6fOevVyyT6|VhDQ7lwPxw{eDK1NDV|~5<5Ok}3uDc>Ku)Qlu z7pzssl97G+=6dLsNcTZSpFYM_>a!_V_vlIZ!^I1pNk=j8M>Dfr|FN2FqS`ttUbxef zeaWwrI%)EuX}+psiIeNk3d;dmwby(DC>Nl6P&qy6vvUmeO<1jUxL}qPhh+v-tE8SUQVajrqU51gG3I3%PX!KG?h+gYfaqOAbz4E1Dj9 zXm}Z9hE)a=**U$mm%#U1TsUQ){I*(qrmH*|m!yQ|uA{Ow=hfhUc6`ud^;JAg3L8gBKAaE71){hnzUHHpn=-CNmCyK1WPk^iY8d*Z`p zW(}&Mc%@xTk#Zz_A0jLbw?JjydQ-@;5pcWqb{lCk0G?G<|RQ4`Rs9ogGX? zuUS+l-ynHME-rOw85M{s5#Uu!9Tc)EgU)yJV;J8oPf!4s_FNSf{L5zQ4vXQ_5dCvv z?2Yi(QOCIhY|9EC;>Q&e&*b-iWE9-bL!MSI9zbWuOnYwReSard$C9Zt9j86Cc~fnX z%Bk$yoYQep@j;rj-+u9qtD!|PQPmlGvPNCJ*@wAGpEd8sGi_SDsTNO9c1*IwtahfT z-R_#lt}x0p>Nc_8PEa-4vU@h#r{c#TqvOm0TW@m6?T~V_&iE?x`0y3f>z?3I{9-|0 z+s1`}l?N{Es1GqjyM>#f25fBdK)VzqjTb+B+`=XI{H>C`ryH7PJ6rg1z6Y1H5xRbe zn|zUb_?0LE%1XnkR*v~;w8h#!U=&2%LpL89zI(OcE4|f>i{~Kc2oKYazP0wAW~_y1 zIURtIQ6)V5*B|(1Xr|a62M_SWA&=c0h&-L7x8^l^*ZaSaX670R(CJ`XSRm>xRb$R@ z%c6ss3~@)J!>Qd{~3 zEmve~LCDD{;~U+rGtSht2XSh&Uyrn$P&&f)+)_;NMkuJP5ME#)UM&L7q=|nID*q&< z(0!qTKXDAmQJH*azo-j3p>>2yyxp>b)zNc9lAb=4IJ1&;RYP*=Dn zx<918Nm{{ZGR@gk8JEf4FC@`GGP?(QD=nD1-O$08`|K1BtJSS#g$PJo9{lPwoxND| z!gM~Zb)rsN`NY^|HB$(-E*r0L-Fd7CIJql))c598N=ltOKbH^N3uH~q(yNo}Nj=ua ztX$&ajWWjAJlu8-WfzX>F5 z>VR~I0GO!v7P=jUaL<1aAWsn`&**yV5G#kX+RQA&J`H;uNiv_|f@?~uG#e-W`+}wS6p!WXAxF7H)c}p_2#ZisxH5YB z>Xm)}e2DgP)hP?NNja|S-2tqW?Xerrl-Ngg%N+Ef4q22X0t5UlxnCyaXSf;ySd=qk zALdw-ToczV?rE*}G+_)sO=l+6)a_b}XWrpB(-{>M3OtQ=geeRXx%csnbQ_@3o8tCI z%TM%A83?{iPEtXaw+UB!g?_f;2&JwwCYsAb@5=ev#`;5f<@U8bQwIl>V|&{>nE+)si0#=A!5Jo|oqu+mbQBsEkiNg` zt!0z{!s`OuaL6>1QT)SvKD~ybCu6mtqZi2de9nf`vTf6K5@Uz?KIF&ia41-b~SByCQEWUjp^S+< zbC+~9QvoY-yLb1B7?}0?^;f?BUU!_Tf~PVwAeRt{aUOf#%3n$oQ;-%rxLB01*{BJ# zi5SZgen-BDea?_6jR!H^##st3TlhwR)Ru*sdLJa0vwKRJs!fIda_mRJsxh>`Ph_e#>r@Wy|geQSZVGI50WgR@IsBSHs! zP~&AfLT{f*30>4(FcFHu7%ZncWTJv+oKIe*nNj4 zeP13_bJ9ebc-Yn`$VMq%U8CCup{+k zlR?D`!7*{AbDhsxX4kV)i_#}c&FKoQas06O?b(1`jJP+iVlov0gVxdB@FTer*nf@r zakYHzY`x5iOOoJ3-+M$FVVK#8v)w7d7006&xh%^CEj`B|hZ#6~Pg8K6yV97QyQaGX(!0Ggk7hqbsz;0I0s=F@K$ma-frJR?+#gIGHMJ#YDU_ptUVTk-3poB1m5 zai|^!;Yy$JkkdX?=!@kQ1@1RwTtV-p*~{B_jY12iogN17NKhJvlNMQt|EhS#?uMdy zcfP?{!p+9-LEq57c~&R0dlo?TD(SP((en0ZIcHDu%_f=5oCenKd%_YLGn9~!sQDS< z4-h%aM`G`wjVF1rE0ZBgE4NG8FApAl2!;J$(^&pE8dohV!iRORoM|ugj?R&u|Idl= zzskq|=Cu0Xyrg7%&#p@GSw7i}Of%Zf98o#9OO;pi;N-qWhEXGEgffi|;yfydy=9>c zWSFj$$fJbYJv=6=o?I#;eDi!`zg5T$*AKAJeFLHWx&FU=6Ba^I#ihBmyO-9A{10rV zWJtR9Bm#)9ej`n{z8%(>@RQd)8U;X_doD;-iWDH%?@bm{ESe+BW_ckTj~7$@&Vc)q z*08M7K`Wabd-qbUi>k?tnfWC~m$t}RLWyC!uzC(Al#x?ENMhn_nyy%u?ifI3nyAiOw-+F;o7c#j=gg+zW~!`O4MA#0W51McU^}{eRxgTi9(q=W9xPc)av7Ezt*_Q zcoK)SE57up8r73Ze<|r`V8qy<8UyU$k(gVZc4!=C&^|swXNNOzvLGscei)@XBBUO^ zYU=Q9fEW@BNTo!-;H_u1&>`74^wI>k`l_Fi1Ptg5TV$Ah-eedRG`PgKGbTa*L2#Qo z<%Ndk{nu5pf^j3CV+GlH6x3FTE_D*~CGc4i2)vO@dfmb_ ziU`(iY{`DEK;E6gHO-Ft3Y|WKr1=Izt|K@uJ8CWtxi-V2}2+|*4=gHk%&eCfl8)5=k`Z(31JCoj$w7J`E zt80V*a`d$|?l81*SfOcrVbP(-g{0|yv+R~EDQXrhu-8B7&V`!N4zi&wAG>e@Mma!&b zVO(!P!jHbcgn;p6dOaI-CT}pj;^?WYh`fRko^_l53vaHzAye_)_n;)Z z_hb?{F4B+dXN;kMWkjyIvp^5C{69?G^jAfc3u(0^S>2Is41OxoCfVx+a+Zr zx%s+^tMg{NWJgnAKBqS3c?NkYvMypi@Jsqv)u3*tI!jM^oz=}pv1Y%HgEa=9alGt4N6=PPw;h*79^%E@wLkhrN{0x9R1D*wQB^9zIDOr@8matm$}0ot)zR zil%`(LI|=W&1RMsh-=p3yh0SoYBRjwQPq<}{P&B|!TN&jp0UQY3VgF(^5g)Uu_ z#|vC0S=$Y!MQw-*U!v~am#3AK4*>>ej#T_ zc8{-mgZ~=bMZHO@`!|X;>1qdeHGDeHOHyr+ zL~uHsP-{2s#lLBN)vc;y%$JZURo5l{)0U1;Tyz)`vsr(U5m^Z09JGxL>ntO|5$U4- zyuD7)4E18~vAj~__i+6__Ry9<+g#LrZ42dbH}8mSFEe!R?wzB}nr)H7d-1dgABBQu zG0djMgjTAB0ay@B3tO;(#D{c=NEg|OHV|_r#I#Itpg){5x{tbhBjK@Spse!;Rk^7{ zkhgfpIzCUU6^0robfVZ|Kcc0{d#^q)@>YRI%#$>bo4+SVLc=F4{v{C3Qp#fbUSEMS zp;!S6EUZ=%F=_t_Y8vb9222j&UzYF!H36OUUqz6qmX=qJlpT8XO}5cv7yH{aYim7( zh_80(A=X}5O=(yKQ?N;!7<=aqKVUH-wvzkgQI0t0gkfTHGOl;s3i>AEc(lK0w>>ay z6?Wwz@&*;wGU|;b4k+Wkl6;$)gjTdaRx`uk6Faa(imIF?ZYBp8=01kXAtY}3z?PR7*@aR# zbJ#L*&f*XmwDtht%L+>l5_8{k9fEf=43K+5FF78>`oo-~UJK*l`Im1UZr638!3_og zc1iDZ^~`?kV{;;Blu$j5CZXjEa05Z!4J-d)0+?r${4x4Z@1 zaVEXDyZ7@%>Phu2NCFAYgJ}3ZI^G|$n2j4|mq=+318oc}WU67mX7E>C(rRsUJ>jwO zc~wQEydA%OUfM_y(*5Y157BKZsnh)Re=^9s#O{UxB=(4{rJXW7@hC{+`;@zgmCmW@ zDKokiYi+>pYnE4ryqo1^Sj+Nn{1l~oY)J${={{BTRKqt?NX?#=wRSXjX$({#a5a9O zXJ@g(WpL6wiOzK;0vi9j4f3RRD7n#Uv5GxvL^PG|V^?n9C;KM#F=`|e%qArYG{WzC zM1EfMJ(+KiO9$wK%5zqje?bzJXo!WzX}7nv2MML>6b%kc4O4&$+in zJeI&_rNcX%%AFL`%;m*(H%1YbZUBnWFd?P;c9hTklnMk0;B01qfyM+EG z)yNG%t4YFZ%;GWUuH4EeYXAh?s@UjzpG`;cWw1~7nA@CQ6eg~T*gE=;fwk*D>%R}U z513tg5)|RZYi(2e5iEIbYE#ad^F78Y?|a32qSA_! zm6J0XjCS=7(8EAHH;es!$T3lN(Q;2RVB>_6%vZKD;jOA zX^ZK1!7(@g0C)*didZt~-yxk;{wBFO87J3L^KLu@M)yMs+7I>ALNWnEIM zAv&D;Sp39@Z>`!_?>7kpiPg_>!*;-~+|uOXgSqlk7I&{_1VmQWket!ktOT{4HEQI& zN$(NyGd*v${dgSVV^@<`lAM9WQh@8}4qc6xLeK^|fd~${FnC3FtZ~%UGZsQ0UGe$B zQ3w7#8%8`~ZTSK@wqLvA-xa(eqG)FZtLB!az6=8CR>h=6ZR=N+4PFLMpMO8w$3cC3 zFKzHk!$$N|#jFuT3gv7 zag%jV2}p;=)HLz2kZjYoW+#6foH#%8`EJ_mrmJB6A}ID< zTW`w9lu)xDgM4nr=hd$HpRskT-py3+{=$3Fq)?8ElF)pow3B62uR7_>bD{=&=v|*7 zMOj7Vjp_1W#*dDb2x#Wp#{?m+UQ>mV3hi!PL)p_fe{zmLz4gFCiiqa7_!pmnBNw=T zG4bGbi2tFDfb$UVy}eBA4{~@<#v?B~Y}O)oak=>yUT2*K+|ONRjXp+Eov>T)Bj@Zj z{%5gYgiyiMG8s|5!!=2e=@VF&w_&^q*-U>cEndVOL0pX10P{e0*u=)EOb(2Pe}1QG zjaEs?jT@Hh2-u!x>@rWBt2X3xowpS?CvxDcZPDf)Ac!w`!AnGDIY$CuL26z0>1~`@Z7JibrST}bPqf$$^9`gPnla{1mWa?L1S|VU})m$*zd^r z_!{vFTz>phU9TyntV+olu%*y90Rq{%8mf`v+s67DM>uFGVOg= zn<-gZ9lVSC)WcR<4ymuzB4o6&t>31ypx|Ql;pAklR>l0fD@&Wc@1qm+yI($Vwa!Ng z$Kb^Em8Uv8j2YV9n%(Oq8EQr=+Iw#PP_lD$t8YN>@TQn%2Naa&V!hne-qi`~xq8** z_28R+aDEv_v*plwU_2V+YVG^~*RQrB$vt5CI)4#25y8=}5X1b47joP(tg2veGH0TN@R zPmI7Rm!%&)Q1UE^p3n<2GW~zTTkWrXW7aD+3Q+G(uoBO-m$CeV&eTt@; zF(L%bkv!OeCBXG`nJdXsWOVOdlO%%;yn4t{lIKHQX6ay%=|MoZ@Tg&o{2CX*?(6a*!dXV6cER9!`TP=^%zqyzbXU+7Y!7vRi z0@1)P8eKo={Y{fnGB%tZv@W0FP_Z82eL*#jy{8^@8vtQC_f?6@R^J-$)R8n_f}bUl za;DkriHT9RsbanJ!E1t-_o-XM#bos~0u@!`=0;c1+`;`=B+`$Ec^s~?z@+qEP~wZS zR`}TwwtDTY`6}xM0LS#BeFF42f>~#2)}b+0^cv4W9V_ms+JE6aERa{VO; zX#gN<$XfY8V+#moI81X#?HJIHlDXil)3|Gu=a%WJcTRSwG=Z&unR2jj~5X@G;Kc)92DeEhWm{-jZd8a8F zhpvqNar$MK(n+Y8U$Ho-Lz^seppGk`yV7=jTTPiDvmzgBYK&~RFwL)YKZ{5f0gv3R zh~||tZ2)a7TPEooKOJyoXWQLv`19VOuDSxu{9ZCb@q{Q+Gt-BWfa}oD+?}kG@K^$H zO<8(8HLzjT=*h|RMdg%w}X94LOR=TRr2^^YF1VkjrK{ z$m`*Rs7SB|MdOD&RjjSYl0J2h))dJ?fH$eKawbkIBY&J3Wy$n@!u&u4-%KactA_WE zg=x$OeXk|p+nX7Lq`W9UGOM~5y56cj*JGzC{-l9_uPJ?)R=sY2-~(HqbQ#P}>`{7} zi);aX_ zv`wmr9F}v<8v%Yd5H1~6<}5_0V}J~6#NH-bWKq;o@%es+Be{ zS4Q?&?jCXE5Q7Ox>F9FmfJ+}XZ=tDXl*|Ul@gX&?ogu{6*=vz^^rWC3MA;B~&S7BC zdksTCJV}d}9$Cv3@5awr2P21Qy%JP|Yqbp(uRYTw3f7`L7d&HI+PKYXrYF{dyL27{ z=yY^0b>Seu*5Uwk==)REQ3^xL{74Ju^z6yG%xMBco7Fh4Nr96jDli7lgC0~%!P+|3 z<<=xt&zN+~By_dfw*j9}q^mNkGUH|Chhic->~*lW2TenEk1t>i*v#%>n?2L++kCg= z%*MNw)zltZ@W<0OJ>;^n5Y;0hLLN=kezMz_*)&|-xbgTv(vG{g%;J65WjPyLBVdvr z#T|K~5|NNNpPb(^v!{oho-eX%qX>{l7m>EZk0^P?9&0^46himt`jgQ?hHQ4bH-UVQ z+eKardQ}LgDAn^(O47*X{!&8`N(ZoBg}l+0&u98){LDYwTwHWR{B%<^3&PzioP1&c zvN=0o*_!n6ddowz;;rj3Adii_n&{-~&cTjZAbxA=$=6+(fGJVx}P_ zGTp7+vgf5lmifqYd;BqbqHFNJM(*M&$Wo(%;`8Wqd3VoaoMVedm>9oOeQERXx4}+x zE}aYZc)}IdqTS79mQY2WIU)y|C%!&Ym7xBO9x+`S-bVZy+*B5%$d$_dvC#Sy8uWWH zx^Q*%I6?=+o<$LQ!s#l zGV_|gX`()4!q$pz!AYY}>GP?rP^^Y^ch{f=Dm(dYKG^~2qpT~CneKRb_k&$RQk=xQ ztdGy^-=T~_+T^mFI-`~NBlntAkW#jM>l;n+8gBEg>oN|;@xR6^KgrD1Q`akpA&Pu= zx6!A6$bJ9hfJ_gb4`4N>deu!vg|IP#Co_YPkZj1of|$iX@u9)B`>zS`Gt?Vr(i9SwD%)JNoKWBL=mfO5MvWF*irm@Dy{}2?$SEDsD z741jV$P(xA?*y}#vpu0HP_|KBbNxQ#UY8Q7d*@$xll9+z9&G*rb?PcK7w;m-!yp2?DS;W=GikkrWs;{uj}$(drNtnOSt9KA zj8O5IT;DxiDS?kbofcWp?829B*_v=~U}-Uh9shLzp>nWRnn=+h)IaX+)b9K4b(|XN z@GC-(_~+K5Fn}3Mr~Cz#iI6^>(cLWQ^ZKg5K)9ZPFH>1x4?_6jKA|1qk_E~%BjL=k zMlj%h$n{TL)u+Ar%P8WMAn0?9N?HGDPSkTPVQXd!Yu&T^(Fwm-om>>X5?|SL%FI>2 zp>L7xGyhdt!gEm1QCN;(&T)FG;(9Zb3k?4S=~&9wQI#sPQ`n}7e{iLNn(sV(vT1@p za>*Ew^y~k>?7sh?@BM$j$)0A9I^l$59;IH+&IR+{<4OzlbxFXMXJasziESk+9}W8N8HC}UAi17A|!qsqE`&+uSq^P%?UzsJu1b;7*3YPJxGxu2Q! z>iq*|*aNv%vU#eEnrccX2{itU2R{6s>uWYQv`LGxi%S(5#mL_k-hUi;q7!3d7|v?p zyP_EnHi5r-YCNFKPil-`HEA9RWVSaAoiI|w{Kr=9pMSVgAXVf54s77~^cYH%w}W}R zDfuTxP49i5BGjcxjK6HpO!(*1HHPt%(4G3*W(|_&-<=kg14`@+Q-SVK>tE5OZ_y1z zJ#SmYF1)fz`ajXKUg~o$?3c88kpA&_ecSUCMm^E8sB{w<84rH^f<(W5Q}`mNhaV|v z$nZ;i_Ueqy@m)8#mGkZ5uKuLCdD#AMEkASnB;!IsE>G?@(OE(Z9ufv!3c=r289cwr zXR6$va}f|<(k#(Q+U_-0^=reEmdWniiy{3|_CNePaS5acNd1|G?GvptrK8Tpt9t3s zS24Hcbfp~QJqX$=6DEO|SK&DsHHF`A`v+;`CEe z)g9|^u74kT8PJ9V--2+CLFbXau%h6%=dJdnib?H8eZ#xyt+{n`Wd#gof>%LrT>qW0 zQ*6)h&8xp>Eyj=^d?l%mD4(+G5xKt>^>vOunZn$pD(TJBDNjUp85~zLuBB|OV%*Ow zT4(aI08;C-oDPaFL4>T$L-SOvaUG=s3Q-~Ld~g@EU62{Kn4NrI@DZYQnR-zF6VpMx zYn>#bOtd3N{^ zl!s?J1XMkU(|!sKwRxPYc=3`6*5%C9I*z#I`63gJM7(!My!eM1W?WilY;2NUTGC$c z21`+Q@_n}*@J;IjrJWJH2_QA56tc*=$l}5~(EGGl^wNZ1xU+3aP>_^0`GF`Hp&~D} zVQp>>#bJ-f8<}{zjsIN{xf*=ct^j7B3d7zl=FuF;`*^xaZ-?tTeOa!;I@Bi?Qt{ev zr9Hd`e7*Kk8+C5Qm|MfI-iR*tzDQ*XFo#zZ9$cA;Pw6FAsSkxQmixbOW1sj?sF;kqsv!i zNRsvPfOpfK`%_jG0+$@{^b$VcouR>FBO)3fM)e&&)JfX zv+gQF<~U`|XWXh*vSVNrCk3CC1hpre-k~;SzgB%X@WqJSKI*WhnL2{ynD=w{k0h%G#uafi5lZ4=D98+UCgVgnDq&n;Lo4}>jJ z08Tj&KKyCZhGmIqDNZn{fC9|+ojeXfV<*YTTIc1q3_NH_URy?H1h3;MO64@LTiL(xo-O!g|7vD3abAAR zi{~DXXAwEXt;QBbN4+{*bgmd;^tZ@94YZwi zixDK|z3bDVZ_9H}JXw$&Ug?&vKW}nXtwKnQ5OQ-A!l36<0aFk5H=o&YIop3`ja_dq zOt(!)jJ962MxW>bi1ZwjM~-TxaIL_&6Tf{T(myX9&j@O3&zMa>@1H*h-l?wEkNu~t zo8bP>fH43;j@A^Xh{k%ksJzk=sZc^VgA$iJYcj^#mlKqjZ1Z{QM)Sh)P4yQbqY%~9 z)fF)ps#vvrH`r|W(`(s@zwmybU5QLfU<`oIs&-1p8C#^A%K>}{jKl6!km{H5w0*Vp zJ+rOJ=m&Pd6zyucls9L@jB2)1a*oc~?-Dz;dvbsgG*F3nzDd1E%qj+V1(f>jW_Hr}L0^{@AFkHJ)euBwdu{H4qB8 zuA7F}I~kvb+u%XSW-Wm?=LVB7VP$-`FH^#NUlJIN!F&2)>b<)Vk{D}w@X^XOEa zevkOC_KiCn=K4IUO1(==aIuybUeQbCpS54R)7a~jnu)&5%o%McXE=BrIgxs{;y6_0 z+ShL>jvz7tdE=s`(B6j1>iNr<(3|6%5|rbN*l7_WnGs0${w+(4u+*qg9~!KitJcnklUGg4pybn9<}p z4rm`x-O^Q%##+?{1EY~)R@W-BOuoj*Ihtpkht~gqh{R559>j({(Jk0Bpx@=6xcME2t&Xt2%fjU$(PZ_8ur>) zwOV|Hm@MV~dAVK`e3a2}WWUT(JzQ(f-_aFmKu*Sx)g~?PdMwm*{7JGVTIKV>vMsxnqI=@xQ@ib2 z|I#n9BiZ~?rg2iQAW5kNJM)hA3F#KClk{4# zi@V`l#zscg7)!Jd0{Q^9{0WKcuPEt@%nd`HxSABM)*IKS`52D-sr97TPyysh{evdv zz8p=jy7EdJ?)pwhk910U#&Ih-HU*WsV*u&pkP0P znR6lDJ&X#Twlj&msUZwo24Z%Y9u^D=TW$0@UH5EVo)eG@A#2C*q-R=~3m;Mo*t9h~ zlo+*#g%)6^N)=SvhwME{zr@x zLFD2`;QUq;xLEg(_=VltNsQN1)Bk+)7SCCEr_dEVx_XUj@4C>UfjU5t7mOy zsTd8`%p^v3%PBWSjY_Y+=v)f~oENH=GpCdA;GqEe6nWNxVg68&ESAi_pe)YkFb zS}vjE4kG4?Xjc8V9#zz2|iB+Q*Ic zH*HN#hidAQ0o6oK%*6-GLhS}R%TB8d%k_pTgX4hWc}BxtgyaZCXmax*=?5NOPP7>w zwllGNKsS*wUvr$xj?#ra2O!@p<-CU4WiG&q%-I)=J5c)gU?D`#>d`n1tLa9yp3nUN z%c*eSAr6;GNVb*D5@mEV*p{B@m$#S`R^X<&7B(0jA#=W8-sje^fHl_iFiiET@8h6* zT7P-t(H+UbQn41}br=5r{S%Z&PU>)#Hnyw9c^@FAOGhff2LuMw&|O{?kG!muwx0z;YU|a; z;3Z{_R|#odH)gZ}UYxOQjrs%cQ_~6xKVq&t{Dj}5Jn+Nizq6JNM7(?N1$^{k4`X1O zZc&Z&o*8chh3fgI!Vi;lVf>0s%+X%r9Y+*)65L?49tVsyyy5h#BSjn zY-iF(!D1{H6ZX48)I2r7ARI&~m7C#g{IX|rSp~Rpl*XFrx?p;2@1E9akpm zOhzJ;6B-KrKMjlpJ#r91^YdSitxnw2FTVSpR_H|Xi|c%7+w(Ld1v$)Xc%+K&F`(8v zch9E10%A53$$Ni|d&-B_fhBP*zN^PPt!}$p3`8-n`GeBw54|c@z@x$ut^KN$>iF`J zr&y;(nBD5&(dQ!ZmIP-P&d5QXnG8_2)nV$Bkf|rWKFNvWgeJ-OdGoPR!wpKsyxX$K z{TKteR^%26?@x^Y1r4LRYPyx`Dg$wsD;-D6`a9K}R?PZ^RuX^8gR0}>S`F?KL_%Ve zavb8q7`@@YDa?AF6t>&$g^UFQinLzWsXa9bbEuxa*E>n=oNWyhjMXSmX1cx`$EO(8 zX9_Tf@$XSEV80TNh*%%cKprg-bPHBR@vmr2t?Ur3Tct1QXZ(2jm;*-boW_)e`(uvr zg{}#F7es*?0eMvV5LN7D(i74!x_hLX?doR}hdJ(p5#zIi;Dyh<}CuouLZ!`0At zCd`x>>wQ{%-rZCb?`d~^kB=!VVQ0w}HJ6Gq;xe`pd_>(aOC+}L!4;;n3;vW;J7EP% zvhRr{S#$+2Tt9Or@Ju#t9zwJ%<_C3%6S3Sf2$0%#_FqFWvr zn?8w78VZ;}drDGgqTOs~-b`ELX-Vuptsp>E5%&|sPk!FlzPd{VE`IfD3f>dTDX$br^I0X;t!};P5o{q&_0!4uUx2pPN;00<_>|ky@%+a83pPYQA z^@E`1SbY^>*M;gCLz^Bf>L*!fOGXC+@*7`%h`}6;6`J$TO68_JI#Hq3(@+1fD`e<+ zb>nzf%U@uy*rnb}EsvX9Q>Q$1Sj=UymUW0fN?$VVIk|Vy9@gc+JVn)t{xwpi0j~~6c%Hy}uO$r~GWAtt{ z!8g{^ooS25e9M|WREMv56N6v@pFRve;Z66%;@3L9EH-8<{kBVd#cK-!qcKozQpUWQ zZxDJQOP-g`+fC1Ii*ENrJ5WUC7unMbk2som_7+br7*8h}BG8N9YTVMhUiHg<75%CXHRV!Vo#0 z4B_JkcLTrhqQ4rbosCXZJgHMsA3eUY>!M%HzZ@zpxjGFJ=UR$%7WE445S@-Igv_`0 zby`Wlvs?_5J+^kW+KW2i9KoTFmmMd`mN0{s9hfDCDalK(7%1L%S@%e;Byn`88m~yA zJmb+JwOnIwR9|-u`l^9}7`8dI1KTaMuf%xt@LW7SGU6oR=b2EuZhU@B%ezgC)0Y>H zGqbVPp%+9>NH=}@6$<+)p9eO2o)qw6a+Zi`oND*-P;J7Eq>k3khoOa=^d)&LH+k4< zh<@;%Y|}9+DVnl`y2`;VLa|;AO72_OUU$hKHhS(z)UG$kY-Z@5exNIg=CQ%)uow%w z$4ryJekbUjl@Mo=^+BUs!BG#@g~k0+MysKa9eX8>a1|&{2XN%K2i3$Gq(;En7Pp4; z`(yJqV{{i0mUSp|F%#&E;K@>>`R4}cDkIfCJ^FU@V%FF#{U{M%N1HLb{Y!2J^$7e* z-cnrESnfkwlpVD)gto`cVmFI?qkF*P47F-Ez(wW1otrU6YjA+NNu7wjMcN16)A26F z;?rGIKpD-Yy~ho>++B&^N(V6;=YqeCO&ef#S(y2lzqtx z)c5GEouuM~kAJ*ilc%+(%`J#8z(IBP!`pQgpsbdOMcd+AicpzBtZoF}7M!VmM=^0O zM?(T^o#QE2vQ%K}{0`f{V`QU0G<`ud(t<@v>|zs9L%LiMTJaU$xL%2#PwqQfZF6E00FPc+$r3v5Gb|C>Vjk5x7X! zEtvFennaZ?EnT7;cBG0L*X;eGxvh0fnuNhw{~A4wvTd~Zar#~CX~npcDIm8H;^}pi z46ZwIBx_pb{r0=QzHW(1Ta7Eh0@)EMr=paITMfA z48AC>=Noo^OKX;?+h4J~X+fw`a!L`CdR9;v;M#f2wG>`6QLJl#%-@pU)k_Li(IMLE z;-=WuHo9^C=nCVG%W`oGvZVH&c01{!CA4?~9`+pFk0I?Iy7NSZA=r(GS~EP2z`)dU z*mtO=lX7-Fh7bKoufHlMBP&Cb-40OFbfmi9Lqz8?X_)AINj?|0kY6lVtIfed!;b3E z?aO}nsG^%#)nwQvx#Drh>?nj`u*r!m#>7Grbr=%cH>kW#CY=7cV&k=4GdJ)08nmv3 z{Uj|Oo_b@LJT_TL7YI31)CFe8aC#wiwrew<1yUZJwep zwOq<%uLKgv!MTGD`<}o#RDJFTyY`;?qKbcd9?IMIbX$!c4df||5fk%OnOoTq^GL_H zA)h`!cx_!np6npaxco!`nAwY)X-Ai&6pWX(7}W2VPc%c~HCFLO7Ggrr_qf3Z#p3Aj z8NkSk{jmq+Vu29_#B0-6R(w)YJqinw9&@#tm4jHry)0@()#d(iX(`MHF;w;u(VkZJ15K)U+Pmo#7*dJEts6=FLv8jD=t}9mGA5{Kft_hywo{& z_<_8vDO&I8Pu{FL%`0^}7euZU2q#QfHG|#E8)RIahy+_w5uMSDp9dXi_h?G8i$&sd zG}`OaQDAL1&ig};s>#nuWrrX1cu_tZW3@K95?l0}dG6XRiA6U~R?w-yRqDu~bEsJ} z52IUhu1FdR!W3y1Bq~7H-qy#^c}!Tz2OCKZr%kI0an2VLg7hEtO8z$NtT;(gfgBj! zH!ykuewQ&?%=A10@1T}H%}Tlxw+wb?D_|Tc# zG4T`>*}O%VoV(BklrfpmG4KD6NdDU|uHEfY6k6$Nn&cJkJH*Q~yj@m05ru~#+%GF~ z9{I-=zf@REei6~FC}~-*Zw<|~Qb%k#gqvi4_A6y+>4&A6lU4+343DqyLiW`1fzaZuMyt8GO)tCGia^fuXL$#YlX_gVTQ#qI6Y+ zaq_BYWn*{%&}q@N@@h0>W&g$2+g2?WA=RBubSW=$S~c@6?48^0UsfQiHGfi~fA2;A zKc{P%-Gh-VsYQB*ErzPrshBNW2NGMb+-;H{0Q~prFte_DZT$wyCGw@9mPAat2Zb=D zi`si7T1vZb3ah<3#X#SPcP(i>%hBU;z07HKm%XTgB$i!jj~`c-w6{;Z!QEL!KlZ8D zCkTyJojRUs2H>fr>g|z@i0jw+MQLw-X7pe9L~^KRF;mYTUvDhnA8i*^FZ9W3H9+lE zFA`Qq(EaUZx-G*L>Jt0OfuU-8YdkkWtN3RCKr< z4(#s7>OMs}50K9xl{q(#!xKU$>SeguLwr{;Vnp!o3?J#3SPLjN=RyeOtZWF!!;DbB zjI%HM8As+8KWmU<8B=`E3AHcGeNbU%P~ubZw^GP$pP2qOsq!GU)AOSrJU?G`_MH#9 ztDTk$og2K_P}`!;x*)0(l3HpzuM9X#6=1?1A-gQ*GbURo&n}2Oe#U!qE?W4!Yv4GW zOu8WA)&9Ny@+zNU3_?&--X1w@`mq z3DhUUr}Ar3xSswWc0NVM7ep2}6_3ug@w&&khqkRgKA7Jd;YN%7#d6DET2#4B_(YjU zWjR*e0OF&&t3bTV9dbc5Ievrx5kS#;)&&qMR6YHwbAmv6{?A!i>hl-Cf1xfBzWocn z6~ExFBlQcwf5D!v;PNZHzv5oV^b5ehz|IEx1zxFNU>~FS1z(@PP>)Xg1>LF>8@Ri^ zhB9 znH{iP$hdWfCLSOsr}4MI{_pv?0Qvkd{mA^4)~;l96k-rr9<-9V>Ju|O)Ts^3o$?QK zY}3=|JZx563pyooCL*s|8#t1CDVVjyUMiZWxKvhmU9B2L&D&fKj+0tOT8MJ5$m4|Ta=BItHjBDn=x4>vV? xV%`q#voT>sHnS7=-msQrRCsD(Akn3ev_{au>G>tft9k#TF#W%TaEgn`{{l36oBsd+ literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/123 b/assets/profile_pictures/123 new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 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 literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/12345 b/assets/profile_pictures/12345 new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 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 literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/55555 b/assets/profile_pictures/55555 new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 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 literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/555555 b/assets/profile_pictures/555555 new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 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 literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/ b/assets/profile_pictures/ new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 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 literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/I21 b/assets/profile_pictures/I21 new file mode 100644 index 0000000000000000000000000000000000000000..4450584421bf8954445c5bd2e6a0786a854d1391 GIT binary patch literal 11311 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 Y`YuHHG^yRA^6W@}kMWy(-1+DK0V93NXaE2J literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/N b/assets/profile_pictures/N new file mode 100644 index 0000000000000000000000000000000000000000..4450584421bf8954445c5bd2e6a0786a854d1391 GIT binary patch literal 11311 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 Y`YuHHG^yRA^6W@}kMWy(-1+DK0V93NXaE2J literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/None b/assets/profile_pictures/None new file mode 100644 index 0000000000000000000000000000000000000000..ac5be709f5bdef9ceca4f5732929ce6e414f2066 GIT binary patch literal 60654 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 literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/default_profile_picture.jpg b/assets/profile_pictures/default_profile_picture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4450584421bf8954445c5bd2e6a0786a854d1391 GIT binary patch literal 11311 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 Y`YuHHG^yRA^6W@}kMWy(-1+DK0V93NXaE2J literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/kosh b/assets/profile_pictures/kosh new file mode 100644 index 0000000000000000000000000000000000000000..4450584421bf8954445c5bd2e6a0786a854d1391 GIT binary patch literal 11311 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 Y`YuHHG^yRA^6W@}kMWy(-1+DK0V93NXaE2J literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/kush b/assets/profile_pictures/kush new file mode 100644 index 0000000000000000000000000000000000000000..fdabcbc7f4889ade026b41892910b60f598515c6 GIT binary patch literal 4539 zcma)=_dnH-U2Tms>9mlyyh+M(Ddr$2!X@@!=XwEO;6^n0mKPt&tJ*&imAES@%R@ z7pD;$o4g2)=6Zga1ge9Ei8%?DW+7bmd6=Sius%LM5UTY1>>NWF+i)sEvxeLq8C*L! zK4||es5UQ0+Ioff^n&Q1qaM{(cz=+zyFhbLX9CpF9*Kg0nD zYX`mD)P0p?QPul=2Ccg)DfA!(>_R2eliD3+wARD>`58cqb5f>> zM8%S`WL9ociEb8qRW+rwWloyq4O1V8X%8Tb|K1O@Ui>@tLH=l(^P+v2R0;^;)+;5_ zw$A`G2Qcvf5Q9CsJif>}zA?US^|#F8eJoq$>=$}H>YZF1Sj5Q8>C%g#^N`){g)x& zmkvoLyCbqn^TDKi74!Qk1zGknb-;5grK@B+^gVeIm+!V|A4~kFcJNw?wS#3wrVtSV zkDBAjzQASvYG|5+DCK_4ULq${OpcX-t!P8KH~3$Y%(S|)U#+0lcV3xNgA-fh+e0C@ zwe8a^E?;(7sFzuNv$@yk$J}Ei-3pCYbKF{mMZGBU^QnFG^vFi#j

XAL;eM)9&r# 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 S<^MZn0PQ;l>Q%Q1;r|2tXIDS~ literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/kushi b/assets/profile_pictures/kushi new file mode 100644 index 0000000000000000000000000000000000000000..fdabcbc7f4889ade026b41892910b60f598515c6 GIT binary patch literal 4539 zcma)=_dnH-U2Tms>9mlyyh+M(Ddr$2!X@@!=XwEO;6^n0mKPt&tJ*&imAES@%R@ z7pD;$o4g2)=6Zga1ge9Ei8%?DW+7bmd6=Sius%LM5UTY1>>NWF+i)sEvxeLq8C*L! zK4||es5UQ0+Ioff^n&Q1qaM{(cz=+zyFhbLX9CpF9*Kg0nD zYX`mD)P0p?QPul=2Ccg)DfA!(>_R2eliD3+wARD>`58cqb5f>> zM8%S`WL9ociEb8qRW+rwWloyq4O1V8X%8Tb|K1O@Ui>@tLH=l(^P+v2R0;^;)+;5_ zw$A`G2Qcvf5Q9CsJif>}zA?US^|#F8eJoq$>=$}H>YZF1Sj5Q8>C%g#^N`){g)x& zmkvoLyCbqn^TDKi74!Qk1zGknb-;5grK@B+^gVeIm+!V|A4~kFcJNw?wS#3wrVtSV zkDBAjzQASvYG|5+DCK_4ULq${OpcX-t!P8KH~3$Y%(S|)U#+0lcV3xNgA-fh+e0C@ zwe8a^E?;(7sFzuNv$@yk$J}Ei-3pCYbKF{mMZGBU^QnFG^vFi#j

XAL;eM)9&r# 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 S<^MZn0PQ;l>Q%Q1;r|2tXIDS~ literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/kushidsaddfdsfdffasfasfdsfdsfdasds b/assets/profile_pictures/kushidsaddfdsfdffasfasfdsfdsfdasds new file mode 100644 index 0000000000000000000000000000000000000000..fdabcbc7f4889ade026b41892910b60f598515c6 GIT binary patch literal 4539 zcma)=_dnH-U2Tms>9mlyyh+M(Ddr$2!X@@!=XwEO;6^n0mKPt&tJ*&imAES@%R@ z7pD;$o4g2)=6Zga1ge9Ei8%?DW+7bmd6=Sius%LM5UTY1>>NWF+i)sEvxeLq8C*L! zK4||es5UQ0+Ioff^n&Q1qaM{(cz=+zyFhbLX9CpF9*Kg0nD zYX`mD)P0p?QPul=2Ccg)DfA!(>_R2eliD3+wARD>`58cqb5f>> zM8%S`WL9ociEb8qRW+rwWloyq4O1V8X%8Tb|K1O@Ui>@tLH=l(^P+v2R0;^;)+;5_ zw$A`G2Qcvf5Q9CsJif>}zA?US^|#F8eJoq$>=$}H>YZF1Sj5Q8>C%g#^N`){g)x& zmkvoLyCbqn^TDKi74!Qk1zGknb-;5grK@B+^gVeIm+!V|A4~kFcJNw?wS#3wrVtSV zkDBAjzQASvYG|5+DCK_4ULq${OpcX-t!P8KH~3$Y%(S|)U#+0lcV3xNgA-fh+e0C@ zwe8a^E?;(7sFzuNv$@yk$J}Ei-3pCYbKF{mMZGBU^QnFG^vFi#j

XAL;eM)9&r# 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 S<^MZn0PQ;l>Q%Q1;r|2tXIDS~ literal 0 HcmV?d00001 diff --git a/assets/profile_pictures/nameless b/assets/profile_pictures/nameless new file mode 100644 index 0000000000000000000000000000000000000000..4450584421bf8954445c5bd2e6a0786a854d1391 GIT binary patch literal 11311 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 Y`YuHHG^yRA^6W@}kMWy(-1+DK0V93NXaE2J literal 0 HcmV?d00001 diff --git a/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|123.txt b/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|234.txt b/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2 - Copy|123.txt b/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2 - Copy|234.txt b/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2|123.txt b/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2|234.txt b/assets/solutions/0rN9ylJIoT_6LJQnxrRoKBcz86cb7ZTQxAkbIe0_1Jxf0v1ds-c4lg/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|123.txt b/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|234.txt b/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2 - Copy|123.txt b/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2 - Copy|234.txt b/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2|123.txt b/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2|234.txt b/assets/solutions/1efYDlaL5Zk9bkQcZU6iYY8m4GtnSt19z6aMH3JoMZRtPrWXvCVQkw/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|123.txt b/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|234.txt b/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2 - Copy|123.txt b/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2 - Copy|234.txt b/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2|123.txt b/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2|234.txt b/assets/solutions/2BLAbvW9CYAyGLyzNo4GsIrgiY819d_myGiqw_06IliSjkxfAH9onw/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|.jukitinfo.json b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|.jukitinfo.json new file mode 100644 index 0000000..bf52a50 --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|.jukitinfo.json @@ -0,0 +1 @@ +{"cmd": "import os\nimport secrets\nimport sqlite3\nfrom user_handler import UserHandler\nfrom werkzeug.datastructures.file_storage import FileStorage\n\n\nclass SolutionHandler:\n connection: sqlite3.Connection = sqlite3.connect(\"../data/database.db\", check_same_thread=False)\n cursor: sqlite3.Cursor = connection.cursor()\n\n # Save solution\n @classmethod\n def submit_solution(cls, files: list[FileStorage], bounty_identifier: int, creator_identifier: int):\n solution_id = secrets.token_urlsafe(40)\n for file in files:\n if not file.filename:\n file.filename = secrets.token_urlsafe(5)\n file.filename = file.filename.replace(\"/\", r\"|\")\n os.mkdir(f\"../assets/solutions/{solution_id}\")\n file.save(f\"../assets/solutions/{solution_id}/{file.filename}\")\n\n cls.cursor.execute(\n f\"\"\"\n INSERT INTO bounty_solutions(creator_identifier, bounty_identifier, identifier)\n values(?, ?, ?)\n \"\"\",\n (creator_identifier, bounty_identifier, solution_id)\n )\n cls.connection.commit()\n\n @staticmethod\n def __format_solution(paths: list[str]):\n pass\n\n # Get solution by id\n @staticmethod\n def get_solution_by_id(solution_id: str):\n path = f\"../assets/solutions/{solution_id}/\"\n if not os.path.isdir(path):\n raise KeyError(\"Solution doesn't exist\")\n formated_solutions: dict[str, str | dict] = {}\n file_paths = os.listdir(path)\n for file_path in file_paths:\n current_folder = formated_solutions\n for folder in file_path.split(\"|\")[:-1]:\n current_folder[folder] = {}\n current_folder = current_folder[folder]\n file_name = file_path.split(\"|\")[-1]\n try:\n with open(path + file_path, \"r\") as file:\n current_folder[file_name] = file.read()\n except UnicodeDecodeError:\n current_folder[file_name] = \"\"\n\n print(formated_solutions)\n \n\n @classmethod\n def get_solution_list(cls, identifier: int) -> list[dict]:\n solutions = cls.cursor.execute(\n f\"\"\"\n SELECT creator_identifier, identifier FROM bounty_solutions\n WHERE bounty_identifier = ?;\n \"\"\",\n (identifier, )\n ).fetchall()\n return [\n {\n \"creator_id\": solution[0],\n \"creator_display_name\": UserHandler.get_display_name(solution[0]),\n \"solution_id\": solution[1],\n \"likes\": cls.get_likes(solution[1])\n } for solution in solutions\n ]\n\n @classmethod\n def like(cls, solution_id: int, user_id: int):\n cls.cursor.execute(\n f\"\"\"\n INSERT INTO solution_likes(user_id, solution_id) values(?, ?)\n \"\"\",\n (user_id, solution_id)\n )\n cls.connection.commit()\n\n @classmethod\n def unlike(cls, solution_id: int, user_id: int):\n cls.cursor.execute(\n f\"\"\"\n DELETE FROM solution_likes WHERE solution_id = ? AND user_id = ?\n \"\"\",\n (solution_id, user_id)\n )\n cls.connection.commit()\n\n @classmethod\n def get_likes(cls, solution_id: int) -> int:\n likes = cls.cursor.execute(\n f\"\"\"\n SELECT COUNT(*) FROM solution_likes WHERE solution_id = ?\n \"\"\",\n (solution_id, )\n ).fetchall()[0]\n return likes[0] if likes else 0\n\n @classmethod\n def has_user_liked(cls, solution_id: int, user_id: int) -> bool:\n\n likes = cls.cursor.execute(\n f\"\"\"\n SELECT 1 FROM solution_likes WHERE solution_id = ?\n \"\"\",\n (solution_id, )\n ).fetchall()\n return bool(likes)\n\nSolutionHandler.get_solution_by_id(\"NvFlP3tsfJbYDTAOD5dHt4hEp2rLlsVEYizWhC39WwstnJWDosPKyQ\")", "cmd_opts": " --cell_id=NONE -s", "import_complete": 1, "terminal": "kitty"} \ No newline at end of file diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|bountyhandlerouthist.json b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|bountyhandlerouthist.json new file mode 100644 index 0000000..f54de93 --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|bountyhandlerouthist.json @@ -0,0 +1 @@ +{"LsrWtuhk5A": null} \ No newline at end of file diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|restapiouthist.json b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|restapiouthist.json new file mode 100644 index 0000000..3a3530f --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|restapiouthist.json @@ -0,0 +1 @@ +{"NONE": [{"output_type": "stream", "name": "stdout", "text": "{'GTXN1Una4AAvXHl.webp': '', 'test1': {'fdf.webp': 'Sfjdifjodi\\n'}, 'test2': {'test3': {'safdf.webp': 'fjidofjidfji\\n'}}}\n"}]} \ No newline at end of file diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|userhandlerouthist.json b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|userhandlerouthist.json new file mode 100644 index 0000000..7c8b470 --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|.jukit|userhandlerouthist.json @@ -0,0 +1 @@ +{"NONE": [{"output_type": "stream", "name": "stdout", "text": "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mIntegrityError\u001b[0m Traceback (most recent call last)\nCell \u001b[0;32mIn[1], line 127\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mget_user_by_handle(handle)\n\u001b[1;32m 118\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mcursor\u001b[38;5;241m.\u001b[39mexecute(\n\u001b[1;32m 119\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;124m UPDATE users\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 124\u001b[0m (display_name, handle )\n\u001b[1;32m 125\u001b[0m )\u001b[38;5;241m.\u001b[39mfetchall()\n\u001b[0;32m--> 127\u001b[0m \u001b[43mUserHandler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_user\u001b[49m\u001b[43m(\u001b[49m\u001b[43mUser\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkos\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkos\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkos\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkosh\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 128\u001b[0m UserHandler\u001b[38;5;241m.\u001b[39mchange_display_name(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkos\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkosh\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\nCell \u001b[0;32mIn[1], line 38\u001b[0m, in \u001b[0;36mUserHandler.create_user\u001b[0;34m(cls, user)\u001b[0m\n\u001b[1;32m 36\u001b[0m salt \u001b[38;5;241m=\u001b[39m bcrypt\u001b[38;5;241m.\u001b[39mgensalt()\n\u001b[1;32m 37\u001b[0m encrypted_password \u001b[38;5;241m=\u001b[39m bcrypt\u001b[38;5;241m.\u001b[39mhashpw(user\u001b[38;5;241m.\u001b[39mpassword\u001b[38;5;241m.\u001b[39mencode(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mutf-8\u001b[39m\u001b[38;5;124m\"\u001b[39m), salt)\n\u001b[0;32m---> 38\u001b[0m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcursor\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 39\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\"\"\u001b[39;49m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;124;43m INSERT INTO users(handle, display_name, email, password)\u001b[39;49m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;124;43m values(?, ?, ?, ?)\u001b[39;49m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;124;43m \u001b[39;49m\u001b[38;5;124;43m\"\"\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 43\u001b[0m \u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43muser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhandle\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdisplay_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43memail\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencrypted_password\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 44\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m shutil\u001b[38;5;241m.\u001b[39mcopy(\n\u001b[1;32m 46\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../assets/profile_pictures/default_profile_picture.jpg\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../assets/profile_pictures/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00muser\u001b[38;5;241m.\u001b[39mhandle\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 48\u001b[0m )\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mconnection\u001b[38;5;241m.\u001b[39mcommit()\n\n\u001b[0;31mIntegrityError\u001b[0m: UNIQUE constraint failed: users.handle\n"}]} \ No newline at end of file diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|bountyhandler.py b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|bountyhandler.py new file mode 100644 index 0000000..1503442 --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|bountyhandler.py @@ -0,0 +1,147 @@ +from dataclasses import dataclass +import sqlite3 + + +@dataclass +class Bounty: + bounty_id: int + user_id: int + title: str + description: str + languages: str + field: str + + def __init__( + self, + bounty_id: int, + user_id: int, + title: str, + description: str, + languages: str, + field: str, + ) -> None: + self.bounty_id = bounty_id + self.user_id = user_id + self.title = title + self.description = description + self.languages = languages + self.field = field + + +class BountyHandler: + connection: sqlite3.Connection = sqlite3.connect("../data/database.db", check_same_thread=False) + cursor: sqlite3.Cursor = connection.cursor() + + # Create Bounty + @classmethod + def create_bounty( + cls, + bounty: Bounty + ) -> None: + bounty.languages.removeprefix(",") + bounty.languages.removesuffix(",") + print(bounty.languages) + assert set(bounty.languages.split(",")).issubset( + {"c", "cpp", "c#", "css", "go", "html", "java", "js", "python", "ruby", "rust", "other", "any"} + ) + assert set(bounty.field.split(",")).issubset( + {"dsa", "ai", "web", "app", "other"} + ) + cls.cursor.execute( + f""" + INSERT INTO bounties(user_id, title, description, languages, field) + values(?, ?, ?, ?, ?) + """, + (bounty.bounty_id, bounty.title, bounty.description, bounty.languages, bounty.field) + ) + cls.connection.commit() + + # Get Bounty + @classmethod + def get_bounty_by_id(cls, bounty_id: int) -> Bounty: + bounties = cls.cursor.execute( + f""" + SELECT user_id, title, description, languages, field + FROM bounties WHERE bounty_id = ?; + """, + (bounty_id, ) + ).fetchall() + if not bounties: + raise KeyError(f"{bounty_id} does not exist!") + bounty = bounties[0] + return Bounty( + bounty_id=bounty_id, + user_id=bounty[0], + title=bounty[1], + description=bounty[2], + languages=bounty[3], + field=bounty[4], + ) + + # Get random bounties + @classmethod + def get_randomized_bounty_list(cls): + responses = cls.cursor.execute( + f""" + SELECT bounty_id, user_id, title, description, languages, field FROM bounties ORDER BY RANDOM(); + """ + ).fetchall() + bounties: list[Bounty] = [] + for response in responses: + bounties.append(Bounty( + bounty_id=response[0], + user_id=response[1], + title=response[2], + description=response[3], + languages=response[4], + field=response[5], + )) + return bounties + + # Rate + @classmethod + def rate(cls, bounty_id: int, user_id: int, rating: int) -> None: + cls.cursor.execute( + f""" + INSERT INTO bounty_ratings(bounty_id, user_id, rating) + values(?, ?, ?) + """, + (bounty_id, user_id, rating) + ) + cls.connection.commit() + + # Get Rating + @classmethod + def get_sum_of_ratings(cls, bounty_id: int) -> int: + sum_of_ratings: int = cls.cursor.execute( + f""" + SELECT SUM(rating) + FROM bounty_ratings WHERE bounty_id = ?; + """, + (bounty_id,) + ).fetchall()[0][0] + return sum_of_ratings if sum_of_ratings else 0 + + # Get number of Rating + @classmethod + def get_number_of_ratings(cls, bounty_id: int) -> int: + sum_of_ratings: int = cls.cursor.execute( + f""" + SELECT COUNT() + FROM bounty_ratings WHERE bounty_id = ?; + """, + (bounty_id,) + ).fetchall()[0][0] + return sum_of_ratings if sum_of_ratings else -1 + + # Get rater's Rating + @classmethod + def get_rating_of_user(cls, user_id: int, bounty_id: int) -> int: + sum_of_ratings: int = cls.cursor.execute( + f""" + SELECT SUM(rating) + FROM bounty_ratings WHERE bounty_id = ? AND user_id = ?; + """, + (bounty_id, user_id) + ).fetchall()[0][0] + return sum_of_ratings if sum_of_ratings else -2 diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|docs.txt b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|docs.txt new file mode 100644 index 0000000..40ee66c --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|docs.txt @@ -0,0 +1,140 @@ +Legend: + Form data: + https://developer.mozilla.org/en-US/docs/Web/API/FormData + [something] : this something is optional + + + +---------- USER HANDLING ---------- + +POST : /get-user-by-email + Form data: + email + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : email missing in request + 404 : email not found + +POST : /get-user-by-id + Form data: + id + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : id missing in request + 404 : id not found + +POST : /get-user-by-handle + Form Data: + handle + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : handle missing in request + 404 : handle not found + +POST : /register + Form Data: + email + handle + password + [display_name] + [profile_picture] + Errors: + 422 : something missing in request + 409 : User exists (email or handle) + +POST : /login + Form Data: + email + password + Errors: + 422 : something missing in request + 404 : User does not exist + 409 : Wrong password + Cookies: + sets id + sets session_id + +POST : /logout + Errors: + 401 : Not logged in + Cookies: + deletes session_id + deletes id + +POST : /change-user-profile-picture + Form Data: + image + Errors: + 401 : Not logged in + 403 : Invalid log in + 422 : image is missing + Note: + Must be logged in + +POST : /change-user-display-name + Form Data: + display_name + Errors: + 401 : Not logged in + 403 : Invalid log in + 422 : display_name is missing + Note: + Must be logged in + +GET : /profile-picture/ + Errors: + 404 : Handle not found + + + +---------- BOUNTY HANDLING ---------- + +POST : /create-bounty + Form Data: + title + description + [field] + [language] + Errors: + 422 : something missing in request + 403 : Unknown language/ field + Note: + default language = "any" + default field = "other" + +POST : /get-user-by-id + Form data: + id + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : id missing in request + 404 : id not found + +POST : /create-session-for-bounty-get-random + Cookies: + sets bounty_session_id + +POST : /bounty-get-random + Form data: + page_number + Note: + /create-session-for-bounty-get-random must be called before this + Errors: + 422 : page no. missing in request + 404 : /create-session-for-bounty-get-random not called diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|bountyhandler.cpython-312.pyc b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|bountyhandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..094146e6a62cc0380c33609ed0f58199a705c996 GIT binary patch literal 6451 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 QA6Q13wVztBNH+QZ0P)27CjbBd literal 0 HcmV?d00001 diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|solutionhandler.cpython-312.pyc b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|solutionhandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..932749da5a9da4b5111644a790e0fa24b1f883fb GIT binary patch literal 6135 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 literal 0 HcmV?d00001 diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|userhandler.cpython-312.pyc b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|pycache|userhandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4b87815a79dde628ce5cca4bda895db503040f33 GIT binary patch literal 5967 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 flask.Response: +# request_data = dict(flask.request.form) +# if "email" not in request_data: +# return flask.Response("email or password missing", status=422) +# try: +# user = UserHandler.get_user_by_email( +# request_data["email"], +# ) +# except KeyError: +# return flask.Response("User does not exist", status=404) +# return flask.Response( +# response=json.dumps({ +# "handle": user.handle, +# "display_name": user.display_name, +# }), +# status=200, +# mimetype='application/json' +# ) +# +# +@app.post("/get-user-by-id") +def get_user_by_id() -> flask.Response: + request_data = dict(flask.request.form) + try: + user_id = int(request_data["user_id"]) + except KeyError: + return flask.Response("user_id missing", status=422) + except ValueError: + return flask.Response("user_id wasn't int", status=422) + try: + user = UserHandler.get_user_by_id(user_id) + except KeyError: + return flask.Response("User does not exist", status=404) + return flask.Response( + response=json.dumps({ + "handle": user.handle, + "display_name": user.display_name, + }), + status=200, + mimetype='application/json' + ) + + +@app.post("/get-user-by-handle") +def get_user_by_handle() -> flask.Response: + request_data = dict(flask.request.form) + try: + handle = request_data["handle"] + except KeyError: + return flask.Response("handle or password missing", status=422) + try: + user = UserHandler.get_user_by_handle(handle) + except KeyError: + return flask.Response("User does not exist", status=404) + return flask.Response( + response=json.dumps({ + "handle": user.handle, + "display_name": user.display_name, + }), + status=200, + mimetype='application/json' + ) + + +@app.post("/register") +def register() -> flask.Response: + request_data = dict(flask.request.form) + try: + email = request_data["email"] + handle = request_data["handle"] + password = request_data["password"] + except KeyError: + return flask.Response("email, handle or password missing", status=422) + if "display_name" not in request_data: + request_data["display_name"] = request_data["handle"] + try: + UserHandler.create_user( + User( + -1, + email, + request_data["handle"], + request_data["password"], + request_data["display_name"], + ) + ) + except sqlite3.IntegrityError as error: + if "handle" in str(error): + return flask.Response("Handle exists", status=409) + else: + return flask.Response("Email exists", status=409) + if "profile_picture" in flask.request.files: + flask.request.files["profile_picture"].save(f"../assets/profile_pictures/{request_data['handle']}") + return flask.Response(status=200) + + +@app.post("/validate-login") +def validate_login(): + if "user_id" not in flask.session: + return flask.Response("Authentication error", status=401) + if not isinstance(flask.session["user_id"], int): + return flask.Response("Authentication error", status=401) + return flask.Response(status=200) + + +@app.post("/login") +def login() -> flask.Response: + request_data = dict(flask.request.form) + try: + email = request_data["email"] + password = request_data["password"] + except KeyError: + return flask.Response("email or password missing", status=422) + try: + assert UserHandler.verify_password_by_email(email, password) + except KeyError: + return flask.Response("User does not exist", status=404) + except AssertionError: + return flask.Response("Wrong password", status=409) + user = UserHandler.get_user_by_email(request_data["email"]) + flask.session["user_id"] = user.user_id + return flask.Response(status=200) + + +@app.post("/logout") +def logout() -> flask.Response: + if "user_id" not in flask.session: + return flask.Response("Authentication error", status=401) + flask.session.pop("user_id") + return flask.Response(status=200) + + +@app.post("/change-user-profile-picture") +def change_user_profile_picture() -> flask.Response: + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + + try: + image = flask.request.files["image"] + except KeyError: + return flask.Response("image is missing", status=422) + image_name = UserHandler.get_user_by_id(flask.session["user_id"]).handle + image.save( + f"../assets/profile_pictures/{image_name}" + ) + return flask.Response(status=200) + + +@app.post("/change-user-display-name") +def change_user_display_name(): + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + request_data = dict(flask.request.form) + if "display_name" not in request_data: + return flask.Response("display_name is missing", status=422) + UserHandler.change_display_name(flask.session["user_id"], request_data["display_name"]) + return flask.Response(status=200) + + +@app.get("/profile-picture/") +def get_profile_picture(handle: str) -> flask.Response: + try: + return flask.send_file(f"../assets/profile_pictures/{handle}") + except FileNotFoundError: + return flask.Response(f"{handle} does not exist", 404) + + +# ---------- BOUNTY ---------- +@app.post("/create-bounty") +def create_bounty() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + if "title" not in request_data or \ + "description" not in request_data: + return flask.Response("title or description is missing", status=422) + if "field" not in request_data: + request_data["field"] = "other" + if "languages" not in request_data: + request_data["language"] = "any" + try: + BountyHandler.create_bounty(Bounty( + -1, + flask.session["user_id"], + request_data["title"], + request_data["description"], + languages=request_data["languages"], + field=request_data["field"] + )) + return flask.Response(status=200) + except AssertionError: + return flask.Response("Unknown language/ field", status=403) + + +@app.post("/get-bounty-by-id") +def bounty_get_by_id() -> flask.Response: + login_validation = validate_login() + user_id = -1 + if login_validation.status_code == 200: + user_id = flask.session["user_id"] + request_data = dict(flask.request.form) + if "bounty_id" not in request_data: + return flask.Response("bounty_id is missing", status=422) + try: + bounty_id = int(request_data["bounty_id"]) + except ValueError: + return flask.Response("user_id wasn't int", status=422) + try: + bounty = BountyHandler.get_bounty_by_id(bounty_id) + except KeyError: + return flask.Response("Doesn't exist", status=404) + number_of_ratings: int = BountyHandler.get_number_of_ratings(bounty_id) + return flask.Response( + response=json.dumps({ + "title": bounty.title, + "description": bounty.description, + "languages": bounty.languages, + "field": bounty.field, + "average_rating": BountyHandler.get_sum_of_ratings(bounty_id) / number_of_ratings, + "number_of_ratings": number_of_ratings, + "users_rating": BountyHandler.get_rating_of_user(user_id, bounty.bounty_id), + }), + status=200, + mimetype='application/json' + ) + + +@app.post("/create-session-for-bounty-get-random") +def create_session_for_bounty_get_random() -> flask.Response: + login_validation = validate_login() + rater_id = -1 + if login_validation.status_code == 200: + rater_id = flask.session["user_id"] + bounties = BountyHandler.get_randomized_bounty_list() + bounties = [ + { + "id": bounty.bounty_id, + "creator_identifie": bounty.user_id, + "title": bounty.title, + "description": bounty.description, + "languages": bounty.languages, + "field": bounty.field, + "average_rating": BountyHandler.get_sum_of_ratings(bounty.bounty_id) /\ + BountyHandler.get_number_of_ratings(bounty.bounty_id), + "number_of_ratings": BountyHandler.get_number_of_ratings(bounty.bounty_id), + "users_rating": BountyHandler.get_rating_of_user(rater_id, bounty.bounty_id), + } for bounty in bounties + ] + flask.session["bounties"] = bounties + response = flask.Response(status=200) + return response + + +@app.post("/bounty-get-random") +def bounty_get_random() -> flask.Response: + request_data = dict(flask.request.form) + if "bounties" not in flask.session: + return flask.Response("/create-session-for-bounty-get-random not called", status=401) + try: + page_number = int(request_data["page_number"]) + except KeyError: + return flask.Response("page_number is missing", status=422) + except ValueError: + return flask.Response("page_number wasn't int", status=422) + return flask.Response( + response=json.dumps( + flask.session["bounties"][page_number * 20 : (page_number + 1) * 20] + ), + status=200, + mimetype='application/json' + ) + + +@app.post("/bounty-rate") +def bounty_rate() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + BountyHandler.rate( + int(request_data["bounty_id"]), + flask.session["user_id"], + int(request_data["rating"]), + ) + except sqlite3.IntegrityError: + return flask.Response("Rating gotta be between 1 and 10", status=403) + except ValueError: + return flask.Response("bounty_id or rating wasn't int", status=422) + except KeyError: + return flask.Response("bounty_id or rating missing", status=422) + return flask.Response(status=200) + + +# ---------- SOLUTIONS ---------- +@app.post("/test") +def test(): + files = flask.request.files.getlist("files") + for file in files: + if file.filename: + file.filename = file.filename.replace("/", r"|") + file.save(f"../assets/{file.filename}") + else: + return flask.Response(status=400) + return flask.Response() + + +@app.post("/submit-solution") +def submit_answer() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + user_id = flask.session["user_id"] + try: + bounty_id = int(request_data["bounty_id"]) + except KeyError: + return flask.Response("Bounty id missing", status=422) + except ValueError: + return flask.Response("bounty_id wasn't int", status=422) + + files : list[FileStorage]= flask.request.files.getlist("files") + if not files: + return flask.Response("files missing", status=422) + SolutionHandler.submit_solution(files, bounty_id, user_id) + return flask.Response() + + +@app.post("/get-solution-by-id") +def get_solution_by_id() -> flask.Response: + request_data = dict(flask.request.form) + try: + solution_id = request_data["solution_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + try: + return flask.jsonify(SolutionHandler.get_solution_by_id(solution_id)) + except KeyError: + return flask.Response("Solution doesn't exist", status=404) + + +@app.post("/get-solution-list") +def get_solution_list() -> flask.Response: + request_data = dict(flask.request.form) + try: + solution_id = int(request_data["bounty_id"]) + except KeyError: + return flask.Response("Bounty id missing", status=422) + except ValueError: + return flask.Response("bounty_id wasn't int", status=422) + return flask.jsonify(SolutionHandler.get_solution_list(solution_id)) + + +@app.post("/like-solution") +def like_solution() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + solution_id = request_data["solution_id"] + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + SolutionHandler.like(solution_id=solution_id, user_id=user_id) + return flask.Response(status=200) + + +@app.post("/unlike-solution") +def unlike_solution() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + solution_id = request_data["solution_id"] + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + SolutionHandler.unlike(solution_id=solution_id, user_id=user_id) + return flask.Response(status=200) + + +@app.post("/has-user-liked") +def has_user_liked() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + solution_id = request_data["solution_id"] + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + return flask.jsonify(SolutionHandler.has_user_liked(user_id=user_id, solution_id=solution_id)) diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|solutionhandler.py b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|solutionhandler.py new file mode 100644 index 0000000..d608d90 --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|solutionhandler.py @@ -0,0 +1,116 @@ +import os +import secrets +import sqlite3 +from user_handler import UserHandler +from werkzeug.datastructures.file_storage import FileStorage +import re + + +class SolutionHandler: + connection: sqlite3.Connection = sqlite3.connect("../data/database.db", check_same_thread=False) + cursor: sqlite3.Cursor = connection.cursor() + + # Save solution + @classmethod + def submit_solution(cls, files: list[FileStorage], bounty_identifier: int, creator_identifier: int): + solution_id = secrets.token_urlsafe(40) + os.mkdir(f"../assets/solutions/{solution_id}/") + for file in files: + print(file.filename) + if not file.filename: + file.filename = secrets.token_urlsafe(5) + file.filename = "".join(re.findall("[a-zA-Z 0-9-./]", file.filename)) + file.filename = file.filename.replace("/", r"|") + file.save(f"../assets/solutions/{solution_id}/{file.filename}") + + cls.cursor.execute( + f""" + INSERT INTO solutions(user_id, bounty_id, solution_id) + values(?, ?, ?) + """, + (creator_identifier, bounty_identifier, solution_id) + ) + cls.connection.commit() + + # Get solution by id + @staticmethod + def get_solution_by_id(solution_id: str): + path = f"../assets/solutions/{solution_id}/" + if not os.path.isdir(path): + raise KeyError("Solution doesn't exist") + formated_solutions: dict[str, str | dict] = {} + file_paths = os.listdir(path) + for file_path in file_paths: + current_folder = formated_solutions + for folder in file_path.split("|")[:-1]: + print(folder) + current_folder[folder] = {} + current_folder: dict = current_folder[folder] + file_name = file_path.split("|")[-1] + try: + with open(path + file_path, "r") as file: + current_folder[file_name] = file.read() + except UnicodeDecodeError: + current_folder[file_name] = "" + + return formated_solutions + + + @classmethod + def get_solution_list(cls, identifier: int) -> list[dict]: + solutions = cls.cursor.execute( + f""" + SELECT user_id, solution_id FROM solutions + WHERE bounty_id = ?; + """, + (identifier, ) + ).fetchall() + return [ + { + "user_id": solution[0], + "creator_display_name": UserHandler.get_display_name(solution[0]), + "solution_id": solution[1], + "likes": cls.get_likes(solution[1]) + } for solution in solutions + ] + + @classmethod + def like(cls, solution_id: int, user_id: int): + cls.cursor.execute( + f""" + INSERT INTO solution_likes(user_id, solution_id) values(?, ?) + """, + (user_id, solution_id) + ) + cls.connection.commit() + + @classmethod + def unlike(cls, solution_id: int, user_id: int): + cls.cursor.execute( + f""" + DELETE FROM solution_likes WHERE solution_id = ? AND user_id = ? + """, + (solution_id, user_id) + ) + cls.connection.commit() + + @classmethod + def get_likes(cls, solution_id: int) -> int: + likes = cls.cursor.execute( + f""" + SELECT COUNT(*) FROM solution_likes WHERE solution_id = ? + """, + (solution_id, ) + ).fetchall()[0] + return likes[0] if likes else 0 + + @classmethod + def has_user_liked(cls, solution_id: int, user_id: int) -> bool: + + likes = cls.cursor.execute( + f""" + SELECT 1 FROM solution_likes WHERE solution_id = ? + """, + (solution_id, ) + ).fetchall() + return bool(likes) diff --git a/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|userhandler.py b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|userhandler.py new file mode 100644 index 0000000..11d4580 --- /dev/null +++ b/assets/solutions/585Sh-FFkzoYGkAlCbtHQn7VdH6vzPHGmGF6MKm31gdlFeoMBbQuVA/src|userhandler.py @@ -0,0 +1,154 @@ +import bcrypt +import shutil +from dataclasses import dataclass +import sqlite3 + + +@dataclass +class User: + user_id: int + email: str + handle: str + password: str + display_name: str + + def __init__( + self, + user_id: int, + email: str, + handle: str, + password: str = "", + display_name: str = "", + ) -> None: + self.user_id: int = user_id + self.handle = handle + self.password = password + self.display_name = display_name if display_name else handle + self.email = email + + +class UserHandler: + connection: sqlite3.Connection = sqlite3.connect("../data/database.db", check_same_thread=False) + cursor: sqlite3.Cursor = connection.cursor() + + @classmethod + def create_user( + cls, + user: User + ) -> None: + salt = bcrypt.gensalt() + encrypted_password = bcrypt.hashpw(user.password.encode("utf-8"), salt) + cls.cursor.execute( + f""" + INSERT INTO users(handle, display_name, email, password) + values(?, ?, ?, ?) + """, + (user.handle, user.display_name, user.email, encrypted_password) + ) + cls.connection.commit() + shutil.copy( + "../assets/profile_pictures/default_profile_picture.jpg", + f"../assets/profile_pictures/{user.handle}" + ) + + @classmethod + def get_user_by_id(cls, user_id: int) -> User: + users = cls.cursor.execute( + f""" + SELECT handle, display_name + FROM users WHERE user_id = ?; + """, + (user_id, ) + ).fetchall() + if not users: + raise KeyError(f"{user_id} does not exist!") + user = users[0] + return User( + user_id=user_id, + handle=user[0], + display_name=user[1], + email="", + password="" + ) + + @classmethod + def get_user_by_handle(cls, handle: str) -> User: + users = cls.cursor.execute( + f""" + SELECT user_id, handle, display_name + FROM users WHERE handle = ?; + """, + (handle, ) + ).fetchall() + if not users: + raise KeyError(f"{handle} does not exist!") + users = users[0] + return User( + user_id=users[0], + handle=users[1], + display_name=users[2], + email="", + password="" + ) + + @classmethod + def get_user_by_email(cls, email: str) -> User: + users = cls.cursor.execute( + f""" + SELECT user_id, handle, display_name + FROM users WHERE email = ?; + """, + (email, ) + ).fetchall() + if not users: + raise KeyError(f"{email} does not exist!") + users = users[0] + return User( + user_id=users[0], + handle=users[1], + display_name=users[2], + email=email, + password="", + ) + + #@classmethod + #def verify_password_by_handle(cls, handle: str, password: str) -> bool: + # users = cls.cursor.execute( + # f""" + # SELECT password + # FROM users WHERE handle = ?; + # """, + # (handle, ) + # ).fetchall() + # if not users: + # raise KeyError(f"{handle} does not exist!") + # real_password = users[0][0] + # return bcrypt.checkpw(password.encode("utf-8"), real_password) + + @classmethod + def verify_password_by_email(cls, email: str, password: str) -> bool: + users = cls.cursor.execute( + f""" + SELECT password + FROM users WHERE email = ?; + """, + (email, ) + ).fetchall() + if not users: + raise KeyError(f"{email} does not exist!") + return bcrypt.checkpw(password.encode("utf-8"), users[0][0]) + + @classmethod + def change_display_name(cls, user_id: int, display_name: str): + cls.cursor.execute( + f""" + UPDATE users + SET display_name = ? + WHERE user_id = ?; + """, + (display_name, user_id) + ).fetchall() + + @classmethod + def get_display_name(cls, user_id: int) -> str: + return cls.get_user_by_id(user_id).display_name diff --git a/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|123.txt b/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|234.txt b/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2 - Copy|123.txt b/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2 - Copy|234.txt b/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2|123.txt b/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2|234.txt b/assets/solutions/G83-qgjo7wUWrwhrteC80Li-TgCSIGcJ9Rr8BG79-l_IpuKRAhKPSw/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|123.txt b/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|234.txt b/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2 - Copy|123.txt b/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2 - Copy|234.txt b/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2|123.txt b/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2|234.txt b/assets/solutions/Sd9PQMmpSXRVx3DzQhp0eblDPW57j0IkITDZUgx3No42Bw5-L3EvNw/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|123.txt b/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|234.txt b/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2 - Copy|123.txt b/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2 - Copy|234.txt b/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2|123.txt b/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2|234.txt b/assets/solutions/_WXL2tXN5gJcCu6DZxCkeAXbl3Zwjz1zGBeAnJIFozIOSuxgBzu_5Q/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|123.txt b/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|234.txt b/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2 - Copy|123.txt b/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2 - Copy|234.txt b/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2|123.txt b/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2|234.txt b/assets/solutions/eC34Fk-XnKyyrdFckBIfWEDhOfwObFNgHXVAe4TcPMXLbRZgYq2J3A/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|123.txt b/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|234.txt b/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2 - Copy|123.txt b/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2 - Copy|234.txt b/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2|123.txt b/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2|234.txt b/assets/solutions/fgISg49wTzCklFb8U3JsgziRXvABnvEyPwqPfnFh3f8i4jL5_s1yvQ/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|123.txt b/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|234.txt b/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2 - Copy|123.txt b/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2 - Copy|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2 - Copy|234.txt b/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2 - Copy|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2|123.txt b/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2|123.txt new file mode 100644 index 0000000..e69de29 diff --git a/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2|234.txt b/assets/solutions/hNKzTH0__gD_PYqT2KM0BV2HsjmZO5NUsrNF-F8wvrVoA0rStjU6Cw/test|test2|234.txt new file mode 100644 index 0000000..e69de29 diff --git a/data/database.db b/data/database.db new file mode 100644 index 0000000000000000000000000000000000000000..07c7b4e6b2fae824a7d83efd56a9883eb340c8c1 GIT binary patch literal 73728 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 literal 0 HcmV?d00001 diff --git a/src/.jukit/.jukit_info.json b/src/.jukit/.jukit_info.json new file mode 100644 index 0000000..c3bfc23 --- /dev/null +++ b/src/.jukit/.jukit_info.json @@ -0,0 +1 @@ +{"cmd": "import os\nimport secrets\nimport sqlite3\nfrom user_handler import UserHandler\nfrom werkzeug.datastructures.file_storage import FileStorage\n\n\nclass SolutionHandler:\n connection: sqlite3.Connection = sqlite3.connect(\"../data/database.db\", check_same_thread=False)\n cursor: sqlite3.Cursor = connection.cursor()\n\n # Save solution\n @classmethod\n def submit_solution(cls, files: list[FileStorage], bounty_identifier: int, creator_identifier: int):\n solution_id = secrets.token_urlsafe(40)\n for file in files:\n if not file.filename:\n file.filename = secrets.token_urlsafe(5)\n file.filename = file.filename.replace(\"/\", r\"|\")\n os.mkdir(f\"../assets/solutions/{solution_id}\")\n file.save(f\"../assets/solutions/{solution_id}/{file.filename}\")\n\n cls.cursor.execute(\n f\"\"\"\n INSERT INTO bounty_solutions(creator_identifier, bounty_identifier, identifier)\n values(?, ?, ?)\n \"\"\",\n (creator_identifier, bounty_identifier, solution_id)\n )\n cls.connection.commit()\n\n @staticmethod\n def __format_solution(paths: list[str]):\n pass\n\n # Get solution by id\n @staticmethod\n def get_solution_by_id(solution_id: str):\n path = f\"../assets/solutions/{solution_id}/\"\n if not os.path.isdir(path):\n raise KeyError(\"Solution doesn't exist\")\n formated_solutions: dict[str, str | dict] = {}\n file_paths = os.listdir(path)\n for file_path in file_paths:\n current_folder = formated_solutions\n for folder in file_path.split(\"|\")[:-1]:\n current_folder[folder] = {}\n current_folder = current_folder[folder]\n file_name = file_path.split(\"|\")[-1]\n try:\n with open(path + file_path, \"r\") as file:\n current_folder[file_name] = file.read()\n except UnicodeDecodeError:\n current_folder[file_name] = \"\"\n\n print(formated_solutions)\n \n\n @classmethod\n def get_solution_list(cls, identifier: int) -> list[dict]:\n solutions = cls.cursor.execute(\n f\"\"\"\n SELECT creator_identifier, identifier FROM bounty_solutions\n WHERE bounty_identifier = ?;\n \"\"\",\n (identifier, )\n ).fetchall()\n return [\n {\n \"creator_id\": solution[0],\n \"creator_display_name\": UserHandler.get_display_name(solution[0]),\n \"solution_id\": solution[1],\n \"likes\": cls.get_likes(solution[1])\n } for solution in solutions\n ]\n\n @classmethod\n def like(cls, solution_id: int, user_id: int):\n cls.cursor.execute(\n f\"\"\"\n INSERT INTO solution_likes(user_id, solution_id) values(?, ?)\n \"\"\",\n (user_id, solution_id)\n )\n cls.connection.commit()\n\n @classmethod\n def unlike(cls, solution_id: int, user_id: int):\n cls.cursor.execute(\n f\"\"\"\n DELETE FROM solution_likes WHERE solution_id = ? AND user_id = ?\n \"\"\",\n (solution_id, user_id)\n )\n cls.connection.commit()\n\n @classmethod\n def get_likes(cls, solution_id: int) -> int:\n likes = cls.cursor.execute(\n f\"\"\"\n SELECT COUNT(*) FROM solution_likes WHERE solution_id = ?\n \"\"\",\n (solution_id, )\n ).fetchall()[0]\n return likes[0] if likes else 0\n\n @classmethod\n def has_user_liked(cls, solution_id: int, user_id: int) -> bool:\n\n likes = cls.cursor.execute(\n f\"\"\"\n SELECT 1 FROM solution_likes WHERE solution_id = ?\n \"\"\",\n (solution_id, )\n ).fetchall()\n return bool(likes)\n\nSolutionHandler.get_solution_by_id(\"NvFlP3tsfJbYDTAOD5dHt4hEp2rLlsVEYizWhC39WwstnJWDosPKyQ\")", "cmd_opts": " --cell_id=NONE -s", "import_complete": 1, "terminal": "nvimterm"} \ No newline at end of file diff --git a/src/.jukit/bounty_handler_outhist.json b/src/.jukit/bounty_handler_outhist.json new file mode 100644 index 0000000..f54de93 --- /dev/null +++ b/src/.jukit/bounty_handler_outhist.json @@ -0,0 +1 @@ +{"LsrWtuhk5A": null} \ No newline at end of file diff --git a/src/.jukit/rest_api_outhist.json b/src/.jukit/rest_api_outhist.json new file mode 100644 index 0000000..3a3530f --- /dev/null +++ b/src/.jukit/rest_api_outhist.json @@ -0,0 +1 @@ +{"NONE": [{"output_type": "stream", "name": "stdout", "text": "{'GTXN1Una4AAvXHl.webp': '', 'test1': {'fdf.webp': 'Sfjdifjodi\\n'}, 'test2': {'test3': {'safdf.webp': 'fjidofjidfji\\n'}}}\n"}]} \ No newline at end of file diff --git a/src/.jukit/user_handler_outhist.json b/src/.jukit/user_handler_outhist.json new file mode 100644 index 0000000..7c8b470 --- /dev/null +++ b/src/.jukit/user_handler_outhist.json @@ -0,0 +1 @@ +{"NONE": [{"output_type": "stream", "name": "stdout", "text": "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mIntegrityError\u001b[0m Traceback (most recent call last)\nCell \u001b[0;32mIn[1], line 127\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mget_user_by_handle(handle)\n\u001b[1;32m 118\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mcursor\u001b[38;5;241m.\u001b[39mexecute(\n\u001b[1;32m 119\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;124m UPDATE users\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 124\u001b[0m (display_name, handle )\n\u001b[1;32m 125\u001b[0m )\u001b[38;5;241m.\u001b[39mfetchall()\n\u001b[0;32m--> 127\u001b[0m \u001b[43mUserHandler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_user\u001b[49m\u001b[43m(\u001b[49m\u001b[43mUser\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkos\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkos\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkos\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mkosh\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 128\u001b[0m UserHandler\u001b[38;5;241m.\u001b[39mchange_display_name(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkos\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkosh\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\nCell \u001b[0;32mIn[1], line 38\u001b[0m, in \u001b[0;36mUserHandler.create_user\u001b[0;34m(cls, user)\u001b[0m\n\u001b[1;32m 36\u001b[0m salt \u001b[38;5;241m=\u001b[39m bcrypt\u001b[38;5;241m.\u001b[39mgensalt()\n\u001b[1;32m 37\u001b[0m encrypted_password \u001b[38;5;241m=\u001b[39m bcrypt\u001b[38;5;241m.\u001b[39mhashpw(user\u001b[38;5;241m.\u001b[39mpassword\u001b[38;5;241m.\u001b[39mencode(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mutf-8\u001b[39m\u001b[38;5;124m\"\u001b[39m), salt)\n\u001b[0;32m---> 38\u001b[0m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcursor\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 39\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\"\"\u001b[39;49m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;124;43m INSERT INTO users(handle, display_name, email, password)\u001b[39;49m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;124;43m values(?, ?, ?, ?)\u001b[39;49m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;124;43m \u001b[39;49m\u001b[38;5;124;43m\"\"\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 43\u001b[0m \u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43muser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhandle\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdisplay_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43memail\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencrypted_password\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 44\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m shutil\u001b[38;5;241m.\u001b[39mcopy(\n\u001b[1;32m 46\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../assets/profile_pictures/default_profile_picture.jpg\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../assets/profile_pictures/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00muser\u001b[38;5;241m.\u001b[39mhandle\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 48\u001b[0m )\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mconnection\u001b[38;5;241m.\u001b[39mcommit()\n\n\u001b[0;31mIntegrityError\u001b[0m: UNIQUE constraint failed: users.handle\n"}]} \ No newline at end of file diff --git a/src/__pycache__/bounty_handler.cpython-312.pyc b/src/__pycache__/bounty_handler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..094146e6a62cc0380c33609ed0f58199a705c996 GIT binary patch literal 6451 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 QA6Q13wVztBNH+QZ0P)27CjbBd literal 0 HcmV?d00001 diff --git a/src/__pycache__/solution_handler.cpython-312.pyc b/src/__pycache__/solution_handler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e053055feee9f6c9ff53a4cbb5223434d30f9618 GIT binary patch literal 6077 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 V)cz$p0mDaz2u1B!N2FDi{1=dkKu!Pv literal 0 HcmV?d00001 diff --git a/src/__pycache__/user_handler.cpython-312.pyc b/src/__pycache__/user_handler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4b87815a79dde628ce5cca4bda895db503040f33 GIT binary patch literal 5967 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 None: + self.bounty_id = bounty_id + self.user_id = user_id + self.title = title + self.description = description + self.languages = languages + self.field = field + + +class BountyHandler: + connection: sqlite3.Connection = sqlite3.connect("../data/database.db", check_same_thread=False) + cursor: sqlite3.Cursor = connection.cursor() + + # Create Bounty + @classmethod + def create_bounty( + cls, + bounty: Bounty + ) -> None: + bounty.languages.removeprefix(",") + bounty.languages.removesuffix(",") + print(bounty.languages) + assert set(bounty.languages.split(",")).issubset( + {"c", "cpp", "c#", "css", "go", "html", "java", "js", "python", "ruby", "rust", "other", "any"} + ) + assert set(bounty.field.split(",")).issubset( + {"dsa", "ai", "web", "app", "other"} + ) + cls.cursor.execute( + f""" + INSERT INTO bounties(user_id, title, description, languages, field) + values(?, ?, ?, ?, ?) + """, + (bounty.bounty_id, bounty.title, bounty.description, bounty.languages, bounty.field) + ) + cls.connection.commit() + + # Get Bounty + @classmethod + def get_bounty_by_id(cls, bounty_id: int) -> Bounty: + bounties = cls.cursor.execute( + f""" + SELECT user_id, title, description, languages, field + FROM bounties WHERE bounty_id = ?; + """, + (bounty_id, ) + ).fetchall() + if not bounties: + raise KeyError(f"{bounty_id} does not exist!") + bounty = bounties[0] + return Bounty( + bounty_id=bounty_id, + user_id=bounty[0], + title=bounty[1], + description=bounty[2], + languages=bounty[3], + field=bounty[4], + ) + + # Get random bounties + @classmethod + def get_randomized_bounty_list(cls): + responses = cls.cursor.execute( + f""" + SELECT bounty_id, user_id, title, description, languages, field FROM bounties ORDER BY RANDOM(); + """ + ).fetchall() + bounties: list[Bounty] = [] + for response in responses: + bounties.append(Bounty( + bounty_id=response[0], + user_id=response[1], + title=response[2], + description=response[3], + languages=response[4], + field=response[5], + )) + return bounties + + # Rate + @classmethod + def rate(cls, bounty_id: int, user_id: int, rating: int) -> None: + cls.cursor.execute( + f""" + INSERT INTO bounty_ratings(bounty_id, user_id, rating) + values(?, ?, ?) + """, + (bounty_id, user_id, rating) + ) + cls.connection.commit() + + # Get Rating + @classmethod + def get_sum_of_ratings(cls, bounty_id: int) -> int: + sum_of_ratings: int = cls.cursor.execute( + f""" + SELECT SUM(rating) + FROM bounty_ratings WHERE bounty_id = ?; + """, + (bounty_id,) + ).fetchall()[0][0] + return sum_of_ratings if sum_of_ratings else 0 + + # Get number of Rating + @classmethod + def get_number_of_ratings(cls, bounty_id: int) -> int: + sum_of_ratings: int = cls.cursor.execute( + f""" + SELECT COUNT() + FROM bounty_ratings WHERE bounty_id = ?; + """, + (bounty_id,) + ).fetchall()[0][0] + return sum_of_ratings if sum_of_ratings else -1 + + # Get rater's Rating + @classmethod + def get_rating_of_user(cls, user_id: int, bounty_id: int) -> int: + sum_of_ratings: int = cls.cursor.execute( + f""" + SELECT SUM(rating) + FROM bounty_ratings WHERE bounty_id = ? AND user_id = ?; + """, + (bounty_id, user_id) + ).fetchall()[0][0] + return sum_of_ratings if sum_of_ratings else -2 diff --git a/src/docs.txt b/src/docs.txt new file mode 100644 index 0000000..40ee66c --- /dev/null +++ b/src/docs.txt @@ -0,0 +1,140 @@ +Legend: + Form data: + https://developer.mozilla.org/en-US/docs/Web/API/FormData + [something] : this something is optional + + + +---------- USER HANDLING ---------- + +POST : /get-user-by-email + Form data: + email + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : email missing in request + 404 : email not found + +POST : /get-user-by-id + Form data: + id + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : id missing in request + 404 : id not found + +POST : /get-user-by-handle + Form Data: + handle + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : handle missing in request + 404 : handle not found + +POST : /register + Form Data: + email + handle + password + [display_name] + [profile_picture] + Errors: + 422 : something missing in request + 409 : User exists (email or handle) + +POST : /login + Form Data: + email + password + Errors: + 422 : something missing in request + 404 : User does not exist + 409 : Wrong password + Cookies: + sets id + sets session_id + +POST : /logout + Errors: + 401 : Not logged in + Cookies: + deletes session_id + deletes id + +POST : /change-user-profile-picture + Form Data: + image + Errors: + 401 : Not logged in + 403 : Invalid log in + 422 : image is missing + Note: + Must be logged in + +POST : /change-user-display-name + Form Data: + display_name + Errors: + 401 : Not logged in + 403 : Invalid log in + 422 : display_name is missing + Note: + Must be logged in + +GET : /profile-picture/ + Errors: + 404 : Handle not found + + + +---------- BOUNTY HANDLING ---------- + +POST : /create-bounty + Form Data: + title + description + [field] + [language] + Errors: + 422 : something missing in request + 403 : Unknown language/ field + Note: + default language = "any" + default field = "other" + +POST : /get-user-by-id + Form data: + id + return type: + { + "handle": "~", + "display_name": "~" + } + Errors: + 422 : id missing in request + 404 : id not found + +POST : /create-session-for-bounty-get-random + Cookies: + sets bounty_session_id + +POST : /bounty-get-random + Form data: + page_number + Note: + /create-session-for-bounty-get-random must be called before this + Errors: + 422 : page no. missing in request + 404 : /create-session-for-bounty-get-random not called diff --git a/src/rest_api.py b/src/rest_api.py new file mode 100644 index 0000000..558f8d7 --- /dev/null +++ b/src/rest_api.py @@ -0,0 +1,419 @@ +import json +import flask +import sqlite3 +from werkzeug.datastructures.file_storage import FileStorage +from solution_handler import SolutionHandler +from user_handler import UserHandler, User +from bounty_handler import BountyHandler, Bounty + + +app = flask.Flask(__name__) +app.secret_key = "few`3r9i3r" +app.config['SESSION_TYPE'] = 'filesystem' + +@app.get("/") +def a(): + return flask.send_file("../assets/apifiletest/index.html") +# ---------- USER ---------- + +@app.get("/index.js") +def an(): + return flask.send_file("../assets/apifiletest/index.js") +#@app.post("/get-user-by-email") +#def get_user_by_email() -> flask.Response: +# request_data = dict(flask.request.form) +# if "email" not in request_data: +# return flask.Response("email or password missing", status=422) +# try: +# user = UserHandler.get_user_by_email( +# request_data["email"], +# ) +# except KeyError: +# return flask.Response("User does not exist", status=404) +# return flask.Response( +# response=json.dumps({ +# "handle": user.handle, +# "display_name": user.display_name, +# }), +# status=200, +# mimetype='application/json' +# ) +# +# +@app.post("/get-user-by-id") +def get_user_by_id() -> flask.Response: + request_data = dict(flask.request.form) + try: + user_id = int(request_data["user_id"]) + except KeyError: + return flask.Response("user_id missing", status=422) + except ValueError: + return flask.Response("user_id wasn't int", status=422) + try: + user = UserHandler.get_user_by_id(user_id) + except KeyError: + return flask.Response("User does not exist", status=404) + return flask.Response( + response=json.dumps({ + "handle": user.handle, + "display_name": user.display_name, + }), + status=200, + mimetype='application/json' + ) + + +@app.post("/get-user-by-handle") +def get_user_by_handle() -> flask.Response: + request_data = dict(flask.request.form) + try: + handle = request_data["handle"] + except KeyError: + return flask.Response("handle or password missing", status=422) + try: + user = UserHandler.get_user_by_handle(handle) + except KeyError: + return flask.Response("User does not exist", status=404) + return flask.Response( + response=json.dumps({ + "handle": user.handle, + "display_name": user.display_name, + }), + status=200, + mimetype='application/json' + ) + + +@app.post("/register") +def register() -> flask.Response: + request_data = dict(flask.request.form) + try: + email = request_data["email"] + handle = request_data["handle"] + password = request_data["password"] + except KeyError: + return flask.Response("email, handle or password missing", status=422) + if "display_name" not in request_data: + request_data["display_name"] = request_data["handle"] + try: + UserHandler.create_user( + User( + -1, + email, + request_data["handle"], + request_data["password"], + request_data["display_name"], + ) + ) + except sqlite3.IntegrityError as error: + if "handle" in str(error): + return flask.Response("Handle exists", status=409) + else: + return flask.Response("Email exists", status=409) + if "profile_picture" in flask.request.files: + flask.request.files["profile_picture"].save(f"../assets/profile_pictures/{request_data['handle']}") + return flask.Response(status=200) + + +@app.post("/validate-login") +def validate_login(): + if "user_id" not in flask.session: + return flask.Response("Authentication error", status=401) + if not isinstance(flask.session["user_id"], int): + return flask.Response("Authentication error", status=401) + return flask.Response(status=200) + + +@app.post("/login") +def login() -> flask.Response: + request_data = dict(flask.request.form) + try: + email = request_data["email"] + password = request_data["password"] + except KeyError: + return flask.Response("email or password missing", status=422) + try: + assert UserHandler.verify_password_by_email(email, password) + except KeyError: + return flask.Response("User does not exist", status=404) + except AssertionError: + return flask.Response("Wrong password", status=409) + user = UserHandler.get_user_by_email(request_data["email"]) + flask.session["user_id"] = user.user_id + return flask.Response(status=200) + + +@app.post("/logout") +def logout() -> flask.Response: + if "user_id" not in flask.session: + return flask.Response("Authentication error", status=401) + flask.session.pop("user_id") + return flask.Response(status=200) + + +@app.post("/change-user-profile-picture") +def change_user_profile_picture() -> flask.Response: + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + + try: + image = flask.request.files["image"] + except KeyError: + return flask.Response("image is missing", status=422) + image_name = UserHandler.get_user_by_id(flask.session["user_id"]).handle + image.save( + f"../assets/profile_pictures/{image_name}" + ) + return flask.Response(status=200) + + +@app.post("/change-user-display-name") +def change_user_display_name(): + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + request_data = dict(flask.request.form) + if "display_name" not in request_data: + return flask.Response("display_name is missing", status=422) + UserHandler.change_display_name(flask.session["user_id"], request_data["display_name"]) + return flask.Response(status=200) + + +@app.get("/profile-picture/") +def get_profile_picture(handle: str) -> flask.Response: + try: + return flask.send_file(f"../assets/profile_pictures/{handle}") + except FileNotFoundError: + return flask.Response(f"{handle} does not exist", 404) + + +# ---------- BOUNTY ---------- +@app.post("/create-bounty") +def create_bounty() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + if "title" not in request_data or \ + "description" not in request_data: + return flask.Response("title or description is missing", status=422) + if "field" not in request_data: + request_data["field"] = "other" + if "languages" not in request_data: + request_data["language"] = "any" + try: + BountyHandler.create_bounty(Bounty( + -1, + flask.session["user_id"], + request_data["title"], + request_data["description"], + languages=request_data["languages"], + field=request_data["field"] + )) + return flask.Response(status=200) + except AssertionError: + return flask.Response("Unknown language/ field", status=403) + + +@app.post("/get-bounty-by-id") +def bounty_get_by_id() -> flask.Response: + login_validation = validate_login() + user_id = -1 + if login_validation.status_code == 200: + user_id = flask.session["user_id"] + request_data = dict(flask.request.form) + if "bounty_id" not in request_data: + return flask.Response("bounty_id is missing", status=422) + try: + bounty_id = int(request_data["bounty_id"]) + except ValueError: + return flask.Response("user_id wasn't int", status=422) + try: + bounty = BountyHandler.get_bounty_by_id(bounty_id) + except KeyError: + return flask.Response("Doesn't exist", status=404) + number_of_ratings: int = BountyHandler.get_number_of_ratings(bounty_id) + return flask.Response( + response=json.dumps({ + "title": bounty.title, + "description": bounty.description, + "languages": bounty.languages, + "field": bounty.field, + "average_rating": BountyHandler.get_sum_of_ratings(bounty_id) / number_of_ratings, + "number_of_ratings": number_of_ratings, + "users_rating": BountyHandler.get_rating_of_user(user_id, bounty.bounty_id), + }), + status=200, + mimetype='application/json' + ) + + +@app.post("/create-session-for-bounty-get-random") +def create_session_for_bounty_get_random() -> flask.Response: + login_validation = validate_login() + rater_id = -1 + if login_validation.status_code == 200: + rater_id = flask.session["user_id"] + bounties = BountyHandler.get_randomized_bounty_list() + bounties = [ + { + "id": bounty.bounty_id, + "creator_identifie": bounty.user_id, + "title": bounty.title, + "description": bounty.description, + "languages": bounty.languages, + "field": bounty.field, + "average_rating": BountyHandler.get_sum_of_ratings(bounty.bounty_id) /\ + BountyHandler.get_number_of_ratings(bounty.bounty_id), + "number_of_ratings": BountyHandler.get_number_of_ratings(bounty.bounty_id), + "users_rating": BountyHandler.get_rating_of_user(rater_id, bounty.bounty_id), + } for bounty in bounties + ] + flask.session["bounties"] = bounties + response = flask.Response(status=200) + return response + + +@app.post("/bounty-get-random") +def bounty_get_random() -> flask.Response: + request_data = dict(flask.request.form) + if "bounties" not in flask.session: + return flask.Response("/create-session-for-bounty-get-random not called", status=401) + try: + page_number = int(request_data["page_number"]) + except KeyError: + return flask.Response("page_number is missing", status=422) + except ValueError: + return flask.Response("page_number wasn't int", status=422) + return flask.Response( + response=json.dumps( + flask.session["bounties"][page_number * 20 : (page_number + 1) * 20] + ), + status=200, + mimetype='application/json' + ) + + +@app.post("/bounty-rate") +def bounty_rate() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + BountyHandler.rate( + int(request_data["bounty_id"]), + flask.session["user_id"], + int(request_data["rating"]), + ) + except sqlite3.IntegrityError: + return flask.Response("Rating gotta be between 1 and 10", status=403) + except ValueError: + return flask.Response("bounty_id or rating wasn't int", status=422) + except KeyError: + return flask.Response("bounty_id or rating missing", status=422) + return flask.Response(status=200) + + +# ---------- SOLUTIONS ---------- +@app.post("/test") +def test(): + files = flask.request.files.getlist("files") + for file in files: + if file.filename: + file.filename = file.filename.replace("/", r"|") + file.save(f"../assets/{file.filename}") + else: + return flask.Response(status=400) + return flask.Response() + + +@app.post("/submit-solution") +def submit_answer() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + user_id = flask.session["user_id"] + try: + bounty_id = int(request_data["bounty_id"]) + except KeyError: + return flask.Response("Bounty id missing", status=422) + except ValueError: + return flask.Response("bounty_id wasn't int", status=422) + + files : list[FileStorage]= flask.request.files.getlist("files") + if not files: + return flask.Response("files missing", status=422) + SolutionHandler.submit_solution(files, bounty_id, user_id) + return flask.Response() + + +@app.post("/get-solution-by-id") +def get_solution_by_id() -> flask.Response: + request_data = dict(flask.request.form) + try: + solution_id = request_data["solution_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + try: + return flask.jsonify(SolutionHandler.get_solution_by_id(solution_id)) + except KeyError: + return flask.Response("Solution doesn't exist", status=404) + + +@app.post("/get-solution-list") +def get_solution_list() -> flask.Response: + request_data = dict(flask.request.form) + try: + solution_id = int(request_data["bounty_id"]) + except KeyError: + return flask.Response("Bounty id missing", status=422) + except ValueError: + return flask.Response("bounty_id wasn't int", status=422) + return flask.jsonify(SolutionHandler.get_solution_list(solution_id)) + + +@app.post("/like-solution") +def like_solution() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + solution_id = request_data["solution_id"] + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + SolutionHandler.like(solution_id=solution_id, user_id=user_id) + return flask.Response(status=200) + + +@app.post("/unlike-solution") +def unlike_solution() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + solution_id = request_data["solution_id"] + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + SolutionHandler.unlike(solution_id=solution_id, user_id=user_id) + return flask.Response(status=200) + + +@app.post("/has-user-liked") +def has_user_liked() -> flask.Response: + request_data = dict(flask.request.form) + login_validation = validate_login() + if login_validation.status_code != 200: + return login_validation + try: + solution_id = request_data["solution_id"] + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Solution id missing", status=422) + return flask.jsonify(SolutionHandler.has_user_liked(user_id=user_id, solution_id=solution_id)) diff --git a/src/solution_handler.py b/src/solution_handler.py new file mode 100644 index 0000000..3092bdf --- /dev/null +++ b/src/solution_handler.py @@ -0,0 +1,115 @@ +import os +import secrets +import sqlite3 +from user_handler import UserHandler +from werkzeug.datastructures.file_storage import FileStorage +import re + + +class SolutionHandler: + connection: sqlite3.Connection = sqlite3.connect("../data/database.db", check_same_thread=False) + cursor: sqlite3.Cursor = connection.cursor() + + # Save solution + @classmethod + def submit_solution(cls, files: list[FileStorage], bounty_identifier: int, creator_identifier: int): + solution_id = secrets.token_urlsafe(40) + os.mkdir(f"../assets/solutions/{solution_id}/") + for file in files: + if not file.filename: + file.filename = secrets.token_urlsafe(5) + file.filename = "".join(re.findall("[a-zA-Z 0-9-./]", file.filename)) + file.filename = file.filename.replace("/", r"|") + file.save(f"../assets/solutions/{solution_id}/{file.filename}") + + cls.cursor.execute( + f""" + INSERT INTO solutions(user_id, bounty_id, solution_id) + values(?, ?, ?) + """, + (creator_identifier, bounty_identifier, solution_id) + ) + cls.connection.commit() + + # Get solution by id + @staticmethod + def get_solution_by_id(solution_id: str): + path = f"../assets/solutions/{solution_id}/" + if not os.path.isdir(path): + raise KeyError("Solution doesn't exist") + formated_solutions: dict[str, str | dict] = {} + file_paths = os.listdir(path) + for file_path in file_paths: + current_folder = formated_solutions + for folder in file_path.split("|")[:-1]: + if folder not in current_folder: + current_folder[folder] = {} + current_folder: dict = current_folder[folder] + file_name = file_path.split("|")[-1] + try: + with open(path + file_path, "r") as file: + current_folder[file_name] = file.read() + except UnicodeDecodeError: + current_folder[file_name] = "" + + return formated_solutions + + # Get solution list + @classmethod + def get_solution_list(cls, identifier: int) -> list[dict]: + solutions = cls.cursor.execute( + f""" + SELECT user_id, solution_id FROM solutions + WHERE bounty_id = ?; + """, + (identifier, ) + ).fetchall() + return [ + { + "user_id": solution[0], + "creator_display_name": UserHandler.get_display_name(solution[0]), + "solution_id": solution[1], + "likes": cls.get_likes(solution[1]) + } for solution in solutions + ] + + @classmethod + def like(cls, solution_id: str, user_id: int): + cls.cursor.execute( + f""" + INSERT INTO solution_likes(user_id, solution_id) values(?, ?) + """, + (user_id, solution_id) + ) + cls.connection.commit() + + @classmethod + def unlike(cls, solution_id: str, user_id: int): + cls.cursor.execute( + f""" + DELETE FROM solution_likes WHERE solution_id = ? AND user_id = ? + """, + (solution_id, user_id) + ) + cls.connection.commit() + + @classmethod + def get_likes(cls, solution_id: int) -> int: + likes = cls.cursor.execute( + f""" + SELECT COUNT(*) FROM solution_likes WHERE solution_id = ? + """, + (solution_id, ) + ).fetchall()[0] + return likes[0] if likes else 0 + + @classmethod + def has_user_liked(cls, solution_id: int, user_id: int) -> bool: + + likes = cls.cursor.execute( + f""" + SELECT 1 FROM solution_likes WHERE solution_id = ? AND user_id = ? + """, + (solution_id, user_id) + ).fetchall() + return bool(likes) diff --git a/src/user_handler.py b/src/user_handler.py new file mode 100644 index 0000000..11d4580 --- /dev/null +++ b/src/user_handler.py @@ -0,0 +1,154 @@ +import bcrypt +import shutil +from dataclasses import dataclass +import sqlite3 + + +@dataclass +class User: + user_id: int + email: str + handle: str + password: str + display_name: str + + def __init__( + self, + user_id: int, + email: str, + handle: str, + password: str = "", + display_name: str = "", + ) -> None: + self.user_id: int = user_id + self.handle = handle + self.password = password + self.display_name = display_name if display_name else handle + self.email = email + + +class UserHandler: + connection: sqlite3.Connection = sqlite3.connect("../data/database.db", check_same_thread=False) + cursor: sqlite3.Cursor = connection.cursor() + + @classmethod + def create_user( + cls, + user: User + ) -> None: + salt = bcrypt.gensalt() + encrypted_password = bcrypt.hashpw(user.password.encode("utf-8"), salt) + cls.cursor.execute( + f""" + INSERT INTO users(handle, display_name, email, password) + values(?, ?, ?, ?) + """, + (user.handle, user.display_name, user.email, encrypted_password) + ) + cls.connection.commit() + shutil.copy( + "../assets/profile_pictures/default_profile_picture.jpg", + f"../assets/profile_pictures/{user.handle}" + ) + + @classmethod + def get_user_by_id(cls, user_id: int) -> User: + users = cls.cursor.execute( + f""" + SELECT handle, display_name + FROM users WHERE user_id = ?; + """, + (user_id, ) + ).fetchall() + if not users: + raise KeyError(f"{user_id} does not exist!") + user = users[0] + return User( + user_id=user_id, + handle=user[0], + display_name=user[1], + email="", + password="" + ) + + @classmethod + def get_user_by_handle(cls, handle: str) -> User: + users = cls.cursor.execute( + f""" + SELECT user_id, handle, display_name + FROM users WHERE handle = ?; + """, + (handle, ) + ).fetchall() + if not users: + raise KeyError(f"{handle} does not exist!") + users = users[0] + return User( + user_id=users[0], + handle=users[1], + display_name=users[2], + email="", + password="" + ) + + @classmethod + def get_user_by_email(cls, email: str) -> User: + users = cls.cursor.execute( + f""" + SELECT user_id, handle, display_name + FROM users WHERE email = ?; + """, + (email, ) + ).fetchall() + if not users: + raise KeyError(f"{email} does not exist!") + users = users[0] + return User( + user_id=users[0], + handle=users[1], + display_name=users[2], + email=email, + password="", + ) + + #@classmethod + #def verify_password_by_handle(cls, handle: str, password: str) -> bool: + # users = cls.cursor.execute( + # f""" + # SELECT password + # FROM users WHERE handle = ?; + # """, + # (handle, ) + # ).fetchall() + # if not users: + # raise KeyError(f"{handle} does not exist!") + # real_password = users[0][0] + # return bcrypt.checkpw(password.encode("utf-8"), real_password) + + @classmethod + def verify_password_by_email(cls, email: str, password: str) -> bool: + users = cls.cursor.execute( + f""" + SELECT password + FROM users WHERE email = ?; + """, + (email, ) + ).fetchall() + if not users: + raise KeyError(f"{email} does not exist!") + return bcrypt.checkpw(password.encode("utf-8"), users[0][0]) + + @classmethod + def change_display_name(cls, user_id: int, display_name: str): + cls.cursor.execute( + f""" + UPDATE users + SET display_name = ? + WHERE user_id = ?; + """, + (display_name, user_id) + ).fetchall() + + @classmethod + def get_display_name(cls, user_id: int) -> str: + return cls.get_user_by_id(user_id).display_name