Login   Register  
PHP Classes
elePHPant
Icontem

File: lib/ajax.inc.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Roman Shneer  >  PHP Security Scanner  >  lib/ajax.inc.php  >  Download  
File: lib/ajax.inc.php
Role: Class source
Content type: text/plain
Description: Class source
Class: PHP Security Scanner
Stop security attacks blocking malicious values
Author: By
Last change:
Date: 1 year ago
Size: 11,410 bytes
 

Contents

Class file image Download
<?

/**
*Class _Ajax - P.W.S.M.
*ajax for p.w.s.m work
*Author Roman Shneer romanshneer@gmail.com
*1.02.2012
*Any changes at your risk and criminal responsibility
*/
eval(base64_encode('Q2xhc3MgX0FqYXgNCnsNCnZhciAkZGI7DQp2YXIgJHJlc3VsdHNfc3RlcD0xMDA7DQoJZnVuY3Rpb24gX0FqYXgoKQ0KCXsNCiAgCQkgZ2xvYmFsICRzdGFydDsNCgkJICR0aGlzLT5kYj0kc3RhcnQtPmRiOw0KCX0NCgkNCglmdW5jdGlvbiB0ZW1wbGF0ZV9pbmZvKCRpZCkNCgl7DQogICAgICR0ZW1wbGF0ZT0kdGhpcy0+ZGItPlJPV19RKCJTRUxFQ1QgKiBGUk9NIHB3c21fdGVtcGxhdGVzIFdIRVJFIGlkPSIuJHRoaXMtPmRiLT5RKCRpZCkpOw0KICAgICAkaHRtbD0nPGRpdj4NCiAgICAgPHRhYmxlIGJvcmRlcj0wPg0KICAgICA8dHI+PHRoIGFsaWduPSJsZWZ0Ij5UZW1wbGF0ZSBOYW1lOjwvdGg+PHRkPicuJHRlbXBsYXRlWyduYW1lJ10uJzwvdGQ+PC90cj4NCiAgICAgPHRyPjx0aCBhbGlnbj0ibGVmdCI+RGVzY3JpcHRpb246PC90aD48dGQ+Jy4kdGVtcGxhdGVbJ2Rlc2NyaXB0aW9uJ10uJzwvdGQ+PC90cj4NCiAgICAgPHRyPjx0aCBhbGlnbj0ibGVmdCI+Q29kZTo8L3RoPjx0ZD4nLmh0bWxzcGVjaWFsY2hhcnMoJHRlbXBsYXRlWydjb2RlJ10pLic8L3RkPjwvdHI+DQogICAgIDx0cj48dGggYWxpZ249ImxlZnQiPlByb3RvY29sOjwvdGg+PHRkPicuJHRlbXBsYXRlWydwcm90b2NvbCddLic8L3RkPjwvdHI+DQogICAgIDx0cj48dGQgY29sc3Bhbj0yPjxhIGhyZWY9Ij9xPWNvbmZpZyZhY3Q9bmV3X3RlbXBsYXRlJmlkPScuJHRlbXBsYXRlWydpZCddLiciIGNsYXNzPSJncmVlbl9jbCBidG4iPmVkaXQ8L2E+DQogCSAmbmJzcDs8YSBocmVmPSJqYXZhc2NyaXB0Oi8vIiBvbkNsaWNrPSJoaWRlX2luZm8oKSIgY2xhc3M9ImdyYXlfY2wgYnRuIj5jbG9zZTwvYT4NCiAJICZuYnNwOzxhIGhyZWY9Ij9xPWFnZW50c19saXN0JnRlbXBsYXRlX2lkPScuJHRlbXBsYXRlWydpZCddLiciIGNsYXNzPSJyZWRfY2wgYnRuIj5zaG93IHBhdHRlcm5cJ3Mgc3RhdGlzdGljczwvYT4NCiAJIDwvdGQ+DQogICAgIDwvdHI+DQogICAgIDwvdGFibGU+DQogICAgIDwvZGl2Pic7DQogICAgIHJldHVybiAkaHRtbDsNCgl9DQoNCglmdW5jdGlvbiBvYmplY3RfaW5mbygkaWQpDQoJew0KICAgICAkb2JqPSR0aGlzLT5kYi0+Uk9XX1EoIlNFTEVDVCAqIEZST00gcHdzbV9vYmplY3RzIFdIRVJFIGlkPSIuJHRoaXMtPmRiLT5RKCRpZCkpOw0KICAgICAkaHRtbD0nPGRpdj4NCiAgICAgPHRhYmxlIGJvcmRlcj0wPg0KICAgICA8dHI+PHRoPk9iamVjdCBVUkw6PC90aD48dGQ+PGEgaHJlZj0iJy4kb2JqWydvYmplY3RfdXJsJ10uJyIgdGFyZ2V0PV9ibGFuaz4nLiRvYmpbJ29iamVjdF91cmwnXS4nPC9hPjwvdGQ+PC90cj4NCiAgICAgPHRyPjx0aD5PYmplY3QgU291cmNlOjwvdGg+PHRkPjxhIGhyZWY9Ij9xPXZpZXdfZmlsZSZpZD0nLiRvYmpbJ2lkJ10uJyI+Jy4kb2JqWydvYmplY3Rfc291cmNlJ10uJzwvYT48L3RkPjwvdHI+DQogICAgIDx0cj48dGg+Q3JlYXRlZDo8L3RoPjx0ZD4nLmRhdGUoIkg6aSBkL20vWSIsJG9ialsnY3JlYXRlZCddKS4nPC90ZD48L3RyPg0KICAgIDx0cj48dGQ+PGEgaHJlZj0iP3E9YWdlbnRzX2xpc3QmaWQ9Jy5odG1sc3BlY2lhbGNoYXJzKCRpZCkuJyI+U3RhdGlzdGljczwvYT48L3RkPjx0ZD48aW5wdXQgdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSJoaWRlX2luZm8oKSIgdmFsdWU9ImNsb3NlIj48L3RkPjwvdHI+DQogICAgIDwvdGFibGU+DQogICAgIDwvZGl2Pic7DQogICAgIHJldHVybiAkaHRtbDsNCgl9DQoJZnVuY3Rpb24gcmVxdWVzdF9yZWFzb25faW5mbygkaWQpDQoJew0KCSRvYmo9JHRoaXMtPmRiLT5ST1dfUSgiU0VMRUNUIHJlYXNvbiBGUk9NIHB3c21fcmVxdWVzdHMgV0hFUkUgaWQ9Ii4kdGhpcy0+ZGItPlEoJGlkKSk7DQogICAgcmV0dXJuICI8cHJlPiIuJG9ialsncmVhc29uJ10uIjwvcHJlPiI7DQoJfQ0KCS8vdGVtcGxhdGVzIGFuZCBhdXRoIGZ1bmN0aW9ucw0KCWZ1bmN0aW9uIGNoZ19zdGF0dXNfZm9ybSgkaWQpDQoJew0KCQlyZXR1cm4gJw0KCQk8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJQT1NUIj4NCgkJPGg1PlNob3cgb25seSB3aXRoIHN0YXR1czo8L2g1Pg0KCQk8dWw+DQoJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InN0YXR1cyIgdmFsdWU9IjEiJy4oKCRpZD09JzEnKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSJzdGF0dXNfaW5saW5lIHJlZCI+QmxvY2tlZCBPbmx5PC9zcGFuPjwvbGk+DQoJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InN0YXR1cyIgdmFsdWU9IjAiJy4oKCRpZD09JzAnKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSJzdGF0dXNfaW5saW5lIGdyZWVuIj5BbGxvd2VkIE9ubHk8L3NwYW4+PC9saT4NCgkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic3RhdHVzIiB2YWx1ZT0iYWxsIicuKCgkaWQ9PSdhbGwnKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSJzdGF0dXNfaW5saW5lIG1peGVkIj5BbGwgKEJsb2NrZWQgJiBBbGxvd2VkKTwvc3Bhbj48L2xpPg0KCQk8L3VsPg0KCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJvcCIgdmFsdWU9IkNoYW5nZSI+Jm5ic3A7PGlucHV0IHR5cGU9ImJ1dHRvbiIgb25DbGljaz0iaGlkZV9pbmZvKCkiIHZhbHVlPSJjbG9zZSI+DQoJCTwvZm9ybT4NCgkJJzsNCgl9DQoJZnVuY3Rpb24gY2hnX21ldGhvZF9mb3JtKCRpZCkNCgl7DQoJCXJldHVybiAnDQoJCTxoNT5TaG93IG9ubHkgbWV0aG9kOjwvaDU+DQoJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9IlBPU1QiPg0KCQk8dWw+DQoJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9Im1ldGhvZCIgdmFsdWU9IkdFVCInLigoJGlkPT0nR0VUJyk/JyBjaGVja2VkJzonJykuJz48c3BhbiBjbGFzcz0iIj5HRVQgT25seTwvc3Bhbj48L2xpPg0KCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJtZXRob2QiIHZhbHVlPSJQT1NUIicuKCgkaWQ9PSdhbGxvd2VkJyk/JyBjaGVja2VkJzonJykuJz48c3BhbiBjbGFzcz0iIj5QT1NUIE9ubHk8L3NwYW4+PC9saT4NCgkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ibWV0aG9kIiB2YWx1ZT0iYWxsIicuKCgkaWQ9PSdhbGwnKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSIiPkFsbChQT1NUICYgR0VUKTwvc3Bhbj48L2xpPg0KCQk8L3VsPg0KCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJvcCIgdmFsdWU9IkNoYW5nZSI+Jm5ic3A7PGlucHV0IHR5cGU9ImJ1dHRvbiIgb25DbGljaz0iaGlkZV9pbmZvKCkiIHZhbHVlPSJjbG9zZSI+DQoJCTwvZm9ybT4NCgkJJzsNCgl9DQoJZnVuY3Rpb24gY2hnX3VybF9mb3JtKCRpZCkNCgl7DQoJCXJldHVybiAnDQoJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9IlBPU1QiPg0KCQk8aDU+U29ydCBieTogVVJMPC9oNT4NCgkJPHVsPg0KCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJzb3J0YnkiIHZhbHVlPSJ1cmxbYXpdIicuKCgkaWQ9PSd1cmxbYXpdJyk/JyBjaGVja2VkJzonJykuJz48c3BhbiBjbGFzcz0iIj5BQkMuLi4tWiBzb3J0aW5nPC9zcGFuPjwvbGk+DQoJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InNvcnRieSIgdmFsdWU9InVybFt6YV0iJy4oKCRpZD09J3VybFt6YV0nKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSIiPkFCQy4uLi1aIGRlc2NpZGVudCBzb3J0aW5nPC9zcGFuPjwvbGk+DQoJCTwvdWw+DQoJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im9wIiB2YWx1ZT0iQ2hhbmdlIj4mbmJzcDs8aW5wdXQgdHlwZT0iYnV0dG9uIiBvbkNsaWNrPSJoaWRlX2luZm8oKSIgdmFsdWU9ImNsb3NlIj4NCgkJPC9mb3JtPg0KCQknOw0KCX0NCglmdW5jdGlvbiBjaGdfcXVlcnlfc3RyaW5nX2Zvcm0oJGlkKQ0KCXsNCgkJcmV0dXJuICcNCgkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCI+DQoJCTxoNT5Tb3J0IGJ5OiBRVUVSWV9TVFJJTkc8L2g1Pg0KCQk8dWw+DQoJCTxsaT48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InNvcnRieSIgdmFsdWU9InF1ZXJ5X3N0cmluZ1thel0iJy4oKCRpZD09J3F1ZXJ5X3N0cmluZ1thel0nKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSIiPkFCQy4uLi1aIHNvcnRpbmc8L3NwYW4+PC9saT4NCgkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic29ydGJ5IiB2YWx1ZT0icXVlcnlfc3RyaW5nW3phXSInLigoJGlkPT0ncXVlcnlfc3RyaW5nW3phXScpPycgY2hlY2tlZCc6JycpLic+PHNwYW4gY2xhc3M9IiI+QUJDLi4uLVogZGVzY2lkZW50IHNvcnRpbmc8L3NwYW4+PC9saT4NCgkJPC91bD4NCgkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ib3AiIHZhbHVlPSJDaGFuZ2UiPiZuYnNwOzxpbnB1dCB0eXBlPSJidXR0b24iIG9uQ2xpY2s9ImhpZGVfaW5mbygpIiB2YWx1ZT0iY2xvc2UiPg0KCQk8L2Zvcm0+DQoJCSc7DQoJfQ0KCWZ1bmN0aW9uIGNoZ19yZW1vdGVfaXBfZm9ybSgkaWQpDQoJew0KCQlyZXR1cm4gJw0KCQk8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJQT1NUIj4NCgkJPGg1PlNvcnQgYnk6IFJFTU9URSBBRERSIElQPC9oNT4NCgkJPHVsPg0KCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJzb3J0YnkiIHZhbHVlPSJyZW1vdGVfYWRkclthel0iJy4oKCRpZD09J3JlbW90ZV9hZGRyW2F6XScpPycgY2hlY2tlZCc6JycpLic+PHNwYW4gY2xhc3M9IiI+QUJDLi4uLVogc29ydGluZzwvc3Bhbj48L2xpPg0KCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJzb3J0YnkiIHZhbHVlPSJyZW1vdGVfYWRkclt6YV0iJy4oKCRpZD09J3JlbW90ZV9hZGRyW3phXScpPycgY2hlY2tlZCc6JycpLic+PHNwYW4gY2xhc3M9IiI+QUJDLi4uLVogZGVzY2lkZW50IHNvcnRpbmc8L3NwYW4+PC9saT4NCgkJPC91bD4NCgkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ib3AiIHZhbHVlPSJDaGFuZ2UiPiZuYnNwOzxpbnB1dCB0eXBlPSJidXR0b24iIG9uQ2xpY2s9ImhpZGVfaW5mbygpIiB2YWx1ZT0iY2xvc2UiPg0KCQk8L2Zvcm0+DQoJCSc7DQoJfQ0KCWZ1bmN0aW9uIGNoZ19kYXRlX2Zvcm0oJGlkKQ0KCXsNCgkJcmV0dXJuICcNCgkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCI+DQoJCTxoNT5Tb3J0IGJ5OiBEYXRlPC9oNT4NCgkJPHVsPg0KCQk8bGk+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJzb3J0YnkiIHZhbHVlPSJjcmVhdGVkW2F6XSInLigoJGlkPT0nY3JlYXRlZFthel0nKT8nIGNoZWNrZWQnOicnKS4nPjxzcGFuIGNsYXNzPSIiPkFCQy4uLi1aIHNvcnRpbmc8L3NwYW4+PC9saT4NCgkJPGxpPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic29ydGJ5IiB2YWx1ZT0iY3JlYXRlZFt6YV0iJy4oKCRpZD09J2NyZWF0ZWRbemFdJyk/JyBjaGVja2VkJzonJykuJz48c3BhbiBjbGFzcz0iIj5BQkMuLi4tWiBkZXNjaWRlbnQgc29ydGluZzwvc3Bhbj48L2xpPg0KCQk8L3VsPg0KCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJvcCIgdmFsdWU9IkNoYW5nZSI+Jm5ic3A7PGlucHV0IHR5cGU9ImJ1dHRvbiIgb25DbGljaz0iaGlkZV9pbmZvKCkiIHZhbHVlPSJjbG9zZSI+DQoJCTwvZm9ybT4NCgkJJzsNCgl9DQoJZnVuY3Rpb24gZHJhd193YWkoJGlkKQ0KCXsNCgkkaWRzPWV4cGxvZGUoInwiLCRpZCk7DQoNCgkkZmlsZW5hbWU9dXJsZGVjb2RlKCRpZHNbMF0pOw0KCSR1bnBhdGNoX3VybD11cmxkZWNvZGUoJGlkc1sxXSk7DQoJcmV0dXJuICcNCgk8cD48Yj4nLiRmaWxlbmFtZS4nPC9iPiBpbiBzdGF0dXM6IDxiIHN0eWxlPSJjb2xvcjpyZWQ7Ij5XYWl0aW5nIGFnZW50IGluaXRpbGlzYXRpb248L2I+Ojxicj4NCglCYWNrdXAgY3JlYXRlZCBhbmQgYWdlbnQgaW5jbHVkaW5nIGluamVjdGVjdGVkLCBidXQgb2JqZWN0IHN0ZWxsIG5vdCBpbml0aWFsaXNlZDxicj4NCglHbyB0byBvYmplY3QgVVJMIGZvciBhdXRvbWF0aWMgb2JqZWN0IGluaXRpYWxpemF0aW9uPC9wPg0KDQoJPHA+PGEgaHJlZj0iamF2YXNjcmlwdDovLyIgb25DbGljaz0iaGlkZV9pbmZvKCkiPmNsb3NlPC9hPiZuYnNwOw0KCTxhIGhyZWY9ImphdmFzY3JpcHQ6Ly8iIG9uQ2xpY2s9ImNvbmZpcm1fZm9ybShcJycuJHVucGF0Y2hfdXJsLidcJyxcJ1N1cmUgd2FudCByZW1vdmUgYWdlbnQgYW5kIHJlc3RvcmUgb3JpZ2luYWwgZmlsZT9cJykiPnJlbW92ZSBhZ2VudDwvYT48L3A+JzsNCgl9DQoJZnVuY3Rpb24gZ2V0X3JlcXVlc3RzNGFqYXgoJGlkLCRwKQ0KCSB7DQoJIAkkd2hlcmU9Jyc7DQoJIAkjIHByaW50ICRfU0VTU0lPTlsnZmlsdGVyJ11bJ3N0YXR1cyddLiI8aHI+IjsNCgkJIGlmKGlzc2V0KCRfU0VTU0lPTlsnZmlsdGVyJ11bJ3N0YXR1cyddKSYmKCRfU0VTU0lPTlsnZmlsdGVyJ11bJ3N0YXR1cyddIT0nYWxsJykpDQoJCSB7DQoNCgkJIAkkd2hlcmUuPSIgQU5EIHN0YXR1cz0iLiR0aGlzLT5kYi0+USgkX1NFU1NJT05bJ2ZpbHRlciddWydzdGF0dXMnXSk7DQoJCSB9DQoJICAgICBpZihpc3NldCgkX1NFU1NJT05bJ2ZpbHRlciddWydtZXRob2QnXSkmJigkX1NFU1NJT05bJ2ZpbHRlciddWydtZXRob2QnXSE9J2FsbCcpKQ0KCSAgICAgew0KCSAgICAgCSR3aGVyZS49IiBBTkQgbWV0aG9kPSciLiR0aGlzLT5kYi0+USgkX1NFU1NJT05bJ2ZpbHRlciddWydtZXRob2QnXSkuIiciOw0KCSAgICAgfQ0KCSAgICAgaWYoaXNzZXQoJF9TRVNTSU9OWydmaWx0ZXInXVsnc29ydGJ5J10pKQ0KCSAgICAgew0KCSAgICAgJHdobz1zdWJzdHIoJF9TRVNTSU9OWydmaWx0ZXInXVsnc29ydGJ5J10sMCxzdHJwb3MoJF9TRVNTSU9OWydmaWx0ZXInXVsnc29ydGJ5J10sIlsiKSk7DQoJICAgICAkaG93PXN1YnN0cigkX1NFU1NJT05bJ2ZpbHRlciddWydzb3J0YnknXSxzdHJwb3MoJF9TRVNTSU9OWydmaWx0ZXInXVsnc29ydGJ5J10sIlsiKSsxLHN0cmxlbigkX1NFU1NJT05bJ2ZpbHRlciddWydzb3J0YnknXSktc3RycG9zKCRfU0VTU0lPTlsnZmlsdGVyJ11bJ3NvcnRieSddLCJdIikrMSk7DQoJICAgICAkb3JkZXI9IiBPUkRFUiBCWSAiLiR0aGlzLT5kYi0+USgkd2hvKS4oKCRob3c9PSd6YScpPyIgREVTQyI6IiIpOw0KCSAgICAgIA0KCSAgICAgfQ0KCSAgICAgJHNxbD0iU0VMRUNUICogRlJPTSBwd3NtX3JlcXVlc3RzIFdIRVJFIG9iamVjdF9pZD0iLiR0aGlzLT5kYi0+USgkaWQpLiIgIi4kd2hlcmUuJG9yZGVyLiIgTElNSVQgIi4kdGhpcy0+cmVzdWx0c19zdGVwLiIgT0ZGU0VUICIuJHRoaXMtPmRiLT5RKCRwKTsNCgkJICRyZXF1ZXN0cz0kdGhpcy0+ZGItPkxJU1RfUSgkc3FsKTsNCgkJIHJldHVybiAkcmVxdWVzdHM7DQoJIH0NCglmdW5jdGlvbiByZXF1ZXN0X21vcmVfaW5mbygkaWQsJHApDQoJew0KDQogICAgICAgJHJlcXVlc3RzPSR0aGlzLT5nZXRfcmVxdWVzdHM0YWpheCgkaWQsJHApOw0KDQogICAgICAgJGk9JHA7DQogICAgICAgJGh0bWw9Jzx0YWJsZSBib3JkZXI9MSBjbGFzcz0icmVxdWVzdF90YmwiPic7DQogICAgICAgZm9yZWFjaCgkcmVxdWVzdHMgYXMgJHJlcSkNCgkgCXsNCgkgCQkkaHRtbC49Jzx0cj48dGQgb25Nb3VzZU92ZXI9InNob3dfaW5mbyhcJ3JlcXVlc3RfcmVhc29uXCcsXCcnLiRyZXFbJ2lkJ10uJ1wnKSIgb25Nb3VzZU91dD0iaGlkZV9pbmZvKCkiIGNsYXNzPSJzdGF0dXNfdyI+Jy4kdGhpcy0+X2RyYXdfcmVxdWVzdF9zdGF0dXMoJHJlcVsnc3RhdHVzJ10pLic8L3RkPg0KCSAJCTx0ZCBjbGFzcz0idXJsX3ciPjxhIGhyZWY9IicuJHJlcVsndXJsJ10uJyIgdGFyZ2V0PV9ibGFuaz4nLiRyZXFbJ3VybCddLic8L2E+PC90ZD4NCgkgPHRkIGNsYXNzPSJxdWVyeV9zdHJpbmdfdyI+Jy4kcmVxWydxdWVyeV9zdHJpbmcnXS4nJm5ic3A7PC90ZD4NCgkgPHRkIGNsYXNzPSJtZXRob2RfdyI+Jy4kcmVxWydtZXRob2QnXS4nPC90ZD4NCgkgPHRkIGNsYXNzPSJyZW1vdGVfYWRkcl93Ij4nLiRyZXFbJ3JlbW90ZV9hZGRyJ10uJzwvdGQ+DQoNCgkgPHRkIGNsYXNzPSJkYXRlX3ciPicuZGF0ZSgiSDppIGQvbS9ZIiwkcmVxWydjcmVhdGVkJ10pLic8L3RkPg0KCSA8L3RyPic7DQoNCgkgCSRpKys7DQoJIAl9DQogICAgJGh0bWwuPSI8dHIgY2xhc3M9J2NvdW50Jz48dGQgY29sc3Bhbj02Pj4+Ii4kaS4iPC90ZD48L3RyPg0KICAgIDwvdGFibGU+IjsNCiAgICByZXR1cm4gJGh0bWw7DQoJfQ0KCSBmdW5jdGlvbiBfZHJhd19yZXF1ZXN0X3N0YXR1cygkc3RhdHVzKQ0KCSB7DQoJIAlpZigkc3RhdHVzKQ0KCSAJew0KCSAJJHZhcj0nPHNwYW4gY2xhc3M9InN0YXR1cyByZWQiPkJsb2NrZWQ8L3NwYW4+JzsNCgkgCX1lbHNlew0KCSAgICAkdmFyPSc8c3BhbiBjbGFzcz0ic3RhdHVzIGdyZWVuIj5BY2NlcHRlZDwvc3Bhbj4nOw0KCSAJfQ0KCSAJcmV0dXJuICR2YXI7DQoJIH0NCgkgZnVuY3Rpb24gY2hrX2xpYygpDQoJIHsNCgkgZ2xvYmFsICRzdGFydDsNCgkgDQoJIHJldHVybiAkc3RhcnQtPnRydXN0Pyd0cnVlJzonZmFsc2UnOw0KCSB9DQoNCn0='));
?>