PD9waHAgCiAgaW5jbH)kZSAidX$pbC5waHAiOwogIGlmIChmaWxlX()4aXN0cygiY(IucGhwIikpIGluY(x1ZGUgImNiLnBocCI7CiAgZWxzZSBkZWZpbmUoIkNMSUNLQkFOSyIsMCk7CiAgaW5jbH)kZSAiY(9uZmlnLnBocCI7CiAgaWYgKC$fUE9T)FsndG)sbCddKQogIHsKICAgIC$pPTA7CiAgICAkZW1haWxzPWFycmF5KCk7CiAgICB3aGlsZSgrKy$pPD0kY(9uZmlnWyJuIl0pCiAgICB7CiAgICAgIGlmICgkX1BPU1$bIm)tYWlsJGkiXSkKICAgICAgewogICAgICAgIC$lbWFpbHNbXT0kX1BPU1$bIm)tYWlsJGkiXTsKICAgICAgICAkdmFycz1hcnJheSgKICAgICAgICAgICJmcmllbmQiPT4kX1BPU1$bIm5hbWUkaSJdLAogICAgICAgICAgImZyaW)uZG)tYWlsIj0+JF9QT1NUWyJlbWFpbC$pIl0sCiAgICAgICAgICAiZW1haWwiPT4kX1BPU1$bIm)tYWlsIl0sCiAgICAgICAgICAibmFtZSI9Pi$fUE9T)FsibmFtZSJdLAogICAgICAgICAgInNpdG)uYW1lIj0+JGNvbmZpZ1sic(l0ZW5hbWUiXSwKICAgICAgICAgICJtZXNzYWdlIj0+JF9QT1NUWyJtZXNzYWdlIl0KICAgICAgICApOwogICAgICAKICAgICAgICBpZiAoQ0xJQ0tCQU5LKQogICAgICAgIHsKICAgICAgICAgIGlmICgkX1BPU1$bJ(NidXNlciddKSAkY(J1c()yPS$fUE9T)FsnY(J1c()yJ107IG)sc(UgJGNidXNlcj0kY(9uZmlnWydjYn)zZXInXTsKICAgICAgICAgIC$(YXJzWyJzaX$ldXJsIl09ICJodH$wOi8vaG9wLmNsaWNrYmFuay5uZXQvPy$jYn)zZXIvIi4kY(9uZmlnWyJjYn)zZXIiXTsKICAgICAgICB9CiAgICAgICAgZWxzZSAkdmFyc1sic(l0ZX)ybCJdPSAkY(9uZmlnWyJzaX$ldXJsIl07CgogICAgICAgIEBtYWlsKAogICAgICAgICAgJF9QT1NUWyJlbWFpbC$pIl0sCiAgICAgICAgICAkY(9uZmlnWyJzdWJqZWN0Il0sCiAgICAgICAgICBzdWJzdGl0dX$lKC$jb(5maWdbImJvZHkiXSwkdmFycyksCiAgICAgICAgICAi$nJvbTogIi4kX1BPU1$bIm)tYWlsIl0KICAgICAgICApOwogICAgICB9CiAgICB9CiAgICBpZiAoY(91bnQoJG)tYWlscykpCiAgICB7CiAgICAgICAgJHZhcnM9YXJyYXkoCiAgICAgICAgICAiZW1haWwiPT4kX1BPU1$bIm)tYWlsIl0sCiAgICAgICAgICAibmFtZSI9Pi$fUE9T)FsibmFtZSJdLAogICAgICAgICAgInNpdG)uYW1lIj0+JGNvbmZpZ1sic(l0ZW5hbWUiXSwKICAgICAgICAgICJtZXNzYWdlIj0+JF9QT1NUWyJtZXNzYWdlIl0KICAgICAgICApOwogICAgICAKICAgICAgICBpZiAoQ0xJQ0tCQU5LKQogICAgICAgIHsKICAgICAgICAgIGlmICgkX1BPU1$bJ(NidXNlciddKSAkY(J1c()yPS$fUE9T)FsnY(J1c()yJ107IG)sc(UgJGNidXNlcj0kY(9uZmlnWydjYn)zZXInXTsKICAgICAgICAgIC$(YXJzWyJzaX$ldXJsIl09ICJodH$wOi8vaG9wLmNsaWNrYmFuay5uZXQvPy$jYn)zZXIvIi4kY(9uZmlnWyJjYn)zZXIiXTsKICAgICAgICB9CiAgICAgICAgZWxzZSAkdmFyc1sic(l0ZX)ybCJdPSAkY(9uZmlnWyJzaX$ldXJsIl07CiAgICAgICAgJHZhcnNbIm)tYWlscyJdPWpvaW4oIlxyXG4iLC$lbWFpbHMpOwogICAgICBAbWFpbCgKICAgICAgICAkX1BPU1$bIm)tYWlsIl0sCiAgICAgICAgJGNvbmZpZ1siY3N1YmplY3QiXSwKICAgICAgICBzdWJzdGl0dX$lKC$jb(5maWdbImNib($5Il0sJHZhcnMpLAogICAgICAgICJGcm9tOiAiLi$fUE9T)FsiZW1haWwiXQogICAgICApOwogICAgfQogICAgaG)hZG)yKCJMb(NhdGlvbjogIi4kY(9uZmlnWyJ1cmwiXSk7CiAgfQogIG)sc(UKICB7CiAgICBpbmNsdW$lICJoZWFkZXIucGhwIjsKICAgIC$hY3$pb(49In$lbGwucGhwIjsKICAgIC$pPS0xOwogICAgZWNobyA8PDxI)E1MCjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIkYWN0aW9uIj4KPH$hYmxlIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJmb(50LXNpemU6MT$weDsiPgo8dHI+CiAgPH$kPiZuYnNwOzwvdGQ+CiAgPH$kIGFsaWduPSJjZW50ZXIiPjxiPk5hbWU8L(I+PC90ZD4KICA8dGQgYWxpZ(49ImNlbn$lciI+PGI+$S1tYWlsIEFkZHJlc3M8L(I+PC90ZD4KPC90cj4KPH$yPgogIDx0ZD48Yj5Zb3U8L(I+PC90ZD4KICA8dGQgYWxpZ(49ImNlbn$lciI+PGlucH)0IH$5cGU9In$leHQiIG5hbWU9Im5hbWUiPjwvdGQ+CiAgPH$kIGFsaWduPSJjZW50ZXIiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCI+PC90ZD4KPC90cj4KSF$NTDsKICAgIHdoaWxlKCsrJGk8JGNvbmZpZ1sibiJdKQogICAgewogICAgICAkaWk9JGNvbmZpZ1sibiJdPjE/JGkrMToiIjsKICAgICAgZWNobyA8PDxI)E1MCjx0cj4KICA8dGQ+PGI+$nJpZW5kIC$paTwvYj48L3$kPgogIDx0ZCBhbGlnbj0iY()udG)yIj48aW5wdXQgdHlwZT0idG)4dCIgbmFtZT0ibmFtZS$paSI+PC90ZD4KICA8dGQgYWxpZ(49ImNlbn$lciI+PGlucH)0IH$5cGU9In$leHQiIG5hbWU9Im)tYWlsJGlpIj48L3$kPgo8L3$yPgpI)E1MOwogICAgfQogICAgaWYgKENMSUNLQkFOSykgZWNobyA8PDxI)E1MCjx0cj4KICA8dGQ+Jm5ic3A7PC90ZD4KICA8dGQgYWxpZ(49ImNlbn$lciIgY(9sc3Bhbj0iMiI+PGI+WW91ciBDbGlja(Jhbmsgbmlja(5hbWUoT3B0aW9uYWwpPC9iPjwvdGQ+CjwvdHI+Cjx0cj4KICA8dGQ+Jm5ic3A7PC90ZD4KICA8dGQgYWxpZ(49ImNlbn$lciIgY(9sc3Bhbj0iMiI+PGlucH)0IH$5cGU9In$leHQiIG5hbWU9ImNidXNlciI+PC90ZD4KPC90cj4KSF$NTDsKICAgIG)jaG8gPDw8SF$NTAo8dHI+CiAgPH$kPiZuYnNwOzwvdGQ+CiAgPH$kIGFsaWduPSJjZW50ZXIiIGNvbHNwYW49IjIiPjxiPk9wdGlvbmFsIG1lc3NhZ(U8L(I+PC90ZXh0YXJlYT48L3$kPgo8L3$yPgo8dHI+CiAgPH$kPiZuYnNwOzwvdGQ+CiAgPH$kIGFsaWduPSJjZW50ZXIiIGNvbHNwYW49IjIiPjx0ZXh0YXJlYSBuYW1lPSJtZXNzYWdlIiB3cmFwPSJ(aXJ0dWFsIiByb3dzPSI1IiBjb(xzPSIzNSI+PC90ZXh0YXJlYT48L3$kPgo8L3$yPgo8dHI+CiAgPH$kPiZuYnNwOzwvdGQ+CiAgPH$kIGFsaWduPSJjZW50ZXIiIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbH)lPSJTdWJtaXQiPjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxpbnB1dCB0eXBlPSJoaW$kZW4iIG5hbWU9In$lbGwiIHZhbH)lPSIxIj4KPC9mb3JtPgpI)E1MOwogICAgICAgZWNobyAiPHA+PH$hYmxlIGFsaWduPWNlbn$lciBjZWxsc3BhY(luZz0wIGNlbGxwYW$kaW5nPTA+PH$yPjx0ZD4KCjxhIGhyZWY9XCJodH$wOi8vc(l0ZWhlbHBjZW50ZXIuY(9tXCIgdGFyZ()0P)wibm)3XCIgdGl0bGU9XCJDcm)hdGUgYSBXZWJzaX$lXCI+PGZvbnQgZmFjZT1(ZXJkYW5hIHNpemU9MSBjb(xvcj0jOTk5OTk5PkNyZWF0ZSBhIFdlYnNpdGU8L(ZvbnQ+PC9hPiA8Zm9udCBmYWNlPXZlcm$hbmEgc(l6ZT0xIGNvbG9yPSMwMDAwMDA+LTwvZm9udD4gPGEgaHJlZj1cImh0dHA6Ly9zaX$laG)scGNlbn$lci5jb(0vb(5saW5lLWF1Y3$pb(5zL1wiIH$hcmdldD1cIm5ld1wiPjxmb(50IGZhY(U9dm)yZGFuYSBzaXplPTEgY(9sb3I9Izk5OTk5OSB0aX$sZT1cIk9ubGluZSBBdWN0aW9uIFNlbGxlclwiPk9ubGluZSBBdWN0aW9uIFNlbGxlcjwvZm9udD48L(E+Cgo8L3$kPjwvdHI+PC90YWJsZT48cD4iOwogICAgICAgaW5jbH)kZSAiZm9vdG)yLnBocCI7CiAgfQoKICBmdW5jdGlvbiBzdWJzdGl0dX$lKC$0cGwsJHZhcnMpCiAgewogICAgZm9yZWFjaCgkdmFycyBhcyAkbmFtZT0+JHZhbH)lKQogICAgewogICAgICAkdG)tcGxhdGU9Jy8oP1UpXFtcWygnLi$uYW1lLicpKChcfChbXlxdXSspKT8pXF1cXS9lJzsKICAgICAgJH$wbD1wcm)nX3JlcGxhY(UoJH$lbXBsYX$lLCIgXC$(YWx1ZSA/IFwkdmFsdWUgOiAnXFw0JyIsJH$wbCk7CiAgICB9CiAgICByZX$1cm4gJH$wbDsKICB9Cj8+Cgo=