자바스크립트 해석및 설명 부탁드릴께요

자바스크립트 해석및 설명 부탁드릴께요

작성일 2010.10.05댓글 1건
    게시물 수정 , 삭제는 로그인 필요

게임을 하다 자바에 관심을 가지게 되었는데요

복호화 명령어 = unescape("<xmp> 를 입력해봐두 에디터플러스 플렉스 다 써봤는데요 도저히 안풀리네요

 

http://run.imacros.net/?code=Ly9pbWFjcm9zLWpzOnNob3dzdGVwcyBubwp2YXIgcGF0aDIgPSAiQzpcXERvY3VtZW50czxTUD5hbmQ8U1A%2BU2V0dGluZ3NcXEFkbWluaXN0cmF0b3JcXE15PFNQPkRvY3VtZW50c1xcaU1hY3Jvc1xcTWFjcm9zIjsKbSA9ICJDT0RFOiI7Cm0gKz0gIlNFVCAhUkVQTEFZU1BFRUQgRkFTVFxuIjsKbSArPSAiRklMRURFTEVURSBuYW1lPSIrcGF0aDIrIlxcXCNDdXJyZW50LmpzXG4iOwptICs9ICJXQUlUIFNFQ09ORFM9MVxuIjsKbSArPSAiRklMRURFTEVURSBuYW1lPSIrcGF0aDIrIlxcXCNDdXJyZW50LmpzXG4iOwppaW1QbGF5KG0pOwoKdmFyIE5vd1VSTCA9IGRvY3VtZW50LmRlZmF1bHRWaWV3LnRvcC5nQnJvd3Nlci5jdXJyZW50VVJJLnNwZWM7CQkvLyDtmITsnqwg7Y6Y7J207KeA7J2YIOyjvOyGjOuzgOyImAp2YXIgU2VydmVyX0d1YnVuID0gMDsKCnZhciBNYWNyb19NYWluID0gIiI7CQkvLyDrp6TtgazroZwg7L2U65Oc6rCAIOuTpOyWtOqwiCDrs4DsiJgKdmFyIEVudGVyID0gIlxuIjsJCS8vIOunpO2BrOuhnCDsvZTrk5zsnZgg7KSE67CU6r%2BIIOuzgOyImAp2YXIgQ29kZSA9ICJDT0RFOiI7CQkvLyDrp6TtgazroZwg7Iuc7J6R7L2U65OcIOuzgOyImAp2YXIgRXh0ID0gIiI7CQkJLy8g7Y6Y7J207KeA7J2YIOygleuztOulvCDri7TslYTrgrwg67OA7IiYCnZhciDquLjrk5ztl4jqsIAgPSAiTiI7CQkvLyDquLjrk5ztl4jqsIAg7YKk6rCSCnZhciDsnKDsoIDtl4jqsIAgPSAiTiI7CQkvLyDsnKDsoIDtl4jqsIAg7YKk6rCSCnZhciBMaW1pdFRpbWUgPSAiIjsJLy8g7Iuc6rCE7KCc7ZWcIOyEpOygleuzgOyImAovL3ZhciBMaW1pdFRpbWUgPSAiIjsJLy8g7Iuc6rCE7KCc7ZWcIOyEpOygleuzgOyImCDsmbzsqr3rtoDthLAg7Jew64%2BEIOyblCDsnbwg7IucIOu2hCDstIgKCnZhciBFcnJtZXMgPSBuZXcgQXJyYXkoKTsJCS8vIOyXkOufrOuplOyEuOyngCDrs4DsiJgKdmFyIEF0dF9IZXJvID0gbmV3IEFycmF5KCk7CQkvLyDslYXrp4jshLEg7YS46riwIOyYgeybheydmCDqs6DsnKDrsojtmLgg67OA7IiYCnZhciBWaWNfRGV2aWxDYXN0bGUgPSBuZXcgQXJyYXkoKTsJLy8g7JWF7ISx7J2YIOqxsOumrOulvCDsiJzshJzrjIDroZwg7KCV66Cs7ZWgIOuzgOyImAp2YXIgVGVtSW5kZXggPSBuZXcgQXJyYXkoKTsJCS8vIOunteyXkCDsnojripQg7JWI7YS466awIOyVheyEsSDqs6DsnKDrsojtmLgg67OA7IiYCnZhciBEQyA9IG5ldyBBcnJheSgpOwkJCS8vIOqwgeunteydmCDqsbDrpqwg7KCV66Cs65CcIOyVheyEseqzoOycoOuyiO2YuCDrs4DsiJgKdmFyIFN0YXJ0aW5nQ2FzID0gbmV3IEFycmF5KCk7CQkvLyDsmIHsm4XsnbQg7Lac64%2BZ7KSR7J24IOyVheyEseuyiO2YuCDrs4DsiJgKdmFyIO2XiOyVveyYgeybhSA9IG5ldyBBcnJheSgpOwkJLy8g7KCA7KeI7LK066ClIOyYgeybheydhCDqsqnrpqzsi5ztgqTripQg67OA7IiYLgp2YXIg7JWF7ISx64yA6riwID0gbmV3IEFycmF5KCk7CQkvLyDsmIHsm4Ug7JWF7ISx64yA6riwIOuMgO2RnOuzgOyImAp2YXIg7JWF7ISx64yA6riwMSA9IG5ldyBBcnJheSgpOwkJLy8gMeyErSDsmIHsm4Ug7JWF7ISx64yA6riwCnZhciDslYXshLHrjIDquLAyID0gbmV3IEFycmF5KCk7CQkvLyAy7IStIOyYgeybhSDslYXshLHrjIDquLAKdmFyIOyVheyEseuMgOq4sDMgPSBuZXcgQXJyYXkoKTsJCS8vIDPshK0g7JiB7JuFIOyVheyEseuMgOq4sAp2YXIg7ZeI7Jqp7Jyg7KCAID0gbmV3IEFycmF5KCk7CQkvLyDtlITroZzqt7jrnqgg7IKs7Jqp7J2EIO2XiOqwgO2VmOuKlCDsnKDsoIDrpbwg64u07J2EIOuzgOyImAp2YXIg7ZeI7Jqp7Jyg7KCAMSA9IG5ldyBBcnJheSgpOwkJLy8gMeyErSDtl4jsmqnsnKDsoIAKdmFyIO2XiOyaqeycoOyggDIgPSBuZXcgQXJyYXkoKTsJCS8vIDLshK0g7ZeI7Jqp7Jyg7KCACnZhciDtl4jsmqnsnKDsoIAzID0gbmV3IEFycmF5KCk7CQkvLyAz7IStIO2XiOyaqeycoOyggAp2YXIg7ZeI7Jqp6ri465OcID0gbmV3IEFycmF5KCk7CQkvLyDtlITroZzqt7jrnqgg7IKs7Jqp7J2EIO2XiOqwgO2VmOuKlCDquLjrk5zrpbwg64u07J2EIOuzgOyImAp2YXIg7ZeI7Jqp6ri465OcMSA9IG5ldyBBcnJheSgpOwkJLy8gMeyErSDtl4jsmqnquLjrk5wKdmFyIO2XiOyaqeq4uOuTnDIgPSBuZXcgQXJyYXkoKTsJCS8vIDLshK0g7ZeI7Jqp6ri465OcCnZhciDtl4jsmqnquLjrk5wzID0gbmV3IEFycmF5KCk7CQkvLyAz7IStIO2XiOyaqeq4uOuTnAoKCi8vIOunteydtOuPmSDqtIDroKgg67OA7IiYCnZhciDqsIDroZwgPSAxMTsKdmFyIOyEuOuhnCA9IDk7CnZhciDshLHqsIDroZzsooztkZwgPSAwOwp2YXIg7ISx7IS466Gc7KKM7ZGcID0gMDsKdmFyIOqwgOuhnOydtOuPmSA9IDA7CnZhciDshLjroZzsnbTrj5kgPSAwOwp2YXIg7ZiE7J6s66e17JyE7LmYID0gIiI7CgovLyDsl5Drn6zrqZTshLjsp4Ag67OA7IiYCkVycm1lc1swXSA9ICLqtIDrpqzsnpDqsIAg7ZeI6rCA7ZWcIOq4uOuTnOqwgCDslYTri5nri4jri6QuXG7tlITroZzqt7jrnqjsnYQg7KKF66OM7ZWp64uI64ukLiI7CkVycm1lc1sxXSA9ICLqtIDrpqzsnpDqsIAg7ZeI6rCA7ZWcIOycoOyggOqwgCDslYTri5nri4jri6QuXG7tlITroZzqt7jrnqjsnYQg7KKF66OM7ZWp64uI64ukLiI7CgovKgorKysrKysrKysrKysrKysrKysrCuyEoOyWuOu2gCDrgZ0KKysrKysrKysrKysrKysrKysrKwoqLwoKLyoKLS0tLS0tLS0tLS0tLS0tLS0tLQrtlITroZzqt7jrnqgg7ISk7KCV67aA67aECi0tLS0tLS0tLS0tLS0tLS0tLS0K7J206rOz7J2AIOyCrOyaqeyekOqwgCDsnpDsi6DsnZgg7ZmY6rK97JeQIOunnuqyjCDshKTsoJXsnZgg7IiY7LmY66W8IOyeheugpe2VmOuKlCDrtoDrtoTsnoXri4jri6QuCuy1nOuMgO2VnCDqsITri6jtlZjqsowg7ZWY66Ck6rOgIOuFuOugpe2VmOuKlCDspJHsnbTrr4DroZwg7JaR7ZW07ZW07KO87IS47JqULgoqLwoKdmFyIOunteydtOuPmeuylOychCA9ICIxLTMiOwp2YXIg67OR7IKs67Cw7LmY6riw64qlID0gIuyCrOyaqSI7Cu2XiOyaqeycoOyggDIucHVzaCgi6rWs66mA66GdIik7Cu2XiOyaqeq4uOuTnDIucHVzaCgiMTUwIik7CQkK7ZeI7Jqp6ri465OcMi5wdXNoKCIxMzk1Iik7CQkKTGltaXRUaW1lID0gIjIwMTAgMDkgMzAgMjMgNDUgMDAiOwovKgotLS0tLS0tLS0tLS0tLS0tLS0tCu2UhOuhnOq3uOueqCDshKTsoJXrtoDrtoQg64GdCi0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KCi8qCi0tLS0tLS0tLS0tLS0tLS0tLS0K7ZSE66Gc6re4656oIOyLpO2Wieu2gAotLS0tLS0tLS0tLS0tLS0tLS0tCuyXrOq4sOuKlCDrs7jqsqnsoIHsnbgg7L2U65Oc6rCAIO2OvOyzkOyngOuKlCDqs7PsnoXri4jri6QuIOychOydmCDshKDslrjrtoDsmYAg7ISk7KCV7JeQIOydmO2VnCDqsrDqs7zrrLzsnbQK64%2BM7JWE6rCA64qUIOqzs%2BydtOyjoC4g64iI7JeQIOuztOydtOuKlCDqsrDqs7zrrLzsnbQg7J207KCc67aA7YSwIOuCmOyYrOqygeuLiOuLpC4KKi8KbSA9IENvZGU7IAptICs9IEVudGVyKyJTRVQgIVJFUExBWVNQRUVEIEZBU1QiOwptICs9IEVudGVyKyJGSUxFREVMRVRFIG5hbWU9IitwYXRoMisiXFxcI0N1cnJlbnQuanMiOyAKaWltUGxheShtKTsKCi8vIO2YhOyerCDsuaDsmqkg7Y6Y7J207KeA7J2YIOyjvOyGjOyXkOyEnCDshJzrsoTrsojtmLjrpbwg6rKA7IKs7ZW07IScIOq3uOyXkCDrlLDrpbgg7Y6Y7J207KeA66GcIOydtOuPme2VmOq4sC4g7JeQ65%2Bs67Cp7KeA7JqpLgppZihOb3dVUkwubWF0Y2goImh0dHA6Ly9uMS4iKSl7CglTZXJ2ZXJfR3VidW4gPSAxOwoJ7JWF7ISx64yA6riwID0g7JWF7ISx64yA6riwMTsKCe2XiOyaqeycoOyggCA9IO2XiOyaqeycoOyggDE7Cgntl4jsmqnquLjrk5wgPSDtl4jsmqnquLjrk5wxOwp9CmVsc2UgaWYoTm93VVJMLm1hdGNoKCJodHRwOi8vbjIuIikpewoJU2VydmVyX0d1YnVuID0gMjsKCeyVheyEseuMgOq4sCA9IOyVheyEseuMgOq4sDI7Cgntl4jsmqnsnKDsoIAgPSDtl4jsmqnsnKDsoIAyOwoJ7ZeI7Jqp6ri465OcID0g7ZeI7Jqp6ri465OcMjsKfQplbHNlIGlmKE5vd1VSTC5tYXRjaCgiaHR0cDovL24zLiIpKXsKCVNlcnZlcl9HdWJ1biA9IDM7CgnslYXshLHrjIDquLAgPSDslYXshLHrjIDquLAzOwoJ7ZeI7Jqp7Jyg7KCAID0g7ZeI7Jqp7Jyg7KCAMzsKCe2XiOyaqeq4uOuTnCA9IO2XiOyaqeq4uOuTnDM7Cn0KCgoKQWxsSGVybygpOwkvLyDrqqjrk6Ag7JiB7JuFIOyggOyepe2VmOq4sC4g66y07ZWc66Oo7ZSE66W8IOyLnOyeke2VmOq4sCDsoITsl5Ag65SxIO2VnOuyiOunjCDtlZzri6QuCmZvcig7Oyl7CglGaXJzdFBhZ2UoKTsKCWlmKExpbWl0VGltZSAhPSAiIil7aWYoIeyLnOqwhOyytO2BrCgpKXsgYWxlcnQoIuygnO2VnOyLnOqwhOydtCDsp4DrgqzsirXri4jri6QuXG7tlITroZzqt7jrnqjsnYQg7KKF66OM7ZWp64uI64ukLiIpOyBpaW1FeGl0KCk7fX0KCS8vIOyEseyXkCDslYXshLHstpzrsJwg66e067KE6rCAIOyeiOuKlOyngCDqsoDsgqwuIOunjOydvCDshLHsl5Ag7JiB7JuF7J20IOyeiOycvOuptCDsi6TtlonrkKguCgnrs7TslYjssrTtgawoKTsKCWlmKOq4uOuTnO2XiOqwgCA9PSAiTiIpe2FsZXJ0KEVycm1lc1swXSk7aWltRXhpdCgpO30JCQkKCS8vaWYo7Jyg7KCA7ZeI6rCAID09ICJOIil7YWxlcnQoRXJybWVzWzFdKTtpaW1FeGl0KCk7fQoJRmlyc3RQYWdlKCk7CglIMSA9IEZpbmRfSGVybygpOwoKCWlmKCBIMS5sZW5ndGggPiAwICl7CgkJSDIgPSBEUG9pbnRDaGVjayhIMSk7CgkJQ2hlY2tTdGFydGluZygpOwoJCWlmKOuzkeyCrOuwsOy5mOq4sOuKpSA9PSAi7IKs7JqpIinrs5HsgqzrsLDsuZgoKTsKCgkJLy8g66e17ZmU66m07JeQ7IScIOy2nOuwnOyEsSDsooztkZwg7Ja76riwICjqsIDroZwpCgkJbSA9IENvZGU7CgkJbSArPSBFbnRlcisiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L0dhbWVNYXAiOwoJCW0gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUlOUFVUOlRFWFQgQVRUUj1OQU1FOnhwIEV4dHJhY3Q9dHh0IjsKCQlpaW1QbGF5KG0pOwoJCeyEseqwgOuhnOyijO2RnCA9IHBhcnNlSW50KGlpbUdldExhc3RFeHRyYWN0KCkpOwoJCQoJCS8vIOunte2ZlOuptOyXkOyEnCDstpzrsJzshLEg7KKM7ZGcIOyWu%2Bq4sCAo7IS466GcKQoJCW0gPSBDb2RlOwoJCW0gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUlOUFVUOlRFWFQgQVRUUj1OQU1FOnlwIEV4dHJhY3Q9dHh0IjsKCQlpaW1QbGF5KG0pOwoJCeyEseyEuOuhnOyijO2RnCA9IHBhcnNlSW50KGlpbUdldExhc3RFeHRyYWN0KCkpOwoJCQoJCe2YhOyerOunteychOy5mCA9ICJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvR2FtZU1hcCI7CgkJCgkJRmluZF9WaWNEZXZpbENhc3RsZSgpOwoJCQoJCWlmKCBIMi5sZW5ndGggPiAwICl7CgkJCWlmKOunteydtOuPmeuylOychC5tYXRjaCgiLSIpKXsKCQkJCXZhciDstZzshozrspTsnIQgPSAwOwoJCQkJdmFyIOy1nOuMgOuylOychCA9IDA7CgkJCQkKCQkJCVRlbTEgPSDrp7XsnbTrj5nrspTsnIQuc3BsaXQoIi0iKTsKCQkJCey1nOyGjOuylOychCA9IHBhcnNlSW50KFRlbTFbMF0pOwoJCQkJ7LWc64yA67KU7JyEID0gcGFyc2VJbnQoVGVtMVsxXSk7CgkJCQoJCQkJZm9yKHZhciBhMSA9IOy1nOyGjOuylOychCA7IGExIDwg7LWc64yA67KU7JyEICsgMSA7IGExKyspewoJCQkJCeqwgOuhnOydtOuPmSA9IOyEseqwgOuhnOyijO2RnCAtIChhMSAqIOqwgOuhnCk7CgkJCQkJ7IS466Gc7J2064%2BZID0g7ISx7IS466Gc7KKM7ZGcICsgKGExICog7IS466GcKTsKCQkJCQkKCQkJCQkvLyDsi5zsnpHrp7XsnLzroZwg7J2064%2BZ7ZWY6riwCgkJCQkJbSA9IENvZGU7CgkJCQkJbSArPSBFbnRlcisiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L0dhbWVNYXA%2FeHA9IivqsIDroZzsnbTrj5krIiZ5cD0iK%2ByEuOuhnOydtOuPmTsKCQkJCQlpaW1QbGF5KG0pOwoJCQkJCQoJCQkJCe2YhOyerOunteychOy5mCA9ICJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvR2FtZU1hcD94cD0iK%2BqwgOuhnOydtOuPmSsiJnlwPSIr7IS466Gc7J2064%2BZOwoJCQkJCQoJCQkJCS8vIOyYpOuluOyqveydtOuPmQoJCQkJCWZvcih2YXIgYSA9IDAgOyBhIDwgKGExICogMikgOyBhKyspewoJCQkJCQlpZihIMi5sZW5ndGggPT0gMCkgYnJlYWs7CgkJCQkJCU1vdmVNYXAoIuyasCIpOwoJCQkJCQlGaW5kX1ZpY0RldmlsQ2FzdGxlKCk7CgkJCQkJfQoJCQkJCQoJCQkJCS8vIOyVhOuemOyqveydtOuPmQoJCQkJCWZvcih2YXIgYSA9IDAgOyBhIDwgKGExICogMikgOyBhKyspewoJCQkJCQlpZihIMi5sZW5ndGggPT0gMCkgYnJlYWs7CgkJCQkJCU1vdmVNYXAoIu2VmCIpOwoJCQkJCQlGaW5kX1ZpY0RldmlsQ2FzdGxlKCk7CgkJCQkJfQoJCQkJCQoJCQkJCS8vIOyZvOyqveydtOuPmQoJCQkJCWZvcih2YXIgYSA9IDAgOyBhIDwgKGExICogMikgOyBhKyspewoJCQkJCQlpZihIMi5sZW5ndGggPT0gMCkgYnJlYWs7CgkJCQkJCU1vdmVNYXAoIuyijCIpOwoJCQkJCQlGaW5kX1ZpY0RldmlsQ2FzdGxlKCk7CgkJCQkJfQoJCQkJCQoJCQkJCS8vIOychOyqveydtOuPmQoJCQkJCWZvcih2YXIgYSA9IDAgOyBhIDwgKGExICogMikgOyBhKyspewoJCQkJCQlpZihIMi5sZW5ndGggPT0gMCkgYnJlYWs7CgkJCQkJCU1vdmVNYXAoIuyDgSIpOwoJCQkJCQlGaW5kX1ZpY0RldmlsQ2FzdGxlKCk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWVsc2V7CgkJCQnqsIDroZzsnbTrj5kgPSDshLHqsIDroZzsooztkZwgLSAo66e17J2064%2BZ67KU7JyEICog6rCA66GcKTsKCQkJCeyEuOuhnOydtOuPmSA9IOyEseyEuOuhnOyijO2RnCArICjrp7XsnbTrj5nrspTsnIQgKiDshLjroZwpOwoJCQkJCgkJCQkvLyDsi5zsnpHrp7XsnLzroZwg7J2064%2BZ7ZWY6riwCgkJCQltID0gQ29kZTsKCQkJCW0gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9HYW1lTWFwP3hwPSIr6rCA66Gc7J2064%2BZKyImeXA9IivshLjroZzsnbTrj5k7CgkJCQlpaW1QbGF5KG0pOwoJCQkJCgkJCQntmITsnqzrp7XsnITsuZggPSAiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L0dhbWVNYXA%2FeHA9IivqsIDroZzsnbTrj5krIiZ5cD0iK%2ByEuOuhnOydtOuPmTsKCQkJCQoJCQkJLy8g7Jik66W47Kq97J2064%2BZCgkJCQlmb3IodmFyIGEgPSAwIDsgYSA8ICjrp7XsnbTrj5nrspTsnIQgKiAyKSA7IGErKyl7CgkJCQkJaWYoSDIubGVuZ3RoID09IDApIGJyZWFrOwoJCQkJCU1vdmVNYXAoIuyasCIpOwoJCQkJCUZpbmRfVmljRGV2aWxDYXN0bGUoKTsKCQkJCX0KCQkJCQoJCQkJLy8g7JWE656Y7Kq97J2064%2BZCgkJCQlmb3IodmFyIGEgPSAwIDsgYSA8ICjrp7XsnbTrj5nrspTsnIQgKiAyKSA7IGErKyl7CgkJCQkJaWYoSDIubGVuZ3RoID09IDApIGJyZWFrOwoJCQkJCU1vdmVNYXAoIu2VmCIpOwoJCQkJCUZpbmRfVmljRGV2aWxDYXN0bGUoKTsKCQkJCX0KCQkJCQoJCQkJLy8g7Jm87Kq97J2064%2BZCgkJCQlmb3IodmFyIGEgPSAwIDsgYSA8ICjrp7XsnbTrj5nrspTsnIQgKiAyKSA7IGErKyl7CgkJCQkJaWYoSDIubGVuZ3RoID09IDApIGJyZWFrOwoJCQkJCU1vdmVNYXAoIuyijCIpOwoJCQkJCUZpbmRfVmljRGV2aWxDYXN0bGUoKTsKCQkJCX0KCQkJCQoJCQkJLy8g7JyE7Kq97J2064%2BZCgkJCQlmb3IodmFyIGEgPSAwIDsgYSA8ICjrp7XsnbTrj5nrspTsnIQgKiAyKSA7IGErKyl7CgkJCQkJaWYoSDIubGVuZ3RoID09IDApIGJyZWFrOwoJCQkJCU1vdmVNYXAoIuyDgSIpOwoJCQkJCUZpbmRfVmljRGV2aWxDYXN0bGUoKTsKCQkJCX0KCQkJfQoJCX0KCQlCYWNrRGV2aWwoKTsKCX0KCWVsc2UgewoJCWlpbURpc3BsYXkoIuyVheyEseydhCDrs7TrgrTquLDroZwg7ZWcIOyYgeybheydtCDtmITsnqwg7ISx7JeQIOyXhuyKteuLiOuLpC4iKTsKCQkvLyDsnbTrr7gg7Lac64%2BZ7ZWcIOyVheyEseydtCDrj4TssKntlZjquLAg7KCE7JeQIO2EuOumrOuKlOyngCDqsoDsgqztlZjqs6Ag7Ye06rCB7ZWY6riwLgoJCUJhY2tEZXZpbCgpOwoJfQoJ7JiB7JuF7LmY66OMKCk7CglFbmRDaGVjaygpOwp9CgoKLyoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjCu2VqOyImOu2gOu2hAojIyMjIyMjIyMjIyMjIyMjIyMjIyMKKi8KCmZ1bmN0aW9uIOyLnOqwhOyytO2BrCgpewoJTWFjcm9fTWFpbiA9IENvZGU7CglNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz0xIFRZUEU9ZGl2IEFUVFI9dHh0OuyEnOuyhOyLnOqwhCogRXh0cmFjdD10eHQiOwoJaWltUGxheShNYWNyb19NYWluKTsKCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgkKCVRlbTEgPSBFeHQuc3BsaXQoIu%2B8miIpOwoJVGVtMiA9IFRlbTFbMV0uc3BsaXQoIuuFhCIpOwoJ7Jew64%2BEID0gVGVtMlswXTsKCVRlbTIgPSBUZW0yWzFdLnNwbGl0KCLsm5QiKTsKCeyblCA9IHBhcnNlSW50KFRlbTJbMF0pOwoJaWYo7JuUIDwgMTApIOyblCA9ICIwIiArIOyblDsKCVRlbTIgPSBUZW0yWzFdLnNwbGl0KCLsnbwiKTsKCeydvCA9IHBhcnNlSW50KFRlbTJbMF0pOwoJaWYo7J28IDwgMTApIOydvCA9ICIwIiArIOydvDsKCVRlbTIgPSBUZW0yWzFdLnNwbGl0KCI6Iik7Cgnsi5wgPSBUZW0yWzBdOwoJ67aEID0gVGVtMlsxXTsKCey0iCA9IFRlbTJbMl07CgkKCVRlbTMgPSBwYXJzZUludCjsl7Drj4Qr7JuUK%2BydvCvsi5wr67aEK%2By0iCk7CglleHAgPSBSZWdFeHAoLyAvaWcpOwoJTHRpbWUgPSBwYXJzZUludChMaW1pdFRpbWUucmVwbGFjZShleHAsICIiKSk7CgkKCWlmKFRlbTMgPiBMdGltZSkgcmV0dXJuIGZhbHNlOwoJZWxzZSByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24g67O07JWI7LK07YGsKCl7CglpZijtl4jsmqnquLjrk5wubGVuZ3RoID4gMCl7CgkJTWFjcm9fTWFpbiA9IENvZGU7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L2FsbGlhbnoiOwoJCU1hY3JvX01haW4gKz0gRW50ZXIrIlNFVCAhVElNRU9VVF9UQUcgMSI7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz0xIFRZUEU9aW1nIEFUVFI9c3JjOiovc3lzL2d1aWxkYXZhdGFyKiBFeHRyYWN0PWhyZWYiOwoJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCQkKCQlUZW0xID0gRXh0LnNwbGl0KCIvIik7CgkJVGVtMSA9IFRlbTEucG9wKCk7CgkJVGVtMSA9IFRlbTEuc3BsaXQoIi4iKTsKCQlUZW0xID0gVGVtMVswXTsKCQkKCQlmb3IodmFyIGEgPSAwIDsgYSA8IO2XiOyaqeq4uOuTnC5sZW5ndGggOyBhKyspewoJCQlpZihUZW0xID09IO2XiOyaqeq4uOuTnFthXSkg6ri465Oc7ZeI6rCAID0gIlkiOwoJCX0KCQlpZijquLjrk5ztl4jqsIAgPT0gIiIpIOq4uOuTnO2XiOqwgCA9ICJOIjsKCX0KCQoJLyppZijtl4jsmqnsnKDsoIAubGVuZ3RoID4gMCl7CgkJTWFjcm9fTWFpbiA9IENvZGU7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L3VzZXJ2aWV3IjsKCQlNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPXRoIEFUVFI9dHh0OuycoOyggCogRXh0cmFjdD10eHQiOwoJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCQkKCQlUZW0xID0gRXh0LnNwbGl0KCLvvJoiKTsKCQlUZW0yID0gVGVtMVsxXTsKCgkJZm9yKHZhciBhID0gMCA7IGEgPCDtl4jsmqnsnKDsoIAubGVuZ3RoIDsgYSsrKXsKCQkJaWYoVGVtMiA9PSDtl4jsmqnsnKDsoIBbYV0pIOycoOyggO2XiOqwgCA9ICJZIjsKCQl9CgkJaWYo7Jyg7KCA7ZeI6rCAID09ICIiKSDsnKDsoIDtl4jqsIAgPSAiTiI7Cgl9Ki8KfQoKLy8g7KCA7KeI7LK066Cl7J2YIOyYgeybheydhCDsnZjro4zthZDtirjsl5Ag7LKY67CV6riwIO2VqOyImApmdW5jdGlvbiDsmIHsm4XsuZjro4woKXsKCglNYWNyb19NYWluID0gQ29kZTsKCU1hY3JvX01haW4gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9taW5kZXgiOwoJTWFjcm9fTWFpbiArPSBFbnRlcisiU0VUICFUSU1FT1VUX1RBRyAxIjsKCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUFSRUEgQVRUUj1USVRMRTrsnZjro4zthZDtirgqIEV4dHJhY3Q9aHJlZiI7CglpaW1QbGF5KE1hY3JvX01haW4pOwoJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCWlmKCBFeHQgIT0gIiNFQU5GIyIpewoJCS8vIOyWtOuWpCDsooXsobHsnZgg7Ja065akIOychOy5mOyXkCDsp4DslrTsp4Qg7J2Y66OM7YWQ7Yq4642YIOqwhOyXkCDrqqjrkZAg7J2064%2BZ7ZWY64qUIOunpO2BrOuhnCDsvZTrk5zsnoQuCgkJLy8g67O064uI6rmMIOyjvOyGjOunjOycvOuhnOuKlCDqs7XthrXrkJjsp4DqsIAg7JWK7JWE7IScIOydtOugh%2BqyjCDsiJjrj5nsnLzroZwg7KeB7KCRIOy9lOuUqe2WiOydjC4KCQlNYWNyb19NYWluID0gQ29kZTsKCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1BUkVBIEFUVFI9VElUTEU67J2Y66OM7YWQ7Yq4KiI7CgkJaWltUGxheShNYWNyb19NYWluKTsKCQkKCQlmb3IoIHZhciBhID0gMCA7IGEgPCDtl4jslb3smIHsm4UubGVuZ3RoIDsgYSsrKXsKCQkJTWFjcm9fTWFpbiA9IENvZGU7CgkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlNFVCAhVElNRU9VVF9UQUcgMSI7CgkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPVNFTEVDVCBGT1JNPU5BTUU6dHJlYXRtZW50Zm9ybSBBVFRSPU5BTUU6dHJlYXRtZW50dGltZSIr7ZeI7JW97JiB7JuFW2FdKyIgQ09OVEVOVD0lMSI7CgkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9UjEgVFlQRT1BIEFUVFI9VFhUOuy5mOujjCI7CgkJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJCWlpbURpc3BsYXkoIuyggOyniOyytOugpSDsmIHsm4XsnbQg7J2Y66OM7YWQ7Yq47JeQIOyymOuwle2emeuLiOuLpCIr7ZeI7JW97JiB7JuFW2FdKTsKCQkJ7ZeI7JW97JiB7JuFLnNwbGljZShhLDEpOwoJCX0KCX0KCn0KCi8vIOyghOyytCDsmIHsm4Ug7KCA7J6l7ZWY6riwIO2VqOyImApmdW5jdGlvbiBBbGxIZXJvKCl7CglNYWNyb19NYWluID0gQ29kZTsKCU1hY3JvX01haW4gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9taW5kZXgiOwoJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz0xIFRZUEU9QVJFQSBBVFRSPVRJVExFOuq1sOyCrOyngO2cmOyGjCoiOwoJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz0yIFRZUEU9SU1HIEFUVFI9U1JDOip6X2Jhb3NoaS5naWYiOwoJaWltUGxheShNYWNyb19NYWluKTsKCQoJZm9yKCA7IDsgKXsKCQlNYWNyb19NYWluID0gQ29kZTsKCQlNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9UjEgVFlQRT1JTUcgQVRUUj1TUkM6KmF2YXRhciogRXh0cmFjdD1ocmVmIjsKCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgkKCQlpZiggRXh0ID09ICIjRUFORiMiKSBicmVhazsKCQllbHNlIHsKCQkJLy8g6rK966Gc7JeQ7IScIOyYgeybhSDqs6DsnKDrsojtmLjrpbwg7Kq86rCc7IScIOyWu%2ByWtOuCtOq4sAoJCQlUZW0gPSBFeHQ7CgkJCVRlbUFyciA9IFRlbS5zcGxpdCgiLyIpOwoJCQlUZW0gPSBUZW1BcnIucG9wKCk7CgkJCVRlbUFyciA9IFRlbS5zcGxpdCgiLiIpOwoJCQlpaW1EaXNwbGF5KCLsoITssrQg7JiB7JuF7J2EIOyggOyepe2VmOuKlCDspJEuLi4iK1RlbUFyclswXSk7CgkJCQoJCQkvLyDslYXshLHrjIDquLDsmIHsm4Ug6rKA7IKsCgkJCXZhciBIY2hrID0gIiI7CgkJCWZvcih2YXIgYSA9IDAgOyBhIDwg7JWF7ISx64yA6riwLmxlbmd0aCA7IGErKyl7CgkJCQlpZijslYXshLHrjIDquLBbYV0gPT0gVGVtQXJyWzBdKSBIY2hrID0gIuuMgOq4sOyYgeybhSI7CgkJCX0KCQkJaWYoSGNoayAhPSAi64yA6riw7JiB7JuFIikgQXR0X0hlcm8ucHVzaChUZW1BcnIuc2hpZnQoKSk7CgkJfQoJfQoJRW5kQ2hlY2soKTsKfQoKLy8g7JWF7ISx7JeQIOyYgeybheydhCDrs7Trg4jripTrjbAg64%2BE7KSR7JeQIOuLpOuluCDsgqzrnozsl5Ag7J2Y7ZW07IScIO2EuOuguOuKlOyngCDqsoDsgqztlbTshJwg7YS466C47Jy866m0IO2HtOqwge2VmOuKlCDtlajsiJguCmZ1bmN0aW9uIEJhY2tEZXZpbCgpewoJZm9yKCB2YXIgYSA9IDAgOyBhIDwgQXR0X0hlcm8ubGVuZ3RoIDsgYSsrICl7CgkJRW5kQ2hlY2soKTsKCQlNYWNyb19NYWluID0gQ29kZTsKCQlNYWNyb19NYWluICs9IEVudGVyKyJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvYnVpbGRpbmc%2FdGlkPTE1IjsKCQlNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPWEgQVRUUj1ocmVmOipvaWQ9IitBdHRfSGVyb1thXSsiIEV4dHJhY3Q9dHh0IjsKCQlpaW1EaXNwbGF5KCLstpzrj5nspJHsnbgg7JiB7JuF7J20IOyeiOuKlOyngCDqsoDsgqzspJEgOiAiKyhhKzEpKyLrsojsp7giKTsKCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgkJaWYoRXh0ICE9ICIjRUFORiMiKXsKCQkJTWFjcm9fTWFpbiA9IENvZGU7CgkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlNFVCAhVElNRU9VVF9UQUcgMSI7CgkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPWEgQVRUUj1ocmVmOipvaWQ9IitBdHRfSGVyb1thXSsiIEV4dHJhY3Q9dHh0IjsKCQkJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz1SLTEgVFlQRT1pbWcgQVRUUj1ocmVmOiogRXh0cmFjdD1ocmVmIjsKCQkJaWltUGxheShNYWNyb19NYWluKTsKCQkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCQkKCQkJaWYoRXh0ICE9ICIjRUFORiMiICYmIEV4dC5tYXRjaCgiYXJyb3cxLmdpZiIpKXsKCQkJCU1hY3JvX01haW4gPSBDb2RlOwoJCQkJTWFjcm9fTWFpbiArPSBFbnRlcisiU0VUICFUSU1FT1VUX1RBRyAxIjsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPWEgQVRUUj1ocmVmOipvaWQ9IitBdHRfSGVyb1thXSsiIEV4dHJhY3Q9dHh0IjsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9Ui0xIFRZUEU9YSBBVFRSPWhyZWY6KiI7CgkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1pbWcgQVRUUj1zcmM6KmN6XzYuZ2lmIEV4dHJhY3Q9aHJlZiI7CgkJCQlpaW1EaXNwbGF5KCLthLjrprAg7JWF7ISx7J247KeAIOqygOyCrOykkS4uLiA6ICIrKGErMSkrIuuyiOynuCIpOwoJCQkJaWltUGxheShNYWNyb19NYWluKTsKCQkJCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgkJCQkKCQkJCWlmKEV4dCA9PSAiI0VBTkYjIil7CgkJCQkJTWFjcm9fTWFpbiA9IENvZGU7CgkJCQkJTWFjcm9fTWFpbiArPSBFbnRlcisiU0VUICFUSU1FT1VUX1RBRyAxIjsKCQkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1pbWcgQVRUUj1zcmM6KmN6XzZfMS5naWYgRXh0cmFjdD1ocmVmIjsKCQkJCQlpaW1EaXNwbGF5KCLri6Trpbgg7IKs64Ol7J2EIOqwhCDqsoPsnbjsp4Ag6rKA7IKs7KSRLi4uIDogIisoYSsxKSsi67KI7Ke4Iik7CgkJCQkJaWltUGxheShNYWNyb19NYWluKTsKCQkJCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoJCQkJCQoJCQkJCWlmKEV4dCAhPSAiI0VBTkYjIil7CgkJCQkJTWFjcm9fTWFpbiA9IENvZGU7CgkJCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlNFVCAhVElNRU9VVF9UQUcgMSI7CgkJCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9idWlsZGluZz90aWQ9MTUiOwoJCQkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1hIEFUVFI9aHJlZjoqb2lkPSIrQXR0X0hlcm9bYV0rIiBFeHRyYWN0PXR4dCI7CgkJCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9Ui0xIFRZUEU9aW5wdXQ6Y2hlY2tib3ggQVRUUj1uYW1lOmV2ZW50SWQgY29udGVudD15ZXMiOwoJCQkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVIxIFRZUEU9aW5wdXQ6c3VibWl0IEFUVFI9dmFsdWU67LKg7IiYIjsKCQkJCQkJaWltUGxheShNYWNyb19NYWluKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJRW5kQ2hlY2soKTsKCX0KfQoKCi8vIOyEseydmCDsmIHsm4XsnYQg7LC%2B64qUIO2VqOyImC4KZnVuY3Rpb24gRmluZF9IZXJvKCl7Cgl2YXIgVGVtID0gIiI7Cgl2YXIgVGVtQXJyID0gbmV3IEFycmF5KCk7Cgl2YXIgSGVyb2lkID0gbmV3IEFycmF5KCk7CgkKCU1hY3JvX01haW4gPSBDb2RlOwoJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz0xIFRZUEU9SDIgQVRUUj1UWFQ66rWw64yA7KCV67O0KiI7CglpaW1QbGF5KE1hY3JvX01haW4pOwoJCglmb3IoIDsgOyApewoJCU1hY3JvX01haW4gPSBDb2RlOwoJCU1hY3JvX01haW4gKz0gRW50ZXIrIlNFVCAhVElNRU9VVF9UQUcgMSI7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz1SMSBUWVBFPUlNRyBBVFRSPVNSQzoqYXZhdGFyKiBFeHRyYWN0PWhyZWYiOwoJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCQoJCWlmKCBFeHQgPT0gIiNFQU5GIyIpIGJyZWFrOwoJCWVsc2UgewoJCQkvLyDqsr3roZzsl5DshJwg7JiB7JuFIOqzoOycoOuyiO2YuOulvCDsqrzqsJzshJwg7Ja77Ja064K06riwCgkJCVRlbSA9IEV4dDsKCQkJVGVtQXJyID0gVGVtLnNwbGl0KCIvIik7CgkJCVRlbSA9IFRlbUFyci5wb3AoKTsKCQkJVGVtQXJyID0gVGVtLnNwbGl0KCIuIik7CgkJCWlpbURpc3BsYXkoIuy2nOuPme2VoCDsmIHsm4XsnYQg7KCA7J6l7ZWY64qUIOykkS4uLiIrVGVtQXJyWzBdKTsKCQkJCgkJCS8vIOyVheyEseuMgOq4sOyYgeybhSDqsoDsgqwKCQkJdmFyIEhjaGsgPSAiIjsKCQkJZm9yKHZhciBhID0gMCA7IGEgPCDslYXshLHrjIDquLAubGVuZ3RoIDsgYSsrKXsKCQkJCWlmKOyVheyEseuMgOq4sFthXSA9PSBUZW1BcnJbMF0pIEhjaGsgPSAi64yA6riw7JiB7JuFIjsKCQkJfQoJCQlpZihIY2hrICE9ICLrjIDquLDsmIHsm4UiKSBIZXJvaWQucHVzaChUZW1BcnIuc2hpZnQoKSk7CgkJfQoJCUVuZENoZWNrKCk7Cgl9CglyZXR1cm4gSGVyb2lkOwoKfQoKLy8g642U67iU7Y%2Bs7J247Yq4IOuzhOuhnCDsoJXroKztlZjripQg7ZWo7IiYCmZ1bmN0aW9uIERQb2ludENoZWNrKEhBcnIpewoJdmFyIFRlbUgxID0gbmV3IEFycmF5KCk7Cgl2YXIgVGVtSDIgPSBuZXcgQXJyYXkoKTsKCXZhciBUZW1IMyA9IG5ldyBBcnJheSgpOwoJ7ZeI7JW97JiB7JuFID0gW107CgoJZm9yKHZhciBhID0gMCA7IGEgPCBIQXJyLmxlbmd0aCA7IGErKyl7CgkJTWFjcm9fTWFpbiA9IENvZGU7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L2hlcm8%2Fb2lkPSIrSEFyclthXTsKCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1saSBBVFRSPVRYVDrqsr3tl5jsuZg8U1A%2B642U67iUKiBFWFRSQUNUPVRYVCI7CgkJaWltUGxheShNYWNyb19NYWluKTsKCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoJCQkKCQl2YXIgVGVtU1AgPSBFeHQuc3BsaXQoIjoiKTsKCQlUZW1IMVthXSA9IHBhcnNlSW50KFRlbVNQWzFdKTsKCQlpaW1EaXNwbGF5KCLrjZTtj6zqsIAg66eO7J2AIOyYgeybhSDsiJzsnLzroZwg7KCV66Cs7ZWY64qU7KSRLi4uIDogIithKyLrsojsp7giKTsKCQkKCQljaGttZXMgPSBDb2RlOwoJCWNoa21lcyArPSBFbnRlcisiVEFHIFBPUz0xIFRZUEU9VEggQVRUUj1UWFQ67IOd66qF7LmYIjsKCQljaGttZXMgKz0gRW50ZXIrIlRBRyBQT1M9UjEgVFlQRT1URCBBVFRSPVRYVDoqIEVYVFJBQ1Q9VFhUIjsKCQlpaW1QbGF5KGNoa21lcyk7CgkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCQkKCQlUZW0xID0gRXh0LnNwbGl0KCIvIik7CgkJCgkJLy8g7ZS8IDEvMiDsnbTtlZjsnbzrlYwg7J2467Kk7JeQIOyeiOuKlCDqs6DquLDrqLnquLAKCQlpZihwYXJzZUludChUZW0xWzBdKSA8IHBhcnNlSW50KHBhcnNlSW50KFRlbTFbMV0pIC8gMikpewoJCQl2YXIgVGVtQXJyID0gbmV3IEFycmF5KCk7CgkJCVRlbUFyclswXSA9ICJ1cGRhdGUtYmVhZi0wMi5qcGciOwoJCQlUZW1BcnJbMV0gPSAidXBkYXRlLWJlYWYtMDEuanBnIjsKCQkJCgkJCWZvcih2YXIgYiA9IDAgOyBiIDwgMiA7IGIrKyl7CgkJCQlNYWNyb19NYWluID0gQ29kZTsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlNFVCAhVElNRU9VVF9UQUcgMSI7CgkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1JTUcgQVRUUj1TUkM6KiIrVGVtQXJyW2JdKyIgRVhUUkFDVD1IUkVGIjsKCQkJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoKCQkJCWlmKEV4dCAhPSAiI0VBTkYjIil7CgkJCQkJTWFjcm9fTWFpbiA9IENvZGU7CgkJCQkJTWFjcm9fTWFpbiArPSBFbnRlcisiT05ESUFMT0cgUE9TPTEgQlVUVE9OPU9LIENPTlRFTlQ9IjsKCQkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1JTUcgQVRUUj1TUkM6KiIrVGVtQXJyW2JdOwoJCQkJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgkJCgkJY2hrbWVzID0gQ29kZTsKCQljaGttZXMgKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPVRIIEFUVFI9VFhUOuyDneuqhey5mCI7CgkJY2hrbWVzICs9IEVudGVyKyJUQUcgUE9TPVIxIFRZUEU9VEQgQVRUUj1UWFQ6KiBFWFRSQUNUPVRYVCI7CgkJaWltUGxheShjaGttZXMpOwoJCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgkJCgkJVGVtMSA9IEV4dC5zcGxpdCgiLyIpOwoJCQoJCS8vIO2UvCAxLzcg7J207ZWY7J2865WMIO2XiOyVveyYgeybheycvOuhnCDsnoTrqoXtlZjquLAKCQlpZihwYXJzZUludChUZW0xWzBdKSA8IHBhcnNlSW50KHBhcnNlSW50KFRlbTFbMV0pIC8gNykpIO2XiOyVveyYgeybhS5wdXNoKEhBcnJbYV0pOwoJCQoJCUVuZENoZWNrKCk7Cgl9CglUZW1IMiA9IHJTb3J0KFRlbUgxLCAiciIpOwoKCWZvciggdmFyIGEgPSAwIDsgYSA8IFRlbUgyWzBdLmxlbmd0aCA7IGErKyl7CgkJVGVtSDNbYV0gPSBIQXJyW1RlbUgyWzFdW2FdXTsKIAl9CiAJcmV0dXJuIFRlbUgzOwp9CgoKLy8g7J2066%2B4IOyYgeybheydtCDstpzrj5nspJHsnbgg7JWF66eI7ISx7J20IOyeiOuKlOyngCDqsoDsgqwKZnVuY3Rpb24gQ2hlY2tTdGFydGluZygpewoJU3RhcnRpbmdDYXMgPSBbXTsKCQoJTWFjcm9fTWFpbiA9IENvZGU7CglNYWNyb19NYWluICs9IEVudGVyKyJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvYnVpbGRpbmc%2FdGlkPTE1IjsKCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MiBUWVBFPUlNRyBBVFRSPVNSQzoqel9iYW9zaGkuZ2lmIjsKCWlpbVBsYXkoTWFjcm9fTWFpbik7CglpaW1EaXNwbGF5KCLsnbTrr7gg7Lac64%2BZ7ZWcIOyYgeybheydtCDsnojripTsp4Ag6rKA7IKs7KSRLi4uIik7Cglmb3IoIDsgOyApewoJCUVuZENoZWNrKCk7CgkJCgkJTWFjcm9fTWFpbiA9IENvZGU7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiU0VUICFUSU1FT1VUX1RBRyAxIjsKCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVIxIFRZUEU9SU1HIEFUVFI9U1JDOiphcnJvdzEuZ2lmIEVYVFJBQ1Q9SFJFRiI7CgkJaWltUGxheShNYWNyb19NYWluKTsKCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoKCQlpZihFeHQgIT0gIiNFQU5GIyIpewoJCQlNYWNyb19NYWluID0gQ29kZTsKCQkJTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz1SMSBUWVBFPUEgQVRUUj1UWFQ67JWF66eI7ISxIEVYVFJBQ1Q9SFJFRiI7CgkJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgoJCQlUZW0xID0gRXh0LnNwbGl0KCI9Iik7CgkJCVN0YXJ0aW5nQ2FzLnB1c2goVGVtMVsxXSk7CgkJfQoJCWVsc2UgYnJlYWs7Cgl9Cn0KCgovLyDrp7XsnbTrj5kg7ZWo7IiYCmZ1bmN0aW9uIE1vdmVNYXAo7J2064%2BZ67Cp7ZalKXsKCXN3aXRjaCjsnbTrj5nrsKntlqUpewoJCWNhc2UgIuyDgSI6CgkJ7IS466Gc7J2064%2BZID0g7IS466Gc7J2064%2BZICsg7IS466GcOwoJCWJyZWFrOwoJCQoJCWNhc2UgIu2VmCI6CgkJ7IS466Gc7J2064%2BZID0g7IS466Gc7J2064%2BZIC0g7IS466GcOwoJCWJyZWFrOwoJCQoJCWNhc2UgIuyijCI6CgkJ6rCA66Gc7J2064%2BZID0g6rCA66Gc7J2064%2BZIC0g6rCA66GcOwoJCWJyZWFrOwoJCQoJCWNhc2UgIuyasCI6CgkJ6rCA66Gc7J2064%2BZID0g6rCA66Gc7J2064%2BZICsg6rCA66GcOwoJCWJyZWFrOwoJfQoJCgltID0gQ29kZTsKCW0gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9HYW1lTWFwP3hwPSIr6rCA66Gc7J2064%2BZKyImeXA9IivshLjroZzsnbTrj5k7CglpaW1QbGF5KG0pOwoJCgntmITsnqzrp7XsnITsuZggPSAiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0L0dhbWVNYXA%2FeHA9IivqsIDroZzsnbTrj5krIiZ5cD0iK%2ByEuOuhnOydtOuPmTsKfQoKLy8g7JWF7ISx65Ok7J2YIOqxsOumrOulvCDsnqzshJwg6rCA6rmM7Jq0IOyInOyEnOuMgOuhnCDsoJXroKztlZjquLAuCmZ1bmN0aW9uIEZpbmRfVmljRGV2aWxDYXN0bGUoKXsKCS8vIOyghOyXreuwsOyXtCDstIjquLDtmZQKCVZpY19EZXZpbENhc3RsZSA9IFtdOwoJVGVtSW5kZXggPSBbXTsKCURDID0gW107CgkKCU1hY3JvX01haW4gPSBDb2RlOwoJTWFjcm9fTWFpbiArPSBFbnRlcisiU0VUICFUSU1FT1VUX1RBRyAxIjsKCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPWgyIEFUVFI9dHh0Ou2YhOyerDxTUD7shKDtg53sp4Dsl63snZgqIjsKCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkKCWZvciggOyA7ICl7CgkJTWFjcm9fTWFpbiA9IENvZGU7CgkJTWFjcm9fTWFpbiArPSBFbnRlcisiU0VUICFUSU1FT1VUX1RBRyAxIjsKCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVIxIFRZUEU9SU1HIEFUVFI9U1JDOi9zeXMvaW1hZ2VzL2MvYzYuZ2lmIEVYVFJBQ1Q9SFJFRiI7CgkJaWltUGxheShNYWNyb19NYWluKTsKCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoJCQoJCWlmKCBFeHQgPT0gIiNFQU5GIyIpIGJyZWFrOwoJCWVsc2V7CgkJCU1hY3JvX01haW4gPSBDb2RlOwoJCQlNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVIxIFRZUEU9YSBBVFRSPWhyZWY6KiBFWFRSQUNUPUhSRUYiOwoJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVItMSBUWVBFPWEgQVRUUj1ocmVmOiogRVhUUkFDVD1IUkVGIjsKCQkJaWltUGxheShNYWNyb19NYWluKTsKCQkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoMik7CgkJCQoJCQlUZW0xID0gRXh0LnNwbGl0KCI9Iik7CgkJCVRlbUluZGV4LnB1c2goVGVtMVsxXSk7CgkJCWlpbURpc3BsYXkoIu2EuOyImCDsnojripQg7JWF7ISx7J2EIOywvuuKlOykkS4uLlxuIitUZW0xKTsKCQl9Cgl9CgkKCS8vIOuzuOyEseqzvOydmCDqsbDrpqzrpbwg6rOE7IKw7ZWY6rOgIOqwgOq5jOyatCDqs7PrtoDthLAg7KCV66Cs7ZWY6riwCglmb3IoIHZhciBhID0gMCA7IGEgPCBUZW1JbmRleC5sZW5ndGggOyBhKysgKXsKCQlFbmRDaGVjaygpOwoJCXZhciByZXMyID0gTnVtYmVyQ3V0KFRlbUluZGV4W2FdKTsKCQkKCQl2YXIgcmVzID0gbmV3IEFycmF5KCk7CgkJcmVzWzBdID0gTWF0aC5hYnMo7ISx6rCA66Gc7KKM7ZGcKSAtIE1hdGguYWJzKHJlczJbMF0pOwoJCXJlc1sxXSA9IE1hdGguYWJzKOyEseyEuOuhnOyijO2RnCkgLSBNYXRoLmFicyhyZXMyWzFdKTsKCQlyZXNbMF0gPSBNYXRoLmFicyhyZXNbMF0pOwoJCXJlc1sxXSA9IE1hdGguYWJzKHJlc1sxXSk7CgkJcmVzLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS1iO30pOwoKCQl2YXIgcmVzMyA9IHJlc1sxXTsKCQlWaWNfRGV2aWxDYXN0bGUucHVzaChyZXMzKTsKCX0KCXZhciBEY0FyciA9IHJTb3J0KFZpY19EZXZpbENhc3RsZSk7CgoJLy8g7KCV66Cs7ZWcIOuMgOuhnCDslYXrp4jshLEg6rOg7Jyg67KI7Zi4IOygleugrO2VmOq4sAoJZm9yKCB2YXIgYSA9IDAgOyBhIDwgRGNBcnJbMF0ubGVuZ3RoIDsgYSsrKXsKCQlEQ1thXSA9IFRlbUluZGV4W0RjQXJyWzFdW2FdXTsKIAl9CiAJQXR0YWNrKCk7CiAJCiAJaWYoSDIubGVuZ3RoID4gMCl7CgkgCU1hY3JvX01haW4gPSBDb2RlOwoJIAlNYWNyb19NYWluICs9IEVudGVyK%2B2YhOyerOunteychOy5mDsKCSAJaWltUGxheShNYWNyb19NYWluKTsKIAl9Cn0KCi8vIOyggOyepeuQnCDsmIHsm4XsnbQg6rO16rKp7ZWY64qUIO2VqOyImC4KZnVuY3Rpb24gQXR0YWNrKCl7CglUZW1IZXJvID0gIiI7Cglmb3IodmFyIGEgPSAwIDsgYSA8IERDLmxlbmd0aCA7IGErKyl7CgkJaWYo7KSR67O17Lac64%2BZ7LK07YGsKERDW2FdKSl7CgkJCe2XiOyVveyytO2BrCgpOwoJCQlUZW1IZXJvID0gSDIuc2hpZnQoKTsKCQkJaWYoVGVtSGVybyAhPSB1bmRlZmluZWQpewoKCQkJCWlpbURpc3BsYXkoIuyYgeybheydtCDslYXshLHsnYQg7YS46riwIOychO2VtCDstpzrj5ntlanri4jri6QuIOyYgeybhSDrsojtmLggOiAiK1RlbUhlcm8pOwoJCQkJTWFjcm9fTWFpbiA9IENvZGU7CgkJCQlNYWNyb19NYWluICs9IEVudGVyKyJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvR2FtZU1hcEluZm8%2FbWFwSWQ9IitEQ1thXTsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUEgQVRUUj1UWFQ67Lac67ORIjsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUlOUFVUOkNIRUNLQk9YIEZPUk09TkFNRTpmb3JtMSBBVFRSPVZBTFVFOiIrVGVtSGVybysiIENPTlRFTlQ9WUVTIjsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUlOUFVUOlNVQk1JVCBGT1JNPU5BTUU6Zm9ybTEgQVRUUj1OQU1FOnNhdmUmJlZBTFVFOu2ZleyduCI7CgkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1JTlBVVDpCVVRUT04gRk9STT1JRDpzMnQgQVRUUj1JRDpmYnNiMSI7CgkJCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCQl9CgkJCWVsc2V7CgkJCQlFbmRDaGVjaygpOwoJCQkJYnJlYWs7CgkJCX0KCQkJRW5kQ2hlY2soKTsKCQl9Cgl9Cn0KCmZ1bmN0aW9uIOykkeuztey2nOuPmeyytO2BrCjslYXshLHrsojtmLgpewoJZm9yKHZhciBhID0gMCA7IGEgPCBTdGFydGluZ0Nhcy5sZW5ndGggOyBhKyspewoJCWlmKOyVheyEseuyiO2YuCA9PSBTdGFydGluZ0Nhc1thXSkgcmV0dXJuIGZhbHNlOwoJfQoJcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIO2XiOyVveyytO2BrCgpewoJLy8g7Jes6riw7IScIO2XiOyVveyYgeybheydgCDrqqjrkZAgSDIg67OA7IiY7JeQ7IScIOu5oOyguOuCmOqwhOuLpC4KCWZvcih2YXIgYSA9IDAgOyBhIDwg7ZeI7JW97JiB7JuFLmxlbmd0aCA7IGErKyl7CgkJZm9yKHZhciBiID0gMCA7IGIgPCBIMi5sZW5ndGggOyBiKysgKXsKCQkJaWYoSDJbYl0gPT0g7ZeI7JW97JiB7JuFW2FdKXsKCQkJCUgyLnNwbGljZShiLDEpOwoJCQkJYi0tOwoJCQl9CgkJfQoJfQp9CgovLyDrs5HsgqzsnpDrj5nssYTsmrDquLAg7J6R7JeF7KSR7J2066%2BA66GcIOyZhOyEseuQnOqyjCDslYTri5guCmZ1bmN0aW9uIOuzkeyCrOuwsOy5mCgpewoJdmFyIOyelOulmOuzkeugpeyiheulmCA9IG5ldyBBcnJheSgpOwoJdmFyIOyelOulmOuzkeugpeyImOufiSA9IG5ldyBBcnJheSgpOwoJCglNYWNyb19NYWluID0gQ29kZTsKCU1hY3JvX01haW4gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9zMmgiOwoJaWltUGxheShNYWNyb19NYWluKTsKCQoJLy8g7KCE66WY67OR7IKs6rSA66CoIOyekOujjOu9keq4sAoJTWFjcm9fTWFpbiA9IENvZGU7CglNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1IMiBBVFRSPVRYVDrsnpTrpZg8U1A%2B67OR66ClKiI7CglpaW1QbGF5KE1hY3JvX01haW4pOwoJCglmb3IoIDsgOyApewoJCU1hY3JvX01haW4gPSBDb2RlOwoJICAgICAgICBNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9UjEgVFlQRT1pbnB1dDpoaWRkZW4gQVRUUj1pZDpzXyogRXh0cmFjdD10eHQiOwoJCWlpbVBsYXkoTWFjcm9fTWFpbik7CgkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCgkJaWYoIEV4dCAhPSAiI0VBTkYjIil7CgkJCU1hY3JvX01haW4gPSBDb2RlOwoJCQlNYWNyb19NYWluICs9IEVudGVyKyJTRVQgIVRJTUVPVVRfVEFHIDEiOwoJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVItMSBUWVBFPXNwYW4gQVRUUj10eHQ6KiBFeHRyYWN0PXR4dCI7CgkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9UjEgVFlQRT1saSBBVFRSPXRpdGxlOioiOwoJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVItMSBUWVBFPWxpIEFUVFI9dGl0bGU6KiBFeHRyYWN0PXRpdGxlIjsKCQkJaWltUGxheShNYWNyb19NYWluKTsKCQkJRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoMik7CgkJCeyelOulmOuzkeugpeyiheulmC5wdXNoKEV4dCk7CgkJCW1lcyA9ICLsnpTrpZjrs5Hsgqwg7KCV67O066W8IOy2lOy2nOykkS4uLlxuIOuzkeyCrOyiheulmCA6ICIrRXh0OwoJCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgxKTsKCQkJ7J6U66WY67OR66Cl7IiY65%2BJLnB1c2gocGFyc2VJbnQoRXh0KSk7CgkJCW1lcyArPSAiIOuzkeyCrOyImOufiSA6ICIrRXh0OwoJCQlpaW1EaXNwbGF5KG1lcyk7CgkJfQoJCWVsc2UgYnJlYWs7CgkJRW5kQ2hlY2soKTsKCX0KCgkvLyDsoITrpZjrs5HsgqzqtIDroKgg7J6Q66OM672R6riwCglmb3IodmFyIGEgPSAwIDsgYSA8IEgyLmxlbmd0aCA7IGErKyl7CgkgICAgICAgIHZhciDtmITsnqzrs5HsgqwgPSAwOwoJICAgICAgICB2YXIg7LWc64yA67OR7IKsID0gMDsKCSAgICAgICAgdmFyIOuzkeyCrOyduOybkOyImCA9IDA7CgkgICAgICAgIHZhciDsmIHsm4Xrs5HsgqzsooXrpZggPSAiIjsKCgkgICAgICAgIE1hY3JvX01haW4gPSBDb2RlOwoJICAgICAgICBNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT1BIEFUVFI9SFJFRjovaGVybz9vaWQ9IitIMlthXSsiIEV4dHJhY3Q9aHJlZiI7CgkgICAgICAgIE1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9UjEgVFlQRT1zcGFuIEFUVFI9dHh0OiogRXh0cmFjdD10eHQiOwoJICAgICAgICBpaW1QbGF5KE1hY3JvX01haW4pOwoJICAgICAgICBFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgyKTsKCQoJICAgICAgICBUZW0xID0gRXh0LnNwbGl0KCIvIik7CgkgICAgICAgIO2YhOyerOuzkeyCrCA9IHBhcnNlSW50KFRlbTFbMF0pOwoJICAgICAgICDstZzrjIDrs5HsgqwgPSBwYXJzZUludChUZW0xWzFdKTsKCSAgICAgICAgCgkgICAgICAgIC8vIOuzkeyCrOyiheulmCDslYzslYTrgrTquLAKCQlNYWNyb19NYWluID0gQ29kZTsKCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPVIxIFRZUEU9aW1nIEFUVFI9c3JjOiogRXh0cmFjdD10aXRsZSI7CgkJaWltUGxheShNYWNyb19NYWluKTsKCQlFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoJCeyYgeybheuzkeyCrOyiheulmCA9IEV4dDsKCgkJLy8g67OR7IKs7KKF66WY67OEIOywqOyngO2VmOuKlCDsnbjsm5DsiJgg7JWM7JWE67O06riwCgkgICAgICAgIE1hY3JvX01haW4gPSBDb2RlOwoJICAgICAgICBNYWNyb19NYWluICs9IEVudGVyKyJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvaGVscC90cmVlTWVudSI7CgkgICAgICAgIE1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUEgQVRUUj1UWFQ6IivsmIHsm4Xrs5HsgqzsooXrpZgrIiBFeHRyYWN0PWhyZWYiOwoJICAgICAgICBpaW1QbGF5KE1hY3JvX01haW4pOwoJICAgICAgICBFeHQgPSBpaW1HZXRMYXN0RXh0cmFjdCgpOwoJICAgICAgICAKCSAgICAgICAgVGVtMSA9IEV4dC5zcGxpdCgiLyIpOwoJICAgICAgICBUZW0xLnNwbGljZSgwLDMpOwoJICAgICAgICBUZW0yID0gIiI7CgkgICAgICAgIGZvcih2YXIgYiA9IDAgOyBiIDwgVGVtMS5sZW5ndGggOyBiKyspIFRlbTIgKz0gIi8iK1RlbTFbYl07CgkgICAgICAgIAoJICAgICAgICBNYWNyb19NYWluID0gQ29kZTsKCSAgICAgICAgTWFjcm9fTWFpbiArPSBFbnRlcisiVVJMIEdPVE89aHR0cDovL24iK1NlcnZlcl9HdWJ1bisiLjd0aC5uZXRtYXJibGUubmV0IitUZW0yOwoJICAgICAgICBNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPTEgVFlQRT10ZCBBVFRSPVRYVDrsi5zqsITri7kqIjsKCSAgICAgICAgTWFjcm9fTWFpbiArPSBFbnRlcisiVEFHIFBPUz1SMTEgVFlQRT10ZCBBVFRSPVRYVDoqIEV4dHJhY3Q9dHh0IjsKCSAgICAgICAgaWltUGxheShNYWNyb19NYWluKTsKCSAgICAgICAgRXh0ID0gaWltR2V0TGFzdEV4dHJhY3QoKTsKCSAgICAgICAgCgkgICAgICAgIOuzkeyCrOyduOybkOyImCA9IHBhcnNlSW50KEV4dCk7CgkKCSAgICAgICAgTWFjcm9fTWFpbiA9IENvZGU7CgkgICAgICAgIE1hY3JvX01haW4gKz0gRW50ZXIrIlVSTCBHT1RPPWh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC9zMmgiOwoJICAgICAgICBpaW1QbGF5KE1hY3JvX01haW4pOwoJICAgICAgICAKCSAgICAgICAgLy8g7J6U66WY67OR66Cl7J20IO2YhOyerCDsmIHsm4XsnYQg7LGE7JuM7KSEIOyImCDsnojripQg6rKA7IKs7ZWY6riwCgkgICAgICAgIHZhciDsnpTrpZjtgqTqsJIgPSAwOwoJICAgICAgICBmb3IoIHZhciBiID0gMCA7IGIgPCDsnpTrpZjrs5HroKXsooXrpZgubGVuZ3RoIDsgYisrKXsKCQkJaWYo7JiB7JuF67OR7IKs7KKF66WYID09IOyelOulmOuzkeugpeyiheulmFtiXSkg7J6U66WY7YKk6rCSID0gYjsKCQl9CgoJICAgICAgICBpZijsnpTrpZjrs5HroKXsiJjrn4lb7J6U66WY7YKk6rCSXSA%2BPSA3KXsKCQkJaWYoKOy1nOuMgOuzkeyCrCAtIO2YhOyerOuzkeyCrCkgPj0gKOuzkeyCrOyduOybkOyImCAqIDcpKXsKCQkJCS8vIOuzkeyCrCDsiJjsoJXsl5Ag7JWe7ISc7IScIOyIq%2ByekOulvCAw7Jy866GcIOunjOuTnOuKlCDsnpHsl4UKCQkJCWZvciggdmFyIGIgPSAwIDsgYiA8IDcgOyBiKyspewoJCQkJCU1hY3JvX01haW4gPSBDb2RlK0VudGVyKyJUQUcgUE9TPSIrKGIrMSkrIiBUWVBFPUlOUFVUOlRFWFQgRk9STT1OQU1FOmZvcm0xIEFUVFI9TkFNRTpoZXJvYW1vdW50IitIMlthXSsiIEV4dHJhY3Q9dHh0IjsKCQkJCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCQkJCUV4dCA9IGlpbUdldExhc3RFeHRyYWN0KCk7CgkJCQkJCgkJCQkJ7J6U66WY67OR66Cl7IiY65%2BJW%2ByelOulmO2CpOqwkl0gKz0gcGFyc2VJbnQoRXh0KTsKCQkJCX0KCQkKCQkJCS8vIOuzkeyCrCDsnbjsm5DsiJgg6rOE7IKw7IudLgoJCQkJaWYoKOyelOulmOuzkeugpeyImOufiVvsnpTrpZjtgqTqsJJdICog67OR7IKs7J247JuQ7IiYKSA%2BPSDstZzrjIDrs5HsgqwpewoJCQkJCXZhciByZXMgPSBwYXJzZUludCjstZzrjIDrs5HsgqwgLyAo67OR7IKs7J247JuQ7IiYICogNykpOwoJCQkJCeyelOulmOuzkeugpeyImOufiVvsnpTrpZjtgqTqsJJdIC09IHJlcyAqIDc7CgkJCQl9CgkJCQllbHNlewoJCQkJCXZhciByZXMgPSBwYXJzZUludCjsnpTrpZjrs5HroKXsiJjrn4lb7J6U66WY7YKk6rCSXSAvIDcpOwoJCQkJCeyelOulmOuzkeugpeyImOufiVvsnpTrpZjtgqTqsJJdID0gMDsKCQkJCX0KCgkJCQlNYWNyb19NYWluID0gQ29kZTsKCQkJCS8vIOuzkeyCrCDsiJjsoJXsl5Ag7JWe7ISc7IScIOyIq%2ByekOulvCAw7Jy866GcIOunjOuTnOuKlCDsnpHsl4UKCQkJCWZvciggdmFyIGIgPSAwIDsgYiA8IDcgOyBiKyspewoJCQkJCgkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPSIrKGIrMSkrIiBUWVBFPUlOUFVUOlRFWFQgRk9STT1OQU1FOmZvcm0xIEFUVFI9TkFNRTpoZXJvYW1vdW50IitIMlthXSsiIENPTlRFTlQ9MCI7CgkJCQl9CgkJCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCQkJCgkJCQlNYWNyb19NYWluID0gQ29kZTsKCQkJCWZvciggdmFyIGIgPSAwIDsgYiA8IDcgOyBiKyspewoJCQkJCgkJCQlNYWNyb19NYWluICs9IEVudGVyKyJUQUcgUE9TPSIrKGIrMSkrIiBUWVBFPUlOUFVUOlRFWFQgRk9STT1OQU1FOmZvcm0xIEFUVFI9TkFNRTpoZXJvYW1vdW50IitIMlthXSsiIENPTlRFTlQ9IityZXM7CgkJCQl9CgkJCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCgkJCQlNYWNyb19NYWluID0gQ29kZTsKCQkJCU1hY3JvX01haW4gKz0gRW50ZXIrIlRBRyBQT1M9MSBUWVBFPUlOUFVUOkJVVFRPTiBBVFRSPVZBTFVFOu2ZleyduCI7CgkJCQlpaW1QbGF5KE1hY3JvX01haW4pOwoJCQl9CgkgICAgICAgIH0KCSAgICAgICAgaWltRGlzcGxheSgi7ZiE7J6sIOyYgeybheydmCDrs5HsgqzssYTsmrDquLDrpbwg7JmE66OM7ZaI7Iq164uI64ukLlxuIOyYgeybheuyiO2YuCA6ICIrSDJbYV0pOwoJICAgICAgICBFbmRDaGVjaygpOwoJfQp9CgovLyDrsLDsl7TsnYQg7KCV66Cs7ZWY64qUIO2VqOyImC4g6re464OlIHNvcnTroZzripQg7Iir7J6Q7KCV66Cs7JeQIOusuOygnOqwgCDsnojslrTshJwg67O06rCV7ZWcIO2VqOyImC4KLy8g7J247IiY64qUIOuLueyXsO2eiCDrsLDsl7TsnYQg67Cb6rOgIOuwmO2ZmOqwkuydgCDqt7jrg6Ug67Cw7Je07J20IOyVhOuLiOudvCAy7LCo7JuQIOuwsOyXtOyehC4KLy8gWzBd67KI7Ke4IOyduOyImOuKlCDsoJXroKzrkJwg6rCSLiBbMV3rsogg7J247IiY64qUIOygleugrOuQmOq4sCDsoITsnZgg7YKk6rCSLgpmdW5jdGlvbiByU29ydCh0ZW1BcnIsIE1vZCl7Cgl2YXIgdGVtID0gbmV3IEFycmF5KCk7Cgl0ZW1bMF0gPSBuZXcgQXJyYXkoKTsKCXRlbVsxXSA9IG5ldyBBcnJheSgpOwoJCglpZihNb2QgPT0gbnVsbCl7CgkJCgkJZm9yKCB2YXIgYSA9IDAgOyBhIDwgdGVtQXJyLmxlbmd0aCA7IGErKyApewoJCQl0ZW1bMF1bYV0gPSBhKyJfIit0ZW1BcnJbYV07CgkJfQoJCXRlbUFyci5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEtYjt9KTsKCQlmb3IoIHZhciBhID0gMCA7IGEgPCB0ZW1BcnIubGVuZ3RoIDsgYSsrICl7CgkJCWZvciggdmFyIGIgPSAwIDsgYiA8IHRlbVswXS5sZW5ndGggOyBiKysgKXsKCQkJCWlmKCBiKyJfIit0ZW1BcnJbYV0gPT0gIHRlbVswXVtiXSApewoJCQkJCXRlbVsxXVthXSA9IGI7CgkJCQkJdGVtWzBdW2JdID0gIiI7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgkKCQl0ZW1bMF0gPSB0ZW1BcnI7CgkJcmV0dXJuIHRlbTsKCX0KCQoJaWYoTW9kID09ICJyIil7CgkJZm9yKCB2YXIgYSA9IDAgOyBhIDwgdGVtQXJyLmxlbmd0aCA7IGErKyApewoJCQl0ZW1bMF1bYV0gPSBhKyJfIit0ZW1BcnJbYV07CgkJfQoJCXRlbUFyci5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEtYjt9KTsKCQl0ZW1BcnIucmV2ZXJzZSgpOwoJCWZvciggdmFyIGEgPSAwIDsgYSA8IHRlbUFyci5sZW5ndGggOyBhKysgKXsKCQkJZm9yKCB2YXIgYiA9IDAgOyBiIDwgdGVtWzBdLmxlbmd0aCA7IGIrKyApewoJCQkJaWYoIGIrIl8iK3RlbUFyclthXSA9PSAgdGVtWzBdW2JdICl7CgkJCQkJdGVtWzFdW2FdID0gYjsKCQkJCQl0ZW1bMF1bYl0gPSAiIjsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCQoJCXRlbVswXSA9IHRlbUFycjsKCQlyZXR1cm4gdGVtOwoJfQp9CgoKCgovLyDtlITroZzqt7jrnqjsnbQg64Gd64KY64qUIOqyg%2BydhCDssrTtgaztlbTshJwg7KKF66OM7ZWY64qUIO2VqOyImC4KZnVuY3Rpb24gRW5kQ2hlY2soKXsKCXZhciBFbmRyZWYgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy50b3AuZ0Jyb3dzZXIuY3VycmVudFVSSS5zcGVjOwoJLy8g66y07ZWc66Oo7ZSE7J2865WM66W8IOuMgOu5hO2VnCDtlITroZzqt7jrnqjsnZgg64Gd64K064qUIOyLoO2YuOqwgCDrkJjripQg7L2U65OcLiDsmIHso7zsoJXrs7Trpbwg7YG066at7ZWY66m0IOuBneuCnOuLpC4KCWlmKCBFbmRyZWYgPT0gImh0dHA6Ly9uIitTZXJ2ZXJfR3VidW4rIi43dGgubmV0bWFyYmxlLm5ldC90YXNrbGlzdCIgKXsKCQlhbGVydCgi66ek7YGs66GcIO2UhOuhnOq3uOueqOydhCDsooXro4ztlanri4jri6QiKTsKCQlpaW1FeGl0KCk7Cgl9Cn0KCi8vIOyLnOyeke2OmOydtOyngOuhnCDqsIDquLAuCmZ1bmN0aW9uIEZpcnN0UGFnZSgpewoJLy8g7KCc7J28IOyymOydjOyXkCDtlZzrsKkg66as7ZSM656Y7Iuc7J2YIOydmOuvuOqyuCDstIjquLDtmZTrqbTsnLzroZwg6rCE64ukLgoJTWFjcm9fTWFpbiA9ICJDT0RFOiI7CglNYWNyb19NYWluICs9IEVudGVyKyJVUkwgR09UTz1odHRwOi8vbiIrU2VydmVyX0d1YnVuKyIuN3RoLm5ldG1hcmJsZS5uZXQvbWluZGV4IjsKCWlpbVBsYXkoTWFjcm9fTWFpbik7Cn0KCgovLyDqs6DsnKDrsojtmLjrpbwg7KKM7ZGc66GcIO2ZmOyCsO2VmOuKlCDtlajsiJguIOumrO2EtOqwkuydtCDrsLDsl7TsnoXri4jri6QuCmZ1bmN0aW9uIE51bWJlckN1dChudW0pewoJdmFyIG4xID0gMSAqIChudW0uc3Vic3RyKDAsIChudW0ubGVuZ3RoIC0gNCkpKTsKCXZhciBuMiA9IDEgKiAobnVtLnN1YnN0cigobnVtLmxlbmd0aCAtIDQpLCBudW0ubGVuZ3RoKSk7CgkKCW4xID0gbjEgLSA1MDE7CgluMiA9IG4yIC0gNTAxOwoJCgl2YXIgcmVzID0gbmV3IEFycmF5KG4xLCBuMik7CglyZXR1cm4gcmVzOwp9Ci8qCisrKysrKysrKysrKysrKysrKysK7ZSE66Gc6re4656oIOyLpO2Wieu2gCDrgZ0KKysrKysrKysrKysrKysrKysrKwoqLw%3D%3D

 

휴 원인이 뭔지 어떡해 푸는지도 부탁드려요

 

또 자바 이참에 배워보려는데 책한권사서 독학도 가능한지 여쭤보고 싶어요

 

좋은하루되시고 쌀쌀한데 감기조심하세요~

 



profile_image 익명 작성일 -

안녕하세요..

이건 풀어도 어떻게 수정할 수가 없는 코드에요..

 

//imacros-js:showsteps no
var path2 = “C:\\Documents<SP>and<SP6M��ѥ���qq�������Ʌѽ�qq5��M@���յ����qq�5��ɽ�qq5��ɽ̈�)�����
=���)������MP��IA1eMA�MQq���)������%11Q����������ѠȬ�qqp�
��ɕ�й��q���)������]%P�M
=9L��q���)������%11Q����������ѠȬ�qqp�
��ɕ�й��q���)���A��䡴��()مȁ9��UI0����յ��й����ձ�Y��ܹѽ��� ɽ�͕ȹ���ɕ��UI$������$$����b�z���:c�vӲ��v`�����3���"`)مȁM��ٕ�}Չո�����()مȁ5��ɽ}5�������$$����������p���S�Ns����N��ZӪ� ����"`)مȁ�ѕȀ���q���$$����������p���S�Ns�v`�����S����8ȉ��f"6�FR�$4�DS�#������zN�κ�ȹ�����N�9��8ȉ��f"W�B�"#�����������N�x�ق� ^�;N�[���N�XN�+��8ȉ��f"����9��x���$�#���������9��x���*N�  �f"����x���$�#���������x���*N�  �f"Ɩ֗EF��R�"#����ȹΫN� ��Y��JN� ^�8ȉ����f"Ɩ֗EF��R�"#����ȹΫN� ��Y��JN� ^�8ȉ�ɛ�ʫ޻h�K�{��;&�;'o;"�:��;-"���\�\��Y\�H�]�\��^J
N�BK��;%�:��:�e;!.;)�:��;"&��\�]�\��H�]�\��^J
N�BK��;%az��;!,H;a.:�,;& {&�{'f:��;'(:��;f.:��;"&��\��X��]�[�\�HH�]�\��^J
N�K��;%a{!,{'f:�l:��:�o;"';!':� :�g;(%z�+;eh:��;"&��\�[R[�^H�]�\��^J
N�BK��:��{%�;'�:��;%b;a.:��;%a{!,H:��;'(:��;f.:��;"&��\��H�]�\��^J
N�BBK��:� z��{'f:�l:��;(%z�+:�';%a{!,z��;'(:��;f.:��;"&��\��\�[���\�H�]�\��^J
N�BK��;& {&�{'m;-�:�`Y중인 악성번호 변수
var 허약영웅 = new Array();  // 저질체력 영웅을 격리시키는 변수.
var 악성대기 = new Array();  // 영웅 악성대기 대표변수
var 악성대기1 = new Array();  // 1섭 영웅 악성대기
var 악성대기2 = new Array();  // 2섭 영웅 악성대기
var 악성대기3 = new Array();  // 3섭 영웅 악성대기
var 허용유저 = new Array();  // 프로그램 사용을 허가하는 유저를 담을 변수
var 허용유저1 = new Array();  // 1섭 허용유저
var 허용유저2 = new Array();  // 2섭 허용유저
var 허용유저3 = new Array();  // 3섭 허용유저
var 허용길드 = new Array();  // 프로그램 사용을 허가하는 길드를 담을 변수
var 허용길드1 = new Array();  // 1섭 허용길드
var 허용길드2 = new Array();  // 2섭 허용길드
var 허용길드3 = new Array();  // 3섭 허용길드


// 맵이동 관련 변수
var 가로 = 11;
var 세로 = 9;
var 성가로좌표 = 0;
var 성세로좌표 = 0;
var 가로이동 = 0;
var 세로이동 = 0;
var 현재맵위치 = "";

// 에러메세지 변수
Errmes[0] = "관리자가 허가한 길드가 아닙니다.\n프로그램을 종료합니다.";
Errmes[1] = "관리자가 허가한 유저가 아닙니다.\n프로그램을 종료합니다.";

/*
+++++++++++++++++++
선언부 끝
+++++++++++++++++++
*/

/*
-------------------
프로그램 설정부분
-------------------
이곳은 사용자가 자신의 환경에 맞게 설정의 수치를 입력하는 부분입니다.
최대한 간단하게 하려고 노력하는 중이므로 양해해주세요.
*/

var 맵이동범위 = "1-3";
var 병사배치기능 = "사용";
허용유저2.push("구멀록");
허용길드2.push("150");  
허용길드2.push("1395");  
LimitTime = "2010 09 30 23 45 00";
/*
-------------------
프로그램 설정부분 끝
-------------------
*/

/*
-------------------
프로그램 실행부
-------------------
여기는 본격적인 코드가 펼쳐지는 곳입니다. 위의 선언부와 설정에 의한 결과물이
덁3�V���*P���́��N�:�����y�;N��N��B�+�;κ����B��N� λh�K�)�ɊΫ(�����Bࢢ����6�FS�����V�FW"�%4UB$U��5TTBd5B#�����V�FW"�$d��TDT�UDR��S�"�F�"�%���47W'&V�B��2#��������ғ�����وN���˚ɪ������N�x�ق�;��h��y�I��Iλ(N�(�ً��[��(�*��[N�I��{��y�K�[������N�x����N����Y�����y��:�*{)�;&�K��Y����T��X]�
���یK��J^‚T�\��\���X�[�HN‚{%a{!,z� :�,H;%a{!,z� :�,N‚{e�;&�{'(;( H;e�;&�{'(;( N‚{e�;&�z�.:��H;e�;&�z�.:��NŸB�[�HY����T��X]�
���ی���J^‚T�\��\���X�[�H�‚{%a{!,z� :�,H;%a{!,z� :�,�‚{e�;&�{'(;( H;e�;&�{'(;( �‚{e�;&�z�.:��H;e�;&�z�.:���ŸB�[�HY����T��X]�
���یˈ�J^‚T�\��\���X�[�H�‚{%a{!,z� :�,H;%a{!,z� :�,�‚{e�;&�{'(;( H;e�;&�{'(;( �‚{e�;&�z�.:��H;e�;&�z�.:���ŸB����[\��
N�K��:��:��;& {&�H;( ;'�{ef:�,�:�-;eg:��;e!:�o;"�;'�{ef:�,;(!;%�:�,H;eg:��:��;eg:�����܊��^‚Q�\��Y�J
N‚ZY�[Z][YHOH��^�Y�{"�:�!;,�;`k

J^�[\�
�(';eg;"�:�!;'m;)�:��;"�z��:����e!:�g:��:��;'a;(�z��;ejz��:����N�Z[Q^]

N�_B�K��;!,{%�;%a{!,{-�:�':��:��:� ;'�:��;)�:��; ��:��;'o;!,{%�;& {&�{'m;'�;'/:�m;"�;e�z�*��z��;%b;,�;`k

N‚ZY�:�.:��;e�:� OH���^�[\�
\��Y\��JN�Z[Q^]

N�BBBB�K��Y�;'(;( ;e�:� OH���^�[\�
\��Y\��WJN�Z[Q^]

N�B�Q�\��Y�J
N‚RHH�[��\��
N‚�ZY�K�[���
^‚BR�H�[��X��JN‚BP�X���\�[��
N‚BZY�:��{ �:�,;.f:�,:��HOH� �;&�H�z��{ �:�,;.f

N‚�BK��:��{fe:�m;%�;!';-�:�';!,H;(�;dg;%���,
:� :�g
B�B[HH��N‚B[H
�H[�\�ȕT����Z��ۈ���\��\���X�[�ȋ����]X\��K��]��[YSX\�‚B[H
�H[�\�ȕQ���LHTORS�U�VU�S�SQN�^�X�]�‚BZZ[T^JJN‚B{!,z� :�g;(�;dgH\��R[�
Z[Q�]\�^�X�

JN‚BB�BK��:��{fe:�m;%�;!';-�:�';!,H;(�;dg;%���� (세로)
  m = Code;
  m += Enter+"TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:yp Extract=txt";
  iimPlay(m);
  성세로좌표 = parseInt(iimGetLastExtract());
  
  현재맵위치 = "URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/GameMap";
  
  Find_VicDevilCastle();
  
  if( H2.length > 0 ){
   if(맵이동범위.match(“-”)){
    var 최소범위 = 0;
    var 최대범위 = 0;
    
    Tem1 = 맵이동범위.split(“-”);
    최소범위 = parseInt(Tem1[0]);
    최대범위 = parseInt(Tem1[1]);
   
    for(var a1 = 최소범위 ; a1 < 최대범위 + 1 ; a1++){
     가로이동 = 성가로좌표 - (a1 * 가로);
     세로이덁d����Dz㮆s��3�Fp�����Ā���㮆p��($$$$$($$$$$����.s�zG��ײr���p��vӮ6��Y�����������6�FS����������V�FW"�%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB�v�T�a^H��� :�g;'m:��Jȉ�\H����로이동;
     iimPlay(m);
     
     현재맵위치 = "URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/GameMap?xp="+`j���s�vӮ>d�������㮆s�vӮ6����������������ɊN�[�ʫ���N���������f�"�f"�����"��������������b��"��V�wF����'&V�����������fT��.ɫ"���������f��E�f�4FWf��67F�R���������Р��������������XN���ʫ���N���������f�"�f"�����"��������������b��"��V�wF����'&V�����������fT��.�Y�"���������f��E�f�4FWf��67F�R���������Р�������������ɛ�ʫ���N���������f�"�f"�����"��������������b��"��V�wF����'&V�����������fT��.�(�"���������f��E�f�4FWf��67F�R���������Р���������������Nʫ���N���������f�"�f"�����"��������������b��"��V�wF����'&V�����������fT��.�8"���������f��E�f�4FWf��67F�R���������Р����Р���Р���V�6W�����������N�����K����(������{^��N��z��;'!
�:� :�g
N‚BBB{!.:�g;'m:��HH;!,{!.:�g;(�;dg

:��{'m:��z��;'!
�;!.:�g
N‚BBBB�BBBK��;"�;'�z��{'/:�g;'m:�`Y하기
    m = Code;
    m += Enter+"URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/GameMap?xp="+가로이덁d�������㮆s�vӮ>d�($$$%���A��䡴��($$$$($$$'�b�z���ײr��`����UI0�=Q<�����輽���M��ٕ�}Չո����Ѡ���ѵ�ɉ�����н���5���W��"������N����"g��"�!.:�g;'m:��N‚BBBB�BBBK��;&):�n;*�{'m:�`Y
    for(var a = 0 ; a < (맵이동범위 * 2) ; a++){
     if(H2.length == 0) break;
     MoveMap("우");
     Find_VicDevilCastle();
    }
    
    // 아래쪽이덁d($$$%��ȡمȁ������쁄������ײvӮ>g��S�r���Ȥ�쁄����($$$$%��� ȹ����Ѡ��������ɕ���($$$$%5�ٕ5�����V`���($$$$%���}Y���٥�
��ѱ����($$$%�($$$$($$$$����f�����vӮ6������f�"�f"�����{^��N����)N��B�"�������������b��"��V�wF����'&V����������fT��.�(�"��������f��E�f�4FWf��67F�R��������Р�������������Nʫ���N��B�BBBY�܊�\�HH�H
:��{'m:��z��;'!
��H�J��^‚BBBBZY���[��OH
H��XZ�‚BBBBS[ݙSX\
� �H�N‚BBBBQ�[�՚X�]�[�\�J
N‚BBB_B�BB_B�B_B�BP�X��]�[

N‚_B�Y[�H‚BZZ[Q\�^J�%a{!,{'a:��:��:�,:�g;eg;& {&�{'m;f!;'�;!,{%�;%��"�z��:����N‚BK��;'m:��;-�:�`Y한 악성이 도착하기 전에 털리는지 검사하고 퇴각하기.
  BackDevil();
 }
 영웅치료();
 EndCheck();
}


/*
#####################
함수부분
#####################
*/

function 시간체크(){
 Macro_Main = Code;
 Macro_Main += Enter+"SET !TIMEOUT_TAG 1";
 Macro_Main += Enter+"TAG POS=1 TYPE=div ATTR=txt:서버시간* Extract=txt";
 iimPlay(Macro_Main);
 Ext = iimGetLastExtract();
 
 Tem1 = Ext.split("���h���(%Q��Ȁ��Q���l�t�����Р�����('�^î6B�FV�%�Ӱ��FV�"�FV�%���7ƗB�.ɹB"����ɹB�'6T��B�FV�%�ғ����b�ɹB��ɹB�#"�ɹC���FV�"�FV�%���7ƗB�.���"��������'6T��B�FV�%�ғ����b����������#"���ð��FV�"�FV�%���7ƗB�#�"����ȹ��FV�%�Ӱ���hB�FV�%�Ӱ���H��FV�%�%Ӱ����FV�2�'6T��B��{��B�ɹB�'o
�"�
���
���);
 exp = RegExp(/ /ig);
 Ltime = parseInt(LimitTime.replace(exp, ""));
 
 if(Tem3 > Ltime) return false;
 else return true;
}

function 보안체크(){
 if(허용길드.length > 0){
  Macro_Main = Code;
  Macro_Main += Enter+"URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/allianz";
  Macro_Main += Enter+"SET !TIMEOUT_TAG 1";
  Macro_Main += Enter+"TAG POS=1 TYPE=img ATTR=src:*/sys/guildavatar* Extract=href";
  iimPlay(Macro_Main);
  Ext = iimGetLastExtract();
  
  Tem1 = Ext.split("/");
  Tem1 = Tem1.pop();
  Tem1 = Tem1.split(".");
  Tem1 = Tem1[0];
  
  for(var a = 0 ; a < 허용길드.length ; a++){
   if(Tem1 == 허용길드[a]) 길드허가 = "Y";
  }
  if(길드허가 == "") 길드허가 = "N";
 }
 
 /*if(허용유저.length > 0){
  Macro_Main = Code;
  Macro_Main += Enter+”URL GOTO=http://n”+Server_Gubun+”.7th.netmarble.net/userview”;
  Macro_Main += Enter+”SET !TIMEOUT_TAG 1″;
  Macro_Main += Enter+”TAG POS=1 TYPE=th ATTR=txt:유저* Extract=txt”;
  iimPlay(Macro_Main);
  Ext = iimGetLastExtract();
  
  Tem1 = Ext.split(“:”);
  Tem2 = Tem1[1];

  for(var a = 0 ; a < 허용유저.length ; a++){
   if(Tem2 == 허용유저[a]) 유저허가 = "Y";
  }
  if(유저허가 == "") 유저허가 = "N";
 }*/
}

// 저질체력의 영웅을 의료텐트에 처박기 함수
function 영웅치료(){

 Macro_Main = Code;
 Macro_Main += Enter+"URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/mindex";
 Macro_Main += Enter+"SET !TIMEOUT_TAG 1";
 Macro_Main += Enter+"TAG POS=1 TYPE=AREA ATTR=TITLE:의료텐트* Extract=href";
 iimPlay(Macro_Main);
 Ext = iimGetLastExtract();
 if( Ext != "#EANF#"){
  // 어떤 종족의 어떤 위치에 지어진 의료텐트던 간에 모두 이덁g�Vc�*P��������p���S�Ns�z�($$�����Ӯ.#��0�����3��3�r���s�*P���׶׮Bc������V+�V�p��vӮ���(�ȉ������κ��x� ��N�J��h����ࠐ��7&������6�FS�����7&�������V�FW"�%Dr�3�E�S�$TEE#�D�D�S��َ�8��Yث��#�����������7&����⓰������f�"�f"����x��[�ɈɸR��V�wF�����������7&������6�FS������7&�������V�FW"�%4UBD��T�UE�Dr#������7&�������V�FW"�%Dr�3�E�S�4T�T5Bd�$����S�G&VF�V�Ff�&�EE#���S�G&VF�V�GF��R"��x��[�ɈɸU�Ҳ"4��DT�C�S#������7&�������V�FW"�%Dr�3�#E�S�EE#�E�C�˙��8�#������������7&����⓰�������F�7���.��x��+N�
RɈɸ^��B�َ�8��Yث��y�)�� ^�鞸����B"��x��[�ɈɸU�ғ������x��[�ɈɸR�7Ɩ6R�������Р�Р�Р����N�+BɈɸR���^�Y����Z�ȉ��gV�7F����ĆW&�����7&������6�FS����7&�������V�FW"�%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB�֖�FW�#����7&�������V�FW"�%Dr�3�E�S�$TEE#�D�D�S��[�*��x�Ɏ�h¢#����7&�������V�FW"�%Dr�3�"E�SԔ�rEE#�5$3����&�6���v�b#����������7&����⓰����f�"���������7&������6�FS�����7&�������V�FW"�%4UBD��T�UE�Dr#�����7&�������V�FW"�%Dr�3�#E�SԔ�rEE#�5$3��fF"�W�G&7Cև&Vb#�����������7&����⓰���W�B����vWD�7DW�G&7B���������b�W�B��"4T�b2"�'&V�����V�6R��������+޺��y�I�ɈɸR�:���(�ً��[�ʫΫ ��I��k�%�:��:�,�BBU[HH^‚BBU[P\��H[K��]
�ȊN‚BBU[HH[P\����

N‚BBU[P\��H[K��]
���N‚BBZZ[Q\�^J�(!;,�;& {&�{'a;( ;'�{ef:��;)$K�����[P\���JN‚BBB�BBK��;%a{!,z� :�,;& {&�H:��; ��BB]�\���H��‚BBY�܊�\�HH�H;%a{!,z� :�,�[���J��^‚BBBZY�;%a{!,z� :�,�WHOH[P\���JH��H�� :�,;& {&�H�‚BB_B�BBZY���OH�� :�,;& {&�H�H]�\�˜\�
[P\����Y�

JN‚B_B�_B�Q[��X��
NŸB����;%a{!,{%�;& {&�{'a:��:��:��:�l:�`D중에 다른 사람에 의해서 털렸는지 검사해서 털렸으면 퇴각하는 함수.
function BackDevil(){
 for( var a = 0 ; a < Att_Hero.length ; a++ ){
  EndCheck();
  Macro_Main = Code;
  Macro_Main += Enter+"URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/building6ѥ���Ԉ�($%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($%5��ɽ}5��������ѕȬ�Q�A=L�āQeA���QQH��ɕ�詽�������}!�ɽm�t�����Ʌ�����Ј�($%��������䠋��s�>g��G�v���b�n�vЃ�z#�*S������
���D�耈����Ĥ����#������($%���A����5��ɽ}5�����($%�Ѐ�����1�����Ʌ�Р��($%����Ѐ���9����($$%5��ɽ}5������
����($$%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA���QQH��ɕ�詽�������}!�ɽm�t�����Ʌ�����Ј�($$%5��ɽ}5��������ѕȬ�Q�A=L�H�āQeA�����QQH��ɕ�訁��Ʌ����ɕ���($$%���A����5��ɽ}5�����($$%�Ѐ�����1�����Ʌ�Р��($$($$%����Ѐ���9�������й��э�����ɽ�Ĺ�������($$$%5��ɽ}5������
����($$$%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($$$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA���QQH��ɕ�詽�������}!�ɽm�t�����Ʌ�����Ј�($$$%5��ɽ}5��������ѕȬ�Q�A=L�H�āQeA���QQH��ɕ�計�($$$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA�����QQH��Ɍ詍�|ع������Ʌ����ɕ���($$$%��������䠋�㮚���V�Dzv㲞����
���D����耈����Ĥ����#������($$$%���A����5��ɽ}5�����($$$%�Ѐ�����1�����Ʌ�Р��($$$$($$$%����Ѐ���9����($$$$%5��ɽ}5������
����($$$$%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($$$$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA�����QQH��Ɍ詍�|�|Ĺ������Ʌ����ɕ���($$$$%��������䠋�.������
����v�������v㲞����
���D����耈����Ĥ����#������($$$$%���A����5��ɽ}5�����($$$$%�Ѐ�����1�����Ʌ�Р��($$$$$($$$$%����Ѐ���9����($$$$%5��ɽ}5������
����($$$$$%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($$$$$%5��ɽ}5��������ѕȬ�UI0�=Q<�����輽���M��ٕ�}Չո����Ѡ���ѵ�ɉ�����н�ե������ѥ���Ԉ�($$$$$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA���QQH��ɕ�詽�������}!�ɽm�t�����Ʌ�����Ј�($$$$$%5��ɽ}5��������ѕȬ�Q�A=L�H�āQeA������鍡�������QQH�������ٕ��%�����ѕ�����̈�($$$$$%5��ɽ}5��������ѕȬ�Q�A=L�HāQeA��������Չ��ЁQQH�م�Ք��ʃ�"`��($$$$$%���A����5��ɽ}5�����($$$$%�($$$%�($$%�($%�($%��
�������(%�)�(((����Dzv`��b�n�v������B�Z�ȉ���gV�7F���f��E��W&����f"FV��"#���f"FV�'"��Wr'&������f"�W&��B��Wr'&���������7&������6�FS����7&�������V�FW"�%Dr�3�E�Sԃ"EE#�E�C��[��� ^�;B�#����������7&����⓰����f�"���������7&������6�FS�����7&�������V�FW"�%4UBD��T�UE�Dr#�����7&�������V�FW"�%Dr�3�#E�SԔ�rEE#�5$3��fF"�W�G&7Cև&Vb#�����������7&����⓰���W�B����vWD�7DW�G&7B���������b�W�B��"4T�b2"�'&V�����V�6R��������+޺��y�I�ɈɸR�:���(�ً��[�ʫΫ ��I��k��kN�+N������FV��W�C�����FV�'"�FV��7ƗB�"�"������FV��FV�'"���������FV�'"�FV��7ƗB�"�"���������F�7���.�iθ���ZɈɸ^��B���^�Y���B�I���"�FV�'%�ғ������������X^�K����ɈɸR�(�*�����f"�6���"#�����f�"�f"����X^�K������V�wF������������b��X^�K��������FV�'%�Ғ�6���.����ɈɸR#�����Р����b��6���.����ɈɸR"��W&��B�W6��FV�'"�6��gB�������Р��V�D6�V6������Р�&WGW&��W&��C���Р�����N��N��;'n;b�:��:�g;(%z�+;ef:��;ej;"&��[��[ۈ�[��X��\��^‚]�\�[RHH�]�\��^J
N‚]�\�[R�H�]�\��^J
N‚]�\�[R�H�]�\��^J
N‚{e�;%o{& {&�HH�N‚�Y�܊�\�HH�H\���[���J��^‚BSXXܛ��XZ[�H��N‚BSXXܛ��XZ[�
�H[�\�ȕT����Z��ۈ���\��\���X�[�ȋ����]X\��K��]�\�ͅoid="+HArr[a];
  Macro_Main += Enter+"TAG POS=1 TYPE=li ATTR=TXT:경험치<SP6�6S��P��aQI
P�QaP��($%���A����5��ɽ}5�����($%�Ѐ�����1�����Ʌ�Р��($$$($%مȁQ��M@����й����Р�舤�($%Q�� �m�t������͕%�СQ��MAl�t��($%��������䠋�6S�>������;�v��b�n��”s�r���p���W����Vc�*S��D����耈������#������($$($%�����̀��
����($%�����̀����ѕȬ�Q�A=L�āQeA�Q �QQH�QaP��w����`��($%�����̀����ѕȬ�Q�A=L�HāQeA�Q�QQH�QaP訁aQI
P�QaP��($%���A��䡍����̤�($%�Ѐ�����1�����Ʌ�Р��($$($%Q��Ā���й����Р�����($$($$����R��ļȃ�vӶVc�v��V0��v��ʓ�^@��z#�*P��΃��î�����($%������͕%�СQ���l�t�������͕%�С���͕%�СQ���l�t����Ȥ��($$%مȁQ���Ȁ��܁�Ʌ䠤�($$%Q����l�t��������є�������ȹ�����($$%Q����l�t��������є�������Ĺ�����($$$($$%��ȡمȁ������쁈���Ȁ쁈����($$$%5��ɽ}5������
����($$$%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($$$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA�%5�QQH�MI計�Q����m�t���aQI
P�!I��($$$%���A����5��ɽ}5�����($$$%�Ѐ�����1�����Ʌ�Р��(($$$%����Ѐ���9����($$$$%5��ɽ}5������
����($$$$%5��ɽ}5��������ѕȬ�=9%1=�A=L�ā UQQ=8�=,�
=9Q9P���($$$$%5��ɽ}5��������ѕȬ�Q�A=L�āQeA�%5�QQH�MI計�Q����m�t�($$$$%���A����5��ɽ}5�����($$$$%�ɕ���($$$%�($$%�($%�($$($%�����̀��
����($%�����̀����ѕȬ�Q�A=L�āQeA�Q �QQH�QaP��w����`��($%�����̀����ѕȬ�Q�A=L�HāQeA�Q�QQH�QaP訁aQI
P�QaP��($%���A��䡍����̤�($%�Ѐ�����1�����Ʌ�Р��($$($%Q��Ā���й����Р�����($$($$����R��ļ܃�vӶVc�v��V0��^#�V��b�n�r���p��z���Vc���($%������͕%�СQ���l�t�������͕%�С���͕%�СQ���l�t����ܤ���^#�V��b�n���͠�!��m�t��($$($%��
�������(%�(%Q�� Ȁ���M��СQ�� İ��Ȉ��((%��Ƞ�مȁ������쁄���Q�� �l�t�����Ѡ�쁄����($%Q�� �m�t���!��mQ�� �l�um�ut�(�%�(�%ɕ��ɸ�Q�� ��)�(((����vӮ��Ɉɸ^��B�iθ���I�ۂ�X^�x��K��B�莸�N�x�(�*��gV�7F���6�V6�7F’F��r�����7F’F��t62��Ӱ�����7&������6�FS����7&�������V�FW”�%U$�t�D�ևGG����”�6W’fW%�wV’V��”�wF���WF�&&�R��WB�’V��F��sa]YLMH�‚SXXܛ��XZ[�
�H[�\�ȕQ���L�TORSQ�U�TԐΊ��ؘ[��K��Y��‚ZZ[T^JXXܛ��XZ[�N‚ZZ[Q\�^J�'m:��;-�:�`Y한 영웅이 있는지 검사중...");
 for( ; ; ){
  EndCheck();
  
  Macro_Main = Code;
  Macro_Main += Enter+"SET !TIMEOUT_TAG 1";
  Macro_Main += Enter+"TAG POS=R1 TYPE=IMG ATTR=SRC:*arrow1.gif EXTRACT=HREF";
  iimPlay(Macro_Main);
  Ext = iimGetLastExtract();

  if(Ext != "#EANF#"){
   Macro_Main = Code;
   Macro_Main += Enter+"TAG POS=R1 TYPE=A ATTR=TXT:악마성 EXTRACT=HREF";
   iimPlay(Macro_Main);
   Ext = iimGetLastExtract();

   Tem1 = Ext.split("=");
   StartingCas.push(Tem1[1]);
  }
  else break;
 }
}


// 맵이동 함수
function MoveMap(이덁g�§�Z���(%�ݥэ���vӮ>g�§�Z���($%��͔�����($’�㮆s�vӮ6���K�����N��H
�;!.:�g‚BX��XZ�‚BB�BX�\�H�ef���B{!.:�g;’m:�`Y = 세로이덁d����㮆p�($%�ɕ���($$($%��͔����0��($’����s�vӮ6�������N��HH:� :�g‚BX��XZ�‚BB�BX�\�H�&����Bz� :�g;’m:�`Y = 가로이덁d�������p�($%�ɕ���(%�($(%����
����(%������ѕȬ�UI0�=Q<�����輽���M��ٕ�}Չո����Ѡ���ѵ�ɉ�����н���5����������s�vӮ6��"g��"��K�����N������������ғ�����وN��κ{^��N˙��%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB�v�T�a^H��� :�g;'m:��Jȉ�\H����로이동;
}

// 악성들의 거리를 재서 가까운 순서대로 정렬하기.
function Find_VicDevilCastle(){
 // 전역배열 초기화
 Vic_DevilCastle = [];
 TemIndex = [];
 DC = [];
 
 Macro_Main = Code;
 Macro_Main += Enter+"SET !TIMEOUT_TAG 1";
 Macro_Main += Enter+"TAG POS=1 TYPE=h2 ATTR=txt:현재<SP>선택지역의*”;
 iimPlay(Macro_Main);
 
 for( ; ; ){
  Macro_Main = Code;
  Macro_Main += Enter+”SET !TIMEOUT_TAG 1″;
  Macro_Main += Enter+”TAG POS=R1 TYPE=IMG ATTR=SRC:/sys/images/c/c6.gif EXTRACT=HREF”;
  iimPlay(Macro_Main);
  Ext = iimGetLastExtract();
  
  if( Ext == “#EANF#”) break;
  else{
   Macro_Main = Code;
   Macro_Main += Enter+”SET !TIMEOUT_TAG 1″;
   Macro_Main += Enter+”TAG POS=R1 TYPE=a ATTR=href:* EXTRACT=HREF”;
   Macro_Main += Enter+”TAG POS=R-1 TYPE=a ATTR=href:* EXTRACT=HREF”;
   iimPlay(Macro_Main);
   Ext = iimGetLastExtract(2);
   
   Tem1 = Ext.split(“=”);
   TemIndex.push(Tem1[1]);
   iimDisplay(“털수 있는 악성을 찾는중…\n”+Tem1);
  }
 }
 
 // 본성과의 거리를 계산하고 가까운 곳부터 정렬하기
 for( var a = 0 ; a < TemIndex.length ; a++ ){
  EndCheck();
  var res2 = NumberCut(TemIndex[a]);
  
  var res = new Array();
  res[0] = Math.abs(성가로좌표) - Math.abs(res2[0]);
  res[1] = Math.abs(성세로좌표) - Math.abs(res2[1]);
  res[0] = Math.abs(res[0]);
  res[1] = Math.abs(res[1]);
  res.sort(function(a,b){return a-b;});

  var res3 = res[1];
  Vic_DevilCastle.push(res3);
 }
 var DcArr = rSort(Vic_DevilCastle);

 // 정렬한 대로 악마성 고유번호 정렬하기
 for( var a = 0 ; a < DcArr[0].length ; a++){
  DC[a] = TemIndex[DcArr[1][a]];
  }
  Attack();
  
  if(H2.length > 0){
   Macro_Main = Code;
   Macro_Main += Enter+`vb�z���ײr��`�($�%���A����5��ɽ}5�����(�%�)�((������z��Bp��b�n�vЃ��תʧ�Vc�*P��V��”`�)�չ�ѥ����х�����(%Q��!�ɼ����(%��ȡمȁ������쁄��������Ѡ�쁄����($%�����G��ײ�s�6��+N�„D5�Ғ�������x��[��+N�‚������FVԆW&���"�6��gB��������b�FVԆW&��V�FVf��VB�����������F�7���.Ɉɸ^��B�X^�K��B�K�����N�[B�iθ���Z������B�ɈɸR�(�ً��"�FVԆW&�������7&������6�FS�������7&�������V�FW"�%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB�v�T���f�a[X\YH����WN‚BBBSXXܛ��XZ[�
�H[�\�ȕQ���LHTOPHU�U�-�:��H�‚BBBSXXܛ��XZ[�
�H[�\�ȕQ���LHTORS�U��P�Г��ԓOS�SQN��ܛLHU�U�SQN���[R\��Ȉ�ӕS�VQTȎ‚BBBSXXܛ��XZ[�
�H[�\�ȕQ���LHTORS�U��P�RU�ԓOS�SQN��ܛLHU�S�SQN��]�I���SQN�fe{‘n�‚BBBSXXܛ��XZ[�
�H[�\�ȕQ���LHTORS�U��Uӈ�ԓORQ�̝U�RQ���،H�‚BBBZZ[T^JXXܛ��XZ[�N‚BB_B�BBY[�^‚BBBQ[��X��
N‚BBBX��XZ�‚BB_B�BBQ[��X��
N‚B_B�_B�B���[��[ۈ;)$z��{-�:��{,�;`k
;%a{!,z��;f.
^‚Y�܊�\�HH�H�\�[���\˛[���J��^‚BZY�;%a{!,z��;f.OH�\�[���\��WJH�]\���[�N‚_B�\�]\���YNŸB���[��[ۈ;e�;%o{,�;`k

^‚K��;%�:�,;!';e�;%o{& {&�{'`:��:�d�:��;"&;%�;!':�h;(.:��:�!:����Y�܊�\�HH�H;e�;%o{& {&�K�[���J��^‚BY�܊�\��H����[������
^‚BBZY��ؗHOH;e�;%o{& {&�V�WJ^‚BBBR���X�J�JN‚BBBX�KN‚BB_B�B_B�_B�B����:��{ �;'�:��{,a;&�:�,;'�{%�{)${'m:�`@로 완성된게 아님.
function 병사배치(){
 var 잔류병력종류 = new Array();
 var 잔류병력수량 = new Array();
 
 Macro_Main = Code;
 Macro_Main += Enter+"URL GOTO=http://n"+Server_Gubun+".7th.netmarble.net/s2h";
 iimPlay(Macro_Main);
 
 // 전류병사관련 자료뽑기
 Macro_Main = Code;
 Macro_Main += Enter+"TAG POS=1 TYPE=H2 ATTR=TXT:잔류<SP6��G������(%���A����5��ɽ}5�����($(%��Ƞ���쀥�($%5��ɽ}5������
����($��������5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($%5��ɽ}5��������ѕȬ�Q�A=L�HāQeA������顥�����QQH�����|����Ʌ�����Ј�($%���A����5��ɽ}5�����($%�Ѐ�����1�����Ʌ�Р��(($%�����Ѐ���9����($$%5��ɽ}5������
����($$%5��ɽ}5��������ѕȬ�MP��Q%5=UQ}Q�Ĉ�($$%5��ɽ}5��������ѕȬ�Q�A=L�H�āQeA������QQH����訁��Ʌ�����Ј�($$%5��ɽ}5��������ѕȬ�Q�A=L�HāQeA����QQH�ѥѱ�計�($$%5��ɽ}5��������ѕȬ�Q�A=L�H�āQeA����QQH�ѥѱ�訁��Ʌ���ѥѱ���($$%���A����5��ɽ}5�����($$%�Ѐ�����1�����Ʌ�РȤ�($$'�zS��c��G�������`���͠��Ф�($$%��̀��zS��c��G�
����W��Ӯ�����S��s��D���q����G�
�����`�耈����($$%�Ѐ�����1�����Ʌ�РĤ�($$'�zS��c��G����"c�v��W6��'6T��B�W�B��������W2��"�9�*�ȉ�����"�W�C��������F�7����W2�����Р��V�6R'&V�����V�D6�V6������Р�����N�Y��9�*ΫH�
����8λ�����f�"�f"����"��V�wF��������f"وN��λ9�*�����f"�Yθ��9�*�����f"�9�*��ێɹȉ�����f"Ɉɸ^�9�*��(^�Y��"#�����7&������6�FS����7&�������V�FW"�%Dr�3�E�S�EE#ԅ$Tc���W&����C�"��%�Ҳ"W�G&7Cև&Vb#����7&�������V�FW"�%Dr�3�#E�S�7�EE#�G�C��W�G&7C�G�B#����������7&����⓰��W�B����vWD�7DW�G&7B�"������FV��W�B�7ƗB�"�"����وN��λ9�*��'6T��B�FV��ғ����Yθ��9�*��'6T��B�FV��ғ��������9�*��(^�Y��X��XN�+N������7&������6�FS�����7&�������V�FW"�%Dr�3�#E�S֖�rEE#�7&3��W�G&7C�F�F�R#�����������7&����⓰���W�B����vWD�7DW�G&7B������Ɉɸ^�9�*��(^�Y��W�C��������9�*��(^�Y��8B�
��x�Y���B�ێɹȉ��X��XN�;N�����7&������6�FS����7&�������V�FW"�%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB��V��G&VT�V�R#����7&�������V�FW"�%Dr�3�E�S�EE#�E�C�"�Ɉɸ^�9�*��(^�Y��"W�G&7Cև&Vb#����������7&����⓰��W�B����vWD�7DW�G&7B�������FV��W�B�7ƗB�"�"����FV��7Ɩ6R��2����FV�"�"#���f�"�f""��"�FV���V�wF��"���FV�"��"�"�FV��%Ӱ�����7&������6�FS����7&�������V�FW"�%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB"�FV�#����7&�������V�FW"�%Dr�3�E�S�FBEE#�E�C�ȹΫN����#����7&�������V�FW"�%Dr�3�#E�S�FBEE#�E�C��W�G&7C�G�B#����������7&����⓰��W�B����vWD�7DW�G&7B��������9�*��ێɹȉ��'6T��B�W�B�������7&������6�FS����7&�������V�FW"�%U$�t�D�ևGG����"�6W'fW%�wV'V��"�wF���WF�&&�R��WB�3&�#����������7&����⓰��������N�Y��9�
^��BوN���Ɉɸ^��B�Nɸ��HBȉ��莸�B�(�*��Y�����f"��N�Y��*N� "����f�"�f""��"���N�Y��9�
^�(^�Y���V�wF��"���������b�Ɉɸ^�9�*��(^�Y�����N�Y��9�
^�(^�Y��%Ғ��N�Y��*N� "�#����Р���b���N�Y��9�
^ȉ�������N�Y��*N� %�`OH
�^‚BBZY�
;-g:� :��{ �H;f!;'�:��{ �
H�H
:��{ �;'n;&�;"&

�J^‚BBBK��:��{ �;"&;(%{%�;%g�!';!';"*���를 0으로 만드는 작업
    for( var b = 0 ; b < 7 ; b++){
     Macro_Main = Code+Enter+"TAG POS="+(b+1)+" TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:heroamount"+H2[a]+” Extract=txt”;
     iimPlay(Macro_Main);
     Ext = iimGetLastExtract();
     
     잔류병력수띁%m���N�Y��*N� %���’6T��B�W�B�������Р����������9�*��ێɹȉ��8N�+ȹ�ࠐ����b����N�Y��9�
^ȉ�������N�Y��*N� %���9�*��ێɹȉ��`OH;-g:� :��{ �
^‚BBBB]�\��\�H\��R[�
;-g:� :��{ ��
:��{ �;'n;&�;"&

�JN‚BBBB{'�:�f:��z�){"&:��V�'�:�f;`�:�$�HOH�\�

�‚BBB_B�BBBY[�^‚BBBB]�\��\�H\��R[�
;'�:�f:��z�){"&:��V�'�:�f;`�:�$�H�
�N‚BBBB{'�:�f:��z�){"&:��V�'�:�f;`�:�$�HH‚BBB_B��BBBSXXܛ��XZ[�H��N‚BBBK��:��{ �;"&;(%{%�;%g�!';!';"*���를 0으로 만드는 작업
    for( var b = 0 ; b < 7 ; b++){
    
    Macro_Main += Enter+"TAG POS="+(b+1)+" TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:heroamount"+H2[a]+” CONTENT=0″;
    }
    iimPlay(Macro_Main);
    
    Macro_Main = Code;
    for( var b = 0 ; b < 7 ; b++){
    
    Macro_Main += Enter+"TAG POS="+(b+1)+" TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:heroamount"+H2[a]+" CONTENT="+res;
    }
    iimPlay(Macro_Main);
 
    Macro_Main = Code;
    Macro_Main += Enter+"TAG POS=1 TYPE=INPUT:BUTTON ATTR=VALUE:확인";
    iimPlay(Macro_Main);
   }
         }
         iimDisplay("현재 영웅의 병사채우기를 완료했습니다.\n 영웅번호 : "+H2[a]);
         EndCheck();
 }
}

// 배열을 정렬하는 함수. 그냥 sort로는 숫자정렬에 문제가 있어서 보강한 함수.
// 인수는 당연히 배열을 받고 반환값은 그냥 배열이 아니라 2차원 배열임.
// [0]번째 인수는 정렬된 값. [1]번 인수는 정렬되기 전의 키값.
function rSort(temArr, Mod){
 var tem = new Array();
 tem[0] = new Array();
 tem[1] = new Array();
 
 if(Mod == null){
  
  for( var a = 0 ; a < temArr.length ; a++ ){
   tem[0][a] = a+"_"+temArr[a];
  }
  temArr.sort(function(a,b){return a-b;});
  for( var a = 0 ; a < temArr.length ; a++ ){
   for( var b = 0 ; b < tem[0].length ; b++ ){
    if( b+"_"+temArr[a] ==  tem[0][b] ){
     tem[1][a] = b;
     tem[0][b] = "";
     break;
    }
   }
  }
 
  tem[0] = temArr;
  return tem;
 }
 
 if(Mod == "r"){
  for( var a = 0 ; a < temArr.length ; a++ ){
   tem[0][a] = a+"_"+temArr[a];
  }
  temArr.sort(function(a,b){return a-b;});
  temArr.reverse();
  for( var a = 0 ; a < temArr.length ; a++ ){
   for( var b = 0 ; b < tem[0].length ; b++ ){
    if( b+"_"+temArr[a] ==  tem[0][b] ){
     tem[1][a] = b;
     tem[0][b] = "";
     break;
    }
   }
  }
 
  tem[0] = temArr;
  return tem;
 }
}

 


// 프로그램이 끝나는 것`rv���Ӷ��VӲp�����3�Vc�*P��V��"`�)�չ�ѥ�����
�������(%مȁ��ɕ�����յ��й����ձ�Y��ܹѽ��� ɽ�͕ȹ���ɕ��UI$������($�����ӶVs����R�v��V3�����2���Vp��R��s����z��v`��w�
Ӯ*P��.��b�����Bc�*P���S�Np���b�����W��Ӯ����Ӯ���Vc��Ѓ�w�
s�.��(%������ɕ��������輽���M��ٕ�}Չո����Ѡ���ѵ�ɉ�����нхͭ���Ј���($%����Р��������p��R��s����z��v�����3�V��.#�.����($%�����Р��(%�)�((����.s�zG�:c�vӲ���p�������)�չ�ѥ�������A������($�����s�v����c�v3�^@��Vs�¤�����R3�zc�.s�v`��vc���������#��öfS��Ӳr���p����.��(%5��ɽ}5�������
=���(%5��ɽ}5��������ѕȬ�UI0�=Q<�����輽���M��ٕ�}Չո����Ѡ���ѵ�ɉ�����н��������(%���A����5��ɽ}5�����)�(((����΃�r���#�b㮖����3�Fs��p��fc�
öVc�*P��V��"`������Ӫ�K�vЃ��ò^Ӳz�.#�.��)�չ�ѥ���9յ���
�С�մ��(%مȁ�Ā��Ā����մ��Չ��Ƞ�����մ�����Ѡ���Ф���(%مȁ�Ȁ��Ā����մ��Չ��Ƞ��մ�����Ѡ���Ф���մ�����Ѡ���($(%�Ā���Ā������(%�Ȁ���Ȁ������($(%مȁɕ̀��܁�Ʌ䡸İ��Ȥ�(%ɕ��ɸ�ɕ��)�(��(�������������������+�R��s����z���.��Z'����t(�������������������(��7p

중국어 해석 및 설명 부탁드릴께요 ~

... 이 문장 정확한 해석 부탁드립니다. 그리고 了가 왜 사용되었으며, 만약에... 많은 설명이 필요한 이것 한가지만으로도 논문을 쓸정도로 여러가지 용법이 있는데 여기선...

history객체에 대한 설명부탁..

... 학교에서 PHP를 배우면서 자바스크립트에... 메소드 설명부탁드릴께요..ㅠ 직관적이고... 속성정보 옵션정보가 아주잘 나와있는 사이트...