<?php eval("?>".base64_decode("PD9waHANCiMgQmFjYSBWYXJpYWJlbCBGb3JtDQokbWVzc2FnZSAJID0gYXJyYXkoKTsNCiRBY3QJCSA9IGlzc2V0KCRfUkVRVUVTVFsnQWN0J10pID8gJF9SRVFVRVNUWydBY3QnXSA6Jyc7DQokcmF0ZV9pZAkgPSBpc3NldCgkX1JFUVVFU1RbJ3JhdGVfaWQnXSkgPyAkX1JFUVVFU1RbJ3JhdGVfaWQnXSA6Jyc7DQokcmF0ZV9kZnJvbQkgPSBpc3NldCgkX1JFUVVFU1RbJ3JhdGVfZGZyb20nXSkgPyAkX1JFUVVFU1RbJ3JhdGVfZGZyb20nXSA6Jyc7DQokcmF0ZV9kdG8gCSA9IGlzc2V0KCRfUkVRVUVTVFsncmF0ZV9kdG8nXSkgPyAkX1JFUVVFU1RbJ3JhdGVfZHRvJ10gOicnOw0KJHJhdGVfdGZyb20JID0gaXNzZXQoJF9SRVFVRVNUWydyYXRlX3Rmcm9tJ10pID8gJF9SRVFVRVNUWydyYXRlX3Rmcm9tJ10gOidVU0QnOw0KJHJhdGVfdHRvIAkgPSBpc3NldCgkX1JFUVVFU1RbJ3JhdGVfdHRvJ10pID8gJF9SRVFVRVNUWydyYXRlX3R0byddIDonSURSJzsNCiRyYXRlX25mcm9tCSA9IGlzc2V0KCRfUkVRVUVTVFsncmF0ZV9uZnJvbSddKSA/ICRfUkVRVUVTVFsncmF0ZV9uZnJvbSddIDoxOw0KJHJhdGVfbnRvIAkgPSBpc3NldCgkX1JFUVVFU1RbJ3JhdGVfbnRvJ10pID8gJF9SRVFVRVNUWydyYXRlX250byddIDonJzsNCiNQcm9zZXMgc2ltcGFuIGRhbiBlZGl0DQppZigkQWN0PT0iU0FWRSIpew0KCWlmKGNvdW50KCRtZXNzYWdlKT09MCl7CQ0KCQlpZihlbXB0eSgkcmF0ZV9pZCkpew0KCQkJJHFyeVNhdmU9bXlzcWxfcXVlcnkoIklOU0VSVCBJTlRPIHJhdGUgU0VUIHJhdGVfZGZyb209JyRyYXRlX2Rmcm9tJywgcmF0ZV9kdG89JyRyYXRlX2R0bycsIHJhdGVfdGZyb209JyRyYXRlX3Rmcm9tJywgcmF0ZV90dG89JyRyYXRlX3R0bycsIHJhdGVfbmZyb209JyRyYXRlX25mcm9tJywgcmF0ZV9udG89JyRyYXRlX250bycsDQoJCQkgcmF0ZV9zdGF0dXM9MTAsIHJhdGVfaW5wdXRieT0nJHVzZXJfaWQnLCByYXRlX2lucHV0ZGF0ZT1ub3coKSIpIG9yIGRpZSAoIkdhZ2FsIHF1ZXJ5Ii5teXNxbF9lcnJvcigpKTsNCgkJCSNBa3Rpdml0YXMgVXNlcg0KCQkJbXlzcWxfcXVlcnkoIklOU0VSVCBJTlRPIHVzZXJfYWN0aXZpdHkgU0VUIHVzZXJfaWQ9JyR1c2VyX2lkJywgdXNlcl9hY3Q9J01lbmFtYmFoa2FuIGRhdGEgbWFzdGVyIHJhdGUgLSAkcmF0ZV9kZnJvbSAtICRyYXRlX2R0bycsIHVzZXJfZGF0ZT0nJGRhdGUnLCB1c2VyX3RpbWU9JyR0aW1lJyIpOwkJCSAgDQoJCX1lbHNlew0KCQkJJHFyeVNhdmU9bXlzcWxfcXVlcnkoIlVQREFURSByYXRlIFNFVCByYXRlX2Rmcm9tPSckcmF0ZV9kZnJvbScsIHJhdGVfZHRvPSckcmF0ZV9kdG8nLCByYXRlX3Rmcm9tPSckcmF0ZV90ZnJvbScsIHJhdGVfdHRvPSckcmF0ZV90dG8nLCByYXRlX25mcm9tPSckcmF0ZV9uZnJvbScsIHJhdGVfbnRvPSckcmF0ZV9udG8nDQoJCQlXSEVSRSBpZD0nJHJhdGVfaWQnIikgb3IgZGllICgiR2FnYWwgcXVlcnkiLm15c3FsX2Vycm9yKCkpOw0KCQkJI0FrdGl2aXRhcyBVc2VyDQoJCQlteXNxbF9xdWVyeSgiSU5TRVJUIElOVE8gdXNlcl9hY3Rpdml0eSBTRVQgdXNlcl9pZD0nJHVzZXJfaWQnLCB1c2VyX2FjdD0nTWVuZ3ViYWggZGF0YSBtYXN0ZXIgcmF0ZSAtICRyYXRlX2Rmcm9tIC0gJHJhdGVfZHRvJywgdXNlcl9kYXRlPSckZGF0ZScsIHVzZXJfdGltZT0nJHRpbWUnIik7DQoJCX0JCQkJDQoJCWlmKCRxcnlTYXZlKXsJCQ0KCQkJJG1lc3NhZ2VbXSA9ICJEYXRhIHRlbGFoIHRlcnNpbXBhbi4iOwkJCQ0KCQkJJHN0YXR1cwkgICA9ICJPSyI7CQ0KCQl9DQoJfQkJCQ0KfQ0KaWYoJEFjdD09IkRFVEFJTCIpew0KCSRxZCA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHJhdGUgV0hFUkUgaWQ9JyRyYXRlX2lkJyIpOw0KCSRkZD1teXNxbF9mZXRjaF9vYmplY3QoJHFkKTsJCQ0KCSRyYXRlX2lkCSA9ICRkZC0+aWQ7DQoJJHJhdGVfZGZyb20JID0gJGRkLT5yYXRlX2Rmcm9tOw0KCSRyYXRlX2R0byAJID0gJGRkLT5yYXRlX2R0bzsNCgkkcmF0ZV90ZnJvbQkgPSAkZGQtPnJhdGVfdGZyb207DQoJJHJhdGVfdHRvIAkgPSAkZGQtPnJhdGVfdHRvOw0KCSRyYXRlX25mcm9tCSA9ICRkZC0+cmF0ZV9uZnJvbTsNCgkkcmF0ZV9udG8gCSA9ICRkZC0+cmF0ZV9udG87DQp9DQppZigkQWN0PT0iREVMRVRFIil7DQoJJHFkID0gbXlzcWxfcXVlcnkoIlVQREFURSByYXRlIFNFVCByYXRlX3N0YXR1cz0xMDAgV0hFUkUgaWQ9JyRyYXRlX2lkJyIpOw0KCWlmKCRxZCl7DQoJCSNBa3Rpdml0YXMgVXNlcg0KCQlteXNxbF9xdWVyeSgiSU5TRVJUIElOVE8gdXNlcl9hY3Rpdml0eSBTRVQgdXNlcl9pZD0nJHVzZXJfaWQnLCB1c2VyX2FjdD0nTWVuZ2hhcHVzIGRhdGEgbWFzdGVyIHJhdGUgOiRyYXRlX2lkJywgdXNlcl9kYXRlPSckZGF0ZScsIHVzZXJfdGltZT0nJHRpbWUnIik7DQoJCSRtZXNzYWdlW10gPSAiRGF0YSB0ZWxhaCBkaWhhcHVzLiI7CQkJCQ0KCQkkc3RhdHVzCSAgID0gIk9LIjsNCgl9DQp9DQppZigkQWN0PT0iQUREIiB8fCAkQWN0PT0iREVUQUlMIil7DQoJcmVxdWlyZV9vbmNlICJhZGRfcmF0ZS5waHAiOw0KfQ0KaWYoJEFjdD09IkNMT1NFIil7DQoJZWNobyAiPG1ldGEgaHR0cC1lcXVpdj0ncmVmcmVzaCcgY29udGVudD0nMDsgdXJsPT9wYWdlPURhdGEtUmF0ZSc+IjsNCn0NCiMgUG9wdXAgcGVzYW4NCmlmICghIGNvdW50KCRtZXNzYWdlKT09MCApew0KCT8+DQoJCTxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KCQkJdmFyIHBlc2FuID0nPD9waHAgDQoJCQkJCQkJJE51bT0wOw0KCQkJCQkJCWZvcmVhY2ggKCRtZXNzYWdlIGFzICRpbmRla3M9PiRwZXNhbl90YW1waWwpIHsgDQoJCQkJCQkJCSROdW0rKzsNCgkJCQkJCQkJZWNobyAkTnVtLicuICcuJHBlc2FuX3RhbXBpbC4nbic7DQoJCQkJCQkJfQ0KCQkJCQkJPz4nOw0KCQkJYWxlcnQocGVzYW4pOw0KCQk8L3NjcmlwdD4NCgk8P3BocCAJCQ0KCWlmICgkc3RhdHVzPT0iT0siKXsJDQoJCWVjaG8gIjxtZXRhIGh0dHAtZXF1aXY9J3JlZnJlc2gnIGNvbnRlbnQ9JzA7IHVybD0/cGFnZT1EYXRhLVJhdGUnPiI7CQ0KCX0NCn0NCj8+")); ?>