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

Signing you up...

Thank you for signing up!

PHP Decode

PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KCQoJPHRpdGxlPi48L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGJnY2..

Decoded Output download

<?  PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KCQoJPHRpdGxlPi48L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IiMxZjFmMWYiIHRleHQ9IiNmZmZmZmYiPgo8bGluayBocmVmPSIiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgo8c3R5bGU+CglAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PURvc2lzJyk7CglAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUJ1bmdlZScpOwpib2R5IHsKCWZvbnQtZmFtaWx5OiAiRG9zaXMiLCBjdXJzaXZlOwoJdGV4dC1zaGFkb3c6MHB4IDBweCAxcHggIzc1NzU3NTsKfQoKI2NvbnRlbnQgdHI6aG92ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzYzNjI2MzsKCXRleHQtc2hhZG93OjBweCAwcHggMTBweCAjZmZmOwp9CgojY29udGVudCAuZmlyc3QgewoJYmFja2dyb3VuZC1jb2xvcjogIzI1MzgzQzsKfQoKI2NvbnRlbnQgLmZpcnN0OmhvdmVyIHsKCWJhY2tncm91bmQtY29sb3I6ICMyNTM4M0MKCXRleHQtc2hhZG93OjBweCAwcHggMXB4ICM3NTc1NzU7Cn0KCnRhYmxlIHsKCWJvcmRlcjogMXB4ICMwMDAwMDAgZG90dGVkOwoJdGFibGUtbGF5b3V0OiBmaXhlZDsKfQoKdGQgewoJd29yZC13cmFwOiBicmVhay13b3JkOwp9CgphIHsKCWNvbG9yOiAjZmZmZmZmOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgphOmhvdmVyIHsKCWNvbG9yOiAjMDAwMDAwOwoJdGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmZmZmY7Cn0KCmlucHV0LHNlbGVjdCx0ZXh0YXJlYSB7Cglib3JkZXI6IDFweCAjMDAwMDAwIHNvbGlkOwoJLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7Cgktd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OwoJYm9yZGVyLXJhZGl1czo1cHg7Cn0KCi5nYXMgewoJYmFja2dyb3VuZC1jb2xvcjogIzFmMWYxZjsKCWNvbG9yOiAjZmZmZmZmOwoJY3Vyc29yOiBwb2ludGVyOwp9CgpzZWxlY3QgewoJYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cgljb2xvcjogI2ZmZmZmZjsKfQoKc2VsZWN0OmFmdGVyIHsKCWN1cnNvcjogcG9pbnRlcjsKfQoKLmxpbmthIHsKCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwoJY29sb3I6ICNmZmZmZmY7Cn0KCi51cCB7CgliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKCWNvbG9yOiAjZmZmOwp9CgpvcHRpb24gewoJYmFja2dyb3VuZC1jb2xvcjogIzFmMWYxZjsKfQoKOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZmOwogIGN1cnNvcjogcG9pbnRlcjsKfQo8L3N0eWxlPgo8Y2VudGVyPgo8Zm9udCBmYWNlPSJCdW5nZWUiIHNpemU9IjUiPktPTlRPTEFUT1M8L2ZvbnQ+PC9jZW50ZXI+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cjx0cj48dGQ+Cjw/cGhwCnNldF90aW1lX2xpbWl0KDApOwplcnJvcl9yZXBvcnRpbmcoMCk7CgokZGlzZnVuYyA9IEBpbmlfZ2V0KCJkaXNhYmxlX2Z1bmN0aW9ucyIpOwppZiAoZW1wdHkoJGRpc2Z1bmMpKSB7CgkkZGlzZiA9ICI8Zm9udCBjb2xvcj0nZ29sZCc+Tk9ORTwvZm9udD4iOwp9IGVsc2UgewoJJGRpc2YgPSAiPGZvbnQgY29sb3I9J3JlZCc+Ii4kZGlzZnVuYy4iPC9mb250PiI7Cn0KCmZ1bmN0aW9uIGF1dGhvcigpIHsKCWVjaG8gIjxjZW50ZXI+PGJyPkFub243IC0gMjAyMTwvY2VudGVyPiI7CglleGl0KCk7Cn0KCmZ1bmN0aW9uIGNla2RpcigpIHsKCWlmIChpc3NldCgkX0dFVFsncGF0aCddKSkgewoJCSRsb2thc2kgPSAkX0dFVFsncGF0aCddOwoJfSBlbHNlIHsKCQkkbG9rYXNpID0gZ2V0Y3dkKCk7Cgl9CglpZiAoaXNfd3JpdGFibGUoJGxva2FzaSkpIHsKCQlyZXR1cm4gIjxmb250IGNvbG9yPSdncmVlbic+V3JpdGVhYmxlPC9mb250PiI7Cgl9IGVsc2UgewoJCXJldHVybiAiPGZvbnQgY29sb3I9J3JlZCc+V3JpdGVhYmxlPC9mb250PiI7Cgl9Cn0KCmZ1bmN0aW9uIGNla3Jvb3QoKSB7CglpZiAoaXNfd3JpdGFibGUoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSkpIHsKCQlyZXR1cm4gIjxmb250IGNvbG9yPSdncmVlbic+V3JpdGVhYmxlPC9mb250PiI7Cgl9IGVsc2UgewoJCXJldHVybiAiPGZvbnQgY29sb3I9J3JlZCc+V3JpdGVhYmxlPC9mb250PiI7Cgl9Cn0KCmZ1bmN0aW9uIHhybWRpcigkZGlyKSB7CiAgICAkaXRlbXMgPSBzY2FuZGlyKCRkaXIpOwogICAgZm9yZWFjaCAoJGl0ZW1zIGFzICRpdGVtKSB7CiAgICAgICAgaWYgKCRpdGVtID09PSAnLicgfHwgJGl0ZW0gPT09ICcuLicpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgICRwYXRoID0gJGRpci4nLycuJGl0ZW07CiAgICAgICAgaWYgKGlzX2RpcigkcGF0aCkpIHsKICAgICAgICAgICAgeHJtZGlyKCRwYXRoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB1bmxpbmsoJHBhdGgpOwogICAgICAgIH0KICAgIH0KICAgIHJtZGlyKCRkaXIpOwp9CgpmdW5jdGlvbiBncmVlbigkdGV4dCkgewoJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj0nZ3JlZW4nPiIuJHRleHQuIjwvY2VudGVyPjwvZm9udD4iOwp9CgpmdW5jdGlvbiByZWQoJHRleHQpIHsKCWVjaG8gIjxjZW50ZXI+PGZvbnQgY29sb3I9J3JlZCc+Ii4kdGV4dC4iPC9jZW50ZXI+PC9mb250PiI7Cn0KCmVjaG8gIlNlcnZlciA6IDxmb250IGNvbG9yPSdnb2xkJz4iLiRfU0VSVkVSWydTRVJWRVJfU09GVFdBUkUnXS4iPC9mb250Pjxicj4iOwplY2hvICJTeXN0ZW0gOiA8Zm9udCBjb2xvcj0nZ29sZCc+Ii5waHBfdW5hbWUoKS4iPC9mb250Pjxicj4iOwplY2hvICJVc2VyIDogPGZvbnQgY29sb3I9J2dvbGQnPiIuQGdldF9jdXJyZW50X3VzZXIoKS4iJm5ic3A7PC9mb250PiggPGZvbnQgY29sb3I9J2dvbGQnPiIuQGdldG15dWlkKCkuIjwvZm9udD4pPGJyPiI7CmVjaG8gIlBIUCBWZXJzaW9uIDogPGZvbnQgY29sb3I9J2dvbGQnPiIuQHBocHZlcnNpb24oKS4iPC9mb250Pjxicj4iOwplY2hvICJEaXNhYmxlIEZ1bmN0aW9uIDogIi4kZGlzZi4iPC9mb250Pjxicj4iOwplY2hvICJEaXJlY3RvcnkgOiAmbmJzcDsiOwoKZm9yZWFjaCgkX1BPU1QgYXMgJGtleSA9PiAkdmFsdWUpewoJJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7Cn0KCmlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKCSRsb2thc2kgPSAkX0dFVFsncGF0aCddOwoJJGxva2R1YSA9ICRfR0VUWydwYXRoJ107Cn0gZWxzZSB7CgkkbG9rYXNpID0gZ2V0Y3dkKCk7CgkkbG9rZHVhID0gZ2V0Y3dkKCk7Cn0KCiRsb2thc2kgPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkbG9rYXNpKTsKJGxva2FzaXMgPSBleHBsb2RlKCcvJywkbG9rYXNpKTsKJGxva2FzaW55YSA9IEBzY2FuZGlyKCRsb2thc2kpOwoKZm9yZWFjaCgkbG9rYXNpcyBhcyAkaWQgPT4gJGxvayl7CglpZigkbG9rID09ICcnICYmICRpZCA9PSAwKXsKCQkkYSA9IHRydWU7CgkJZWNobyAnPGEgaHJlZj0iP3BhdGg9LyI+LzwvYT4nOwoJCWNvbnRpbnVlOwoJfQoJaWYoJGxvayA9PSAnJykgY29udGludWU7CgllY2hvICc8YSBocmVmPSI/cGF0aD0nOwoJZm9yKCRpPTA7JGk8PSRpZDskaSsrKXsKCWVjaG8gIiRsb2thc2lzWyRpXSI7CglpZigkaSAhPSAkaWQpIGVjaG8gIi8iOwp9IAplY2hvICciPicuJGxvay4nPC9hPi8nOwp9CgplY2hvICc8L3RkPjwvdHI+PHRyPjx0ZD48YnI+JzsKaWYgKGlzc2V0KCRfUE9TVFsndXB3a3drJ10pKSB7CglpZiAoaXNzZXQoJF9QT1NUWydiZXJrYXNueWEnXSkpIHsKCQlpZiAoJF9QT1NUWydkaXJueWEnXSA9PSAiMiIpIHsKCQkJJGxva2FzaSA9ICRfU0VSVkVSWydET0NVTUVOVF9ST09UJ107CgkJfQoJCSRkYXRhID0gQGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2kuIi8iLiRfRklMRVNbJ2JlcmthcyddWyduYW1lJ10sIEBmaWxlX2dldF9jb250ZW50cygkX0ZJTEVTWydiZXJrYXMnXVsndG1wX25hbWUnXSkpOwoJCWlmIChmaWxlX2V4aXN0cygkbG9rYXNpLiIvIi4kX0ZJTEVTWydiZXJrYXMnXVsnbmFtZSddKSkgewoJCQllY2hvICJGaWxlIFVwbG9hZGVkICEgJm5ic3A7PGZvbnQgY29sb3I9J2dvbGQnPjxpPiIuJGxva2FzaS4iLyIuJF9GSUxFU1snYmVya2FzJ11bJ25hbWUnXS4iPC9pPjwvZm9udD48YnI+PGJyPiI7CgkJfSBlbHNlIHsKCQkJZWNobyAiPGZvbnQgY29sb3I9J3JlZCc+RmFpbGVkIHRvIFVwbG9hZCAhPGJyPjxicj4iOwoJCX0KCX0gZWxzZWlmIChpc3NldCgkX1BPU1RbJ2xpbmtueWEnXSkpIHsKCQlpZiAoZW1wdHkoJF9QT1NUWyduYW1hbGluayddKSkgewoJCQlleGl0KCJGaWxlbmFtZSBjYW5ub3QgYmUgZW1wdHkgISIpOwoJCX0KCQlpZiAoJF9QT1NUWydkaXJueWEnXSA9PSAiMiIpIHsKCQkJJGxva2FzaSA9ICRfU0VSVkVSWydET0NVTUVOVF9ST09UJ107CgkJfQoJCSRkYXRhID0gQGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2kuIi8iLiRfUE9TVFsnbmFtYWxpbmsnXSwgQGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsnZGFyaWxpbmsnXSkpOwoJCWlmIChmaWxlX2V4aXN0cygkbG9rYXNpLiIvIi4kX1BPU1RbJ25hbWFsaW5rJ10pKSB7CgkJCWVjaG8gIkZpbGUgVXBsb2FkZWQgISAmbmJzcDs8Zm9udCBjb2xvcj0nZ29sZCc+PGk+Ii4kbG9rYXNpLiIvIi4kX1BPU1RbJ25hbWFsaW5rJ10uIjwvaT48L2ZvbnQ+PGJyPjxicj4iOwoJCX0gZWxzZSB7CgkJCWVjaG8gIjxmb250IGNvbG9lPSdyZWQnPkZhaWxlZCB0byBVcGxvYWQgITxicj48YnI+IjsKCQl9Cgl9Cn0KCmVjaG8gIlVwbG9hZCBGaWxlIDogIjsKZWNobyAnPGZvcm0gZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iMSIgbmFtZT0iZGlybnlhIiBjaGVja2VkPmN1cnJlbnRfZGlyIFsgJy5jZWtkaXIoKS4nIF0KPGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iMiIgbmFtZT0iZGlybnlhIiA+ZG9jdW1lbnRfcm9vdCBbICcuY2Vrcm9vdCgpLicgXQo8YnI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVwd2t3ayIgdmFsdWU9ImFwbG9kIj4KPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImJlcmthcyI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iYmVya2FzbnlhIiB2YWx1ZT0iVXBsb2FkIiBjbGFzcz0idXAiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1jb2xvcjogI2ZmZiI+PGJyPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZGFyaWxpbmsiIGNsYXNzPSJ1cCIgcGxhY2Vob2xkZXI9Imh0dHBzOi8vYW5vbjcueHl6L3VwbG9hZC50eHQiPiZuYnNwOzxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJuYW1hbGluayIgY2xhc3M9InVwIiBzaXplPSIzIiBwbGFjZWhvbGRlcj0iZmlsZS50eHQiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImxpbmtueWEiIGNsYXNzPSJ1cCIgdmFsdWU9IlVwbG9hZCIgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsgYm9yZGVyLWNvbG9yOiAjZmZmIj4KPC9mb3JtPic7CmVjaG8gIjwvdGFibGU+PGJyPiI7CgppZiAoaXNzZXQoJF9HRVRbJ2ZpbGVsb2MnXSkpIHsKCWVjaG8gIjx0cj48dGQ+Q3VycmVudCBGaWxlIDogIi4kX0dFVFsnZmlsZWxvYyddOwoJZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyLz4nOwoJZWNobyAiPHByZT4iLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJF9HRVRbJ2ZpbGVsb2MnXSkpLiI8L3ByZT4iOwoJYXV0aG9yKCk7Cn0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlsaWhhbiddKSAmJiAkX1BPU1RbJ3BpbGloJ10gPT0gImhhcHVzIikgewoJaWYgKGlzX2RpcigkX1BPU1RbJ3BhdGgnXSkpIHsKCQl4cm1kaXIoJF9QT1NUWydwYXRoJ10pOwoJCWlmIChmaWxlX2V4aXN0cygkX1BPU1RbJ3BhdGgnXSkpIHsKCQkJcmVkKCJGYWlsZWQgdG8gZGVsZXRlIERpcmVjdG9yeSAhIik7CgkJfSBlbHNlIHsKCQkJZ3JlZW4oIkRlbGV0ZSBEaXJlY3RvcnkgU3VjY2VzcyAhIik7CgkJCWVjaG8gInN0cmluZyI7CgkJfQoJfSBlbHNlaWYgKGlzX2ZpbGUoJF9QT1NUWydwYXRoJ10pKSB7CgkJQHVubGluaygkX1BPU1RbJ3BhdGgnXSk7CgkJaWYgKGZpbGVfZXhpc3RzKCRfUE9TVFsncGF0aCddKSkgewoJCQlyZWQoIkZhaWxlZCB0byBEZWxldGUgRmlsZSAhIik7CgkJfSBlbHNlIHsKCQkJZ3JlZW4oIkRlbGV0ZSBGaWxlIFN1Y2Nlc3MgISIpOwoJCX0KCX0KfSBlbHNlaWYgKGlzc2V0KCRfR0VUWydwaWxpaGFuJ10pICYmICRfUE9TVFsncGlsaWgnXSA9PSAidWJhaG1vZCIpIHsKCWVjaG8gIjxjZW50ZXI+Ii4kX1BPU1RbJ3BhdGgnXS4iPGJyPiI7CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiPgoJUGVybWlzc2lvbiA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idXAiIHNpemU9IjQiIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3BhdGgnXSkpLCAtNCkuJyIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGlsaWgiIHZhbHVlPSJ1YmFobW9kIj4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDaGFuZ2UiIG5hbWU9ImNobTBkIiBjbGFzcz0idXAiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1jb2xvcjogI2ZmZiIvPgoJPC9mb3JtPic7CglpZiAoaXNzZXQoJF9QT1NUWydjaG0wZCddKSkgewoJCSRjbSA9IEBjaG1vZCgkX1BPU1RbJ3BhdGgnXSwgJF9QT1NUWydwZXJtJ10pOwoJCWlmICgkY20gPT0gdHJ1ZSkgewoJCQlncmVlbigiQ2hhbmdlIE1vZCBTdWNjZXNzICEiKTsKCQl9IGVsc2UgewoJCQlyZWQoIkNoYW5nZSBNb2QgRmFpbGVkICEiKTsKCQl9Cgl9Cn0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlsaWhhbiddKSAmJiAkX1BPU1RbJ3BpbGloJ10gPT0gImdhbnRpbmFtYSIpIHsKCWlmIChpc3NldCgkX1BPU1RbJ2dhbnRpbiddKSkgewoJCSRyZW4gPSBAcmVuYW1lKCRfUE9TVFsncGF0aCddLCAkX1BPU1RbJ25ld25hbWUnXSk7CgkJaWYgKCRyZW4gPT0gdHJ1ZSkgewoJCQlncmVlbigiQ2hhbmdlIE5hbWUgU3VjY2VzcyAhIik7CgkJfSBlbHNlIHsKCQkJcmVkKCJDaGFuZ2UgTmFtZSBGYWlsZWQgISIpOwoJCX0KCX0KCWlmIChlbXB0eSgkX1BPU1RbJ25hbWUnXSkpIHsKCQkkbmFtYWF3YWwgPSAkX1BPU1RbJ25ld25hbWUnXTsKCX0gZWxzZSB7CgkJJG5hbWF3YWwgPSAkX1BPU1RbJ25hbWUnXTsKCX0KCWVjaG8gIjxjZW50ZXI+Ii4kX1BPU1RbJ3BhdGgnXS4iPGJyPiI7CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiPgoJTmV3IE5hbWUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgY2xhc3M9InVwIiBzaXplPSIyMCIgdmFsdWU9IicuJG5hbWFhd2FsLiciIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBpbGloIiB2YWx1ZT0iZ2FudGluYW1hIj4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDaGFuZ2UiIG5hbWU9ImdhbnRpbiIgY2xhc3M9InVwIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyBib3JkZXItY29sb3I6ICNmZmYiLz4KCTwvZm9ybT4nOwp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3BpbGloYW4nXSkgJiYgJF9QT1NUWydwaWxpaCddID09ICJlZGl0IikgewoJaWYgKGlzc2V0KCRfUE9TVFsnZ2FzZWRpdCddKSkgewoJCSRlZGl0ID0gQGZpbGVfcHV0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddLCAkX1BPU1RbJ3NyYyddKTsKCQlpZiAoJGVkaXQgPT0gdHJ1ZSkgewoJCQlncmVlbigiRWRpdCBGaWxlIFN1Y2Nlc3MgISIpOwoJCX0gZWxzZSB7CgkJCXJlZCgiRWRpdCBGaWxlIEZhaWxlZCAhIik7CgkJfQoJfQoJZWNobyAiPGNlbnRlcj4iLiRfUE9TVFsncGF0aCddLiI8YnI+PGJyPiI7CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiPgoJPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX1BPU1RbJ3BhdGgnXSkpLic8L3RleHRhcmVhPjxicj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGlsaWgiIHZhbHVlPSJlZGl0Ij4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFZGl0IEZpbGUiIG5hbWU9Imdhc2VkaXQiIC8+Cgk8L2Zvcm0+PGJyPic7Cn0KCmVjaG8gJzxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cjx0ciBjbGFzcz0iZmlyc3QiPgo8dGQ+PGNlbnRlcj5OYW1lPC9jZW50ZXI+PC90ZD4KPHRkPjxjZW50ZXI+U2l6ZTwvY2VudGVyPjwvdGQ+Cjx0ZD48Y2VudGVyPlBlcm1pc3Npb25zPC9jZW50ZXI+PC90ZD4KPHRkPjxjZW50ZXI+T3B0aW9uczwvY2VudGVyPjwvdGQ+CjwvdHI+JzsKCmZvcmVhY2goJGxva2FzaW55YSBhcyAkZGlyKXsKCWlmKCFpc19kaXIoJGxva2FzaS4iLyIuJGRpcikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKCWVjaG8gIjx0cj4KCTx0ZD48YSBocmVmPVwiP3BhdGg9Ii4kbG9rYXNpLiIvIi4kZGlyLiJcIj4iLiRkaXIuIjwvYT48L3RkPgoJPHRkPjxjZW50ZXI+LS08L2NlbnRlcj48L3RkPgoJPHRkPjxjZW50ZXI+IjsKCWlmKGlzX3dyaXRhYmxlKCRsb2thc2kuIi8iLiRkaXIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CgllbHNlaWYoIWlzX3JlYWRhYmxlKCRsb2thc2kuIi8iLiRkaXIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwoJZWNobyBzdGF0dXNueWEoJGxva2FzaS4iLyIuJGRpcik7CglpZihpc193cml0YWJsZSgkbG9rYXNpLiIvIi4kZGlyKSB8fCAhaXNfcmVhZGFibGUoJGxva2FzaS4iLyIuJGRpcikpIGVjaG8gJzwvZm9udD4nOwoKCWVjaG8gIjwvY2VudGVyPjwvdGQ+Cgk8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP3BpbGloYW4mcGF0aD0kbG9rYXNpXCI+Cgk8c2VsZWN0IG5hbWU9XCJwaWxpaFwiPgoJPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT1cImhhcHVzXCI+RGVsZXRlPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPVwidWJhaG1vZFwiPkNobTBkPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPVwiZ2FudGluYW1hXCI+UmVuYW1lPC9vcHRpb24+Cgk8L3NlbGVjdD4KCTxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInR5cGVcIiB2YWx1ZT1cImRpclwiPgoJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGRpclwiPgoJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiJGxva2FzaS8kZGlyXCI+Cgk8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiZ2FzXCIgdmFsdWU9XCI+XCIgLz4KCTwvZm9ybT48L2NlbnRlcj48L3RkPgoJPC90cj4iOwp9CgplY2hvICc8dHIgY2xhc3M9ImZpcnN0Ij48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48L3RyPic7CmZvcmVhY2goJGxva2FzaW55YSBhcyAkZmlsZSkgewoJaWYoIWlzX2ZpbGUoIiRsb2thc2kvJGZpbGUiKSkgY29udGludWU7Cgkkc2l6ZSA9IGZpbGVzaXplKCIkbG9rYXNpLyRmaWxlIikvMTAyNDsKCSRzaXplID0gcm91bmQoJHNpemUsMyk7CglpZigkc2l6ZSA+PSAxMDI0KXsKCSRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKfSBlbHNlIHsKCSRzaXplID0gJHNpemUuJyBLQic7Cn0KCmVjaG8gIjx0cj4KPHRkPjxhIGhyZWY9XCI/ZmlsZWxvYz0kbG9rYXNpLyRmaWxlJnBhdGg9JGxva2FzaVwiPiRmaWxlPC9hPjwvdGQ+Cjx0ZD48Y2VudGVyPiIuJHNpemUuIjwvY2VudGVyPjwvdGQ+Cjx0ZD48Y2VudGVyPiI7CmlmKGlzX3dyaXRhYmxlKCIkbG9rYXNpLyRmaWxlIikpIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+JzsKZWxzZWlmKCFpc19yZWFkYWJsZSgiJGxva2FzaS8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwplY2hvIHN0YXR1c255YSgiJGxva2FzaS8kZmlsZSIpOwppZihpc193cml0YWJsZSgiJGxva2FzaS8kZmlsZSIpIHx8ICFpc19yZWFkYWJsZSgiJGxva2FzaS8kZmlsZSIpKSBlY2hvICc8L2ZvbnQ+JzsKZWNobyAiPC9jZW50ZXI+PC90ZD48dGQ+PGNlbnRlcj4KPGZvcm0gbWV0aG9kPVwicG9zdFwiIGFjdGlvbj1cIj9waWxpaGFuJnBhdGg9JGxva2FzaVwiPgo8c2VsZWN0IG5hbWU9XCJwaWxpaFwiPgo8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9XCJoYXB1c1wiPkRlbGV0ZTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPVwidWJhaG1vZFwiPkNobTBkPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9XCJnYW50aW5hbWFcIj5SZW5hbWU8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT1cImVkaXRcIj5FZGl0PC9vcHRpb24+Cjwvc2VsZWN0Pgo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJ0eXBlXCIgdmFsdWU9XCJmaWxlXCI+CjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cIm5hbWVcIiB2YWx1ZT1cIiRmaWxlXCI+CjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInBhdGhcIiB2YWx1ZT1cIiRsb2thc2kvJGZpbGVcIj4KPGlucHV0IHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImdhc1wiIHZhbHVlPVwiPlwiIC8+CjwvZm9ybT48L2NlbnRlcj48L3RkPgo8L3RyPiI7Cn0KZWNobyAnPC90cj48L3RkPjwvdGFibGU+PC90YWJsZT4nOwphdXRob3IoKTsKCmZ1bmN0aW9uIHN0YXR1c255YSgkZmlsZSl7CiRzdGF0dXNueWEgPSBmaWxlcGVybXMoJGZpbGUpOwoKaWYgKCgkc3RhdHVzbnlhICYgMHhDMDAwKSA9PSAweEMwMDApIHsKCi8vIFNvY2tldAokaW5nZm8gPSAncyc7Cn0gZWxzZWlmICgoJHN0YXR1c255YSAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7Ci8vIFN5bWJvbGljIExpbmsKJGluZ2ZvID0gJ2wnOwp9IGVsc2VpZiAoKCRzdGF0dXNueWEgJiAweDgwMDApID09IDB4ODAwMCkgewovLyBSZWd1bGFyCiRpbmdmbyA9ICctJzsKfSBlbHNlaWYgKCgkc3RhdHVzbnlhICYgMHg2MDAwKSA9PSAweDYwMDApIHsKLy8gQmxvY2sgc3BlY2lhbAokaW5nZm8gPSAnYic7Cn0gZWxzZWlmICgoJHN0YXR1c255YSAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7Ci8vIERpcmVjdG9yeQokaW5nZm8gPSAnZCc7Cn0gZWxzZWlmICgoJHN0YXR1c255YSAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ci8vIENoYXJhY3RlciBzcGVjaWFsCiRpbmdmbyA9ICdjJzsKfSBlbHNlaWYgKCgkc3RhdHVzbnlhICYgMHgxMDAwKSA9PSAweDEwMDApIHsKLy8gRklGTyBwaXBlCiRpbmdmbyA9ICdwJzsKfSBlbHNlIHsKLy8gVW5rbm93bgokaW5nZm8gPSAndSc7Cn0KCi8vIE93bmVyCiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAxMDApID8gJ3InIDogJy0nKTsKJGluZ2ZvIC49ICgoJHN0YXR1c255YSAmIDB4MDA4MCkgPyAndycgOiAnLScpOwokaW5nZm8gLj0gKCgkc3RhdHVzbnlhICYgMHgwMDQwKSA/CigoJHN0YXR1c255YSAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CigoJHN0YXR1c255YSAmIDB4MDgwMCkgPyAnUycgOiAnLScpKTsKCgovLyBHcm91cAokaW5nZm8gLj0gKCgkc3RhdHVzbnlhICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7CiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAwMTApID8gJ3cnIDogJy0nKTsKJGluZ2ZvIC49ICgoJHN0YXR1c255YSAmIDB4MDAwOCkgPwooKCRzdGF0dXNueWEgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgooKCRzdGF0dXNueWEgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7CgovLyBXb3JsZAokaW5nZm8gLj0gKCgkc3RhdHVzbnlhICYgMHgwMDA0KSA/ICdyJyA6ICctJyk7CiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsKCiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAwMDEpID8KKCgkc3RhdHVzbnlhICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKKCgkc3RhdHVzbnlhICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOwoKcmV0dXJuICRpbmdmbzsKfQo/Pg== ?>

Did this file decode correctly?

Original Code

PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KCQoJPHRpdGxlPi48L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IiMxZjFmMWYiIHRleHQ9IiNmZmZmZmYiPgo8bGluayBocmVmPSIiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgo8c3R5bGU+CglAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PURvc2lzJyk7CglAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUJ1bmdlZScpOwpib2R5IHsKCWZvbnQtZmFtaWx5OiAiRG9zaXMiLCBjdXJzaXZlOwoJdGV4dC1zaGFkb3c6MHB4IDBweCAxcHggIzc1NzU3NTsKfQoKI2NvbnRlbnQgdHI6aG92ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzYzNjI2MzsKCXRleHQtc2hhZG93OjBweCAwcHggMTBweCAjZmZmOwp9CgojY29udGVudCAuZmlyc3QgewoJYmFja2dyb3VuZC1jb2xvcjogIzI1MzgzQzsKfQoKI2NvbnRlbnQgLmZpcnN0OmhvdmVyIHsKCWJhY2tncm91bmQtY29sb3I6ICMyNTM4M0MKCXRleHQtc2hhZG93OjBweCAwcHggMXB4ICM3NTc1NzU7Cn0KCnRhYmxlIHsKCWJvcmRlcjogMXB4ICMwMDAwMDAgZG90dGVkOwoJdGFibGUtbGF5b3V0OiBmaXhlZDsKfQoKdGQgewoJd29yZC13cmFwOiBicmVhay13b3JkOwp9CgphIHsKCWNvbG9yOiAjZmZmZmZmOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgphOmhvdmVyIHsKCWNvbG9yOiAjMDAwMDAwOwoJdGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmZmZmY7Cn0KCmlucHV0LHNlbGVjdCx0ZXh0YXJlYSB7Cglib3JkZXI6IDFweCAjMDAwMDAwIHNvbGlkOwoJLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7Cgktd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OwoJYm9yZGVyLXJhZGl1czo1cHg7Cn0KCi5nYXMgewoJYmFja2dyb3VuZC1jb2xvcjogIzFmMWYxZjsKCWNvbG9yOiAjZmZmZmZmOwoJY3Vyc29yOiBwb2ludGVyOwp9CgpzZWxlY3QgewoJYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cgljb2xvcjogI2ZmZmZmZjsKfQoKc2VsZWN0OmFmdGVyIHsKCWN1cnNvcjogcG9pbnRlcjsKfQoKLmxpbmthIHsKCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwoJY29sb3I6ICNmZmZmZmY7Cn0KCi51cCB7CgliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKCWNvbG9yOiAjZmZmOwp9CgpvcHRpb24gewoJYmFja2dyb3VuZC1jb2xvcjogIzFmMWYxZjsKfQoKOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZmOwogIGN1cnNvcjogcG9pbnRlcjsKfQo8L3N0eWxlPgo8Y2VudGVyPgo8Zm9udCBmYWNlPSJCdW5nZWUiIHNpemU9IjUiPktPTlRPTEFUT1M8L2ZvbnQ+PC9jZW50ZXI+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cjx0cj48dGQ+Cjw/cGhwCnNldF90aW1lX2xpbWl0KDApOwplcnJvcl9yZXBvcnRpbmcoMCk7CgokZGlzZnVuYyA9IEBpbmlfZ2V0KCJkaXNhYmxlX2Z1bmN0aW9ucyIpOwppZiAoZW1wdHkoJGRpc2Z1bmMpKSB7CgkkZGlzZiA9ICI8Zm9udCBjb2xvcj0nZ29sZCc+Tk9ORTwvZm9udD4iOwp9IGVsc2UgewoJJGRpc2YgPSAiPGZvbnQgY29sb3I9J3JlZCc+Ii4kZGlzZnVuYy4iPC9mb250PiI7Cn0KCmZ1bmN0aW9uIGF1dGhvcigpIHsKCWVjaG8gIjxjZW50ZXI+PGJyPkFub243IC0gMjAyMTwvY2VudGVyPiI7CglleGl0KCk7Cn0KCmZ1bmN0aW9uIGNla2RpcigpIHsKCWlmIChpc3NldCgkX0dFVFsncGF0aCddKSkgewoJCSRsb2thc2kgPSAkX0dFVFsncGF0aCddOwoJfSBlbHNlIHsKCQkkbG9rYXNpID0gZ2V0Y3dkKCk7Cgl9CglpZiAoaXNfd3JpdGFibGUoJGxva2FzaSkpIHsKCQlyZXR1cm4gIjxmb250IGNvbG9yPSdncmVlbic+V3JpdGVhYmxlPC9mb250PiI7Cgl9IGVsc2UgewoJCXJldHVybiAiPGZvbnQgY29sb3I9J3JlZCc+V3JpdGVhYmxlPC9mb250PiI7Cgl9Cn0KCmZ1bmN0aW9uIGNla3Jvb3QoKSB7CglpZiAoaXNfd3JpdGFibGUoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSkpIHsKCQlyZXR1cm4gIjxmb250IGNvbG9yPSdncmVlbic+V3JpdGVhYmxlPC9mb250PiI7Cgl9IGVsc2UgewoJCXJldHVybiAiPGZvbnQgY29sb3I9J3JlZCc+V3JpdGVhYmxlPC9mb250PiI7Cgl9Cn0KCmZ1bmN0aW9uIHhybWRpcigkZGlyKSB7CiAgICAkaXRlbXMgPSBzY2FuZGlyKCRkaXIpOwogICAgZm9yZWFjaCAoJGl0ZW1zIGFzICRpdGVtKSB7CiAgICAgICAgaWYgKCRpdGVtID09PSAnLicgfHwgJGl0ZW0gPT09ICcuLicpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgICRwYXRoID0gJGRpci4nLycuJGl0ZW07CiAgICAgICAgaWYgKGlzX2RpcigkcGF0aCkpIHsKICAgICAgICAgICAgeHJtZGlyKCRwYXRoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB1bmxpbmsoJHBhdGgpOwogICAgICAgIH0KICAgIH0KICAgIHJtZGlyKCRkaXIpOwp9CgpmdW5jdGlvbiBncmVlbigkdGV4dCkgewoJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj0nZ3JlZW4nPiIuJHRleHQuIjwvY2VudGVyPjwvZm9udD4iOwp9CgpmdW5jdGlvbiByZWQoJHRleHQpIHsKCWVjaG8gIjxjZW50ZXI+PGZvbnQgY29sb3I9J3JlZCc+Ii4kdGV4dC4iPC9jZW50ZXI+PC9mb250PiI7Cn0KCmVjaG8gIlNlcnZlciA6IDxmb250IGNvbG9yPSdnb2xkJz4iLiRfU0VSVkVSWydTRVJWRVJfU09GVFdBUkUnXS4iPC9mb250Pjxicj4iOwplY2hvICJTeXN0ZW0gOiA8Zm9udCBjb2xvcj0nZ29sZCc+Ii5waHBfdW5hbWUoKS4iPC9mb250Pjxicj4iOwplY2hvICJVc2VyIDogPGZvbnQgY29sb3I9J2dvbGQnPiIuQGdldF9jdXJyZW50X3VzZXIoKS4iJm5ic3A7PC9mb250PiggPGZvbnQgY29sb3I9J2dvbGQnPiIuQGdldG15dWlkKCkuIjwvZm9udD4pPGJyPiI7CmVjaG8gIlBIUCBWZXJzaW9uIDogPGZvbnQgY29sb3I9J2dvbGQnPiIuQHBocHZlcnNpb24oKS4iPC9mb250Pjxicj4iOwplY2hvICJEaXNhYmxlIEZ1bmN0aW9uIDogIi4kZGlzZi4iPC9mb250Pjxicj4iOwplY2hvICJEaXJlY3RvcnkgOiAmbmJzcDsiOwoKZm9yZWFjaCgkX1BPU1QgYXMgJGtleSA9PiAkdmFsdWUpewoJJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7Cn0KCmlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKCSRsb2thc2kgPSAkX0dFVFsncGF0aCddOwoJJGxva2R1YSA9ICRfR0VUWydwYXRoJ107Cn0gZWxzZSB7CgkkbG9rYXNpID0gZ2V0Y3dkKCk7CgkkbG9rZHVhID0gZ2V0Y3dkKCk7Cn0KCiRsb2thc2kgPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkbG9rYXNpKTsKJGxva2FzaXMgPSBleHBsb2RlKCcvJywkbG9rYXNpKTsKJGxva2FzaW55YSA9IEBzY2FuZGlyKCRsb2thc2kpOwoKZm9yZWFjaCgkbG9rYXNpcyBhcyAkaWQgPT4gJGxvayl7CglpZigkbG9rID09ICcnICYmICRpZCA9PSAwKXsKCQkkYSA9IHRydWU7CgkJZWNobyAnPGEgaHJlZj0iP3BhdGg9LyI+LzwvYT4nOwoJCWNvbnRpbnVlOwoJfQoJaWYoJGxvayA9PSAnJykgY29udGludWU7CgllY2hvICc8YSBocmVmPSI/cGF0aD0nOwoJZm9yKCRpPTA7JGk8PSRpZDskaSsrKXsKCWVjaG8gIiRsb2thc2lzWyRpXSI7CglpZigkaSAhPSAkaWQpIGVjaG8gIi8iOwp9IAplY2hvICciPicuJGxvay4nPC9hPi8nOwp9CgplY2hvICc8L3RkPjwvdHI+PHRyPjx0ZD48YnI+JzsKaWYgKGlzc2V0KCRfUE9TVFsndXB3a3drJ10pKSB7CglpZiAoaXNzZXQoJF9QT1NUWydiZXJrYXNueWEnXSkpIHsKCQlpZiAoJF9QT1NUWydkaXJueWEnXSA9PSAiMiIpIHsKCQkJJGxva2FzaSA9ICRfU0VSVkVSWydET0NVTUVOVF9ST09UJ107CgkJfQoJCSRkYXRhID0gQGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2kuIi8iLiRfRklMRVNbJ2JlcmthcyddWyduYW1lJ10sIEBmaWxlX2dldF9jb250ZW50cygkX0ZJTEVTWydiZXJrYXMnXVsndG1wX25hbWUnXSkpOwoJCWlmIChmaWxlX2V4aXN0cygkbG9rYXNpLiIvIi4kX0ZJTEVTWydiZXJrYXMnXVsnbmFtZSddKSkgewoJCQllY2hvICJGaWxlIFVwbG9hZGVkICEgJm5ic3A7PGZvbnQgY29sb3I9J2dvbGQnPjxpPiIuJGxva2FzaS4iLyIuJF9GSUxFU1snYmVya2FzJ11bJ25hbWUnXS4iPC9pPjwvZm9udD48YnI+PGJyPiI7CgkJfSBlbHNlIHsKCQkJZWNobyAiPGZvbnQgY29sb3I9J3JlZCc+RmFpbGVkIHRvIFVwbG9hZCAhPGJyPjxicj4iOwoJCX0KCX0gZWxzZWlmIChpc3NldCgkX1BPU1RbJ2xpbmtueWEnXSkpIHsKCQlpZiAoZW1wdHkoJF9QT1NUWyduYW1hbGluayddKSkgewoJCQlleGl0KCJGaWxlbmFtZSBjYW5ub3QgYmUgZW1wdHkgISIpOwoJCX0KCQlpZiAoJF9QT1NUWydkaXJueWEnXSA9PSAiMiIpIHsKCQkJJGxva2FzaSA9ICRfU0VSVkVSWydET0NVTUVOVF9ST09UJ107CgkJfQoJCSRkYXRhID0gQGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2kuIi8iLiRfUE9TVFsnbmFtYWxpbmsnXSwgQGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsnZGFyaWxpbmsnXSkpOwoJCWlmIChmaWxlX2V4aXN0cygkbG9rYXNpLiIvIi4kX1BPU1RbJ25hbWFsaW5rJ10pKSB7CgkJCWVjaG8gIkZpbGUgVXBsb2FkZWQgISAmbmJzcDs8Zm9udCBjb2xvcj0nZ29sZCc+PGk+Ii4kbG9rYXNpLiIvIi4kX1BPU1RbJ25hbWFsaW5rJ10uIjwvaT48L2ZvbnQ+PGJyPjxicj4iOwoJCX0gZWxzZSB7CgkJCWVjaG8gIjxmb250IGNvbG9lPSdyZWQnPkZhaWxlZCB0byBVcGxvYWQgITxicj48YnI+IjsKCQl9Cgl9Cn0KCmVjaG8gIlVwbG9hZCBGaWxlIDogIjsKZWNobyAnPGZvcm0gZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iMSIgbmFtZT0iZGlybnlhIiBjaGVja2VkPmN1cnJlbnRfZGlyIFsgJy5jZWtkaXIoKS4nIF0KPGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iMiIgbmFtZT0iZGlybnlhIiA+ZG9jdW1lbnRfcm9vdCBbICcuY2Vrcm9vdCgpLicgXQo8YnI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVwd2t3ayIgdmFsdWU9ImFwbG9kIj4KPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImJlcmthcyI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iYmVya2FzbnlhIiB2YWx1ZT0iVXBsb2FkIiBjbGFzcz0idXAiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1jb2xvcjogI2ZmZiI+PGJyPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZGFyaWxpbmsiIGNsYXNzPSJ1cCIgcGxhY2Vob2xkZXI9Imh0dHBzOi8vYW5vbjcueHl6L3VwbG9hZC50eHQiPiZuYnNwOzxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJuYW1hbGluayIgY2xhc3M9InVwIiBzaXplPSIzIiBwbGFjZWhvbGRlcj0iZmlsZS50eHQiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImxpbmtueWEiIGNsYXNzPSJ1cCIgdmFsdWU9IlVwbG9hZCIgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsgYm9yZGVyLWNvbG9yOiAjZmZmIj4KPC9mb3JtPic7CmVjaG8gIjwvdGFibGU+PGJyPiI7CgppZiAoaXNzZXQoJF9HRVRbJ2ZpbGVsb2MnXSkpIHsKCWVjaG8gIjx0cj48dGQ+Q3VycmVudCBGaWxlIDogIi4kX0dFVFsnZmlsZWxvYyddOwoJZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyLz4nOwoJZWNobyAiPHByZT4iLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJF9HRVRbJ2ZpbGVsb2MnXSkpLiI8L3ByZT4iOwoJYXV0aG9yKCk7Cn0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlsaWhhbiddKSAmJiAkX1BPU1RbJ3BpbGloJ10gPT0gImhhcHVzIikgewoJaWYgKGlzX2RpcigkX1BPU1RbJ3BhdGgnXSkpIHsKCQl4cm1kaXIoJF9QT1NUWydwYXRoJ10pOwoJCWlmIChmaWxlX2V4aXN0cygkX1BPU1RbJ3BhdGgnXSkpIHsKCQkJcmVkKCJGYWlsZWQgdG8gZGVsZXRlIERpcmVjdG9yeSAhIik7CgkJfSBlbHNlIHsKCQkJZ3JlZW4oIkRlbGV0ZSBEaXJlY3RvcnkgU3VjY2VzcyAhIik7CgkJCWVjaG8gInN0cmluZyI7CgkJfQoJfSBlbHNlaWYgKGlzX2ZpbGUoJF9QT1NUWydwYXRoJ10pKSB7CgkJQHVubGluaygkX1BPU1RbJ3BhdGgnXSk7CgkJaWYgKGZpbGVfZXhpc3RzKCRfUE9TVFsncGF0aCddKSkgewoJCQlyZWQoIkZhaWxlZCB0byBEZWxldGUgRmlsZSAhIik7CgkJfSBlbHNlIHsKCQkJZ3JlZW4oIkRlbGV0ZSBGaWxlIFN1Y2Nlc3MgISIpOwoJCX0KCX0KfSBlbHNlaWYgKGlzc2V0KCRfR0VUWydwaWxpaGFuJ10pICYmICRfUE9TVFsncGlsaWgnXSA9PSAidWJhaG1vZCIpIHsKCWVjaG8gIjxjZW50ZXI+Ii4kX1BPU1RbJ3BhdGgnXS4iPGJyPiI7CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiPgoJUGVybWlzc2lvbiA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBjbGFzcz0idXAiIHNpemU9IjQiIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3BhdGgnXSkpLCAtNCkuJyIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGlsaWgiIHZhbHVlPSJ1YmFobW9kIj4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDaGFuZ2UiIG5hbWU9ImNobTBkIiBjbGFzcz0idXAiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1jb2xvcjogI2ZmZiIvPgoJPC9mb3JtPic7CglpZiAoaXNzZXQoJF9QT1NUWydjaG0wZCddKSkgewoJCSRjbSA9IEBjaG1vZCgkX1BPU1RbJ3BhdGgnXSwgJF9QT1NUWydwZXJtJ10pOwoJCWlmICgkY20gPT0gdHJ1ZSkgewoJCQlncmVlbigiQ2hhbmdlIE1vZCBTdWNjZXNzICEiKTsKCQl9IGVsc2UgewoJCQlyZWQoIkNoYW5nZSBNb2QgRmFpbGVkICEiKTsKCQl9Cgl9Cn0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlsaWhhbiddKSAmJiAkX1BPU1RbJ3BpbGloJ10gPT0gImdhbnRpbmFtYSIpIHsKCWlmIChpc3NldCgkX1BPU1RbJ2dhbnRpbiddKSkgewoJCSRyZW4gPSBAcmVuYW1lKCRfUE9TVFsncGF0aCddLCAkX1BPU1RbJ25ld25hbWUnXSk7CgkJaWYgKCRyZW4gPT0gdHJ1ZSkgewoJCQlncmVlbigiQ2hhbmdlIE5hbWUgU3VjY2VzcyAhIik7CgkJfSBlbHNlIHsKCQkJcmVkKCJDaGFuZ2UgTmFtZSBGYWlsZWQgISIpOwoJCX0KCX0KCWlmIChlbXB0eSgkX1BPU1RbJ25hbWUnXSkpIHsKCQkkbmFtYWF3YWwgPSAkX1BPU1RbJ25ld25hbWUnXTsKCX0gZWxzZSB7CgkJJG5hbWF3YWwgPSAkX1BPU1RbJ25hbWUnXTsKCX0KCWVjaG8gIjxjZW50ZXI+Ii4kX1BPU1RbJ3BhdGgnXS4iPGJyPiI7CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiPgoJTmV3IE5hbWUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgY2xhc3M9InVwIiBzaXplPSIyMCIgdmFsdWU9IicuJG5hbWFhd2FsLiciIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBpbGloIiB2YWx1ZT0iZ2FudGluYW1hIj4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDaGFuZ2UiIG5hbWU9ImdhbnRpbiIgY2xhc3M9InVwIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyBib3JkZXItY29sb3I6ICNmZmYiLz4KCTwvZm9ybT4nOwp9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ3BpbGloYW4nXSkgJiYgJF9QT1NUWydwaWxpaCddID09ICJlZGl0IikgewoJaWYgKGlzc2V0KCRfUE9TVFsnZ2FzZWRpdCddKSkgewoJCSRlZGl0ID0gQGZpbGVfcHV0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddLCAkX1BPU1RbJ3NyYyddKTsKCQlpZiAoJGVkaXQgPT0gdHJ1ZSkgewoJCQlncmVlbigiRWRpdCBGaWxlIFN1Y2Nlc3MgISIpOwoJCX0gZWxzZSB7CgkJCXJlZCgiRWRpdCBGaWxlIEZhaWxlZCAhIik7CgkJfQoJfQoJZWNobyAiPGNlbnRlcj4iLiRfUE9TVFsncGF0aCddLiI8YnI+PGJyPiI7CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiPgoJPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX1BPU1RbJ3BhdGgnXSkpLic8L3RleHRhcmVhPjxicj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGlsaWgiIHZhbHVlPSJlZGl0Ij4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFZGl0IEZpbGUiIG5hbWU9Imdhc2VkaXQiIC8+Cgk8L2Zvcm0+PGJyPic7Cn0KCmVjaG8gJzxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cjx0ciBjbGFzcz0iZmlyc3QiPgo8dGQ+PGNlbnRlcj5OYW1lPC9jZW50ZXI+PC90ZD4KPHRkPjxjZW50ZXI+U2l6ZTwvY2VudGVyPjwvdGQ+Cjx0ZD48Y2VudGVyPlBlcm1pc3Npb25zPC9jZW50ZXI+PC90ZD4KPHRkPjxjZW50ZXI+T3B0aW9uczwvY2VudGVyPjwvdGQ+CjwvdHI+JzsKCmZvcmVhY2goJGxva2FzaW55YSBhcyAkZGlyKXsKCWlmKCFpc19kaXIoJGxva2FzaS4iLyIuJGRpcikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKCWVjaG8gIjx0cj4KCTx0ZD48YSBocmVmPVwiP3BhdGg9Ii4kbG9rYXNpLiIvIi4kZGlyLiJcIj4iLiRkaXIuIjwvYT48L3RkPgoJPHRkPjxjZW50ZXI+LS08L2NlbnRlcj48L3RkPgoJPHRkPjxjZW50ZXI+IjsKCWlmKGlzX3dyaXRhYmxlKCRsb2thc2kuIi8iLiRkaXIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CgllbHNlaWYoIWlzX3JlYWRhYmxlKCRsb2thc2kuIi8iLiRkaXIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwoJZWNobyBzdGF0dXNueWEoJGxva2FzaS4iLyIuJGRpcik7CglpZihpc193cml0YWJsZSgkbG9rYXNpLiIvIi4kZGlyKSB8fCAhaXNfcmVhZGFibGUoJGxva2FzaS4iLyIuJGRpcikpIGVjaG8gJzwvZm9udD4nOwoKCWVjaG8gIjwvY2VudGVyPjwvdGQ+Cgk8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP3BpbGloYW4mcGF0aD0kbG9rYXNpXCI+Cgk8c2VsZWN0IG5hbWU9XCJwaWxpaFwiPgoJPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT1cImhhcHVzXCI+RGVsZXRlPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPVwidWJhaG1vZFwiPkNobTBkPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPVwiZ2FudGluYW1hXCI+UmVuYW1lPC9vcHRpb24+Cgk8L3NlbGVjdD4KCTxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInR5cGVcIiB2YWx1ZT1cImRpclwiPgoJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGRpclwiPgoJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiJGxva2FzaS8kZGlyXCI+Cgk8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiZ2FzXCIgdmFsdWU9XCI+XCIgLz4KCTwvZm9ybT48L2NlbnRlcj48L3RkPgoJPC90cj4iOwp9CgplY2hvICc8dHIgY2xhc3M9ImZpcnN0Ij48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48L3RyPic7CmZvcmVhY2goJGxva2FzaW55YSBhcyAkZmlsZSkgewoJaWYoIWlzX2ZpbGUoIiRsb2thc2kvJGZpbGUiKSkgY29udGludWU7Cgkkc2l6ZSA9IGZpbGVzaXplKCIkbG9rYXNpLyRmaWxlIikvMTAyNDsKCSRzaXplID0gcm91bmQoJHNpemUsMyk7CglpZigkc2l6ZSA+PSAxMDI0KXsKCSRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKfSBlbHNlIHsKCSRzaXplID0gJHNpemUuJyBLQic7Cn0KCmVjaG8gIjx0cj4KPHRkPjxhIGhyZWY9XCI/ZmlsZWxvYz0kbG9rYXNpLyRmaWxlJnBhdGg9JGxva2FzaVwiPiRmaWxlPC9hPjwvdGQ+Cjx0ZD48Y2VudGVyPiIuJHNpemUuIjwvY2VudGVyPjwvdGQ+Cjx0ZD48Y2VudGVyPiI7CmlmKGlzX3dyaXRhYmxlKCIkbG9rYXNpLyRmaWxlIikpIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+JzsKZWxzZWlmKCFpc19yZWFkYWJsZSgiJGxva2FzaS8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwplY2hvIHN0YXR1c255YSgiJGxva2FzaS8kZmlsZSIpOwppZihpc193cml0YWJsZSgiJGxva2FzaS8kZmlsZSIpIHx8ICFpc19yZWFkYWJsZSgiJGxva2FzaS8kZmlsZSIpKSBlY2hvICc8L2ZvbnQ+JzsKZWNobyAiPC9jZW50ZXI+PC90ZD48dGQ+PGNlbnRlcj4KPGZvcm0gbWV0aG9kPVwicG9zdFwiIGFjdGlvbj1cIj9waWxpaGFuJnBhdGg9JGxva2FzaVwiPgo8c2VsZWN0IG5hbWU9XCJwaWxpaFwiPgo8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9XCJoYXB1c1wiPkRlbGV0ZTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPVwidWJhaG1vZFwiPkNobTBkPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9XCJnYW50aW5hbWFcIj5SZW5hbWU8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT1cImVkaXRcIj5FZGl0PC9vcHRpb24+Cjwvc2VsZWN0Pgo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJ0eXBlXCIgdmFsdWU9XCJmaWxlXCI+CjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cIm5hbWVcIiB2YWx1ZT1cIiRmaWxlXCI+CjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInBhdGhcIiB2YWx1ZT1cIiRsb2thc2kvJGZpbGVcIj4KPGlucHV0IHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImdhc1wiIHZhbHVlPVwiPlwiIC8+CjwvZm9ybT48L2NlbnRlcj48L3RkPgo8L3RyPiI7Cn0KZWNobyAnPC90cj48L3RkPjwvdGFibGU+PC90YWJsZT4nOwphdXRob3IoKTsKCmZ1bmN0aW9uIHN0YXR1c255YSgkZmlsZSl7CiRzdGF0dXNueWEgPSBmaWxlcGVybXMoJGZpbGUpOwoKaWYgKCgkc3RhdHVzbnlhICYgMHhDMDAwKSA9PSAweEMwMDApIHsKCi8vIFNvY2tldAokaW5nZm8gPSAncyc7Cn0gZWxzZWlmICgoJHN0YXR1c255YSAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7Ci8vIFN5bWJvbGljIExpbmsKJGluZ2ZvID0gJ2wnOwp9IGVsc2VpZiAoKCRzdGF0dXNueWEgJiAweDgwMDApID09IDB4ODAwMCkgewovLyBSZWd1bGFyCiRpbmdmbyA9ICctJzsKfSBlbHNlaWYgKCgkc3RhdHVzbnlhICYgMHg2MDAwKSA9PSAweDYwMDApIHsKLy8gQmxvY2sgc3BlY2lhbAokaW5nZm8gPSAnYic7Cn0gZWxzZWlmICgoJHN0YXR1c255YSAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7Ci8vIERpcmVjdG9yeQokaW5nZm8gPSAnZCc7Cn0gZWxzZWlmICgoJHN0YXR1c255YSAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ci8vIENoYXJhY3RlciBzcGVjaWFsCiRpbmdmbyA9ICdjJzsKfSBlbHNlaWYgKCgkc3RhdHVzbnlhICYgMHgxMDAwKSA9PSAweDEwMDApIHsKLy8gRklGTyBwaXBlCiRpbmdmbyA9ICdwJzsKfSBlbHNlIHsKLy8gVW5rbm93bgokaW5nZm8gPSAndSc7Cn0KCi8vIE93bmVyCiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAxMDApID8gJ3InIDogJy0nKTsKJGluZ2ZvIC49ICgoJHN0YXR1c255YSAmIDB4MDA4MCkgPyAndycgOiAnLScpOwokaW5nZm8gLj0gKCgkc3RhdHVzbnlhICYgMHgwMDQwKSA/CigoJHN0YXR1c255YSAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CigoJHN0YXR1c255YSAmIDB4MDgwMCkgPyAnUycgOiAnLScpKTsKCgovLyBHcm91cAokaW5nZm8gLj0gKCgkc3RhdHVzbnlhICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7CiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAwMTApID8gJ3cnIDogJy0nKTsKJGluZ2ZvIC49ICgoJHN0YXR1c255YSAmIDB4MDAwOCkgPwooKCRzdGF0dXNueWEgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgooKCRzdGF0dXNueWEgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7CgovLyBXb3JsZAokaW5nZm8gLj0gKCgkc3RhdHVzbnlhICYgMHgwMDA0KSA/ICdyJyA6ICctJyk7CiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsKCiRpbmdmbyAuPSAoKCRzdGF0dXNueWEgJiAweDAwMDEpID8KKCgkc3RhdHVzbnlhICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKKCgkc3RhdHVzbnlhICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOwoKcmV0dXJuICRpbmdmbzsKfQo/Pg==

Function Calls

None

Variables

None

Stats

MD5 c966a6fcc1d2bd0e2689bf521e34e588
Eval Count 0
Decode Time 335 ms